]> Slayer Assistant Repositories - slayer.unlishema.org/.git/commitdiff
Moved Project
authorunlishema <unlishema@jtryba.com>
Thu, 17 Oct 2024 08:05:25 +0000 (04:05 -0400)
committerunlishema <unlishema@jtryba.com>
Thu, 17 Oct 2024 08:05:25 +0000 (04:05 -0400)
Moving project over from github

2835 files changed:
.gitignore [new file with mode: 0644]
README.md
dist/aa_10px_mono.fontmeta.json [new file with mode: 0644]
dist/aa_8px_mono.fontmeta.json [new file with mode: 0644]
dist/appconfig.json [new file with mode: 0644]
dist/data/.htaccess [new file with mode: 0644]
dist/data/assignments.php [new file with mode: 0644]
dist/data/creatures.php [new file with mode: 0644]
dist/data/masters.php [new file with mode: 0644]
dist/data/old/assignments.json [new file with mode: 0644]
dist/data/old/creatures.json [new file with mode: 0644]
dist/data/old/masters.json [new file with mode: 0644]
dist/data/reapers.json [new file with mode: 0644]
dist/data/version.json [new file with mode: 0644]
dist/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png [new file with mode: 0644]
dist/images/creatures/Aberrant spectre#Slayer Tower.png [new file with mode: 0644]
dist/images/creatures/Abyssal beast#Default.png [new file with mode: 0644]
dist/images/creatures/Abyssal demon (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Abyssal demon#Default.png [new file with mode: 0644]
dist/images/creatures/Abyssal lord#Default.png [new file with mode: 0644]
dist/images/creatures/Abyssal savage#Asylum.png [new file with mode: 0644]
dist/images/creatures/Abyssal savage#Wilderness.png [new file with mode: 0644]
dist/images/creatures/Acheron mammoth#Default.png [new file with mode: 0644]
dist/images/creatures/Adamant dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Adolescent White wolf#Default.png [new file with mode: 0644]
dist/images/creatures/Ahrim the Blighted#Normal.png [new file with mode: 0644]
dist/images/creatures/Ahrim the Blighted#Rise of the Six.png [new file with mode: 0644]
dist/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png [new file with mode: 0644]
dist/images/creatures/Airut#Melee.png [new file with mode: 0644]
dist/images/creatures/Airut#Ranged.png [new file with mode: 0644]
dist/images/creatures/Akrisae the Doomed#Barrows.png [new file with mode: 0644]
dist/images/creatures/Akrisae the Doomed#Gregorovic.png [new file with mode: 0644]
dist/images/creatures/Akrisae the Doomed#Sliske's Endgame.png [new file with mode: 0644]
dist/images/creatures/Alanogard the Black#Default.png [new file with mode: 0644]
dist/images/creatures/Albino bat#Default.png [new file with mode: 0644]
dist/images/creatures/Angry bear#A Soul's Bane.png [new file with mode: 0644]
dist/images/creatures/Angry bear#Post-quest.png [new file with mode: 0644]
dist/images/creatures/Angry giant rat#A Soul's Bane.png [new file with mode: 0644]
dist/images/creatures/Angry giant rat#Post-quest (1).png [new file with mode: 0644]
dist/images/creatures/Angry giant rat#Post-quest (2).png [new file with mode: 0644]
dist/images/creatures/Angry goblin#A Soul's Bane.png [new file with mode: 0644]
dist/images/creatures/Angry goblin#Post-quest.png [new file with mode: 0644]
dist/images/creatures/Angry vampyre#Default.png [new file with mode: 0644]
dist/images/creatures/Animated spade#Default.png [new file with mode: 0644]
dist/images/creatures/Ankou (Kili's Knowledge IV)#Default.png [new file with mode: 0644]
dist/images/creatures/Ankou (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Ankou#Default.png [new file with mode: 0644]
dist/images/creatures/Aquanite (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Aquanite#Default.png [new file with mode: 0644]
dist/images/creatures/Araxxi#Default.png [new file with mode: 0644]
dist/images/creatures/Arch-Glacor#Hard mode.png [new file with mode: 0644]
dist/images/creatures/Arch-Glacor#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Armoured phantom#1.png [new file with mode: 0644]
dist/images/creatures/Armoured phantom#2.png [new file with mode: 0644]
dist/images/creatures/Armoured phantom#3.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png [new file with mode: 0644]
dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#Dimension of Disaster.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#Dishonour among Thieves.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#Melee.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#New Foundations.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#One of a Kind.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#Ranged.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png [new file with mode: 0644]
dist/images/creatures/Armoured zombie#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Astellarn#Default.png [new file with mode: 0644]
dist/images/creatures/Automaton Generator#During The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Automaton Generator#Post-quest.png [new file with mode: 0644]
dist/images/creatures/Automaton Guardian#During The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Automaton Guardian#Post-quest.png [new file with mode: 0644]
dist/images/creatures/Automaton Tracer#Post-quest.png [new file with mode: 0644]
dist/images/creatures/Automaton Tracer#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Avaryss, the Unceasing#Challenge Mode.png [new file with mode: 0644]
dist/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png [new file with mode: 0644]
dist/images/creatures/Avaryss, the Unceasing#Normal Mode.png [new file with mode: 0644]
dist/images/creatures/Aviansie#Melee, level 89 (1).png [new file with mode: 0644]
dist/images/creatures/Aviansie#Melee, level 89 (2).png [new file with mode: 0644]
dist/images/creatures/Aviansie#Melee, level 92.png [new file with mode: 0644]
dist/images/creatures/Aviansie#Ranged, level 89.png [new file with mode: 0644]
dist/images/creatures/Aviansie#Ranged, level 92.png [new file with mode: 0644]
dist/images/creatures/Aviansie#Ranged, level 95.png [new file with mode: 0644]
dist/images/creatures/Baby black dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Baby blue dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Baby red dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Balfrug Kreeyath#Default.png [new file with mode: 0644]
dist/images/creatures/Banshee#Default.png [new file with mode: 0644]
dist/images/creatures/Basilisk#Large.png [new file with mode: 0644]
dist/images/creatures/Basilisk#Small.png [new file with mode: 0644]
dist/images/creatures/Bat#Default.png [new file with mode: 0644]
dist/images/creatures/Bear cub#Default.png [new file with mode: 0644]
dist/images/creatures/Big Wolf#Grey.png [new file with mode: 0644]
dist/images/creatures/Big Wolf#White.png [new file with mode: 0644]
dist/images/creatures/Big frog#Default.png [new file with mode: 0644]
dist/images/creatures/Bird#Black.png [new file with mode: 0644]
dist/images/creatures/Bird#Green.png [new file with mode: 0644]
dist/images/creatures/Black bear#Default.png [new file with mode: 0644]
dist/images/creatures/Black demon#1.png [new file with mode: 0644]
dist/images/creatures/Black demon#2.png [new file with mode: 0644]
dist/images/creatures/Black demon#3.png [new file with mode: 0644]
dist/images/creatures/Black demon#4.png [new file with mode: 0644]
dist/images/creatures/Black demon#5.png [new file with mode: 0644]
dist/images/creatures/Black demon#Wilderness.png [new file with mode: 0644]
dist/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Black dragon#1.png [new file with mode: 0644]
dist/images/creatures/Black dragon#2.png [new file with mode: 0644]
dist/images/creatures/Black dragon#3.png [new file with mode: 0644]
dist/images/creatures/Black dragon#4.png [new file with mode: 0644]
dist/images/creatures/Black dragon#5.png [new file with mode: 0644]
dist/images/creatures/Black stone dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Bladed muspah#Default.png [new file with mode: 0644]
dist/images/creatures/Blissful shadow#Default.png [new file with mode: 0644]
dist/images/creatures/Bloated monstrosity#Normal mode (duo).png [new file with mode: 0644]
dist/images/creatures/Bloated monstrosity#Normal mode (solo).png [new file with mode: 0644]
dist/images/creatures/Bloated monstrosity#Normal mode (trio).png [new file with mode: 0644]
dist/images/creatures/Bloated monstrosity#Story mode (duo).png [new file with mode: 0644]
dist/images/creatures/Bloated monstrosity#Story mode (solo).png [new file with mode: 0644]
dist/images/creatures/Bloated monstrosity#Story mode (trio).png [new file with mode: 0644]
dist/images/creatures/Blood nihil#boss.png [new file with mode: 0644]
dist/images/creatures/Blood nihil#normal.png [new file with mode: 0644]
dist/images/creatures/Bloodveld (God Wars Dungeon)#Default.png [new file with mode: 0644]
dist/images/creatures/Bloodveld (Heart of Gielinor)#Default.png [new file with mode: 0644]
dist/images/creatures/Bloodveld#Default.png [new file with mode: 0644]
dist/images/creatures/Blue dragon#1.png [new file with mode: 0644]
dist/images/creatures/Blue dragon#2.png [new file with mode: 0644]
dist/images/creatures/Blue dragon#3.png [new file with mode: 0644]
dist/images/creatures/Blue dragon#4.png [new file with mode: 0644]
dist/images/creatures/Blue dragon#5.png [new file with mode: 0644]
dist/images/creatures/Bolstered Glacyte#Default.png [new file with mode: 0644]
dist/images/creatures/Bossy McBossFace#Default.png [new file with mode: 0644]
dist/images/creatures/Bossy McBossFace's First mate#Default.png [new file with mode: 0644]
dist/images/creatures/Bound skeleton#1.png [new file with mode: 0644]
dist/images/creatures/Bound skeleton#2.png [new file with mode: 0644]
dist/images/creatures/Bound skeleton#3.png [new file with mode: 0644]
dist/images/creatures/Brine rat#Default.png [new file with mode: 0644]
dist/images/creatures/Brokeface#Default.png [new file with mode: 0644]
dist/images/creatures/Bronze dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Brutal green dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Brutish dinosaur#Dinosaur invasion.png [new file with mode: 0644]
dist/images/creatures/Brutish dinosaur#Normal.png [new file with mode: 0644]
dist/images/creatures/Bulbous crawler#Default.png [new file with mode: 0644]
dist/images/creatures/Butcher demon#Default.png [new file with mode: 0644]
dist/images/creatures/Cadarn magus#Default.png [new file with mode: 0644]
dist/images/creatures/Cadarn ranger#Default.png [new file with mode: 0644]
dist/images/creatures/Camel Warrior#Default.png [new file with mode: 0644]
dist/images/creatures/Capsarius#1.png [new file with mode: 0644]
dist/images/creatures/Capsarius#2.png [new file with mode: 0644]
dist/images/creatures/Catablepon#Default.png [new file with mode: 0644]
dist/images/creatures/Cave bug#Level 11.png [new file with mode: 0644]
dist/images/creatures/Cave bug#Level 6.png [new file with mode: 0644]
dist/images/creatures/Cave crawler#Level 24.png [new file with mode: 0644]
dist/images/creatures/Cave crawler#Level 59.png [new file with mode: 0644]
dist/images/creatures/Cave goblin (monster)#Default.png [new file with mode: 0644]
dist/images/creatures/Cave goblin guard#Club.png [new file with mode: 0644]
dist/images/creatures/Cave goblin guard#Spear.png [new file with mode: 0644]
dist/images/creatures/Cave goblin miner#Mining.png [new file with mode: 0644]
dist/images/creatures/Cave goblin miner#Slacking off.png [new file with mode: 0644]
dist/images/creatures/Cave horror (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Cave horror#Default.png [new file with mode: 0644]
dist/images/creatures/Cave slime#Default.png [new file with mode: 0644]
dist/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Celestial dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Cerberus Juvenile#Default.png [new file with mode: 0644]
dist/images/creatures/Champion of Infernus#Default.png [new file with mode: 0644]
dist/images/creatures/Chaos Demon Savage#Default.png [new file with mode: 0644]
dist/images/creatures/Chaos Demon#Default.png [new file with mode: 0644]
dist/images/creatures/Chaos Elemental#F2P.png [new file with mode: 0644]
dist/images/creatures/Chaos Elemental#P2P.png [new file with mode: 0644]
dist/images/creatures/Chaos Giant#Default.png [new file with mode: 0644]
dist/images/creatures/Chicken#Brown.png [new file with mode: 0644]
dist/images/creatures/Chicken#White.png [new file with mode: 0644]
dist/images/creatures/Chompy bird#Default.png [new file with mode: 0644]
dist/images/creatures/Cockatrice#Default.png [new file with mode: 0644]
dist/images/creatures/Cockroach drone#Default.png [new file with mode: 0644]
dist/images/creatures/Cockroach soldier#Default.png [new file with mode: 0644]
dist/images/creatures/Cockroach worker#Default.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Aftermath.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Battle of the Monolith.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Council of Burthorpe.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Extinction.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Gower Quest.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Missing, Presumed Death.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#Senntisten.png [new file with mode: 0644]
dist/images/creatures/Commander Zilyana#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Corporeal Beast#Default.png [new file with mode: 0644]
dist/images/creatures/Corpse archer#Default.png [new file with mode: 0644]
dist/images/creatures/Corpse carrier#Normal mode (duo).png [new file with mode: 0644]
dist/images/creatures/Corpse carrier#Normal mode (solo).png [new file with mode: 0644]
dist/images/creatures/Corpse carrier#Normal mode (trio).png [new file with mode: 0644]
dist/images/creatures/Corpse carrier#Story mode (duo).png [new file with mode: 0644]
dist/images/creatures/Corpse carrier#Story mode (solo).png [new file with mode: 0644]
dist/images/creatures/Corpse carrier#Story mode (trio).png [new file with mode: 0644]
dist/images/creatures/Corpse mage#Default.png [new file with mode: 0644]
dist/images/creatures/Corpse spider#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted dust devil#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted kalphite guardian#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted kalphite marauder#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted lizard#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted scarab#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted scorpion#Default.png [new file with mode: 0644]
dist/images/creatures/Corrupted worker#Default.png [new file with mode: 0644]
dist/images/creatures/Cow calf#Default.png [new file with mode: 0644]
dist/images/creatures/Cow#Standard (1).png [new file with mode: 0644]
dist/images/creatures/Cow#Standard (2).png [new file with mode: 0644]
dist/images/creatures/Cow#Standard (3).png [new file with mode: 0644]
dist/images/creatures/Cow#Zanaris.png [new file with mode: 0644]
dist/images/creatures/Crawling corpse torso#Default.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#10a.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#10b.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#10c.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#10d.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#10e.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#6a.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#6b.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#6c.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#6d.png [new file with mode: 0644]
dist/images/creatures/Crawling hand#6e.png [new file with mode: 0644]
dist/images/creatures/Crocodile akh#Default.png [new file with mode: 0644]
dist/images/creatures/Crocodile#40.png [new file with mode: 0644]
dist/images/creatures/Crocodile#77.png [new file with mode: 0644]
dist/images/creatures/Croesus#Active.png [new file with mode: 0644]
dist/images/creatures/Croesus#Dormant.png [new file with mode: 0644]
dist/images/creatures/Crypt rat#Default.png [new file with mode: 0644]
dist/images/creatures/Crypt spider#Default.png [new file with mode: 0644]
dist/images/creatures/Crystal Shapeshifter#Magic.png [new file with mode: 0644]
dist/images/creatures/Crystal Shapeshifter#Melee.png [new file with mode: 0644]
dist/images/creatures/Crystal Shapeshifter#Ranged.png [new file with mode: 0644]
dist/images/creatures/Cyclops#57 (Crush).png [new file with mode: 0644]
dist/images/creatures/Cyclops#57 (Slash).png [new file with mode: 0644]
dist/images/creatures/Cyclops#57 (Stab).png [new file with mode: 0644]
dist/images/creatures/Cyclops#68 (Crush).png [new file with mode: 0644]
dist/images/creatures/Cyclops#68 (Slash).png [new file with mode: 0644]
dist/images/creatures/Cyclops#68 (Stab).png [new file with mode: 0644]
dist/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png [new file with mode: 0644]
dist/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png [new file with mode: 0644]
dist/images/creatures/Cyclossus#Default.png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Lighthouse)#Level 77.png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Lighthouse)#Level 78.png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png [new file with mode: 0644]
dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png [new file with mode: 0644]
dist/images/creatures/Dagannoth Prime#Default.png [new file with mode: 0644]
dist/images/creatures/Dagannoth Rex#Default.png [new file with mode: 0644]
dist/images/creatures/Dagannoth Supreme#Default.png [new file with mode: 0644]
dist/images/creatures/Dagannoth fledgeling#Default.png [new file with mode: 0644]
dist/images/creatures/Dagannoth guardian#Default.png [new file with mode: 0644]
dist/images/creatures/Dagannoth spawn#Default.png [new file with mode: 0644]
dist/images/creatures/Dark beast (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Dark beast#19,000 life points.png [new file with mode: 0644]
dist/images/creatures/Dark beast#8,500 life points.png [new file with mode: 0644]
dist/images/creatures/Deadly red spider#Default.png [new file with mode: 0644]
dist/images/creatures/Denizen of Infernus#Default.png [new file with mode: 0644]
dist/images/creatures/Desert Lizard#Brown.png [new file with mode: 0644]
dist/images/creatures/Desert Lizard#Green.png [new file with mode: 0644]
dist/images/creatures/Desert Lizard#Yellow.png [new file with mode: 0644]
dist/images/creatures/Desert strykewyrm#Default.png [new file with mode: 0644]
dist/images/creatures/Desert wolf#Brown.png [new file with mode: 0644]
dist/images/creatures/Desert wolf#Grey.png [new file with mode: 0644]
dist/images/creatures/Devil's snare#Default.png [new file with mode: 0644]
dist/images/creatures/Dharok the Wretched#Normal.png [new file with mode: 0644]
dist/images/creatures/Dharok the Wretched#Rise of the Six.png [new file with mode: 0644]
dist/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png [new file with mode: 0644]
dist/images/creatures/Dire Wolf#Default.png [new file with mode: 0644]
dist/images/creatures/Dragith Nurn#Default.png [new file with mode: 0644]
dist/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Dragonstone dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Dried zombie#Dried.png [new file with mode: 0644]
dist/images/creatures/Dried zombie#Parched.png [new file with mode: 0644]
dist/images/creatures/Dried zombie#Unmoisturised.png [new file with mode: 0644]
dist/images/creatures/Duck#Female.png [new file with mode: 0644]
dist/images/creatures/Duck#Land.png [new file with mode: 0644]
dist/images/creatures/Duck#Male.png [new file with mode: 0644]
dist/images/creatures/Duckling#Default.png [new file with mode: 0644]
dist/images/creatures/Dungeon rat#Level 11 (1).png [new file with mode: 0644]
dist/images/creatures/Dungeon rat#Level 11 (2).png [new file with mode: 0644]
dist/images/creatures/Dungeon rat#Level 11 (3).png [new file with mode: 0644]
dist/images/creatures/Dungeon rat#Level 18 (brown).png [new file with mode: 0644]
dist/images/creatures/Dungeon rat#Level 18 (brown, arrows).png [new file with mode: 0644]
dist/images/creatures/Dungeon rat#Level 18 (grey).png [new file with mode: 0644]
dist/images/creatures/Dust devil (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Dust devil#Default.png [new file with mode: 0644]
dist/images/creatures/Earth warrior (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Earth warrior#Default.png [new file with mode: 0644]
dist/images/creatures/Edimmu (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Edimmu#Default.png [new file with mode: 0644]
dist/images/creatures/Elegorn the Celestial#Default.png [new file with mode: 0644]
dist/images/creatures/Elf warrior#Melee.png [new file with mode: 0644]
dist/images/creatures/Elf warrior#Range.png [new file with mode: 0644]
dist/images/creatures/Elite rune dragon#Armoured.png [new file with mode: 0644]
dist/images/creatures/Elite rune dragon#Unarmoured.png [new file with mode: 0644]
dist/images/creatures/Enclave guard#Default.png [new file with mode: 0644]
dist/images/creatures/Enduring glacyte#Default.png [new file with mode: 0644]
dist/images/creatures/Engorged lava strykewyrm#Default.png [new file with mode: 0644]
dist/images/creatures/Exiled Kalphite Queen#First form.png [new file with mode: 0644]
dist/images/creatures/Exiled Kalphite Queen#Second form.png [new file with mode: 0644]
dist/images/creatures/Exiled kalphite guardian#Default.png [new file with mode: 0644]
dist/images/creatures/Exiled kalphite marauder#Kalphite King.png [new file with mode: 0644]
dist/images/creatures/Exiled kalphite marauder#Normal.png [new file with mode: 0644]
dist/images/creatures/Exiled kalphite paragon#Default.png [new file with mode: 0644]
dist/images/creatures/Exiled kalphite soldier#Default.png [new file with mode: 0644]
dist/images/creatures/Exiled kalphite worker#Default.png [new file with mode: 0644]
dist/images/creatures/Feline akh#Default.png [new file with mode: 0644]
dist/images/creatures/Fenris wolf#Default.png [new file with mode: 0644]
dist/images/creatures/Feral Dinosaur#Dinosaur invasion.png [new file with mode: 0644]
dist/images/creatures/Feral Dinosaur#Normal.png [new file with mode: 0644]
dist/images/creatures/Feral vampyre#Spider.png [new file with mode: 0644]
dist/images/creatures/Feral vampyre#Standard.png [new file with mode: 0644]
dist/images/creatures/Fetid zombie#1.png [new file with mode: 0644]
dist/images/creatures/Fetid zombie#2.png [new file with mode: 0644]
dist/images/creatures/Fever spider#Default.png [new file with mode: 0644]
dist/images/creatures/Fire giant#Default.png [new file with mode: 0644]
dist/images/creatures/Flesh Crawler#Default.png [new file with mode: 0644]
dist/images/creatures/Flight Kilisa#Default.png [new file with mode: 0644]
dist/images/creatures/Flockleader Geerin#Default.png [new file with mode: 0644]
dist/images/creatures/Force muspah#Default.png [new file with mode: 0644]
dist/images/creatures/Frog#Default.png [new file with mode: 0644]
dist/images/creatures/Frogeel#Default.png [new file with mode: 0644]
dist/images/creatures/Frost dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Fungal mage#Normal.png [new file with mode: 0644]
dist/images/creatures/Fungal mage#Weakened.png [new file with mode: 0644]
dist/images/creatures/Ganodermic beast#Neem oil.png [new file with mode: 0644]
dist/images/creatures/Ganodermic beast#Normal.png [new file with mode: 0644]
dist/images/creatures/Ganodermic runt#Neem oil.png [new file with mode: 0644]
dist/images/creatures/Ganodermic runt#Normal.png [new file with mode: 0644]
dist/images/creatures/Gargoyle#Regular.png [new file with mode: 0644]
dist/images/creatures/Gargoyle#Wilderness.png [new file with mode: 0644]
dist/images/creatures/Gelatinous abomination#Default.png [new file with mode: 0644]
dist/images/creatures/General Graardor#Hard mode.png [new file with mode: 0644]
dist/images/creatures/General Graardor#Normal.png [new file with mode: 0644]
dist/images/creatures/General Graardor#The Mighty Fall.png [new file with mode: 0644]
dist/images/creatures/General Graardor#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/General malpractitioner#Default.png [new file with mode: 0644]
dist/images/creatures/Ghast#Regular.png [new file with mode: 0644]
dist/images/creatures/Ghast#Temple Trekking (Easy Route).png [new file with mode: 0644]
dist/images/creatures/Ghast#Temple Trekking (Hard Route).png [new file with mode: 0644]
dist/images/creatures/Ghast#Temple Trekking (Medium Route).png [new file with mode: 0644]
dist/images/creatures/Ghost (Abandoned Mine)#Default.png [new file with mode: 0644]
dist/images/creatures/Ghost (Stronghold of Security)#1.png [new file with mode: 0644]
dist/images/creatures/Ghost (Stronghold of Security)#2.png [new file with mode: 0644]
dist/images/creatures/Ghost (Stronghold of Security)#3.png [new file with mode: 0644]
dist/images/creatures/Ghost (Stronghold of Security)#4.png [new file with mode: 0644]
dist/images/creatures/Ghost (Stronghold of Security)#5.png [new file with mode: 0644]
dist/images/creatures/Ghost#1.png [new file with mode: 0644]
dist/images/creatures/Ghost#2.png [new file with mode: 0644]
dist/images/creatures/Ghost#3.png [new file with mode: 0644]
dist/images/creatures/Ghost#4.png [new file with mode: 0644]
dist/images/creatures/Ghost#5.png [new file with mode: 0644]
dist/images/creatures/Ghost#6.png [new file with mode: 0644]
dist/images/creatures/Ghost#7.png [new file with mode: 0644]
dist/images/creatures/Ghostly troll bruiser#Default.png [new file with mode: 0644]
dist/images/creatures/Ghostly troll thrower#Default.png [new file with mode: 0644]
dist/images/creatures/Ghostly warrior#Default.png [new file with mode: 0644]
dist/images/creatures/Ghoul (Paterdomus)#Default.png [new file with mode: 0644]
dist/images/creatures/Ghoul#Blue.png [new file with mode: 0644]
dist/images/creatures/Ghoul#Brown.png [new file with mode: 0644]
dist/images/creatures/Giant bat#Brine Cavern.png [new file with mode: 0644]
dist/images/creatures/Giant bat#Normal.png [new file with mode: 0644]
dist/images/creatures/Giant crypt rat#Default.png [new file with mode: 0644]
dist/images/creatures/Giant crypt spider#Default.png [new file with mode: 0644]
dist/images/creatures/Giant frog#Default.png [new file with mode: 0644]
dist/images/creatures/Giant mole#Hard Mode.png [new file with mode: 0644]
dist/images/creatures/Giant mole#Normal.png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 7 (brown).png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 7 (brown, arrows).png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 7 (grey).png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 7 (grey, arrows).png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png [new file with mode: 0644]
dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png [new file with mode: 0644]
dist/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png [new file with mode: 0644]
dist/images/creatures/Giant skeleton (Tarn's Lair)#Default.png [new file with mode: 0644]
dist/images/creatures/Giant slime#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Giant slime#Story mode.png [new file with mode: 0644]
dist/images/creatures/Giant spider#Level 2.png [new file with mode: 0644]
dist/images/creatures/Giant spider#Level 29.png [new file with mode: 0644]
dist/images/creatures/Giant spider#Level 33.png [new file with mode: 0644]
dist/images/creatures/Giant worm#Default.png [new file with mode: 0644]
dist/images/creatures/Glacor#Default.png [new file with mode: 0644]
dist/images/creatures/Glacyte (Arch-Glacor)#Magic.png [new file with mode: 0644]
dist/images/creatures/Glacyte (Arch-Glacor)#Melee.png [new file with mode: 0644]
dist/images/creatures/Glacyte#Magic.png [new file with mode: 0644]
dist/images/creatures/Glacyte#Melee.png [new file with mode: 0644]
dist/images/creatures/Gladius#Default.png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Green (1).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Green (2).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Green (3).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Green (4).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Green (5).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Green (6).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Red (1).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Red (2).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Red (3).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Red (4).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Red (5).png [new file with mode: 0644]
dist/images/creatures/Goblin (Goblin Village)#Red (6).png [new file with mode: 0644]
dist/images/creatures/Goblin (God Wars Dungeon)#Banner.png [new file with mode: 0644]
dist/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png [new file with mode: 0644]
dist/images/creatures/Goblin (God Wars Dungeon)#Spear.png [new file with mode: 0644]
dist/images/creatures/Goblin (God Wars Dungeon)#Sword.png [new file with mode: 0644]
dist/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png [new file with mode: 0644]
dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png [new file with mode: 0644]
dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png [new file with mode: 0644]
dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png [new file with mode: 0644]
dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png [new file with mode: 0644]
dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png [new file with mode: 0644]
dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png [new file with mode: 0644]
dist/images/creatures/Goblin#Level 1 (Slayer challenge).png [new file with mode: 0644]
dist/images/creatures/Goblin#Level 11 (Slayer challenge).png [new file with mode: 0644]
dist/images/creatures/Goblin#Level 11.png [new file with mode: 0644]
dist/images/creatures/Goblin#Level 2.png [new file with mode: 0644]
dist/images/creatures/Goblin#Level 5 (Slayer challenge).png [new file with mode: 0644]
dist/images/creatures/Goblin#Level 5.png [new file with mode: 0644]
dist/images/creatures/Gorak#God Wars Dungeon.png [new file with mode: 0644]
dist/images/creatures/Gorak#Gorak Plane.png [new file with mode: 0644]
dist/images/creatures/Gorak#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Gorilla akh#Default.png [new file with mode: 0644]
dist/images/creatures/Grave scorpion#Default.png [new file with mode: 0644]
dist/images/creatures/Graveside Phantom#Default.png [new file with mode: 0644]
dist/images/creatures/Greater demon (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png [new file with mode: 0644]
dist/images/creatures/Greater demon ash lord#Wilderness.png [new file with mode: 0644]
dist/images/creatures/Greater demon berserker#The Zamorakian Undercity.png [new file with mode: 0644]
dist/images/creatures/Greater demon berserker#Wilderness.png [new file with mode: 0644]
dist/images/creatures/Greater demon brute#Default.png [new file with mode: 0644]
dist/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png [new file with mode: 0644]
dist/images/creatures/Greater demon pyromancer#Wilderness.png [new file with mode: 0644]
dist/images/creatures/Greater demon sage#Default.png [new file with mode: 0644]
dist/images/creatures/Greater demon savage#Default.png [new file with mode: 0644]
dist/images/creatures/Greater demon#1.png [new file with mode: 0644]
dist/images/creatures/Greater demon#2.png [new file with mode: 0644]
dist/images/creatures/Greater demon#3.png [new file with mode: 0644]
dist/images/creatures/Greater demon#4.png [new file with mode: 0644]
dist/images/creatures/Greater demon#5.png [new file with mode: 0644]
dist/images/creatures/Green dragon#1.png [new file with mode: 0644]
dist/images/creatures/Green dragon#2.png [new file with mode: 0644]
dist/images/creatures/Green dragon#3.png [new file with mode: 0644]
dist/images/creatures/Green dragon#4.png [new file with mode: 0644]
dist/images/creatures/Green dragon#5.png [new file with mode: 0644]
dist/images/creatures/Gregorovic#Challenge Mode.png [new file with mode: 0644]
dist/images/creatures/Gregorovic#Normal Mode.png [new file with mode: 0644]
dist/images/creatures/Gregorovic#Sliske's Endgame.png [new file with mode: 0644]
dist/images/creatures/Grifolapine#Neem oil.png [new file with mode: 0644]
dist/images/creatures/Grifolapine#Normal.png [new file with mode: 0644]
dist/images/creatures/Grifolaroo#Neem oil.png [new file with mode: 0644]
dist/images/creatures/Grifolaroo#Normal.png [new file with mode: 0644]
dist/images/creatures/Grizzly bear cub#Default.png [new file with mode: 0644]
dist/images/creatures/Grizzly bear#Standard.png [new file with mode: 0644]
dist/images/creatures/Grizzly bear#Tirannwn.png [new file with mode: 0644]
dist/images/creatures/Grotworm#Default.png [new file with mode: 0644]
dist/images/creatures/Guard (cave goblin)#Club.png [new file with mode: 0644]
dist/images/creatures/Guard (cave goblin)#Spear.png [new file with mode: 0644]
dist/images/creatures/Guard dog#Default.png [new file with mode: 0644]
dist/images/creatures/Guthan the Infested#Normal.png [new file with mode: 0644]
dist/images/creatures/Guthan the Infested#Rise of the Six.png [new file with mode: 0644]
dist/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png [new file with mode: 0644]
dist/images/creatures/Har-Aken#Head.png [new file with mode: 0644]
dist/images/creatures/Har-Aken#Magic Tentacle.png [new file with mode: 0644]
dist/images/creatures/Har-Aken#Ranged Tentacle.png [new file with mode: 0644]
dist/images/creatures/Harpie Bug Swarm (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Harpie Bug Swarm#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound (Heart of Gielinor)#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound (summoned)#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound Alpha#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound Hunter (summoned)#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound Hunter#Default.png [new file with mode: 0644]
dist/images/creatures/Hellhound#God Wars Dungeon.png [new file with mode: 0644]
dist/images/creatures/Hellhound#Level 105.png [new file with mode: 0644]
dist/images/creatures/Hellhound#Normal.png [new file with mode: 0644]
dist/images/creatures/Helwyr#Challenge Mode.png [new file with mode: 0644]
dist/images/creatures/Helwyr#Normal Mode.png [new file with mode: 0644]
dist/images/creatures/Hermod, the Spirit of War#Normal.png [new file with mode: 0644]
dist/images/creatures/Hermod, the Spirit of War#Quest.png [new file with mode: 0644]
dist/images/creatures/Hill Giant#Default.png [new file with mode: 0644]
dist/images/creatures/Hobgoblin (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Hobgoblin#Level 15.png [new file with mode: 0644]
dist/images/creatures/Hobgoblin#Level 18.png [new file with mode: 0644]
dist/images/creatures/Hobgoblin#Level 91 (GWD).png [new file with mode: 0644]
dist/images/creatures/Huge skeleton#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Huge skeleton#Story mode.png [new file with mode: 0644]
dist/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Hydrix dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Ice giant#Level 47 (1).png [new file with mode: 0644]
dist/images/creatures/Ice giant#Level 47 (2).png [new file with mode: 0644]
dist/images/creatures/Ice nihil#boss.png [new file with mode: 0644]
dist/images/creatures/Ice nihil#normal.png [new file with mode: 0644]
dist/images/creatures/Ice spider#Default.png [new file with mode: 0644]
dist/images/creatures/Ice strykewyrm#Default.png [new file with mode: 0644]
dist/images/creatures/Ice troll female#Default.png [new file with mode: 0644]
dist/images/creatures/Ice troll grunt#Default.png [new file with mode: 0644]
dist/images/creatures/Ice troll male#Default.png [new file with mode: 0644]
dist/images/creatures/Ice troll runt#Default.png [new file with mode: 0644]
dist/images/creatures/Ice troll#Desert Treasure.png [new file with mode: 0644]
dist/images/creatures/Ice troll#Troll Romance.png [new file with mode: 0644]
dist/images/creatures/Ice warrior#Ice Queen's Lair.png [new file with mode: 0644]
dist/images/creatures/Ice warrior#Normal.png [new file with mode: 0644]
dist/images/creatures/Ice wolf#58.png [new file with mode: 0644]
dist/images/creatures/Ice wolf#72.png [new file with mode: 0644]
dist/images/creatures/Icefiend (Ghorrock)#Default.png [new file with mode: 0644]
dist/images/creatures/Icefiend#God Wars Dungeon.png [new file with mode: 0644]
dist/images/creatures/Icefiend#Ice Mountain (melting).png [new file with mode: 0644]
dist/images/creatures/Icefiend#Ice Mountain.png [new file with mode: 0644]
dist/images/creatures/Icelord#melee.png [new file with mode: 0644]
dist/images/creatures/Icelord#ranged.png [new file with mode: 0644]
dist/images/creatures/Imp scavenger#Default.png [new file with mode: 0644]
dist/images/creatures/Imp#God Wars Dungeon.png [new file with mode: 0644]
dist/images/creatures/Imp#Normal.png [new file with mode: 0644]
dist/images/creatures/Imperial mage akh#Default.png [new file with mode: 0644]
dist/images/creatures/Imperial ranger akh#Default.png [new file with mode: 0644]
dist/images/creatures/Imperial warrior akh#Default.png [new file with mode: 0644]
dist/images/creatures/Infernal Mage (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Infernal Mage#Default.png [new file with mode: 0644]
dist/images/creatures/Iorwerth guard#Default.png [new file with mode: 0644]
dist/images/creatures/Iorwerth scout#Default.png [new file with mode: 0644]
dist/images/creatures/Iron dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Jackal#Default.png [new file with mode: 0644]
dist/images/creatures/Jelly#Default.png [new file with mode: 0644]
dist/images/creatures/Jubbly bird#Default.png [new file with mode: 0644]
dist/images/creatures/Jungle Wolf#Default.png [new file with mode: 0644]
dist/images/creatures/Jungle horror#Default.png [new file with mode: 0644]
dist/images/creatures/Jungle spider#Ape Atoll.png [new file with mode: 0644]
dist/images/creatures/Jungle spider#Common.png [new file with mode: 0644]
dist/images/creatures/Jungle spider#Jade Vine (level 42).png [new file with mode: 0644]
dist/images/creatures/Jungle spider#Jade Vine (level 49).png [new file with mode: 0644]
dist/images/creatures/Jungle spider#Musa Point.png [new file with mode: 0644]
dist/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png [new file with mode: 0644]
dist/images/creatures/Jungle strykewyrm#Default.png [new file with mode: 0644]
dist/images/creatures/K'ril Tsutsaroth#Hard mode.png [new file with mode: 0644]
dist/images/creatures/K'ril Tsutsaroth#Normal.png [new file with mode: 0644]
dist/images/creatures/K'ril Tsutsaroth#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon#Bloodchiller.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon#Pummeller.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon#Riftsplitter.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon#Rush of Blood.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon#Thunderous.png [new file with mode: 0644]
dist/images/creatures/Kal'gerion demon#Warmonger.png [new file with mode: 0644]
dist/images/creatures/Kalphite Guardian#Default.png [new file with mode: 0644]
dist/images/creatures/Kalphite King#Magic.png [new file with mode: 0644]
dist/images/creatures/Kalphite King#Melee.png [new file with mode: 0644]
dist/images/creatures/Kalphite King#Ranged.png [new file with mode: 0644]
dist/images/creatures/Kalphite Queen#First form.png [new file with mode: 0644]
dist/images/creatures/Kalphite Queen#Second form.png [new file with mode: 0644]
dist/images/creatures/Kalphite Soldier#Default.png [new file with mode: 0644]
dist/images/creatures/Kalphite Worker#Default.png [new file with mode: 0644]
dist/images/creatures/Karil the Tainted#Normal.png [new file with mode: 0644]
dist/images/creatures/Karil the Tainted#Rise of the Six.png [new file with mode: 0644]
dist/images/creatures/Kerapac, the bound#Hard mode.png [new file with mode: 0644]
dist/images/creatures/Kerapac, the bound#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Killerwatt#Default.png [new file with mode: 0644]
dist/images/creatures/King Black Dragon#Default.png [new file with mode: 0644]
dist/images/creatures/King Scorpion#Default.png [new file with mode: 0644]
dist/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png [new file with mode: 0644]
dist/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png [new file with mode: 0644]
dist/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png [new file with mode: 0644]
dist/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png [new file with mode: 0644]
dist/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png [new file with mode: 0644]
dist/images/creatures/Kraka#Default.png [new file with mode: 0644]
dist/images/creatures/Kree'arra#Hard Mode.png [new file with mode: 0644]
dist/images/creatures/Kree'arra#Normal.png [new file with mode: 0644]
dist/images/creatures/Kree'arra#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Kurask#Examine #1.png [new file with mode: 0644]
dist/images/creatures/Kurask#Examine #2.png [new file with mode: 0644]
dist/images/creatures/La'Kalor the Unbroken#Default.png [new file with mode: 0644]
dist/images/creatures/Laboratory slime#Adult (normal mode).png [new file with mode: 0644]
dist/images/creatures/Laboratory slime#Adult (story mode).png [new file with mode: 0644]
dist/images/creatures/Laboratory slime#Spawnling (normal mode).png [new file with mode: 0644]
dist/images/creatures/Laboratory slime#Spawnling (story mode).png [new file with mode: 0644]
dist/images/creatures/Lampenflora#Default.png [new file with mode: 0644]
dist/images/creatures/Lava spider#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Lava spider#Story mode.png [new file with mode: 0644]
dist/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Lava strykewyrm#Default.png [new file with mode: 0644]
dist/images/creatures/Legio Primus#Default.png [new file with mode: 0644]
dist/images/creatures/Legio Quartus#Default.png [new file with mode: 0644]
dist/images/creatures/Legio Quintus#Default.png [new file with mode: 0644]
dist/images/creatures/Legio Secundus#Default.png [new file with mode: 0644]
dist/images/creatures/Legio Sextus#Default.png [new file with mode: 0644]
dist/images/creatures/Legio Tertius#Default.png [new file with mode: 0644]
dist/images/creatures/Lesser demon (Wizards' Tower)#Default.png [new file with mode: 0644]
dist/images/creatures/Lesser demon#1.png [new file with mode: 0644]
dist/images/creatures/Lesser demon#2.png [new file with mode: 0644]
dist/images/creatures/Lesser demon#3.png [new file with mode: 0644]
dist/images/creatures/Lesser demon#4.png [new file with mode: 0644]
dist/images/creatures/Lesser demon#5.png [new file with mode: 0644]
dist/images/creatures/Linza the Disgraced#Barrows.png [new file with mode: 0644]
dist/images/creatures/Linza the Disgraced#Sliske's Endgame.png [new file with mode: 0644]
dist/images/creatures/Liverworts#Default.png [new file with mode: 0644]
dist/images/creatures/Living rock patriarch#Default.png [new file with mode: 0644]
dist/images/creatures/Living rock protector#Default.png [new file with mode: 0644]
dist/images/creatures/Living rock striker#Default.png [new file with mode: 0644]
dist/images/creatures/Lizard#Default.png [new file with mode: 0644]
dist/images/creatures/Locust lancer#Default.png [new file with mode: 0644]
dist/images/creatures/Locust ranger#Default.png [new file with mode: 0644]
dist/images/creatures/Locust rider#Melee (1).png [new file with mode: 0644]
dist/images/creatures/Locust rider#Melee (2).png [new file with mode: 0644]
dist/images/creatures/Locust rider#Melee (3).png [new file with mode: 0644]
dist/images/creatures/Locust rider#Range (1).png [new file with mode: 0644]
dist/images/creatures/Locust rider#Range (2).png [new file with mode: 0644]
dist/images/creatures/Locust rider#Range (3).png [new file with mode: 0644]
dist/images/creatures/Luminous snaggler#Default.png [new file with mode: 0644]
dist/images/creatures/Lumpnose#Default.png [new file with mode: 0644]
dist/images/creatures/Maelstrom, Raging Waterfiend#Default.png [new file with mode: 0644]
dist/images/creatures/Magic axe#Default.png [new file with mode: 0644]
dist/images/creatures/Manifest shadow#Default.png [new file with mode: 0644]
dist/images/creatures/Masuta the Descended#Default.png [new file with mode: 0644]
dist/images/creatures/Mature grotworm#Default.png [new file with mode: 0644]
dist/images/creatures/Mighty banshee#Default.png [new file with mode: 0644]
dist/images/creatures/Minotaur#Level 12.png [new file with mode: 0644]
dist/images/creatures/Minotaur#Level 15.png [new file with mode: 0644]
dist/images/creatures/Minotaur#Level 44 (Slayer challenge).png [new file with mode: 0644]
dist/images/creatures/Mithril dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Mogre#Default.png [new file with mode: 0644]
dist/images/creatures/Molanisk#Default.png [new file with mode: 0644]
dist/images/creatures/Monkey Zombie#72.png [new file with mode: 0644]
dist/images/creatures/Monkey Zombie#75.png [new file with mode: 0644]
dist/images/creatures/Monkey Zombie#77.png [new file with mode: 0644]
dist/images/creatures/Moss giant#Common (1).png [new file with mode: 0644]
dist/images/creatures/Moss giant#Common (2).png [new file with mode: 0644]
dist/images/creatures/Moss giant#Common (3).png [new file with mode: 0644]
dist/images/creatures/Moss giant#Common (4).png [new file with mode: 0644]
dist/images/creatures/Moss giant#Common (5).png [new file with mode: 0644]
dist/images/creatures/Moss giant#Glarial's Tomb.png [new file with mode: 0644]
dist/images/creatures/Moss golem#Default.png [new file with mode: 0644]
dist/images/creatures/Mountain troll (well)#Default.png [new file with mode: 0644]
dist/images/creatures/Mountain troll#Default.png [new file with mode: 0644]
dist/images/creatures/Mounted terrorbird gnome#Level 46.png [new file with mode: 0644]
dist/images/creatures/Mounted terrorbird gnome#Level 53.png [new file with mode: 0644]
dist/images/creatures/Mourner (Mourner Tunnels)#Default.png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#1.png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#2.png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#3.png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#4.png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png [new file with mode: 0644]
dist/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#1 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#1.png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#2 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#2.png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#3 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#3.png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#4 (on fire).png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#4.png [new file with mode: 0644]
dist/images/creatures/Mummy (Ullek)#Ashes.png [new file with mode: 0644]
dist/images/creatures/Mutated bloodveld#A.png [new file with mode: 0644]
dist/images/creatures/Mutated bloodveld#B.png [new file with mode: 0644]
dist/images/creatures/Mutated jadinko baby#Default.png [new file with mode: 0644]
dist/images/creatures/Mutated jadinko guard#Default.png [new file with mode: 0644]
dist/images/creatures/Mutated jadinko male#Default.png [new file with mode: 0644]
dist/images/creatures/Mutated zygomite#Level 58.png [new file with mode: 0644]
dist/images/creatures/Mutated zygomite#Level 65.png [new file with mode: 0644]
dist/images/creatures/Nechryael (Heart of Gielinor)#Default.png [new file with mode: 0644]
dist/images/creatures/Nechryael (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Nechryael#Default.png [new file with mode: 0644]
dist/images/creatures/Nex [new file with mode: 0644]
dist/images/creatures/Nex#Magic.png [new file with mode: 0644]
dist/images/creatures/Nex#Melee.png [new file with mode: 0644]
dist/images/creatures/Nex#Ranged.png [new file with mode: 0644]
dist/images/creatures/Nex#Standard.png [new file with mode: 0644]
dist/images/creatures/Nightmare#Default.png [new file with mode: 0644]
dist/images/creatures/Nodon artificer#Default.png [new file with mode: 0644]
dist/images/creatures/Nodon enforcer#Default.png [new file with mode: 0644]
dist/images/creatures/Nodon engineer#Default.png [new file with mode: 0644]
dist/images/creatures/Nodon guard#Default.png [new file with mode: 0644]
dist/images/creatures/Nodon hunter#Default.png [new file with mode: 0644]
dist/images/creatures/Nymora, the Vengeful#Challenge Mode.png [new file with mode: 0644]
dist/images/creatures/Nymora, the Vengeful#Normal Mode.png [new file with mode: 0644]
dist/images/creatures/Ogre chieftain#Version 1.png [new file with mode: 0644]
dist/images/creatures/Ogre chieftain#Version 2.png [new file with mode: 0644]
dist/images/creatures/Ogre chieftain#Version 3.png [new file with mode: 0644]
dist/images/creatures/Ogre#Combat Camp(56).png [new file with mode: 0644]
dist/images/creatures/Ogre#God Wars Dungeon(86).png [new file with mode: 0644]
dist/images/creatures/Ogre#Kandarin(Level 67).png [new file with mode: 0644]
dist/images/creatures/Ogress champion#Default.png [new file with mode: 0644]
dist/images/creatures/Ogress warrior#Default.png [new file with mode: 0644]
dist/images/creatures/Ogress#Default.png [new file with mode: 0644]
dist/images/creatures/Ol' Sawtooth#Default.png [new file with mode: 0644]
dist/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Onyx dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Oomlie bird#Default.png [new file with mode: 0644]
dist/images/creatures/Oreb, the Magister#Default.png [new file with mode: 0644]
dist/images/creatures/Orikalka#Default.png [new file with mode: 0644]
dist/images/creatures/Osseous#Default.png [new file with mode: 0644]
dist/images/creatures/Otherworldly being#Default.png [new file with mode: 0644]
dist/images/creatures/Pee Hat#Default.png [new file with mode: 0644]
dist/images/creatures/Pekin#Default.png [new file with mode: 0644]
dist/images/creatures/Penguin (monster)#Default.png [new file with mode: 0644]
dist/images/creatures/Pernicious parrot#Default.png [new file with mode: 0644]
dist/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png [new file with mode: 0644]
dist/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Phantom wizard#1 (Ancient Awakening).png [new file with mode: 0644]
dist/images/creatures/Phantom wizard#1 (Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Pit Scorpion#Default.png [new file with mode: 0644]
dist/images/creatures/Plague frog#Default.png [new file with mode: 0644]
dist/images/creatures/Poison Scorpion#Default.png [new file with mode: 0644]
dist/images/creatures/Poison spider#Common.png [new file with mode: 0644]
dist/images/creatures/Poison spider#Observatory.png [new file with mode: 0644]
dist/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png [new file with mode: 0644]
dist/images/creatures/Possessed pickaxe#Abandoned Mine.png [new file with mode: 0644]
dist/images/creatures/Possessed pickaxe#Dominion Tower.png [new file with mode: 0644]
dist/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png [new file with mode: 0644]
dist/images/creatures/Pthentraken#Default.png [new file with mode: 0644]
dist/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png [new file with mode: 0644]
dist/images/creatures/Pyrefiend (summoned)#Default.png [new file with mode: 0644]
dist/images/creatures/Pyrefiend#God Wars Dungeon.png [new file with mode: 0644]
dist/images/creatures/Pyrefiend#Level 38.png [new file with mode: 0644]
dist/images/creatures/Queen Black Dragon#Carapace.png [new file with mode: 0644]
dist/images/creatures/Queen Black Dragon#Crystal.png [new file with mode: 0644]
dist/images/creatures/Queen Black Dragon#Normal.png [new file with mode: 0644]
dist/images/creatures/Quetzathog#Default.png [new file with mode: 0644]
dist/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png [new file with mode: 0644]
dist/images/creatures/Raksha, the Shadow Colossus#During fight.png [new file with mode: 0644]
dist/images/creatures/Raksha, the Shadow Colossus#Shackled.png [new file with mode: 0644]
dist/images/creatures/Raksha, the Shadow Colossus#Subdued.png [new file with mode: 0644]
dist/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png [new file with mode: 0644]
dist/images/creatures/Rasial, the First Necromancer#Normal.png [new file with mode: 0644]
dist/images/creatures/Rat#Common.png [new file with mode: 0644]
dist/images/creatures/Rat#Ratcatchers.png [new file with mode: 0644]
dist/images/creatures/Rat#Stronghold of Security.png [new file with mode: 0644]
dist/images/creatures/Rathis#Default.png [new file with mode: 0644]
dist/images/creatures/Ravenous ghoul (Mazchna)#Default.png [new file with mode: 0644]
dist/images/creatures/Ravenous ghoul#Default.png [new file with mode: 0644]
dist/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
dist/images/creatures/Red dragon#1.png [new file with mode: 0644]
dist/images/creatures/Red dragon#2.png [new file with mode: 0644]
dist/images/creatures/Red dragon#3.png [new file with mode: 0644]
dist/images/creatures/Red dragon#4.png [new file with mode: 0644]
dist/images/creatures/Red dragon#5.png [new file with mode: 0644]
dist/images/creatures/Revenant cyclops#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant dark beast#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant demon#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant goblin#16.png [new file with mode: 0644]
dist/images/creatures/Revenant goblin#19.png [new file with mode: 0644]
dist/images/creatures/Revenant goblin#22.png [new file with mode: 0644]
dist/images/creatures/Revenant goblin#28.png [new file with mode: 0644]
dist/images/creatures/Revenant hellhound#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant hobgoblin#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant icefiend#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant imp#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant knight#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant ork#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant pyrefiend#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant vampyre#Default.png [new file with mode: 0644]
dist/images/creatures/Revenant werewolf#Default.png [new file with mode: 0644]
dist/images/creatures/Ripper Demon#Default.png [new file with mode: 0644]
dist/images/creatures/Ripper dinosaur#Dinosaur invasion.png [new file with mode: 0644]
dist/images/creatures/Ripper dinosaur#Normal.png [new file with mode: 0644]
dist/images/creatures/Risen ghost#Default.png [new file with mode: 0644]
dist/images/creatures/River troll#Default.png [new file with mode: 0644]
dist/images/creatures/Rock (monster)#Default.png [new file with mode: 0644]
dist/images/creatures/Rock slug#Default.png [new file with mode: 0644]
dist/images/creatures/Rooster#Default.png [new file with mode: 0644]
dist/images/creatures/Rorarius#1.png [new file with mode: 0644]
dist/images/creatures/Rorarius#2.png [new file with mode: 0644]
dist/images/creatures/Rune dragon#Armoured.png [new file with mode: 0644]
dist/images/creatures/Rune dragon#Unarmoured.png [new file with mode: 0644]
dist/images/creatures/Salawa akh#Default.png [new file with mode: 0644]
dist/images/creatures/Sangri the Red#Default.png [new file with mode: 0644]
dist/images/creatures/Sapping glacyte#Default.png [new file with mode: 0644]
dist/images/creatures/Scabaras lancer#Default.png [new file with mode: 0644]
dist/images/creatures/Scabaras mage#Default.png [new file with mode: 0644]
dist/images/creatures/Scabaras ranger#Default.png [new file with mode: 0644]
dist/images/creatures/Scarab akh#Default.png [new file with mode: 0644]
dist/images/creatures/Scarab mage#Contact!.png [new file with mode: 0644]
dist/images/creatures/Scarab mage#Dominion Tower.png [new file with mode: 0644]
dist/images/creatures/Scarab mage#Rumble Mode.png [new file with mode: 0644]
dist/images/creatures/Scarab mage#Sophanem Dungeon.png [new file with mode: 0644]
dist/images/creatures/Scorpion (Ape Atoll)#Default.png [new file with mode: 0644]
dist/images/creatures/Scorpion#Level 14.png [new file with mode: 0644]
dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png [new file with mode: 0644]
dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png [new file with mode: 0644]
dist/images/creatures/Scutarius#1.png [new file with mode: 0644]
dist/images/creatures/Scutarius#2.png [new file with mode: 0644]
dist/images/creatures/Sea Snake Hatchling#Default.png [new file with mode: 0644]
dist/images/creatures/Sea Snake Young#Default.png [new file with mode: 0644]
dist/images/creatures/Sea crocodile#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Sea crocodile#Story mode.png [new file with mode: 0644]
dist/images/creatures/Sea horror#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Sea horror#Story mode.png [new file with mode: 0644]
dist/images/creatures/Seagull#Default.png [new file with mode: 0644]
dist/images/creatures/Seeker#Default.png [new file with mode: 0644]
dist/images/creatures/Seething Pyrefiend#Default.png [new file with mode: 0644]
dist/images/creatures/Seiryu the Azure Serpent#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Seiryu the Azure Serpent#Story mode.png [new file with mode: 0644]
dist/images/creatures/Seren archer#Default.png [new file with mode: 0644]
dist/images/creatures/Seren mage#Default.png [new file with mode: 0644]
dist/images/creatures/Seren warrior#Default.png [new file with mode: 0644]
dist/images/creatures/Sergeant Grimspike#Default.png [new file with mode: 0644]
dist/images/creatures/Sergeant Steelwill#Default.png [new file with mode: 0644]
dist/images/creatures/Sergeant Strongstack#Default.png [new file with mode: 0644]
dist/images/creatures/Shade#Default.png [new file with mode: 0644]
dist/images/creatures/Shadow (Temple of Light)#Default.png [new file with mode: 0644]
dist/images/creatures/Shadow Hound#Default.png [new file with mode: 0644]
dist/images/creatures/Shadow nihil#boss.png [new file with mode: 0644]
dist/images/creatures/Shadow nihil#normal.png [new file with mode: 0644]
dist/images/creatures/Shadow spider#Default.png [new file with mode: 0644]
dist/images/creatures/Shadow warrior#Default.png [new file with mode: 0644]
dist/images/creatures/Shara'Kor the Widowmaker#Default.png [new file with mode: 0644]
dist/images/creatures/Siege engine#Default.png [new file with mode: 0644]
dist/images/creatures/Skeletal Wyvern#1.png [new file with mode: 0644]
dist/images/creatures/Skeletal Wyvern#2.png [new file with mode: 0644]
dist/images/creatures/Skeletal Wyvern#3.png [new file with mode: 0644]
dist/images/creatures/Skeletal Wyvern#4.png [new file with mode: 0644]
dist/images/creatures/Skeletal hand#Default.png [new file with mode: 0644]
dist/images/creatures/Skeletal miner#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Ape Atoll)#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Barrows)#86.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Barrows)#88.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Heart of Gielinor)#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Tarn's Lair)#1.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Tarn's Lair)#2.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Tarn's Lair)#8.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Temple Trekking)#18.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Temple Trekking)#Helmet.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Temple Trekking)#No helmet.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Ullek)#Axe.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Ullek)#Mace.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Ullek)#Round shield.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Ullek)#Square shield.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Ullek)#Warhammer.png [new file with mode: 0644]
dist/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png [new file with mode: 0644]
dist/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png [new file with mode: 0644]
dist/images/creatures/Skeleton (Uncharted Isles)#Ranged.png [new file with mode: 0644]
dist/images/creatures/Skeleton Archer#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Skeleton Archer#Story mode.png [new file with mode: 0644]
dist/images/creatures/Skeleton Mage#Level 19.png [new file with mode: 0644]
dist/images/creatures/Skeleton Mage#Level 49.png [new file with mode: 0644]
dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png [new file with mode: 0644]
dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png [new file with mode: 0644]
dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Skeleton brute#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton fremennik#Level 23.png [new file with mode: 0644]
dist/images/creatures/Skeleton fremennik#Level 28.png [new file with mode: 0644]
dist/images/creatures/Skeleton fremennik#Level 30.png [new file with mode: 0644]
dist/images/creatures/Skeleton heavy#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton hero#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton knight#Ancient Awakening.png [new file with mode: 0644]
dist/images/creatures/Skeleton knight#Ungael combat activity (hard).png [new file with mode: 0644]
dist/images/creatures/Skeleton knight#Ungael combat activity (standard).png [new file with mode: 0644]
dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png [new file with mode: 0644]
dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png [new file with mode: 0644]
dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png [new file with mode: 0644]
dist/images/creatures/Skeleton thug#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton warlord#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png [new file with mode: 0644]
dist/images/creatures/Skeleton#Level 15.png [new file with mode: 0644]
dist/images/creatures/Skeleton#Level 16.png [new file with mode: 0644]
dist/images/creatures/Skeleton#Level 32.png [new file with mode: 0644]
dist/images/creatures/Skeleton#Level 46.png [new file with mode: 0644]
dist/images/creatures/Skeleton#Level 51.png [new file with mode: 0644]
dist/images/creatures/Skeleton#Level 58.png [new file with mode: 0644]
dist/images/creatures/Skoblin#Default.png [new file with mode: 0644]
dist/images/creatures/Skogre#1.png [new file with mode: 0644]
dist/images/creatures/Skogre#2.png [new file with mode: 0644]
dist/images/creatures/Skogre#3.png [new file with mode: 0644]
dist/images/creatures/Slasher Demon#Default.png [new file with mode: 0644]
dist/images/creatures/Small Lizard#Green.png [new file with mode: 0644]
dist/images/creatures/Small Lizard#Yellow.png [new file with mode: 0644]
dist/images/creatures/Small scarab#Do No Evil.png [new file with mode: 0644]
dist/images/creatures/Small scarab#Uzer Mastaba.png [new file with mode: 0644]
dist/images/creatures/Small scarab#Zombie (1).png [new file with mode: 0644]
dist/images/creatures/Small scarab#Zombie (2).png [new file with mode: 0644]
dist/images/creatures/Small scarab#Zombie (3).png [new file with mode: 0644]
dist/images/creatures/Smoke nihil#boss.png [new file with mode: 0644]
dist/images/creatures/Smoke nihil#normal.png [new file with mode: 0644]
dist/images/creatures/Smoulders#Default.png [new file with mode: 0644]
dist/images/creatures/Smoulders, the Revenger#Default.png [new file with mode: 0644]
dist/images/creatures/Solak#Left arm.png [new file with mode: 0644]
dist/images/creatures/Solak#Left leg.png [new file with mode: 0644]
dist/images/creatures/Solak#Right arm.png [new file with mode: 0644]
dist/images/creatures/Solak#Right leg.png [new file with mode: 0644]
dist/images/creatures/Solak#Solak.png [new file with mode: 0644]
dist/images/creatures/Solak#Withering.png [new file with mode: 0644]
dist/images/creatures/Soulgazer (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Soulgazer#Default.png [new file with mode: 0644]
dist/images/creatures/Soulless armoured zombie#Default.png [new file with mode: 0644]
dist/images/creatures/Soulless unarmoured zombie#Default.png [new file with mode: 0644]
dist/images/creatures/Spider#Ape Atoll.png [new file with mode: 0644]
dist/images/creatures/Spider#Common.png [new file with mode: 0644]
dist/images/creatures/Spider#Stronghold of Security.png [new file with mode: 0644]
dist/images/creatures/Spider#Underground Pass.png [new file with mode: 0644]
dist/images/creatures/Spiritual mage#Armadyl.png [new file with mode: 0644]
dist/images/creatures/Spiritual mage#Bandos.png [new file with mode: 0644]
dist/images/creatures/Spiritual mage#Saradomin.png [new file with mode: 0644]
dist/images/creatures/Spiritual mage#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Spiritual mage#Zamorak.png [new file with mode: 0644]
dist/images/creatures/Spiritual ranger#Armadyl.png [new file with mode: 0644]
dist/images/creatures/Spiritual ranger#Bandos.png [new file with mode: 0644]
dist/images/creatures/Spiritual ranger#Saradomin.png [new file with mode: 0644]
dist/images/creatures/Spiritual ranger#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Spiritual ranger#Zamorak.png [new file with mode: 0644]
dist/images/creatures/Spiritual warrior#Armadyl.png [new file with mode: 0644]
dist/images/creatures/Spiritual warrior#Bandos.png [new file with mode: 0644]
dist/images/creatures/Spiritual warrior#Saradomin.png [new file with mode: 0644]
dist/images/creatures/Spiritual warrior#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Spiritual warrior#Zamorak.png [new file with mode: 0644]
dist/images/creatures/Spyndra#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Spyndra#Story mode.png [new file with mode: 0644]
dist/images/creatures/Steel dragon#Default.png [new file with mode: 0644]
dist/images/creatures/Stick#Default.png [new file with mode: 0644]
dist/images/creatures/Stinkears#Default.png [new file with mode: 0644]
dist/images/creatures/Stove#Default.png [new file with mode: 0644]
dist/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png [new file with mode: 0644]
dist/images/creatures/Summoned Zombie#Default.png [new file with mode: 0644]
dist/images/creatures/Summoned armoured zombie#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Summoned armoured zombie#Story mode.png [new file with mode: 0644]
dist/images/creatures/Summoned skeleton archer#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Summoned skeleton archer#Story mode.png [new file with mode: 0644]
dist/images/creatures/Summoned skeleton#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Summoned skeleton#Story mode.png [new file with mode: 0644]
dist/images/creatures/Super Cow#Default.png [new file with mode: 0644]
dist/images/creatures/Suqah#Level 73 (Dual wielding swords).png [new file with mode: 0644]
dist/images/creatures/Suqah#Level 74 (Magic).png [new file with mode: 0644]
dist/images/creatures/Suqah#Level 74.png [new file with mode: 0644]
dist/images/creatures/Suqah#Level 79.png [new file with mode: 0644]
dist/images/creatures/Swamp frog#Default.png [new file with mode: 0644]
dist/images/creatures/Taraket the Necromancer#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Taraket the Necromancer#Story mode.png [new file with mode: 0644]
dist/images/creatures/Telos, the Warden#Dormant.png [new file with mode: 0644]
dist/images/creatures/Telos, the Warden#Phase 5.png [new file with mode: 0644]
dist/images/creatures/Telos, the Warden#Standard.png [new file with mode: 0644]
dist/images/creatures/Tenacious toucan#Default.png [new file with mode: 0644]
dist/images/creatures/Terror dog#Level 61.png [new file with mode: 0644]
dist/images/creatures/Terror dog#Level 65.png [new file with mode: 0644]
dist/images/creatures/Terrorbird#Default.png [new file with mode: 0644]
dist/images/creatures/The Ambassador#Normal mode.png [new file with mode: 0644]
dist/images/creatures/The Ambassador#Story mode.png [new file with mode: 0644]
dist/images/creatures/The Magister#Default.png [new file with mode: 0644]
dist/images/creatures/Thrower Troll#Death Plateau.png [new file with mode: 0644]
dist/images/creatures/Thrower Troll#Trollheim.png [new file with mode: 0644]
dist/images/creatures/Throwing muspah#Default.png [new file with mode: 0644]
dist/images/creatures/Torag the Corrupted#Normal.png [new file with mode: 0644]
dist/images/creatures/Torag the Corrupted#Rise of the Six.png [new file with mode: 0644]
dist/images/creatures/Tormented demon#Standard.png [new file with mode: 0644]
dist/images/creatures/Tormented demon#While Guthix Sleeps.png [new file with mode: 0644]
dist/images/creatures/Tormented soul (Uncharted Isles)#Default.png [new file with mode: 0644]
dist/images/creatures/Tormented wraith#Default.png [new file with mode: 0644]
dist/images/creatures/Torrential Waterfiend (summoned)#Default.png [new file with mode: 0644]
dist/images/creatures/Torrential Waterfiend#Default.png [new file with mode: 0644]
dist/images/creatures/Tortured soul (Port Phasmatys)#Default.png [new file with mode: 0644]
dist/images/creatures/Training dummy#Abyssal demon (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Abyssal demon (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Abyssal demon (ranged).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Basilisk (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Basilisk (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Basilisk (ranged).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Demon (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Demon (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Demon (ranged).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Dragon (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Dragon (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Dragon (ranged).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to arrows, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to arrows, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to arrows, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to bolts, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to bolts, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to bolts, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to nothing, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to nothing, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to nothing, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to thrown, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to thrown, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Magic (weak to thrown, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to air, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to air, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to air, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to earth, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to earth, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to earth, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to fire, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to fire, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to fire, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to nothing, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to nothing, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to nothing, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to water, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to water, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Melee (weak to water, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Permanent.png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to crush, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to crush, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to crush, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to nothing, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to nothing, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to nothing, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to slash, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to slash, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to slash, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to stab, medium).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to stab, strong).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Ranged (weak to stab, weak).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Revenant (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Revenant (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Revenant (ranged).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Undead (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Undead (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Undead (ranged).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Wallasalki (magic).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Wallasalki (melee).png [new file with mode: 0644]
dist/images/creatures/Training dummy#Wallasalki (ranged).png [new file with mode: 0644]
dist/images/creatures/Troll brute (Davendale)#Default.png [new file with mode: 0644]
dist/images/creatures/Troll brute#Default.png [new file with mode: 0644]
dist/images/creatures/Troll chucker (Davendale)#Default.png [new file with mode: 0644]
dist/images/creatures/Troll chucker#Default.png [new file with mode: 0644]
dist/images/creatures/Troll general#Club.png [new file with mode: 0644]
dist/images/creatures/Troll general#Hammer.png [new file with mode: 0644]
dist/images/creatures/Troll general#Sword.png [new file with mode: 0644]
dist/images/creatures/Troll lout#Default.png [new file with mode: 0644]
dist/images/creatures/Troll shaman (Davendale)#Default.png [new file with mode: 0644]
dist/images/creatures/Troll shaman#Default.png [new file with mode: 0644]
dist/images/creatures/Troll spectator#Default.png [new file with mode: 0644]
dist/images/creatures/Truthful shadow#Default.png [new file with mode: 0644]
dist/images/creatures/Tstanon Karlak#Default.png [new file with mode: 0644]
dist/images/creatures/Turoth#60 - Large.png [new file with mode: 0644]
dist/images/creatures/Turoth#60 - Small.png [new file with mode: 0644]
dist/images/creatures/Turoth#68 - Female.png [new file with mode: 0644]
dist/images/creatures/Turoth#68 - Male.png [new file with mode: 0644]
dist/images/creatures/TzHaar-Hur#Level 86.png [new file with mode: 0644]
dist/images/creatures/TzHaar-Hur#Level 98.png [new file with mode: 0644]
dist/images/creatures/TzHaar-Ket#Default.png [new file with mode: 0644]
dist/images/creatures/TzHaar-Mej#Default.png [new file with mode: 0644]
dist/images/creatures/TzHaar-Xil#Melee.png [new file with mode: 0644]
dist/images/creatures/TzHaar-Xil#Ranged.png [new file with mode: 0644]
dist/images/creatures/TzKal-Zuk#Hard Mode.png [new file with mode: 0644]
dist/images/creatures/TzKal-Zuk#Normal Mode.png [new file with mode: 0644]
dist/images/creatures/TzTok-Jad#Default.png [new file with mode: 0644]
dist/images/creatures/Ulthven Keith#Default.png [new file with mode: 0644]
dist/images/creatures/Undead Witch#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Undead Witch#Story mode.png [new file with mode: 0644]
dist/images/creatures/Undead chicken#Default.png [new file with mode: 0644]
dist/images/creatures/Undead cow#Default.png [new file with mode: 0644]
dist/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png [new file with mode: 0644]
dist/images/creatures/Undead one#Skeleton (level 44).png [new file with mode: 0644]
dist/images/creatures/Undead one#Skeleton (level 46).png [new file with mode: 0644]
dist/images/creatures/Undead one#Zombie (level 44).png [new file with mode: 0644]
dist/images/creatures/Undead one#Zombie (level 46).png [new file with mode: 0644]
dist/images/creatures/Undead pekin#Default.png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 77.png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 81 (1).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 81 (2).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 81 (3).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 81 (4).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 81 (5).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 86 (1).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 86 (2).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 86 (3).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (1).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (2).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (3).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (4).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (5).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (6).png [new file with mode: 0644]
dist/images/creatures/Undead troll#Level 95 (7).png [new file with mode: 0644]
dist/images/creatures/Unspeakable horror (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Unspeakable horror#Default.png [new file with mode: 0644]
dist/images/creatures/Unstable glacyte#Default.png [new file with mode: 0644]
dist/images/creatures/Unstable zombie#Ancient Awakening.png [new file with mode: 0644]
dist/images/creatures/Unstable zombie#Ungael combat activity (hard).png [new file with mode: 0644]
dist/images/creatures/Unstable zombie#Ungael combat activity (standard).png [new file with mode: 0644]
dist/images/creatures/Vampyre Juvenile#Burgh de Rott.png [new file with mode: 0644]
dist/images/creatures/Vampyre Juvenile#Meiyerditch.png [new file with mode: 0644]
dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png [new file with mode: 0644]
dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png [new file with mode: 0644]
dist/images/creatures/Vampyre Juvinate#Darkmeyer.png [new file with mode: 0644]
dist/images/creatures/Vampyre Juvinate#Meiyerditch.png [new file with mode: 0644]
dist/images/creatures/Vampyre#Default.png [new file with mode: 0644]
dist/images/creatures/Veil-ripper Ozharakha#Default.png [new file with mode: 0644]
dist/images/creatures/Venomous dinosaur#Dinosaur invasion.png [new file with mode: 0644]
dist/images/creatures/Venomous dinosaur#Normal.png [new file with mode: 0644]
dist/images/creatures/Verac the Defiled#Normal.png [new file with mode: 0644]
dist/images/creatures/Verac the Defiled#Rise of the Six.png [new file with mode: 0644]
dist/images/creatures/Verak Lith#Default.png [new file with mode: 0644]
dist/images/creatures/Verak Little#Default.png [new file with mode: 0644]
dist/images/creatures/Vindicta#Hard mode.png [new file with mode: 0644]
dist/images/creatures/Vindicta#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Vinecrawler#Default.png [new file with mode: 0644]
dist/images/creatures/Vorago#Default.png [new file with mode: 0644]
dist/images/creatures/Vorkath#Hard mode.png [new file with mode: 0644]
dist/images/creatures/Vorkath#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Vorkath#Requiem for a Dragon.png [new file with mode: 0644]
dist/images/creatures/Vorkath#Story mode.png [new file with mode: 0644]
dist/images/creatures/Vyrelady#1.png [new file with mode: 0644]
dist/images/creatures/Vyrelady#2.png [new file with mode: 0644]
dist/images/creatures/Vyrelady#3.png [new file with mode: 0644]
dist/images/creatures/Vyrelady#4.png [new file with mode: 0644]
dist/images/creatures/Vyrelady#5.png [new file with mode: 0644]
dist/images/creatures/Vyrelady#6.png [new file with mode: 0644]
dist/images/creatures/Vyrelord#1.png [new file with mode: 0644]
dist/images/creatures/Vyrelord#2.png [new file with mode: 0644]
dist/images/creatures/Vyrelord#3.png [new file with mode: 0644]
dist/images/creatures/Vyrelord#4.png [new file with mode: 0644]
dist/images/creatures/Vyrelord#5.png [new file with mode: 0644]
dist/images/creatures/Vyrelord#6.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 70.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 72.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 75.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 78.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 86.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Level 91.png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png [new file with mode: 0644]
dist/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png [new file with mode: 0644]
dist/images/creatures/Wall beast#Default.png [new file with mode: 0644]
dist/images/creatures/Warped bat#Default.png [new file with mode: 0644]
dist/images/creatures/Warped cockroach#Default.png [new file with mode: 0644]
dist/images/creatures/Warped rat#Default.png [new file with mode: 0644]
dist/images/creatures/Warped skeleton#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Warped skeleton#Story mode.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#1 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#1.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#10 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#10.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#2 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#2.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#3 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#3.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#4 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#4.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#5 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#5.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#6 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#6.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#7 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#7.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#8 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#8.png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#9 (chimed).png [new file with mode: 0644]
dist/images/creatures/Warped terrorbird#9.png [new file with mode: 0644]
dist/images/creatures/Warped tortoise#Immune.png [new file with mode: 0644]
dist/images/creatures/Warped tortoise#Vulnerable.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (Ghorrock)#102.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (Ghorrock)#107.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (elite)#Ancient Cavern.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (elite)#Ghorrock.png [new file with mode: 0644]
dist/images/creatures/Waterfiend (summoned)#Default.png [new file with mode: 0644]
dist/images/creatures/Waterfiend#Default.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Alexis.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Boris.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Eduard.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Galina.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Georgy.png [new file with mode: 0644]
dist/images/creatures/Werewolf#God Wars Dungeon (female).png [new file with mode: 0644]
dist/images/creatures/Werewolf#God Wars Dungeon (male).png [new file with mode: 0644]
dist/images/creatures/Werewolf#Imre.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Irina.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Joseph.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Ksenia.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Lev.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Liliya.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Milla.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Nikita.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Nikolai.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Sofiya.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Svetlana.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Vera.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Yadviga.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Yuri.png [new file with mode: 0644]
dist/images/creatures/Werewolf#Zoja.png [new file with mode: 0644]
dist/images/creatures/White wolf#Default.png [new file with mode: 0644]
dist/images/creatures/Wight (Missing, Presumed Death)#Default.png [new file with mode: 0644]
dist/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png [new file with mode: 0644]
dist/images/creatures/Wight ranger (Sliske's Endgame)#78.png [new file with mode: 0644]
dist/images/creatures/Wight ranger (Sliske's Endgame)#85.png [new file with mode: 0644]
dist/images/creatures/Wight ranger#Default.png [new file with mode: 0644]
dist/images/creatures/Wight#Default.png [new file with mode: 0644]
dist/images/creatures/Wild dog#Default.png [new file with mode: 0644]
dist/images/creatures/WildyWyrm (2015, historical)#Default.png [new file with mode: 0644]
dist/images/creatures/Wingman Skree#Default.png [new file with mode: 0644]
dist/images/creatures/Wolf#Level 11 (1).png [new file with mode: 0644]
dist/images/creatures/Wolf#Level 11 (2).png [new file with mode: 0644]
dist/images/creatures/Wolf#Level 8 (1).png [new file with mode: 0644]
dist/images/creatures/Wolf#Level 8 (2).png [new file with mode: 0644]
dist/images/creatures/Wyvern (elite)#Default.png [new file with mode: 0644]
dist/images/creatures/Wyvern#Default.png [new file with mode: 0644]
dist/images/creatures/Yor'Ger the Deceiver#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Yor'Ger the Deceiver#Story mode.png [new file with mode: 0644]
dist/images/creatures/Young grotworm#Default.png [new file with mode: 0644]
dist/images/creatures/Zakl'n Gritch#Default.png [new file with mode: 0644]
dist/images/creatures/Zamorak, Lord of Chaos#Hard mode.png [new file with mode: 0644]
dist/images/creatures/Zamorak, Lord of Chaos#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Zamorak, Lord of Chaos#Story mode.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Ancient Awakening.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Battle of Forinthry.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Children of Mah (examinable).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Children of Mah.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Daughter of Chaos.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Dead and Buried.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Defender of Varrock (1).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Defender of Varrock (2).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Dimension of Disaster.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Dishonour among Thieves (lair).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Dishonour among Thieves.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Missing, Presumed Death.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Nadir.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Requiem for a Dragon.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Ritual of the Mahjarrat.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Succession (skeletal).png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Succession.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#The World Wakes.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#TzekHaar Front.png [new file with mode: 0644]
dist/images/creatures/Zemouregal#Unwelcome Guests.png [new file with mode: 0644]
dist/images/creatures/Zogre#1.png [new file with mode: 0644]
dist/images/creatures/Zogre#2.png [new file with mode: 0644]
dist/images/creatures/Zogre#3.png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (New Varrock)#Default.png [new file with mode: 0644]
dist/images/creatures/Zombie (Stronghold of Security)#Level 12.png [new file with mode: 0644]
dist/images/creatures/Zombie (Stronghold of Security)#Level 21.png [new file with mode: 0644]
dist/images/creatures/Zombie (Temple Trekking)#Default.png [new file with mode: 0644]
dist/images/creatures/Zombie (The Shadow Reef)#Normal mode.png [new file with mode: 0644]
dist/images/creatures/Zombie (The Shadow Reef)#Story mode.png [new file with mode: 0644]
dist/images/creatures/Zombie (Uncharted Isles)#Aggressive.png [new file with mode: 0644]
dist/images/creatures/Zombie (Uncharted Isles)#Female.png [new file with mode: 0644]
dist/images/creatures/Zombie (Uncharted Isles)#Male.png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 22 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 22 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 22 (3).png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 29 (1).png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 29 (2).png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 29 (3).png [new file with mode: 0644]
dist/images/creatures/Zombie (Wilderness)#Level 29 (4).png [new file with mode: 0644]
dist/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png [new file with mode: 0644]
dist/images/creatures/Zombie cow (New Varrock)#Boss.png [new file with mode: 0644]
dist/images/creatures/Zombie cow (New Varrock)#Regular.png [new file with mode: 0644]
dist/images/creatures/Zombie hand#Default.png [new file with mode: 0644]
dist/images/creatures/Zombie knight#Ancient Awakening.png [new file with mode: 0644]
dist/images/creatures/Zombie knight#Ungael combat activity (hard).png [new file with mode: 0644]
dist/images/creatures/Zombie knight#Ungael combat activity (standard).png [new file with mode: 0644]
dist/images/creatures/Zombie pirate#Level 49.png [new file with mode: 0644]
dist/images/creatures/Zombie pirate#Level 50.png [new file with mode: 0644]
dist/images/creatures/Zombie pirate#Pieces of Hate.png [new file with mode: 0644]
dist/images/creatures/Zombie swab#Default.png [new file with mode: 0644]
dist/images/creatures/Zombie warrior#1 (Ancient Awakening).png [new file with mode: 0644]
dist/images/creatures/Zombie warrior#1 (Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Zombie warrior#2 (Ancient Awakening).png [new file with mode: 0644]
dist/images/creatures/Zombie warrior#2 (Ungael combat activity).png [new file with mode: 0644]
dist/images/creatures/Zombie#Level 12.png [new file with mode: 0644]
dist/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png [new file with mode: 0644]
dist/images/creatures/Zombie#Level 22.png [new file with mode: 0644]
dist/images/creatures/Zombie#Level 29 (Entrana).png [new file with mode: 0644]
dist/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png [new file with mode: 0644]
dist/images/creatures/Zombie#Level 29.png [new file with mode: 0644]
dist/images/icon.png [new file with mode: 0644]
dist/images/masters/Chaeldar.png [new file with mode: 0644]
dist/images/masters/Duradel.png [new file with mode: 0644]
dist/images/masters/Jacquelyn.png [new file with mode: 0644]
dist/images/masters/Kuradal.png [new file with mode: 0644]
dist/images/masters/Laniakea.png [new file with mode: 0644]
dist/images/masters/Mandrith.png [new file with mode: 0644]
dist/images/masters/Mazchna.png [new file with mode: 0644]
dist/images/masters/Morvran.png [new file with mode: 0644]
dist/images/masters/Sumona.png [new file with mode: 0644]
dist/images/masters/The Raptor.png [new file with mode: 0644]
dist/images/masters/Turael.png [new file with mode: 0644]
dist/images/masters/Vannaka.png [new file with mode: 0644]
dist/images/misc/combat.png [new file with mode: 0644]
dist/images/misc/defence.png [new file with mode: 0644]
dist/images/misc/lifepoints.png [new file with mode: 0644]
dist/images/misc/magic.png [new file with mode: 0644]
dist/images/misc/melee.png [new file with mode: 0644]
dist/images/misc/necromancy.png [new file with mode: 0644]
dist/images/misc/ranged.png [new file with mode: 0644]
dist/images/misc/slayer.png [new file with mode: 0644]
dist/images/misc/spec.png [new file with mode: 0644]
dist/images/preview/SlayerAssistant.png [new file with mode: 0644]
dist/images/preview/SlayerAssistantNewLookNFeel.png [new file with mode: 0644]
dist/images/preview/SlayerAssistantUpdate20240611.png [new file with mode: 0644]
dist/images/preview/SlayerAssistantUpdate20240615.png [new file with mode: 0644]
dist/images/susceptible/Abyssal_head.png [new file with mode: 0644]
dist/images/susceptible/Balmung.png [new file with mode: 0644]
dist/images/susceptible/Basilisk_head.png [new file with mode: 0644]
dist/images/susceptible/Blisterwood_staff.png [new file with mode: 0644]
dist/images/susceptible/Corrupt_Vesta's_longsword.png [new file with mode: 0644]
dist/images/susceptible/Demon_Slayer_(perk).png [new file with mode: 0644]
dist/images/susceptible/Dragon_Slayer_(perk).png [new file with mode: 0644]
dist/images/susceptible/Ghost_hunter_backpack.png [new file with mode: 0644]
dist/images/susceptible/Hexhunter_bow.png [new file with mode: 0644]
dist/images/susceptible/Ice_Barrage_icon.png [new file with mode: 0644]
dist/images/susceptible/Inquisitor_staff.png [new file with mode: 0644]
dist/images/susceptible/Keris.png [new file with mode: 0644]
dist/images/susceptible/Necklace_of_Salamancy.png [new file with mode: 0644]
dist/images/susceptible/Steel_brutal_2.png [new file with mode: 0644]
dist/images/susceptible/Terrasaur_maul.png [new file with mode: 0644]
dist/images/susceptible/Undead_Slayer.png [new file with mode: 0644]
dist/images/ui/default/about/Reaper_counter.png [new file with mode: 0644]
dist/images/ui/default/about/Reaper_counter_expanded.png [new file with mode: 0644]
dist/images/ui/default/about/Reaper_task_interface.png [new file with mode: 0644]
dist/images/ui/default/about/Right_click_interface.png [new file with mode: 0644]
dist/images/ui/default/about/Select_your_own_task.png [new file with mode: 0644]
dist/images/ui/default/about/Slayer_assistant_interface.png [new file with mode: 0644]
dist/images/ui/default/about/Slayer_assistant_interface.xcf [new file with mode: 0644]
dist/images/ui/default/about/Slayer_counter.png [new file with mode: 0644]
dist/images/ui/default/about/Slayer_counter_expanded.png [new file with mode: 0644]
dist/images/ui/default/about/Slayer_task_interface.png [new file with mode: 0644]
dist/images/ui/default/about/VIP_ticket_interface.png [new file with mode: 0644]
dist/images/ui/default/back.png [new file with mode: 0644]
dist/images/ui/default/background.png [new file with mode: 0644]
dist/images/ui/default/donate.png [new file with mode: 0644]
dist/images/ui/default/forward.png [new file with mode: 0644]
dist/images/ui/default/infoicon.png [new file with mode: 0644]
dist/images/ui/default/nisbutton.png [new file with mode: 0644]
dist/images/ui/default/settingscog.png [new file with mode: 0644]
dist/images/ui/default/wikipedia.png [new file with mode: 0644]
dist/images/weakness/Air_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Arrow_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Bolt_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Crush_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Earth_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Fire_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Magic_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Melee_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Necromancy-icon.png [new file with mode: 0644]
dist/images/weakness/Ranged_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Slash_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Stab_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Thrown_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Water_weakness_icon.png [new file with mode: 0644]
dist/images/weakness/Zero_weakness_icon.png [new file with mode: 0644]
dist/index.html [new file with mode: 0644]
dist/main.js [new file with mode: 0644]
dist/main.js.map [new file with mode: 0644]
dist/pages/about.html [new file with mode: 0644]
dist/pages/changelog.html [new file with mode: 0644]
dist/pages/credits.html [new file with mode: 0644]
dist/pages/doc/body.html [new file with mode: 0644]
dist/pages/doc/dual.html [new file with mode: 0644]
dist/pages/doc/example-extra.html [new file with mode: 0644]
dist/pages/doc/example.html [new file with mode: 0644]
dist/pages/doc/single.html [new file with mode: 0644]
dist/pages/doc/suggested.html [new file with mode: 0644]
dist/pages/settings.html [new file with mode: 0644]
dist/styles/default/about.css [new file with mode: 0644]
dist/styles/default/changelog.css [new file with mode: 0644]
dist/styles/default/credits.css [new file with mode: 0644]
dist/styles/default/index.css [new file with mode: 0644]
dist/styles/default/settings.css [new file with mode: 0644]
old_bundle.js [new file with mode: 0644]
package.json [new file with mode: 0644]
scripts/increment-version.js [new file with mode: 0644]
scripts/install-rimraf.js [new file with mode: 0644]
scripts/list-directories.js [new file with mode: 0644]
slayer.unlishema.org.code-workspace [new file with mode: 0644]
src/appconfig.json [new file with mode: 0644]
src/data/.htaccess [new file with mode: 0644]
src/data/assignments.php [new file with mode: 0644]
src/data/creatures.php [new file with mode: 0644]
src/data/masters.php [new file with mode: 0644]
src/data/old/assignments.json [new file with mode: 0644]
src/data/old/creatures.json [new file with mode: 0644]
src/data/old/masters.json [new file with mode: 0644]
src/data/reapers.json [new file with mode: 0644]
src/data/version.json [new file with mode: 0644]
src/dev-appconfig.json [new file with mode: 0644]
src/extraFeatures.ts [new file with mode: 0644]
src/fonts/aa_10px_mono.data.png [new file with mode: 0644]
src/fonts/aa_10px_mono.fontmeta.json [new file with mode: 0644]
src/fonts/aa_12px_mono.data.png [new file with mode: 0644]
src/fonts/aa_12px_mono.fontmeta.json [new file with mode: 0644]
src/fonts/aa_8px.data.png [new file with mode: 0644]
src/fonts/aa_8px.fontmeta.json [new file with mode: 0644]
src/fonts/aa_8px_mono.data.png [new file with mode: 0644]
src/fonts/aa_8px_mono.fontmeta.json [new file with mode: 0644]
src/fonts/aa_8px_mono_allcaps.data.png [new file with mode: 0644]
src/fonts/aa_8px_mono_allcaps.fontmeta.json [new file with mode: 0644]
src/fonts/aa_9px_mono_allcaps.data.png [new file with mode: 0644]
src/fonts/aa_9px_mono_allcaps.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/10pt.data.png [new file with mode: 0644]
src/fonts/chatbox/10pt.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/12pt.data.png [new file with mode: 0644]
src/fonts/chatbox/12pt.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/14pt.data.png [new file with mode: 0644]
src/fonts/chatbox/14pt.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/16pt.data.png [new file with mode: 0644]
src/fonts/chatbox/16pt.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/18pt.data.png [new file with mode: 0644]
src/fonts/chatbox/18pt.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/20pt.data.png [new file with mode: 0644]
src/fonts/chatbox/20pt.fontmeta.json [new file with mode: 0644]
src/fonts/chatbox/22pt.data.png [new file with mode: 0644]
src/fonts/chatbox/22pt.fontmeta.json [new file with mode: 0644]
src/fonts/pixel_8px_digits.data.png [new file with mode: 0644]
src/fonts/pixel_8px_digits.fontmeta.json [new file with mode: 0644]
src/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png [new file with mode: 0644]
src/images/creatures/Aberrant spectre#Slayer Tower.png [new file with mode: 0644]
src/images/creatures/Abyssal beast#Default.png [new file with mode: 0644]
src/images/creatures/Abyssal demon (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Abyssal demon#Default.png [new file with mode: 0644]
src/images/creatures/Abyssal lord#Default.png [new file with mode: 0644]
src/images/creatures/Abyssal savage#Asylum.png [new file with mode: 0644]
src/images/creatures/Abyssal savage#Wilderness.png [new file with mode: 0644]
src/images/creatures/Acheron mammoth#Default.png [new file with mode: 0644]
src/images/creatures/Adamant dragon#Default.png [new file with mode: 0644]
src/images/creatures/Adolescent White wolf#Default.png [new file with mode: 0644]
src/images/creatures/Ahrim the Blighted#Normal.png [new file with mode: 0644]
src/images/creatures/Ahrim the Blighted#Rise of the Six.png [new file with mode: 0644]
src/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png [new file with mode: 0644]
src/images/creatures/Airut#Melee.png [new file with mode: 0644]
src/images/creatures/Airut#Ranged.png [new file with mode: 0644]
src/images/creatures/Akrisae the Doomed#Barrows.png [new file with mode: 0644]
src/images/creatures/Akrisae the Doomed#Gregorovic.png [new file with mode: 0644]
src/images/creatures/Akrisae the Doomed#Sliske's Endgame.png [new file with mode: 0644]
src/images/creatures/Alanogard the Black#Default.png [new file with mode: 0644]
src/images/creatures/Albino bat#Default.png [new file with mode: 0644]
src/images/creatures/Angry bear#A Soul's Bane.png [new file with mode: 0644]
src/images/creatures/Angry bear#Post-quest.png [new file with mode: 0644]
src/images/creatures/Angry giant rat#A Soul's Bane.png [new file with mode: 0644]
src/images/creatures/Angry giant rat#Post-quest (1).png [new file with mode: 0644]
src/images/creatures/Angry giant rat#Post-quest (2).png [new file with mode: 0644]
src/images/creatures/Angry goblin#A Soul's Bane.png [new file with mode: 0644]
src/images/creatures/Angry goblin#Post-quest.png [new file with mode: 0644]
src/images/creatures/Angry vampyre#Default.png [new file with mode: 0644]
src/images/creatures/Animated spade#Default.png [new file with mode: 0644]
src/images/creatures/Ankou (Kili's Knowledge IV)#Default.png [new file with mode: 0644]
src/images/creatures/Ankou (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Ankou#Default.png [new file with mode: 0644]
src/images/creatures/Aquanite (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Aquanite#Default.png [new file with mode: 0644]
src/images/creatures/Araxxi#Default.png [new file with mode: 0644]
src/images/creatures/Arch-Glacor#Hard mode.png [new file with mode: 0644]
src/images/creatures/Arch-Glacor#Normal mode.png [new file with mode: 0644]
src/images/creatures/Armoured phantom#1.png [new file with mode: 0644]
src/images/creatures/Armoured phantom#2.png [new file with mode: 0644]
src/images/creatures/Armoured phantom#3.png [new file with mode: 0644]
src/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png [new file with mode: 0644]
src/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png [new file with mode: 0644]
src/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png [new file with mode: 0644]
src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png [new file with mode: 0644]
src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png [new file with mode: 0644]
src/images/creatures/Armoured zombie#Dimension of Disaster.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#Dishonour among Thieves.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#Melee.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#New Foundations.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#One of a Kind.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#Ranged.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png [new file with mode: 0644]
src/images/creatures/Armoured zombie#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Astellarn#Default.png [new file with mode: 0644]
src/images/creatures/Automaton Generator#During The World Wakes.png [new file with mode: 0644]
src/images/creatures/Automaton Generator#Post-quest.png [new file with mode: 0644]
src/images/creatures/Automaton Guardian#During The World Wakes.png [new file with mode: 0644]
src/images/creatures/Automaton Guardian#Post-quest.png [new file with mode: 0644]
src/images/creatures/Automaton Tracer#Post-quest.png [new file with mode: 0644]
src/images/creatures/Automaton Tracer#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Avaryss, the Unceasing#Challenge Mode.png [new file with mode: 0644]
src/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png [new file with mode: 0644]
src/images/creatures/Avaryss, the Unceasing#Normal Mode.png [new file with mode: 0644]
src/images/creatures/Aviansie#Melee, level 89 (1).png [new file with mode: 0644]
src/images/creatures/Aviansie#Melee, level 89 (2).png [new file with mode: 0644]
src/images/creatures/Aviansie#Melee, level 92.png [new file with mode: 0644]
src/images/creatures/Aviansie#Ranged, level 89.png [new file with mode: 0644]
src/images/creatures/Aviansie#Ranged, level 92.png [new file with mode: 0644]
src/images/creatures/Aviansie#Ranged, level 95.png [new file with mode: 0644]
src/images/creatures/Baby black dragon#Default.png [new file with mode: 0644]
src/images/creatures/Baby blue dragon#Default.png [new file with mode: 0644]
src/images/creatures/Baby red dragon#Default.png [new file with mode: 0644]
src/images/creatures/Balfrug Kreeyath#Default.png [new file with mode: 0644]
src/images/creatures/Banshee#Default.png [new file with mode: 0644]
src/images/creatures/Basilisk#Large.png [new file with mode: 0644]
src/images/creatures/Basilisk#Small.png [new file with mode: 0644]
src/images/creatures/Bat#Default.png [new file with mode: 0644]
src/images/creatures/Bear cub#Default.png [new file with mode: 0644]
src/images/creatures/Big Wolf#Grey.png [new file with mode: 0644]
src/images/creatures/Big Wolf#White.png [new file with mode: 0644]
src/images/creatures/Big frog#Default.png [new file with mode: 0644]
src/images/creatures/Bird#Black.png [new file with mode: 0644]
src/images/creatures/Bird#Green.png [new file with mode: 0644]
src/images/creatures/Black bear#Default.png [new file with mode: 0644]
src/images/creatures/Black demon#1.png [new file with mode: 0644]
src/images/creatures/Black demon#2.png [new file with mode: 0644]
src/images/creatures/Black demon#3.png [new file with mode: 0644]
src/images/creatures/Black demon#4.png [new file with mode: 0644]
src/images/creatures/Black demon#5.png [new file with mode: 0644]
src/images/creatures/Black demon#Wilderness.png [new file with mode: 0644]
src/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Black dragon#1.png [new file with mode: 0644]
src/images/creatures/Black dragon#2.png [new file with mode: 0644]
src/images/creatures/Black dragon#3.png [new file with mode: 0644]
src/images/creatures/Black dragon#4.png [new file with mode: 0644]
src/images/creatures/Black dragon#5.png [new file with mode: 0644]
src/images/creatures/Black stone dragon#Default.png [new file with mode: 0644]
src/images/creatures/Bladed muspah#Default.png [new file with mode: 0644]
src/images/creatures/Blissful shadow#Default.png [new file with mode: 0644]
src/images/creatures/Bloated monstrosity#Normal mode (duo).png [new file with mode: 0644]
src/images/creatures/Bloated monstrosity#Normal mode (solo).png [new file with mode: 0644]
src/images/creatures/Bloated monstrosity#Normal mode (trio).png [new file with mode: 0644]
src/images/creatures/Bloated monstrosity#Story mode (duo).png [new file with mode: 0644]
src/images/creatures/Bloated monstrosity#Story mode (solo).png [new file with mode: 0644]
src/images/creatures/Bloated monstrosity#Story mode (trio).png [new file with mode: 0644]
src/images/creatures/Blood nihil#boss.png [new file with mode: 0644]
src/images/creatures/Blood nihil#normal.png [new file with mode: 0644]
src/images/creatures/Bloodveld (God Wars Dungeon)#Default.png [new file with mode: 0644]
src/images/creatures/Bloodveld (Heart of Gielinor)#Default.png [new file with mode: 0644]
src/images/creatures/Bloodveld#Default.png [new file with mode: 0644]
src/images/creatures/Blue dragon#1.png [new file with mode: 0644]
src/images/creatures/Blue dragon#2.png [new file with mode: 0644]
src/images/creatures/Blue dragon#3.png [new file with mode: 0644]
src/images/creatures/Blue dragon#4.png [new file with mode: 0644]
src/images/creatures/Blue dragon#5.png [new file with mode: 0644]
src/images/creatures/Bolstered Glacyte#Default.png [new file with mode: 0644]
src/images/creatures/Bossy McBossFace#Default.png [new file with mode: 0644]
src/images/creatures/Bossy McBossFace's First mate#Default.png [new file with mode: 0644]
src/images/creatures/Bound skeleton#1.png [new file with mode: 0644]
src/images/creatures/Bound skeleton#2.png [new file with mode: 0644]
src/images/creatures/Bound skeleton#3.png [new file with mode: 0644]
src/images/creatures/Brine rat#Default.png [new file with mode: 0644]
src/images/creatures/Brokeface#Default.png [new file with mode: 0644]
src/images/creatures/Bronze dragon#Default.png [new file with mode: 0644]
src/images/creatures/Brutal green dragon#Default.png [new file with mode: 0644]
src/images/creatures/Brutish dinosaur#Dinosaur invasion.png [new file with mode: 0644]
src/images/creatures/Brutish dinosaur#Normal.png [new file with mode: 0644]
src/images/creatures/Bulbous crawler#Default.png [new file with mode: 0644]
src/images/creatures/Butcher demon#Default.png [new file with mode: 0644]
src/images/creatures/Cadarn magus#Default.png [new file with mode: 0644]
src/images/creatures/Cadarn ranger#Default.png [new file with mode: 0644]
src/images/creatures/Camel Warrior#Default.png [new file with mode: 0644]
src/images/creatures/Capsarius#1.png [new file with mode: 0644]
src/images/creatures/Capsarius#2.png [new file with mode: 0644]
src/images/creatures/Catablepon#Default.png [new file with mode: 0644]
src/images/creatures/Cave bug#Level 11.png [new file with mode: 0644]
src/images/creatures/Cave bug#Level 6.png [new file with mode: 0644]
src/images/creatures/Cave crawler#Level 24.png [new file with mode: 0644]
src/images/creatures/Cave crawler#Level 59.png [new file with mode: 0644]
src/images/creatures/Cave goblin (monster)#Default.png [new file with mode: 0644]
src/images/creatures/Cave goblin guard#Club.png [new file with mode: 0644]
src/images/creatures/Cave goblin guard#Spear.png [new file with mode: 0644]
src/images/creatures/Cave goblin miner#Mining.png [new file with mode: 0644]
src/images/creatures/Cave goblin miner#Slacking off.png [new file with mode: 0644]
src/images/creatures/Cave horror (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Cave horror#Default.png [new file with mode: 0644]
src/images/creatures/Cave slime#Default.png [new file with mode: 0644]
src/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Celestial dragon#Default.png [new file with mode: 0644]
src/images/creatures/Cerberus Juvenile#Default.png [new file with mode: 0644]
src/images/creatures/Champion of Infernus#Default.png [new file with mode: 0644]
src/images/creatures/Chaos Demon Savage#Default.png [new file with mode: 0644]
src/images/creatures/Chaos Demon#Default.png [new file with mode: 0644]
src/images/creatures/Chaos Elemental#F2P.png [new file with mode: 0644]
src/images/creatures/Chaos Elemental#P2P.png [new file with mode: 0644]
src/images/creatures/Chaos Giant#Default.png [new file with mode: 0644]
src/images/creatures/Chicken#Brown.png [new file with mode: 0644]
src/images/creatures/Chicken#White.png [new file with mode: 0644]
src/images/creatures/Chompy bird#Default.png [new file with mode: 0644]
src/images/creatures/Cockatrice#Default.png [new file with mode: 0644]
src/images/creatures/Cockroach drone#Default.png [new file with mode: 0644]
src/images/creatures/Cockroach soldier#Default.png [new file with mode: 0644]
src/images/creatures/Cockroach worker#Default.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Aftermath.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Battle of the Monolith.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Council of Burthorpe.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Extinction.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Gower Quest.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Missing, Presumed Death.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#Senntisten.png [new file with mode: 0644]
src/images/creatures/Commander Zilyana#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Corporeal Beast#Default.png [new file with mode: 0644]
src/images/creatures/Corpse archer#Default.png [new file with mode: 0644]
src/images/creatures/Corpse carrier#Normal mode (duo).png [new file with mode: 0644]
src/images/creatures/Corpse carrier#Normal mode (solo).png [new file with mode: 0644]
src/images/creatures/Corpse carrier#Normal mode (trio).png [new file with mode: 0644]
src/images/creatures/Corpse carrier#Story mode (duo).png [new file with mode: 0644]
src/images/creatures/Corpse carrier#Story mode (solo).png [new file with mode: 0644]
src/images/creatures/Corpse carrier#Story mode (trio).png [new file with mode: 0644]
src/images/creatures/Corpse mage#Default.png [new file with mode: 0644]
src/images/creatures/Corpse spider#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted dust devil#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted kalphite guardian#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted kalphite marauder#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted lizard#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted scarab#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted scorpion#Default.png [new file with mode: 0644]
src/images/creatures/Corrupted worker#Default.png [new file with mode: 0644]
src/images/creatures/Cow calf#Default.png [new file with mode: 0644]
src/images/creatures/Cow#Standard (1).png [new file with mode: 0644]
src/images/creatures/Cow#Standard (2).png [new file with mode: 0644]
src/images/creatures/Cow#Standard (3).png [new file with mode: 0644]
src/images/creatures/Cow#Zanaris.png [new file with mode: 0644]
src/images/creatures/Crawling corpse torso#Default.png [new file with mode: 0644]
src/images/creatures/Crawling hand#10a.png [new file with mode: 0644]
src/images/creatures/Crawling hand#10b.png [new file with mode: 0644]
src/images/creatures/Crawling hand#10c.png [new file with mode: 0644]
src/images/creatures/Crawling hand#10d.png [new file with mode: 0644]
src/images/creatures/Crawling hand#10e.png [new file with mode: 0644]
src/images/creatures/Crawling hand#6a.png [new file with mode: 0644]
src/images/creatures/Crawling hand#6b.png [new file with mode: 0644]
src/images/creatures/Crawling hand#6c.png [new file with mode: 0644]
src/images/creatures/Crawling hand#6d.png [new file with mode: 0644]
src/images/creatures/Crawling hand#6e.png [new file with mode: 0644]
src/images/creatures/Crocodile akh#Default.png [new file with mode: 0644]
src/images/creatures/Crocodile#40.png [new file with mode: 0644]
src/images/creatures/Crocodile#77.png [new file with mode: 0644]
src/images/creatures/Croesus#Active.png [new file with mode: 0644]
src/images/creatures/Croesus#Dormant.png [new file with mode: 0644]
src/images/creatures/Crypt rat#Default.png [new file with mode: 0644]
src/images/creatures/Crypt spider#Default.png [new file with mode: 0644]
src/images/creatures/Crystal Shapeshifter#Magic.png [new file with mode: 0644]
src/images/creatures/Crystal Shapeshifter#Melee.png [new file with mode: 0644]
src/images/creatures/Crystal Shapeshifter#Ranged.png [new file with mode: 0644]
src/images/creatures/Cyclops#57 (Crush).png [new file with mode: 0644]
src/images/creatures/Cyclops#57 (Slash).png [new file with mode: 0644]
src/images/creatures/Cyclops#57 (Stab).png [new file with mode: 0644]
src/images/creatures/Cyclops#68 (Crush).png [new file with mode: 0644]
src/images/creatures/Cyclops#68 (Slash).png [new file with mode: 0644]
src/images/creatures/Cyclops#68 (Stab).png [new file with mode: 0644]
src/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png [new file with mode: 0644]
src/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png [new file with mode: 0644]
src/images/creatures/Cyclossus#Default.png [new file with mode: 0644]
src/images/creatures/Dagannoth (Lighthouse)#Level 77.png [new file with mode: 0644]
src/images/creatures/Dagannoth (Lighthouse)#Level 78.png [new file with mode: 0644]
src/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png [new file with mode: 0644]
src/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png [new file with mode: 0644]
src/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png [new file with mode: 0644]
src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png [new file with mode: 0644]
src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png [new file with mode: 0644]
src/images/creatures/Dagannoth Prime#Default.png [new file with mode: 0644]
src/images/creatures/Dagannoth Rex#Default.png [new file with mode: 0644]
src/images/creatures/Dagannoth Supreme#Default.png [new file with mode: 0644]
src/images/creatures/Dagannoth fledgeling#Default.png [new file with mode: 0644]
src/images/creatures/Dagannoth guardian#Default.png [new file with mode: 0644]
src/images/creatures/Dagannoth spawn#Default.png [new file with mode: 0644]
src/images/creatures/Dark beast (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Dark beast#19,000 life points.png [new file with mode: 0644]
src/images/creatures/Dark beast#8,500 life points.png [new file with mode: 0644]
src/images/creatures/Deadly red spider#Default.png [new file with mode: 0644]
src/images/creatures/Denizen of Infernus#Default.png [new file with mode: 0644]
src/images/creatures/Desert Lizard#Brown.png [new file with mode: 0644]
src/images/creatures/Desert Lizard#Green.png [new file with mode: 0644]
src/images/creatures/Desert Lizard#Yellow.png [new file with mode: 0644]
src/images/creatures/Desert strykewyrm#Default.png [new file with mode: 0644]
src/images/creatures/Desert wolf#Brown.png [new file with mode: 0644]
src/images/creatures/Desert wolf#Grey.png [new file with mode: 0644]
src/images/creatures/Devil's snare#Default.png [new file with mode: 0644]
src/images/creatures/Dharok the Wretched#Normal.png [new file with mode: 0644]
src/images/creatures/Dharok the Wretched#Rise of the Six.png [new file with mode: 0644]
src/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png [new file with mode: 0644]
src/images/creatures/Dire Wolf#Default.png [new file with mode: 0644]
src/images/creatures/Dragith Nurn#Default.png [new file with mode: 0644]
src/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Dragonstone dragon#Default.png [new file with mode: 0644]
src/images/creatures/Dried zombie#Dried.png [new file with mode: 0644]
src/images/creatures/Dried zombie#Parched.png [new file with mode: 0644]
src/images/creatures/Dried zombie#Unmoisturised.png [new file with mode: 0644]
src/images/creatures/Duck#Female.png [new file with mode: 0644]
src/images/creatures/Duck#Land.png [new file with mode: 0644]
src/images/creatures/Duck#Male.png [new file with mode: 0644]
src/images/creatures/Duckling#Default.png [new file with mode: 0644]
src/images/creatures/Dungeon rat#Level 11 (1).png [new file with mode: 0644]
src/images/creatures/Dungeon rat#Level 11 (2).png [new file with mode: 0644]
src/images/creatures/Dungeon rat#Level 11 (3).png [new file with mode: 0644]
src/images/creatures/Dungeon rat#Level 18 (brown).png [new file with mode: 0644]
src/images/creatures/Dungeon rat#Level 18 (brown, arrows).png [new file with mode: 0644]
src/images/creatures/Dungeon rat#Level 18 (grey).png [new file with mode: 0644]
src/images/creatures/Dust devil (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Dust devil#Default.png [new file with mode: 0644]
src/images/creatures/Earth warrior (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Earth warrior#Default.png [new file with mode: 0644]
src/images/creatures/Edimmu (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Edimmu#Default.png [new file with mode: 0644]
src/images/creatures/Elegorn the Celestial#Default.png [new file with mode: 0644]
src/images/creatures/Elf warrior#Melee.png [new file with mode: 0644]
src/images/creatures/Elf warrior#Range.png [new file with mode: 0644]
src/images/creatures/Elite rune dragon#Armoured.png [new file with mode: 0644]
src/images/creatures/Elite rune dragon#Unarmoured.png [new file with mode: 0644]
src/images/creatures/Enclave guard#Default.png [new file with mode: 0644]
src/images/creatures/Enduring glacyte#Default.png [new file with mode: 0644]
src/images/creatures/Engorged lava strykewyrm#Default.png [new file with mode: 0644]
src/images/creatures/Exiled Kalphite Queen#First form.png [new file with mode: 0644]
src/images/creatures/Exiled Kalphite Queen#Second form.png [new file with mode: 0644]
src/images/creatures/Exiled kalphite guardian#Default.png [new file with mode: 0644]
src/images/creatures/Exiled kalphite marauder#Kalphite King.png [new file with mode: 0644]
src/images/creatures/Exiled kalphite marauder#Normal.png [new file with mode: 0644]
src/images/creatures/Exiled kalphite paragon#Default.png [new file with mode: 0644]
src/images/creatures/Exiled kalphite soldier#Default.png [new file with mode: 0644]
src/images/creatures/Exiled kalphite worker#Default.png [new file with mode: 0644]
src/images/creatures/Feline akh#Default.png [new file with mode: 0644]
src/images/creatures/Fenris wolf#Default.png [new file with mode: 0644]
src/images/creatures/Feral Dinosaur#Dinosaur invasion.png [new file with mode: 0644]
src/images/creatures/Feral Dinosaur#Normal.png [new file with mode: 0644]
src/images/creatures/Feral vampyre#Spider.png [new file with mode: 0644]
src/images/creatures/Feral vampyre#Standard.png [new file with mode: 0644]
src/images/creatures/Fetid zombie#1.png [new file with mode: 0644]
src/images/creatures/Fetid zombie#2.png [new file with mode: 0644]
src/images/creatures/Fever spider#Default.png [new file with mode: 0644]
src/images/creatures/Fire giant#Default.png [new file with mode: 0644]
src/images/creatures/Flesh Crawler#Default.png [new file with mode: 0644]
src/images/creatures/Flight Kilisa#Default.png [new file with mode: 0644]
src/images/creatures/Flockleader Geerin#Default.png [new file with mode: 0644]
src/images/creatures/Force muspah#Default.png [new file with mode: 0644]
src/images/creatures/Frog#Default.png [new file with mode: 0644]
src/images/creatures/Frogeel#Default.png [new file with mode: 0644]
src/images/creatures/Frost dragon#Default.png [new file with mode: 0644]
src/images/creatures/Fungal mage#Normal.png [new file with mode: 0644]
src/images/creatures/Fungal mage#Weakened.png [new file with mode: 0644]
src/images/creatures/Ganodermic beast#Neem oil.png [new file with mode: 0644]
src/images/creatures/Ganodermic beast#Normal.png [new file with mode: 0644]
src/images/creatures/Ganodermic runt#Neem oil.png [new file with mode: 0644]
src/images/creatures/Ganodermic runt#Normal.png [new file with mode: 0644]
src/images/creatures/Gargoyle#Regular.png [new file with mode: 0644]
src/images/creatures/Gargoyle#Wilderness.png [new file with mode: 0644]
src/images/creatures/Gelatinous abomination#Default.png [new file with mode: 0644]
src/images/creatures/General Graardor#Hard mode.png [new file with mode: 0644]
src/images/creatures/General Graardor#Normal.png [new file with mode: 0644]
src/images/creatures/General Graardor#The Mighty Fall.png [new file with mode: 0644]
src/images/creatures/General Graardor#The World Wakes.png [new file with mode: 0644]
src/images/creatures/General malpractitioner#Default.png [new file with mode: 0644]
src/images/creatures/Ghast#Regular.png [new file with mode: 0644]
src/images/creatures/Ghast#Temple Trekking (Easy Route).png [new file with mode: 0644]
src/images/creatures/Ghast#Temple Trekking (Hard Route).png [new file with mode: 0644]
src/images/creatures/Ghast#Temple Trekking (Medium Route).png [new file with mode: 0644]
src/images/creatures/Ghost (Abandoned Mine)#Default.png [new file with mode: 0644]
src/images/creatures/Ghost (Stronghold of Security)#1.png [new file with mode: 0644]
src/images/creatures/Ghost (Stronghold of Security)#2.png [new file with mode: 0644]
src/images/creatures/Ghost (Stronghold of Security)#3.png [new file with mode: 0644]
src/images/creatures/Ghost (Stronghold of Security)#4.png [new file with mode: 0644]
src/images/creatures/Ghost (Stronghold of Security)#5.png [new file with mode: 0644]
src/images/creatures/Ghost#1.png [new file with mode: 0644]
src/images/creatures/Ghost#2.png [new file with mode: 0644]
src/images/creatures/Ghost#3.png [new file with mode: 0644]
src/images/creatures/Ghost#4.png [new file with mode: 0644]
src/images/creatures/Ghost#5.png [new file with mode: 0644]
src/images/creatures/Ghost#6.png [new file with mode: 0644]
src/images/creatures/Ghost#7.png [new file with mode: 0644]
src/images/creatures/Ghostly troll bruiser#Default.png [new file with mode: 0644]
src/images/creatures/Ghostly troll thrower#Default.png [new file with mode: 0644]
src/images/creatures/Ghostly warrior#Default.png [new file with mode: 0644]
src/images/creatures/Ghoul (Paterdomus)#Default.png [new file with mode: 0644]
src/images/creatures/Ghoul#Blue.png [new file with mode: 0644]
src/images/creatures/Ghoul#Brown.png [new file with mode: 0644]
src/images/creatures/Giant bat#Brine Cavern.png [new file with mode: 0644]
src/images/creatures/Giant bat#Normal.png [new file with mode: 0644]
src/images/creatures/Giant crypt rat#Default.png [new file with mode: 0644]
src/images/creatures/Giant crypt spider#Default.png [new file with mode: 0644]
src/images/creatures/Giant frog#Default.png [new file with mode: 0644]
src/images/creatures/Giant mole#Hard Mode.png [new file with mode: 0644]
src/images/creatures/Giant mole#Normal.png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 7 (brown).png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 7 (brown, arrows).png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 7 (grey).png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 7 (grey, arrows).png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png [new file with mode: 0644]
src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png [new file with mode: 0644]
src/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png [new file with mode: 0644]
src/images/creatures/Giant skeleton (Tarn's Lair)#Default.png [new file with mode: 0644]
src/images/creatures/Giant slime#Normal mode.png [new file with mode: 0644]
src/images/creatures/Giant slime#Story mode.png [new file with mode: 0644]
src/images/creatures/Giant spider#Level 2.png [new file with mode: 0644]
src/images/creatures/Giant spider#Level 29.png [new file with mode: 0644]
src/images/creatures/Giant spider#Level 33.png [new file with mode: 0644]
src/images/creatures/Giant worm#Default.png [new file with mode: 0644]
src/images/creatures/Glacor#Default.png [new file with mode: 0644]
src/images/creatures/Glacyte (Arch-Glacor)#Magic.png [new file with mode: 0644]
src/images/creatures/Glacyte (Arch-Glacor)#Melee.png [new file with mode: 0644]
src/images/creatures/Glacyte#Magic.png [new file with mode: 0644]
src/images/creatures/Glacyte#Melee.png [new file with mode: 0644]
src/images/creatures/Gladius#Default.png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Green (1).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Green (2).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Green (3).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Green (4).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Green (5).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Green (6).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Red (1).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Red (2).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Red (3).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Red (4).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Red (5).png [new file with mode: 0644]
src/images/creatures/Goblin (Goblin Village)#Red (6).png [new file with mode: 0644]
src/images/creatures/Goblin (God Wars Dungeon)#Banner.png [new file with mode: 0644]
src/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png [new file with mode: 0644]
src/images/creatures/Goblin (God Wars Dungeon)#Spear.png [new file with mode: 0644]
src/images/creatures/Goblin (God Wars Dungeon)#Sword.png [new file with mode: 0644]
src/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png [new file with mode: 0644]
src/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png [new file with mode: 0644]
src/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png [new file with mode: 0644]
src/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png [new file with mode: 0644]
src/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png [new file with mode: 0644]
src/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png [new file with mode: 0644]
src/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png [new file with mode: 0644]
src/images/creatures/Goblin#Level 1 (Slayer challenge).png [new file with mode: 0644]
src/images/creatures/Goblin#Level 11 (Slayer challenge).png [new file with mode: 0644]
src/images/creatures/Goblin#Level 11.png [new file with mode: 0644]
src/images/creatures/Goblin#Level 2.png [new file with mode: 0644]
src/images/creatures/Goblin#Level 5 (Slayer challenge).png [new file with mode: 0644]
src/images/creatures/Goblin#Level 5.png [new file with mode: 0644]
src/images/creatures/Gorak#God Wars Dungeon.png [new file with mode: 0644]
src/images/creatures/Gorak#Gorak Plane.png [new file with mode: 0644]
src/images/creatures/Gorak#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Gorilla akh#Default.png [new file with mode: 0644]
src/images/creatures/Grave scorpion#Default.png [new file with mode: 0644]
src/images/creatures/Graveside Phantom#Default.png [new file with mode: 0644]
src/images/creatures/Greater demon (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png [new file with mode: 0644]
src/images/creatures/Greater demon ash lord#Wilderness.png [new file with mode: 0644]
src/images/creatures/Greater demon berserker#The Zamorakian Undercity.png [new file with mode: 0644]
src/images/creatures/Greater demon berserker#Wilderness.png [new file with mode: 0644]
src/images/creatures/Greater demon brute#Default.png [new file with mode: 0644]
src/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png [new file with mode: 0644]
src/images/creatures/Greater demon pyromancer#Wilderness.png [new file with mode: 0644]
src/images/creatures/Greater demon sage#Default.png [new file with mode: 0644]
src/images/creatures/Greater demon savage#Default.png [new file with mode: 0644]
src/images/creatures/Greater demon#1.png [new file with mode: 0644]
src/images/creatures/Greater demon#2.png [new file with mode: 0644]
src/images/creatures/Greater demon#3.png [new file with mode: 0644]
src/images/creatures/Greater demon#4.png [new file with mode: 0644]
src/images/creatures/Greater demon#5.png [new file with mode: 0644]
src/images/creatures/Green dragon#1.png [new file with mode: 0644]
src/images/creatures/Green dragon#2.png [new file with mode: 0644]
src/images/creatures/Green dragon#3.png [new file with mode: 0644]
src/images/creatures/Green dragon#4.png [new file with mode: 0644]
src/images/creatures/Green dragon#5.png [new file with mode: 0644]
src/images/creatures/Gregorovic#Challenge Mode.png [new file with mode: 0644]
src/images/creatures/Gregorovic#Normal Mode.png [new file with mode: 0644]
src/images/creatures/Gregorovic#Sliske's Endgame.png [new file with mode: 0644]
src/images/creatures/Grifolapine#Neem oil.png [new file with mode: 0644]
src/images/creatures/Grifolapine#Normal.png [new file with mode: 0644]
src/images/creatures/Grifolaroo#Neem oil.png [new file with mode: 0644]
src/images/creatures/Grifolaroo#Normal.png [new file with mode: 0644]
src/images/creatures/Grizzly bear cub#Default.png [new file with mode: 0644]
src/images/creatures/Grizzly bear#Standard.png [new file with mode: 0644]
src/images/creatures/Grizzly bear#Tirannwn.png [new file with mode: 0644]
src/images/creatures/Grotworm#Default.png [new file with mode: 0644]
src/images/creatures/Guard (cave goblin)#Club.png [new file with mode: 0644]
src/images/creatures/Guard (cave goblin)#Spear.png [new file with mode: 0644]
src/images/creatures/Guard dog#Default.png [new file with mode: 0644]
src/images/creatures/Guthan the Infested#Normal.png [new file with mode: 0644]
src/images/creatures/Guthan the Infested#Rise of the Six.png [new file with mode: 0644]
src/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png [new file with mode: 0644]
src/images/creatures/Har-Aken#Head.png [new file with mode: 0644]
src/images/creatures/Har-Aken#Magic Tentacle.png [new file with mode: 0644]
src/images/creatures/Har-Aken#Ranged Tentacle.png [new file with mode: 0644]
src/images/creatures/Harpie Bug Swarm (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Harpie Bug Swarm#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound (Heart of Gielinor)#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound (summoned)#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound Alpha#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound Hunter (summoned)#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound Hunter#Default.png [new file with mode: 0644]
src/images/creatures/Hellhound#God Wars Dungeon.png [new file with mode: 0644]
src/images/creatures/Hellhound#Level 105.png [new file with mode: 0644]
src/images/creatures/Hellhound#Normal.png [new file with mode: 0644]
src/images/creatures/Helwyr#Challenge Mode.png [new file with mode: 0644]
src/images/creatures/Helwyr#Normal Mode.png [new file with mode: 0644]
src/images/creatures/Hermod, the Spirit of War#Normal.png [new file with mode: 0644]
src/images/creatures/Hermod, the Spirit of War#Quest.png [new file with mode: 0644]
src/images/creatures/Hill Giant#Default.png [new file with mode: 0644]
src/images/creatures/Hobgoblin (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Hobgoblin#Level 15.png [new file with mode: 0644]
src/images/creatures/Hobgoblin#Level 18.png [new file with mode: 0644]
src/images/creatures/Hobgoblin#Level 91 (GWD).png [new file with mode: 0644]
src/images/creatures/Huge skeleton#Normal mode.png [new file with mode: 0644]
src/images/creatures/Huge skeleton#Story mode.png [new file with mode: 0644]
src/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Hydrix dragon#Default.png [new file with mode: 0644]
src/images/creatures/Ice giant#Level 47 (1).png [new file with mode: 0644]
src/images/creatures/Ice giant#Level 47 (2).png [new file with mode: 0644]
src/images/creatures/Ice nihil#boss.png [new file with mode: 0644]
src/images/creatures/Ice nihil#normal.png [new file with mode: 0644]
src/images/creatures/Ice spider#Default.png [new file with mode: 0644]
src/images/creatures/Ice strykewyrm#Default.png [new file with mode: 0644]
src/images/creatures/Ice troll female#Default.png [new file with mode: 0644]
src/images/creatures/Ice troll grunt#Default.png [new file with mode: 0644]
src/images/creatures/Ice troll male#Default.png [new file with mode: 0644]
src/images/creatures/Ice troll runt#Default.png [new file with mode: 0644]
src/images/creatures/Ice troll#Desert Treasure.png [new file with mode: 0644]
src/images/creatures/Ice troll#Troll Romance.png [new file with mode: 0644]
src/images/creatures/Ice warrior#Ice Queen's Lair.png [new file with mode: 0644]
src/images/creatures/Ice warrior#Normal.png [new file with mode: 0644]
src/images/creatures/Ice wolf#58.png [new file with mode: 0644]
src/images/creatures/Ice wolf#72.png [new file with mode: 0644]
src/images/creatures/Icefiend (Ghorrock)#Default.png [new file with mode: 0644]
src/images/creatures/Icefiend#God Wars Dungeon.png [new file with mode: 0644]
src/images/creatures/Icefiend#Ice Mountain (melting).png [new file with mode: 0644]
src/images/creatures/Icefiend#Ice Mountain.png [new file with mode: 0644]
src/images/creatures/Icelord#melee.png [new file with mode: 0644]
src/images/creatures/Icelord#ranged.png [new file with mode: 0644]
src/images/creatures/Imp scavenger#Default.png [new file with mode: 0644]
src/images/creatures/Imp#God Wars Dungeon.png [new file with mode: 0644]
src/images/creatures/Imp#Normal.png [new file with mode: 0644]
src/images/creatures/Imperial mage akh#Default.png [new file with mode: 0644]
src/images/creatures/Imperial ranger akh#Default.png [new file with mode: 0644]
src/images/creatures/Imperial warrior akh#Default.png [new file with mode: 0644]
src/images/creatures/Infernal Mage (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Infernal Mage#Default.png [new file with mode: 0644]
src/images/creatures/Iorwerth guard#Default.png [new file with mode: 0644]
src/images/creatures/Iorwerth scout#Default.png [new file with mode: 0644]
src/images/creatures/Iron dragon#Default.png [new file with mode: 0644]
src/images/creatures/Jackal#Default.png [new file with mode: 0644]
src/images/creatures/Jelly#Default.png [new file with mode: 0644]
src/images/creatures/Jubbly bird#Default.png [new file with mode: 0644]
src/images/creatures/Jungle Wolf#Default.png [new file with mode: 0644]
src/images/creatures/Jungle horror#Default.png [new file with mode: 0644]
src/images/creatures/Jungle spider#Ape Atoll.png [new file with mode: 0644]
src/images/creatures/Jungle spider#Common.png [new file with mode: 0644]
src/images/creatures/Jungle spider#Jade Vine (level 42).png [new file with mode: 0644]
src/images/creatures/Jungle spider#Jade Vine (level 49).png [new file with mode: 0644]
src/images/creatures/Jungle spider#Musa Point.png [new file with mode: 0644]
src/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png [new file with mode: 0644]
src/images/creatures/Jungle strykewyrm#Default.png [new file with mode: 0644]
src/images/creatures/K'ril Tsutsaroth#Hard mode.png [new file with mode: 0644]
src/images/creatures/K'ril Tsutsaroth#Normal.png [new file with mode: 0644]
src/images/creatures/K'ril Tsutsaroth#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon#Bloodchiller.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon#Pummeller.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon#Riftsplitter.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon#Rush of Blood.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon#Thunderous.png [new file with mode: 0644]
src/images/creatures/Kal'gerion demon#Warmonger.png [new file with mode: 0644]
src/images/creatures/Kalphite Guardian#Default.png [new file with mode: 0644]
src/images/creatures/Kalphite King#Magic.png [new file with mode: 0644]
src/images/creatures/Kalphite King#Melee.png [new file with mode: 0644]
src/images/creatures/Kalphite King#Ranged.png [new file with mode: 0644]
src/images/creatures/Kalphite Queen#First form.png [new file with mode: 0644]
src/images/creatures/Kalphite Queen#Second form.png [new file with mode: 0644]
src/images/creatures/Kalphite Soldier#Default.png [new file with mode: 0644]
src/images/creatures/Kalphite Worker#Default.png [new file with mode: 0644]
src/images/creatures/Karil the Tainted#Normal.png [new file with mode: 0644]
src/images/creatures/Karil the Tainted#Rise of the Six.png [new file with mode: 0644]
src/images/creatures/Kerapac, the bound#Hard mode.png [new file with mode: 0644]
src/images/creatures/Kerapac, the bound#Normal mode.png [new file with mode: 0644]
src/images/creatures/Killerwatt#Default.png [new file with mode: 0644]
src/images/creatures/King Black Dragon#Default.png [new file with mode: 0644]
src/images/creatures/King Scorpion#Default.png [new file with mode: 0644]
src/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png [new file with mode: 0644]
src/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png [new file with mode: 0644]
src/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png [new file with mode: 0644]
src/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png [new file with mode: 0644]
src/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png [new file with mode: 0644]
src/images/creatures/Kraka#Default.png [new file with mode: 0644]
src/images/creatures/Kree'arra#Hard Mode.png [new file with mode: 0644]
src/images/creatures/Kree'arra#Normal.png [new file with mode: 0644]
src/images/creatures/Kree'arra#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Kurask#Examine #1.png [new file with mode: 0644]
src/images/creatures/Kurask#Examine #2.png [new file with mode: 0644]
src/images/creatures/La'Kalor the Unbroken#Default.png [new file with mode: 0644]
src/images/creatures/Laboratory slime#Adult (normal mode).png [new file with mode: 0644]
src/images/creatures/Laboratory slime#Adult (story mode).png [new file with mode: 0644]
src/images/creatures/Laboratory slime#Spawnling (normal mode).png [new file with mode: 0644]
src/images/creatures/Laboratory slime#Spawnling (story mode).png [new file with mode: 0644]
src/images/creatures/Lampenflora#Default.png [new file with mode: 0644]
src/images/creatures/Lava spider#Normal mode.png [new file with mode: 0644]
src/images/creatures/Lava spider#Story mode.png [new file with mode: 0644]
src/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Lava strykewyrm#Default.png [new file with mode: 0644]
src/images/creatures/Legio Primus#Default.png [new file with mode: 0644]
src/images/creatures/Legio Quartus#Default.png [new file with mode: 0644]
src/images/creatures/Legio Quintus#Default.png [new file with mode: 0644]
src/images/creatures/Legio Secundus#Default.png [new file with mode: 0644]
src/images/creatures/Legio Sextus#Default.png [new file with mode: 0644]
src/images/creatures/Legio Tertius#Default.png [new file with mode: 0644]
src/images/creatures/Lesser demon (Wizards' Tower)#Default.png [new file with mode: 0644]
src/images/creatures/Lesser demon#1.png [new file with mode: 0644]
src/images/creatures/Lesser demon#2.png [new file with mode: 0644]
src/images/creatures/Lesser demon#3.png [new file with mode: 0644]
src/images/creatures/Lesser demon#4.png [new file with mode: 0644]
src/images/creatures/Lesser demon#5.png [new file with mode: 0644]
src/images/creatures/Linza the Disgraced#Barrows.png [new file with mode: 0644]
src/images/creatures/Linza the Disgraced#Sliske's Endgame.png [new file with mode: 0644]
src/images/creatures/Liverworts#Default.png [new file with mode: 0644]
src/images/creatures/Living rock patriarch#Default.png [new file with mode: 0644]
src/images/creatures/Living rock protector#Default.png [new file with mode: 0644]
src/images/creatures/Living rock striker#Default.png [new file with mode: 0644]
src/images/creatures/Lizard#Default.png [new file with mode: 0644]
src/images/creatures/Locust lancer#Default.png [new file with mode: 0644]
src/images/creatures/Locust ranger#Default.png [new file with mode: 0644]
src/images/creatures/Locust rider#Melee (1).png [new file with mode: 0644]
src/images/creatures/Locust rider#Melee (2).png [new file with mode: 0644]
src/images/creatures/Locust rider#Melee (3).png [new file with mode: 0644]
src/images/creatures/Locust rider#Range (1).png [new file with mode: 0644]
src/images/creatures/Locust rider#Range (2).png [new file with mode: 0644]
src/images/creatures/Locust rider#Range (3).png [new file with mode: 0644]
src/images/creatures/Luminous snaggler#Default.png [new file with mode: 0644]
src/images/creatures/Lumpnose#Default.png [new file with mode: 0644]
src/images/creatures/Maelstrom, Raging Waterfiend#Default.png [new file with mode: 0644]
src/images/creatures/Magic axe#Default.png [new file with mode: 0644]
src/images/creatures/Manifest shadow#Default.png [new file with mode: 0644]
src/images/creatures/Masuta the Descended#Default.png [new file with mode: 0644]
src/images/creatures/Mature grotworm#Default.png [new file with mode: 0644]
src/images/creatures/Mighty banshee#Default.png [new file with mode: 0644]
src/images/creatures/Minotaur#Level 12.png [new file with mode: 0644]
src/images/creatures/Minotaur#Level 15.png [new file with mode: 0644]
src/images/creatures/Minotaur#Level 44 (Slayer challenge).png [new file with mode: 0644]
src/images/creatures/Mithril dragon#Default.png [new file with mode: 0644]
src/images/creatures/Mogre#Default.png [new file with mode: 0644]
src/images/creatures/Molanisk#Default.png [new file with mode: 0644]
src/images/creatures/Monkey Zombie#72.png [new file with mode: 0644]
src/images/creatures/Monkey Zombie#75.png [new file with mode: 0644]
src/images/creatures/Monkey Zombie#77.png [new file with mode: 0644]
src/images/creatures/Moss giant#Common (1).png [new file with mode: 0644]
src/images/creatures/Moss giant#Common (2).png [new file with mode: 0644]
src/images/creatures/Moss giant#Common (3).png [new file with mode: 0644]
src/images/creatures/Moss giant#Common (4).png [new file with mode: 0644]
src/images/creatures/Moss giant#Common (5).png [new file with mode: 0644]
src/images/creatures/Moss giant#Glarial's Tomb.png [new file with mode: 0644]
src/images/creatures/Moss golem#Default.png [new file with mode: 0644]
src/images/creatures/Mountain troll (well)#Default.png [new file with mode: 0644]
src/images/creatures/Mountain troll#Default.png [new file with mode: 0644]
src/images/creatures/Mounted terrorbird gnome#Level 46.png [new file with mode: 0644]
src/images/creatures/Mounted terrorbird gnome#Level 53.png [new file with mode: 0644]
src/images/creatures/Mourner (Mourner Tunnels)#Default.png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#1.png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#2.png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#3.png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#4.png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png [new file with mode: 0644]
src/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#1 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#1.png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#2 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#2.png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#3 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#3.png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#4 (on fire).png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#4.png [new file with mode: 0644]
src/images/creatures/Mummy (Ullek)#Ashes.png [new file with mode: 0644]
src/images/creatures/Mutated bloodveld#A.png [new file with mode: 0644]
src/images/creatures/Mutated bloodveld#B.png [new file with mode: 0644]
src/images/creatures/Mutated jadinko baby#Default.png [new file with mode: 0644]
src/images/creatures/Mutated jadinko guard#Default.png [new file with mode: 0644]
src/images/creatures/Mutated jadinko male#Default.png [new file with mode: 0644]
src/images/creatures/Mutated zygomite#Level 58.png [new file with mode: 0644]
src/images/creatures/Mutated zygomite#Level 65.png [new file with mode: 0644]
src/images/creatures/Nechryael (Heart of Gielinor)#Default.png [new file with mode: 0644]
src/images/creatures/Nechryael (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Nechryael#Default.png [new file with mode: 0644]
src/images/creatures/Nex [new file with mode: 0644]
src/images/creatures/Nex#Magic.png [new file with mode: 0644]
src/images/creatures/Nex#Melee.png [new file with mode: 0644]
src/images/creatures/Nex#Ranged.png [new file with mode: 0644]
src/images/creatures/Nex#Standard.png [new file with mode: 0644]
src/images/creatures/Nightmare#Default.png [new file with mode: 0644]
src/images/creatures/Nodon artificer#Default.png [new file with mode: 0644]
src/images/creatures/Nodon enforcer#Default.png [new file with mode: 0644]
src/images/creatures/Nodon engineer#Default.png [new file with mode: 0644]
src/images/creatures/Nodon guard#Default.png [new file with mode: 0644]
src/images/creatures/Nodon hunter#Default.png [new file with mode: 0644]
src/images/creatures/Nymora, the Vengeful#Challenge Mode.png [new file with mode: 0644]
src/images/creatures/Nymora, the Vengeful#Normal Mode.png [new file with mode: 0644]
src/images/creatures/Ogre chieftain#Version 1.png [new file with mode: 0644]
src/images/creatures/Ogre chieftain#Version 2.png [new file with mode: 0644]
src/images/creatures/Ogre chieftain#Version 3.png [new file with mode: 0644]
src/images/creatures/Ogre#Combat Camp(56).png [new file with mode: 0644]
src/images/creatures/Ogre#God Wars Dungeon(86).png [new file with mode: 0644]
src/images/creatures/Ogre#Kandarin(Level 67).png [new file with mode: 0644]
src/images/creatures/Ogress champion#Default.png [new file with mode: 0644]
src/images/creatures/Ogress warrior#Default.png [new file with mode: 0644]
src/images/creatures/Ogress#Default.png [new file with mode: 0644]
src/images/creatures/Ol' Sawtooth#Default.png [new file with mode: 0644]
src/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Onyx dragon#Default.png [new file with mode: 0644]
src/images/creatures/Oomlie bird#Default.png [new file with mode: 0644]
src/images/creatures/Oreb, the Magister#Default.png [new file with mode: 0644]
src/images/creatures/Orikalka#Default.png [new file with mode: 0644]
src/images/creatures/Osseous#Default.png [new file with mode: 0644]
src/images/creatures/Otherworldly being#Default.png [new file with mode: 0644]
src/images/creatures/Pee Hat#Default.png [new file with mode: 0644]
src/images/creatures/Pekin#Default.png [new file with mode: 0644]
src/images/creatures/Penguin (monster)#Default.png [new file with mode: 0644]
src/images/creatures/Pernicious parrot#Default.png [new file with mode: 0644]
src/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png [new file with mode: 0644]
src/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Phantom wizard#1 (Ancient Awakening).png [new file with mode: 0644]
src/images/creatures/Phantom wizard#1 (Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Pit Scorpion#Default.png [new file with mode: 0644]
src/images/creatures/Plague frog#Default.png [new file with mode: 0644]
src/images/creatures/Poison Scorpion#Default.png [new file with mode: 0644]
src/images/creatures/Poison spider#Common.png [new file with mode: 0644]
src/images/creatures/Poison spider#Observatory.png [new file with mode: 0644]
src/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png [new file with mode: 0644]
src/images/creatures/Possessed pickaxe#Abandoned Mine.png [new file with mode: 0644]
src/images/creatures/Possessed pickaxe#Dominion Tower.png [new file with mode: 0644]
src/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png [new file with mode: 0644]
src/images/creatures/Pthentraken#Default.png [new file with mode: 0644]
src/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png [new file with mode: 0644]
src/images/creatures/Pyrefiend (summoned)#Default.png [new file with mode: 0644]
src/images/creatures/Pyrefiend#God Wars Dungeon.png [new file with mode: 0644]
src/images/creatures/Pyrefiend#Level 38.png [new file with mode: 0644]
src/images/creatures/Queen Black Dragon#Carapace.png [new file with mode: 0644]
src/images/creatures/Queen Black Dragon#Crystal.png [new file with mode: 0644]
src/images/creatures/Queen Black Dragon#Normal.png [new file with mode: 0644]
src/images/creatures/Quetzathog#Default.png [new file with mode: 0644]
src/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png [new file with mode: 0644]
src/images/creatures/Raksha, the Shadow Colossus#During fight.png [new file with mode: 0644]
src/images/creatures/Raksha, the Shadow Colossus#Shackled.png [new file with mode: 0644]
src/images/creatures/Raksha, the Shadow Colossus#Subdued.png [new file with mode: 0644]
src/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png [new file with mode: 0644]
src/images/creatures/Rasial, the First Necromancer#Normal.png [new file with mode: 0644]
src/images/creatures/Rat#Common.png [new file with mode: 0644]
src/images/creatures/Rat#Ratcatchers.png [new file with mode: 0644]
src/images/creatures/Rat#Stronghold of Security.png [new file with mode: 0644]
src/images/creatures/Rathis#Default.png [new file with mode: 0644]
src/images/creatures/Ravenous ghoul (Mazchna)#Default.png [new file with mode: 0644]
src/images/creatures/Ravenous ghoul#Default.png [new file with mode: 0644]
src/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png [new file with mode: 0644]
src/images/creatures/Red dragon#1.png [new file with mode: 0644]
src/images/creatures/Red dragon#2.png [new file with mode: 0644]
src/images/creatures/Red dragon#3.png [new file with mode: 0644]
src/images/creatures/Red dragon#4.png [new file with mode: 0644]
src/images/creatures/Red dragon#5.png [new file with mode: 0644]
src/images/creatures/Revenant cyclops#Default.png [new file with mode: 0644]
src/images/creatures/Revenant dark beast#Default.png [new file with mode: 0644]
src/images/creatures/Revenant demon#Default.png [new file with mode: 0644]
src/images/creatures/Revenant dragon#Default.png [new file with mode: 0644]
src/images/creatures/Revenant goblin#16.png [new file with mode: 0644]
src/images/creatures/Revenant goblin#19.png [new file with mode: 0644]
src/images/creatures/Revenant goblin#22.png [new file with mode: 0644]
src/images/creatures/Revenant goblin#28.png [new file with mode: 0644]
src/images/creatures/Revenant hellhound#Default.png [new file with mode: 0644]
src/images/creatures/Revenant hobgoblin#Default.png [new file with mode: 0644]
src/images/creatures/Revenant icefiend#Default.png [new file with mode: 0644]
src/images/creatures/Revenant imp#Default.png [new file with mode: 0644]
src/images/creatures/Revenant knight#Default.png [new file with mode: 0644]
src/images/creatures/Revenant ork#Default.png [new file with mode: 0644]
src/images/creatures/Revenant pyrefiend#Default.png [new file with mode: 0644]
src/images/creatures/Revenant vampyre#Default.png [new file with mode: 0644]
src/images/creatures/Revenant werewolf#Default.png [new file with mode: 0644]
src/images/creatures/Ripper Demon#Default.png [new file with mode: 0644]
src/images/creatures/Ripper dinosaur#Dinosaur invasion.png [new file with mode: 0644]
src/images/creatures/Ripper dinosaur#Normal.png [new file with mode: 0644]
src/images/creatures/Risen ghost#Default.png [new file with mode: 0644]
src/images/creatures/River troll#Default.png [new file with mode: 0644]
src/images/creatures/Rock (monster)#Default.png [new file with mode: 0644]
src/images/creatures/Rock slug#Default.png [new file with mode: 0644]
src/images/creatures/Rooster#Default.png [new file with mode: 0644]
src/images/creatures/Rorarius#1.png [new file with mode: 0644]
src/images/creatures/Rorarius#2.png [new file with mode: 0644]
src/images/creatures/Rune dragon#Armoured.png [new file with mode: 0644]
src/images/creatures/Rune dragon#Unarmoured.png [new file with mode: 0644]
src/images/creatures/Salawa akh#Default.png [new file with mode: 0644]
src/images/creatures/Sangri the Red#Default.png [new file with mode: 0644]
src/images/creatures/Sapping glacyte#Default.png [new file with mode: 0644]
src/images/creatures/Scabaras lancer#Default.png [new file with mode: 0644]
src/images/creatures/Scabaras mage#Default.png [new file with mode: 0644]
src/images/creatures/Scabaras ranger#Default.png [new file with mode: 0644]
src/images/creatures/Scarab akh#Default.png [new file with mode: 0644]
src/images/creatures/Scarab mage#Contact!.png [new file with mode: 0644]
src/images/creatures/Scarab mage#Dominion Tower.png [new file with mode: 0644]
src/images/creatures/Scarab mage#Rumble Mode.png [new file with mode: 0644]
src/images/creatures/Scarab mage#Sophanem Dungeon.png [new file with mode: 0644]
src/images/creatures/Scorpion (Ape Atoll)#Default.png [new file with mode: 0644]
src/images/creatures/Scorpion#Level 14.png [new file with mode: 0644]
src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png [new file with mode: 0644]
src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png [new file with mode: 0644]
src/images/creatures/Scutarius#1.png [new file with mode: 0644]
src/images/creatures/Scutarius#2.png [new file with mode: 0644]
src/images/creatures/Sea Snake Hatchling#Default.png [new file with mode: 0644]
src/images/creatures/Sea Snake Young#Default.png [new file with mode: 0644]
src/images/creatures/Sea crocodile#Normal mode.png [new file with mode: 0644]
src/images/creatures/Sea crocodile#Story mode.png [new file with mode: 0644]
src/images/creatures/Sea horror#Normal mode.png [new file with mode: 0644]
src/images/creatures/Sea horror#Story mode.png [new file with mode: 0644]
src/images/creatures/Seagull#Default.png [new file with mode: 0644]
src/images/creatures/Seeker#Default.png [new file with mode: 0644]
src/images/creatures/Seething Pyrefiend#Default.png [new file with mode: 0644]
src/images/creatures/Seiryu the Azure Serpent#Normal mode.png [new file with mode: 0644]
src/images/creatures/Seiryu the Azure Serpent#Story mode.png [new file with mode: 0644]
src/images/creatures/Seren archer#Default.png [new file with mode: 0644]
src/images/creatures/Seren mage#Default.png [new file with mode: 0644]
src/images/creatures/Seren warrior#Default.png [new file with mode: 0644]
src/images/creatures/Sergeant Grimspike#Default.png [new file with mode: 0644]
src/images/creatures/Sergeant Steelwill#Default.png [new file with mode: 0644]
src/images/creatures/Sergeant Strongstack#Default.png [new file with mode: 0644]
src/images/creatures/Shade#Default.png [new file with mode: 0644]
src/images/creatures/Shadow (Temple of Light)#Default.png [new file with mode: 0644]
src/images/creatures/Shadow Hound#Default.png [new file with mode: 0644]
src/images/creatures/Shadow nihil#boss.png [new file with mode: 0644]
src/images/creatures/Shadow nihil#normal.png [new file with mode: 0644]
src/images/creatures/Shadow spider#Default.png [new file with mode: 0644]
src/images/creatures/Shadow warrior#Default.png [new file with mode: 0644]
src/images/creatures/Shara'Kor the Widowmaker#Default.png [new file with mode: 0644]
src/images/creatures/Siege engine#Default.png [new file with mode: 0644]
src/images/creatures/Skeletal Wyvern#1.png [new file with mode: 0644]
src/images/creatures/Skeletal Wyvern#2.png [new file with mode: 0644]
src/images/creatures/Skeletal Wyvern#3.png [new file with mode: 0644]
src/images/creatures/Skeletal Wyvern#4.png [new file with mode: 0644]
src/images/creatures/Skeletal hand#Default.png [new file with mode: 0644]
src/images/creatures/Skeletal miner#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton (Ape Atoll)#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton (Barrows)#86.png [new file with mode: 0644]
src/images/creatures/Skeleton (Barrows)#88.png [new file with mode: 0644]
src/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png [new file with mode: 0644]
src/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png [new file with mode: 0644]
src/images/creatures/Skeleton (Heart of Gielinor)#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton (Tarn's Lair)#1.png [new file with mode: 0644]
src/images/creatures/Skeleton (Tarn's Lair)#2.png [new file with mode: 0644]
src/images/creatures/Skeleton (Tarn's Lair)#8.png [new file with mode: 0644]
src/images/creatures/Skeleton (Temple Trekking)#18.png [new file with mode: 0644]
src/images/creatures/Skeleton (Temple Trekking)#Helmet.png [new file with mode: 0644]
src/images/creatures/Skeleton (Temple Trekking)#No helmet.png [new file with mode: 0644]
src/images/creatures/Skeleton (Ullek)#Axe.png [new file with mode: 0644]
src/images/creatures/Skeleton (Ullek)#Mace.png [new file with mode: 0644]
src/images/creatures/Skeleton (Ullek)#Round shield.png [new file with mode: 0644]
src/images/creatures/Skeleton (Ullek)#Square shield.png [new file with mode: 0644]
src/images/creatures/Skeleton (Ullek)#Warhammer.png [new file with mode: 0644]
src/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png [new file with mode: 0644]
src/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png [new file with mode: 0644]
src/images/creatures/Skeleton (Uncharted Isles)#Ranged.png [new file with mode: 0644]
src/images/creatures/Skeleton Archer#Normal mode.png [new file with mode: 0644]
src/images/creatures/Skeleton Archer#Story mode.png [new file with mode: 0644]
src/images/creatures/Skeleton Mage#Level 19.png [new file with mode: 0644]
src/images/creatures/Skeleton Mage#Level 49.png [new file with mode: 0644]
src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png [new file with mode: 0644]
src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png [new file with mode: 0644]
src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Skeleton brute#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton fremennik#Level 23.png [new file with mode: 0644]
src/images/creatures/Skeleton fremennik#Level 28.png [new file with mode: 0644]
src/images/creatures/Skeleton fremennik#Level 30.png [new file with mode: 0644]
src/images/creatures/Skeleton heavy#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton hero#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton knight#Ancient Awakening.png [new file with mode: 0644]
src/images/creatures/Skeleton knight#Ungael combat activity (hard).png [new file with mode: 0644]
src/images/creatures/Skeleton knight#Ungael combat activity (standard).png [new file with mode: 0644]
src/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png [new file with mode: 0644]
src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png [new file with mode: 0644]
src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png [new file with mode: 0644]
src/images/creatures/Skeleton thug#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton warlord#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png [new file with mode: 0644]
src/images/creatures/Skeleton#Level 15.png [new file with mode: 0644]
src/images/creatures/Skeleton#Level 16.png [new file with mode: 0644]
src/images/creatures/Skeleton#Level 32.png [new file with mode: 0644]
src/images/creatures/Skeleton#Level 46.png [new file with mode: 0644]
src/images/creatures/Skeleton#Level 51.png [new file with mode: 0644]
src/images/creatures/Skeleton#Level 58.png [new file with mode: 0644]
src/images/creatures/Skoblin#Default.png [new file with mode: 0644]
src/images/creatures/Skogre#1.png [new file with mode: 0644]
src/images/creatures/Skogre#2.png [new file with mode: 0644]
src/images/creatures/Skogre#3.png [new file with mode: 0644]
src/images/creatures/Slasher Demon#Default.png [new file with mode: 0644]
src/images/creatures/Small Lizard#Green.png [new file with mode: 0644]
src/images/creatures/Small Lizard#Yellow.png [new file with mode: 0644]
src/images/creatures/Small scarab#Do No Evil.png [new file with mode: 0644]
src/images/creatures/Small scarab#Uzer Mastaba.png [new file with mode: 0644]
src/images/creatures/Small scarab#Zombie (1).png [new file with mode: 0644]
src/images/creatures/Small scarab#Zombie (2).png [new file with mode: 0644]
src/images/creatures/Small scarab#Zombie (3).png [new file with mode: 0644]
src/images/creatures/Smoke nihil#boss.png [new file with mode: 0644]
src/images/creatures/Smoke nihil#normal.png [new file with mode: 0644]
src/images/creatures/Smoulders#Default.png [new file with mode: 0644]
src/images/creatures/Smoulders, the Revenger#Default.png [new file with mode: 0644]
src/images/creatures/Solak#Left arm.png [new file with mode: 0644]
src/images/creatures/Solak#Left leg.png [new file with mode: 0644]
src/images/creatures/Solak#Right arm.png [new file with mode: 0644]
src/images/creatures/Solak#Right leg.png [new file with mode: 0644]
src/images/creatures/Solak#Solak.png [new file with mode: 0644]
src/images/creatures/Solak#Withering.png [new file with mode: 0644]
src/images/creatures/Soulgazer (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Soulgazer#Default.png [new file with mode: 0644]
src/images/creatures/Soulless armoured zombie#Default.png [new file with mode: 0644]
src/images/creatures/Soulless unarmoured zombie#Default.png [new file with mode: 0644]
src/images/creatures/Spider#Ape Atoll.png [new file with mode: 0644]
src/images/creatures/Spider#Common.png [new file with mode: 0644]
src/images/creatures/Spider#Stronghold of Security.png [new file with mode: 0644]
src/images/creatures/Spider#Underground Pass.png [new file with mode: 0644]
src/images/creatures/Spiritual mage#Armadyl.png [new file with mode: 0644]
src/images/creatures/Spiritual mage#Bandos.png [new file with mode: 0644]
src/images/creatures/Spiritual mage#Saradomin.png [new file with mode: 0644]
src/images/creatures/Spiritual mage#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Spiritual mage#Zamorak.png [new file with mode: 0644]
src/images/creatures/Spiritual ranger#Armadyl.png [new file with mode: 0644]
src/images/creatures/Spiritual ranger#Bandos.png [new file with mode: 0644]
src/images/creatures/Spiritual ranger#Saradomin.png [new file with mode: 0644]
src/images/creatures/Spiritual ranger#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Spiritual ranger#Zamorak.png [new file with mode: 0644]
src/images/creatures/Spiritual warrior#Armadyl.png [new file with mode: 0644]
src/images/creatures/Spiritual warrior#Bandos.png [new file with mode: 0644]
src/images/creatures/Spiritual warrior#Saradomin.png [new file with mode: 0644]
src/images/creatures/Spiritual warrior#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Spiritual warrior#Zamorak.png [new file with mode: 0644]
src/images/creatures/Spyndra#Normal mode.png [new file with mode: 0644]
src/images/creatures/Spyndra#Story mode.png [new file with mode: 0644]
src/images/creatures/Steel dragon#Default.png [new file with mode: 0644]
src/images/creatures/Stick#Default.png [new file with mode: 0644]
src/images/creatures/Stinkears#Default.png [new file with mode: 0644]
src/images/creatures/Stove#Default.png [new file with mode: 0644]
src/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png [new file with mode: 0644]
src/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png [new file with mode: 0644]
src/images/creatures/Summoned Zombie#Default.png [new file with mode: 0644]
src/images/creatures/Summoned armoured zombie#Normal mode.png [new file with mode: 0644]
src/images/creatures/Summoned armoured zombie#Story mode.png [new file with mode: 0644]
src/images/creatures/Summoned skeleton archer#Normal mode.png [new file with mode: 0644]
src/images/creatures/Summoned skeleton archer#Story mode.png [new file with mode: 0644]
src/images/creatures/Summoned skeleton#Normal mode.png [new file with mode: 0644]
src/images/creatures/Summoned skeleton#Story mode.png [new file with mode: 0644]
src/images/creatures/Super Cow#Default.png [new file with mode: 0644]
src/images/creatures/Suqah#Level 73 (Dual wielding swords).png [new file with mode: 0644]
src/images/creatures/Suqah#Level 74 (Magic).png [new file with mode: 0644]
src/images/creatures/Suqah#Level 74.png [new file with mode: 0644]
src/images/creatures/Suqah#Level 79.png [new file with mode: 0644]
src/images/creatures/Swamp frog#Default.png [new file with mode: 0644]
src/images/creatures/Taraket the Necromancer#Normal mode.png [new file with mode: 0644]
src/images/creatures/Taraket the Necromancer#Story mode.png [new file with mode: 0644]
src/images/creatures/Telos, the Warden#Dormant.png [new file with mode: 0644]
src/images/creatures/Telos, the Warden#Phase 5.png [new file with mode: 0644]
src/images/creatures/Telos, the Warden#Standard.png [new file with mode: 0644]
src/images/creatures/Tenacious toucan#Default.png [new file with mode: 0644]
src/images/creatures/Terror dog#Level 61.png [new file with mode: 0644]
src/images/creatures/Terror dog#Level 65.png [new file with mode: 0644]
src/images/creatures/Terrorbird#Default.png [new file with mode: 0644]
src/images/creatures/The Ambassador#Normal mode.png [new file with mode: 0644]
src/images/creatures/The Ambassador#Story mode.png [new file with mode: 0644]
src/images/creatures/The Magister#Default.png [new file with mode: 0644]
src/images/creatures/Thrower Troll#Death Plateau.png [new file with mode: 0644]
src/images/creatures/Thrower Troll#Trollheim.png [new file with mode: 0644]
src/images/creatures/Throwing muspah#Default.png [new file with mode: 0644]
src/images/creatures/Torag the Corrupted#Normal.png [new file with mode: 0644]
src/images/creatures/Torag the Corrupted#Rise of the Six.png [new file with mode: 0644]
src/images/creatures/Tormented demon#Standard.png [new file with mode: 0644]
src/images/creatures/Tormented demon#While Guthix Sleeps.png [new file with mode: 0644]
src/images/creatures/Tormented soul (Uncharted Isles)#Default.png [new file with mode: 0644]
src/images/creatures/Tormented wraith#Default.png [new file with mode: 0644]
src/images/creatures/Torrential Waterfiend (summoned)#Default.png [new file with mode: 0644]
src/images/creatures/Torrential Waterfiend#Default.png [new file with mode: 0644]
src/images/creatures/Tortured soul (Port Phasmatys)#Default.png [new file with mode: 0644]
src/images/creatures/Training dummy#Abyssal demon (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Abyssal demon (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Abyssal demon (ranged).png [new file with mode: 0644]
src/images/creatures/Training dummy#Basilisk (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Basilisk (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Basilisk (ranged).png [new file with mode: 0644]
src/images/creatures/Training dummy#Demon (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Demon (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Demon (ranged).png [new file with mode: 0644]
src/images/creatures/Training dummy#Dragon (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Dragon (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Dragon (ranged).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to arrows, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to arrows, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to arrows, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to bolts, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to bolts, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to bolts, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to nothing, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to nothing, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to nothing, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to thrown, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to thrown, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Magic (weak to thrown, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to air, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to air, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to air, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to earth, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to earth, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to earth, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to fire, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to fire, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to fire, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to nothing, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to nothing, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to nothing, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to water, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to water, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Melee (weak to water, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Permanent.png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to crush, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to crush, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to crush, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to nothing, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to nothing, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to nothing, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to slash, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to slash, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to slash, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to stab, medium).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to stab, strong).png [new file with mode: 0644]
src/images/creatures/Training dummy#Ranged (weak to stab, weak).png [new file with mode: 0644]
src/images/creatures/Training dummy#Revenant (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Revenant (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Revenant (ranged).png [new file with mode: 0644]
src/images/creatures/Training dummy#Undead (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Undead (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Undead (ranged).png [new file with mode: 0644]
src/images/creatures/Training dummy#Wallasalki (magic).png [new file with mode: 0644]
src/images/creatures/Training dummy#Wallasalki (melee).png [new file with mode: 0644]
src/images/creatures/Training dummy#Wallasalki (ranged).png [new file with mode: 0644]
src/images/creatures/Troll brute (Davendale)#Default.png [new file with mode: 0644]
src/images/creatures/Troll brute#Default.png [new file with mode: 0644]
src/images/creatures/Troll chucker (Davendale)#Default.png [new file with mode: 0644]
src/images/creatures/Troll chucker#Default.png [new file with mode: 0644]
src/images/creatures/Troll general#Club.png [new file with mode: 0644]
src/images/creatures/Troll general#Hammer.png [new file with mode: 0644]
src/images/creatures/Troll general#Sword.png [new file with mode: 0644]
src/images/creatures/Troll lout#Default.png [new file with mode: 0644]
src/images/creatures/Troll shaman (Davendale)#Default.png [new file with mode: 0644]
src/images/creatures/Troll shaman#Default.png [new file with mode: 0644]
src/images/creatures/Troll spectator#Default.png [new file with mode: 0644]
src/images/creatures/Truthful shadow#Default.png [new file with mode: 0644]
src/images/creatures/Tstanon Karlak#Default.png [new file with mode: 0644]
src/images/creatures/Turoth#60 - Large.png [new file with mode: 0644]
src/images/creatures/Turoth#60 - Small.png [new file with mode: 0644]
src/images/creatures/Turoth#68 - Female.png [new file with mode: 0644]
src/images/creatures/Turoth#68 - Male.png [new file with mode: 0644]
src/images/creatures/TzHaar-Hur#Level 86.png [new file with mode: 0644]
src/images/creatures/TzHaar-Hur#Level 98.png [new file with mode: 0644]
src/images/creatures/TzHaar-Ket#Default.png [new file with mode: 0644]
src/images/creatures/TzHaar-Mej#Default.png [new file with mode: 0644]
src/images/creatures/TzHaar-Xil#Melee.png [new file with mode: 0644]
src/images/creatures/TzHaar-Xil#Ranged.png [new file with mode: 0644]
src/images/creatures/TzKal-Zuk#Hard Mode.png [new file with mode: 0644]
src/images/creatures/TzKal-Zuk#Normal Mode.png [new file with mode: 0644]
src/images/creatures/TzTok-Jad#Default.png [new file with mode: 0644]
src/images/creatures/Ulthven Keith#Default.png [new file with mode: 0644]
src/images/creatures/Undead Witch#Normal mode.png [new file with mode: 0644]
src/images/creatures/Undead Witch#Story mode.png [new file with mode: 0644]
src/images/creatures/Undead chicken#Default.png [new file with mode: 0644]
src/images/creatures/Undead cow#Default.png [new file with mode: 0644]
src/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png [new file with mode: 0644]
src/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png [new file with mode: 0644]
src/images/creatures/Undead one#Skeleton (level 44).png [new file with mode: 0644]
src/images/creatures/Undead one#Skeleton (level 46).png [new file with mode: 0644]
src/images/creatures/Undead one#Zombie (level 44).png [new file with mode: 0644]
src/images/creatures/Undead one#Zombie (level 46).png [new file with mode: 0644]
src/images/creatures/Undead pekin#Default.png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 77.png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 81 (1).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 81 (2).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 81 (3).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 81 (4).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 81 (5).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 86 (1).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 86 (2).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 86 (3).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (1).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (2).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (3).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (4).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (5).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (6).png [new file with mode: 0644]
src/images/creatures/Undead troll#Level 95 (7).png [new file with mode: 0644]
src/images/creatures/Unspeakable horror (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Unspeakable horror#Default.png [new file with mode: 0644]
src/images/creatures/Unstable glacyte#Default.png [new file with mode: 0644]
src/images/creatures/Unstable zombie#Ancient Awakening.png [new file with mode: 0644]
src/images/creatures/Unstable zombie#Ungael combat activity (hard).png [new file with mode: 0644]
src/images/creatures/Unstable zombie#Ungael combat activity (standard).png [new file with mode: 0644]
src/images/creatures/Vampyre Juvenile#Burgh de Rott.png [new file with mode: 0644]
src/images/creatures/Vampyre Juvenile#Meiyerditch.png [new file with mode: 0644]
src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png [new file with mode: 0644]
src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png [new file with mode: 0644]
src/images/creatures/Vampyre Juvinate#Darkmeyer.png [new file with mode: 0644]
src/images/creatures/Vampyre Juvinate#Meiyerditch.png [new file with mode: 0644]
src/images/creatures/Vampyre#Default.png [new file with mode: 0644]
src/images/creatures/Veil-ripper Ozharakha#Default.png [new file with mode: 0644]
src/images/creatures/Venomous dinosaur#Dinosaur invasion.png [new file with mode: 0644]
src/images/creatures/Venomous dinosaur#Normal.png [new file with mode: 0644]
src/images/creatures/Verac the Defiled#Normal.png [new file with mode: 0644]
src/images/creatures/Verac the Defiled#Rise of the Six.png [new file with mode: 0644]
src/images/creatures/Verak Lith#Default.png [new file with mode: 0644]
src/images/creatures/Verak Little#Default.png [new file with mode: 0644]
src/images/creatures/Vindicta#Hard mode.png [new file with mode: 0644]
src/images/creatures/Vindicta#Normal mode.png [new file with mode: 0644]
src/images/creatures/Vinecrawler#Default.png [new file with mode: 0644]
src/images/creatures/Vorago#Default.png [new file with mode: 0644]
src/images/creatures/Vorkath#Hard mode.png [new file with mode: 0644]
src/images/creatures/Vorkath#Normal mode.png [new file with mode: 0644]
src/images/creatures/Vorkath#Requiem for a Dragon.png [new file with mode: 0644]
src/images/creatures/Vorkath#Story mode.png [new file with mode: 0644]
src/images/creatures/Vyrelady#1.png [new file with mode: 0644]
src/images/creatures/Vyrelady#2.png [new file with mode: 0644]
src/images/creatures/Vyrelady#3.png [new file with mode: 0644]
src/images/creatures/Vyrelady#4.png [new file with mode: 0644]
src/images/creatures/Vyrelady#5.png [new file with mode: 0644]
src/images/creatures/Vyrelady#6.png [new file with mode: 0644]
src/images/creatures/Vyrelord#1.png [new file with mode: 0644]
src/images/creatures/Vyrelord#2.png [new file with mode: 0644]
src/images/creatures/Vyrelord#3.png [new file with mode: 0644]
src/images/creatures/Vyrelord#4.png [new file with mode: 0644]
src/images/creatures/Vyrelord#5.png [new file with mode: 0644]
src/images/creatures/Vyrelord#6.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 70.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 72.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 75.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 78.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 86.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Level 91.png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png [new file with mode: 0644]
src/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png [new file with mode: 0644]
src/images/creatures/Wall beast#Default.png [new file with mode: 0644]
src/images/creatures/Warped bat#Default.png [new file with mode: 0644]
src/images/creatures/Warped cockroach#Default.png [new file with mode: 0644]
src/images/creatures/Warped rat#Default.png [new file with mode: 0644]
src/images/creatures/Warped skeleton#Normal mode.png [new file with mode: 0644]
src/images/creatures/Warped skeleton#Story mode.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#1 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#1.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#10 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#10.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#2 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#2.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#3 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#3.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#4 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#4.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#5 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#5.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#6 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#6.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#7 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#7.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#8 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#8.png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#9 (chimed).png [new file with mode: 0644]
src/images/creatures/Warped terrorbird#9.png [new file with mode: 0644]
src/images/creatures/Warped tortoise#Immune.png [new file with mode: 0644]
src/images/creatures/Warped tortoise#Vulnerable.png [new file with mode: 0644]
src/images/creatures/Waterfiend (Ghorrock)#102.png [new file with mode: 0644]
src/images/creatures/Waterfiend (Ghorrock)#107.png [new file with mode: 0644]
src/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png [new file with mode: 0644]
src/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png [new file with mode: 0644]
src/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png [new file with mode: 0644]
src/images/creatures/Waterfiend (elite)#Ancient Cavern.png [new file with mode: 0644]
src/images/creatures/Waterfiend (elite)#Ghorrock.png [new file with mode: 0644]
src/images/creatures/Waterfiend (summoned)#Default.png [new file with mode: 0644]
src/images/creatures/Waterfiend#Default.png [new file with mode: 0644]
src/images/creatures/Werewolf#Alexis.png [new file with mode: 0644]
src/images/creatures/Werewolf#Boris.png [new file with mode: 0644]
src/images/creatures/Werewolf#Eduard.png [new file with mode: 0644]
src/images/creatures/Werewolf#Galina.png [new file with mode: 0644]
src/images/creatures/Werewolf#Georgy.png [new file with mode: 0644]
src/images/creatures/Werewolf#God Wars Dungeon (female).png [new file with mode: 0644]
src/images/creatures/Werewolf#God Wars Dungeon (male).png [new file with mode: 0644]
src/images/creatures/Werewolf#Imre.png [new file with mode: 0644]
src/images/creatures/Werewolf#Irina.png [new file with mode: 0644]
src/images/creatures/Werewolf#Joseph.png [new file with mode: 0644]
src/images/creatures/Werewolf#Ksenia.png [new file with mode: 0644]
src/images/creatures/Werewolf#Lev.png [new file with mode: 0644]
src/images/creatures/Werewolf#Liliya.png [new file with mode: 0644]
src/images/creatures/Werewolf#Milla.png [new file with mode: 0644]
src/images/creatures/Werewolf#Nikita.png [new file with mode: 0644]
src/images/creatures/Werewolf#Nikolai.png [new file with mode: 0644]
src/images/creatures/Werewolf#Sofiya.png [new file with mode: 0644]
src/images/creatures/Werewolf#Svetlana.png [new file with mode: 0644]
src/images/creatures/Werewolf#Vera.png [new file with mode: 0644]
src/images/creatures/Werewolf#Yadviga.png [new file with mode: 0644]
src/images/creatures/Werewolf#Yuri.png [new file with mode: 0644]
src/images/creatures/Werewolf#Zoja.png [new file with mode: 0644]
src/images/creatures/White wolf#Default.png [new file with mode: 0644]
src/images/creatures/Wight (Missing, Presumed Death)#Default.png [new file with mode: 0644]
src/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png [new file with mode: 0644]
src/images/creatures/Wight ranger (Sliske's Endgame)#78.png [new file with mode: 0644]
src/images/creatures/Wight ranger (Sliske's Endgame)#85.png [new file with mode: 0644]
src/images/creatures/Wight ranger#Default.png [new file with mode: 0644]
src/images/creatures/Wight#Default.png [new file with mode: 0644]
src/images/creatures/Wild dog#Default.png [new file with mode: 0644]
src/images/creatures/WildyWyrm (2015, historical)#Default.png [new file with mode: 0644]
src/images/creatures/Wingman Skree#Default.png [new file with mode: 0644]
src/images/creatures/Wolf#Level 11 (1).png [new file with mode: 0644]
src/images/creatures/Wolf#Level 11 (2).png [new file with mode: 0644]
src/images/creatures/Wolf#Level 8 (1).png [new file with mode: 0644]
src/images/creatures/Wolf#Level 8 (2).png [new file with mode: 0644]
src/images/creatures/Wyvern (elite)#Default.png [new file with mode: 0644]
src/images/creatures/Wyvern#Default.png [new file with mode: 0644]
src/images/creatures/Yor'Ger the Deceiver#Normal mode.png [new file with mode: 0644]
src/images/creatures/Yor'Ger the Deceiver#Story mode.png [new file with mode: 0644]
src/images/creatures/Young grotworm#Default.png [new file with mode: 0644]
src/images/creatures/Zakl'n Gritch#Default.png [new file with mode: 0644]
src/images/creatures/Zamorak, Lord of Chaos#Hard mode.png [new file with mode: 0644]
src/images/creatures/Zamorak, Lord of Chaos#Normal mode.png [new file with mode: 0644]
src/images/creatures/Zamorak, Lord of Chaos#Story mode.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Ancient Awakening.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Battle of Forinthry.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Children of Mah (examinable).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Children of Mah.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Daughter of Chaos.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Dead and Buried.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Defender of Varrock (1).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Defender of Varrock (2).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Dimension of Disaster.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Dishonour among Thieves (lair).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Dishonour among Thieves.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Missing, Presumed Death.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Nadir.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Requiem for a Dragon.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Ritual of the Mahjarrat.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Succession (skeletal).png [new file with mode: 0644]
src/images/creatures/Zemouregal#Succession.png [new file with mode: 0644]
src/images/creatures/Zemouregal#The World Wakes.png [new file with mode: 0644]
src/images/creatures/Zemouregal#TzekHaar Front.png [new file with mode: 0644]
src/images/creatures/Zemouregal#Unwelcome Guests.png [new file with mode: 0644]
src/images/creatures/Zogre#1.png [new file with mode: 0644]
src/images/creatures/Zogre#2.png [new file with mode: 0644]
src/images/creatures/Zogre#3.png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (New Varrock)#Default.png [new file with mode: 0644]
src/images/creatures/Zombie (Stronghold of Security)#Level 12.png [new file with mode: 0644]
src/images/creatures/Zombie (Stronghold of Security)#Level 21.png [new file with mode: 0644]
src/images/creatures/Zombie (Temple Trekking)#Default.png [new file with mode: 0644]
src/images/creatures/Zombie (The Shadow Reef)#Normal mode.png [new file with mode: 0644]
src/images/creatures/Zombie (The Shadow Reef)#Story mode.png [new file with mode: 0644]
src/images/creatures/Zombie (Uncharted Isles)#Aggressive.png [new file with mode: 0644]
src/images/creatures/Zombie (Uncharted Isles)#Female.png [new file with mode: 0644]
src/images/creatures/Zombie (Uncharted Isles)#Male.png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 22 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 22 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 22 (3).png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 29 (1).png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 29 (2).png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 29 (3).png [new file with mode: 0644]
src/images/creatures/Zombie (Wilderness)#Level 29 (4).png [new file with mode: 0644]
src/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png [new file with mode: 0644]
src/images/creatures/Zombie cow (New Varrock)#Boss.png [new file with mode: 0644]
src/images/creatures/Zombie cow (New Varrock)#Regular.png [new file with mode: 0644]
src/images/creatures/Zombie hand#Default.png [new file with mode: 0644]
src/images/creatures/Zombie knight#Ancient Awakening.png [new file with mode: 0644]
src/images/creatures/Zombie knight#Ungael combat activity (hard).png [new file with mode: 0644]
src/images/creatures/Zombie knight#Ungael combat activity (standard).png [new file with mode: 0644]
src/images/creatures/Zombie pirate#Level 49.png [new file with mode: 0644]
src/images/creatures/Zombie pirate#Level 50.png [new file with mode: 0644]
src/images/creatures/Zombie pirate#Pieces of Hate.png [new file with mode: 0644]
src/images/creatures/Zombie swab#Default.png [new file with mode: 0644]
src/images/creatures/Zombie warrior#1 (Ancient Awakening).png [new file with mode: 0644]
src/images/creatures/Zombie warrior#1 (Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Zombie warrior#2 (Ancient Awakening).png [new file with mode: 0644]
src/images/creatures/Zombie warrior#2 (Ungael combat activity).png [new file with mode: 0644]
src/images/creatures/Zombie#Level 12.png [new file with mode: 0644]
src/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png [new file with mode: 0644]
src/images/creatures/Zombie#Level 22.png [new file with mode: 0644]
src/images/creatures/Zombie#Level 29 (Entrana).png [new file with mode: 0644]
src/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png [new file with mode: 0644]
src/images/creatures/Zombie#Level 29.png [new file with mode: 0644]
src/images/data/reaper_collapsed_OSL.data.png [new file with mode: 0644]
src/images/data/reaper_collapsed_RS3.data.png [new file with mode: 0644]
src/images/data/reaper_expanded_OSL.data.png [new file with mode: 0644]
src/images/data/reaper_expanded_RS3.data.png [new file with mode: 0644]
src/images/data/slayer_collapsed_OSL.data.png [new file with mode: 0644]
src/images/data/slayer_collapsed_RS3.data.png [new file with mode: 0644]
src/images/data/slayer_expanded_OSL.data.png [new file with mode: 0644]
src/images/data/slayer_expanded_RS3.data.png [new file with mode: 0644]
src/images/icon.png [new file with mode: 0644]
src/images/masters/Chaeldar.png [new file with mode: 0644]
src/images/masters/Duradel.png [new file with mode: 0644]
src/images/masters/Jacquelyn.png [new file with mode: 0644]
src/images/masters/Kuradal.png [new file with mode: 0644]
src/images/masters/Laniakea.png [new file with mode: 0644]
src/images/masters/Mandrith.png [new file with mode: 0644]
src/images/masters/Mazchna.png [new file with mode: 0644]
src/images/masters/Morvran.png [new file with mode: 0644]
src/images/masters/Sumona.png [new file with mode: 0644]
src/images/masters/The Raptor.png [new file with mode: 0644]
src/images/masters/Turael.png [new file with mode: 0644]
src/images/masters/Vannaka.png [new file with mode: 0644]
src/images/misc/combat.png [new file with mode: 0644]
src/images/misc/defence.png [new file with mode: 0644]
src/images/misc/lifepoints.png [new file with mode: 0644]
src/images/misc/magic.png [new file with mode: 0644]
src/images/misc/melee.png [new file with mode: 0644]
src/images/misc/necromancy.png [new file with mode: 0644]
src/images/misc/ranged.png [new file with mode: 0644]
src/images/misc/slayer.png [new file with mode: 0644]
src/images/misc/spec.png [new file with mode: 0644]
src/images/preview/SlayerAssistant.png [new file with mode: 0644]
src/images/preview/SlayerAssistantNewLookNFeel.png [new file with mode: 0644]
src/images/preview/SlayerAssistantUpdate20240611.png [new file with mode: 0644]
src/images/preview/SlayerAssistantUpdate20240615.png [new file with mode: 0644]
src/images/susceptible/Abyssal_head.png [new file with mode: 0644]
src/images/susceptible/Balmung.png [new file with mode: 0644]
src/images/susceptible/Basilisk_head.png [new file with mode: 0644]
src/images/susceptible/Blisterwood_staff.png [new file with mode: 0644]
src/images/susceptible/Corrupt_Vesta's_longsword.png [new file with mode: 0644]
src/images/susceptible/Demon_Slayer_(perk).png [new file with mode: 0644]
src/images/susceptible/Dragon_Slayer_(perk).png [new file with mode: 0644]
src/images/susceptible/Ghost_hunter_backpack.png [new file with mode: 0644]
src/images/susceptible/Hexhunter_bow.png [new file with mode: 0644]
src/images/susceptible/Ice_Barrage_icon.png [new file with mode: 0644]
src/images/susceptible/Inquisitor_staff.png [new file with mode: 0644]
src/images/susceptible/Keris.png [new file with mode: 0644]
src/images/susceptible/Necklace_of_Salamancy.png [new file with mode: 0644]
src/images/susceptible/Steel_brutal_2.png [new file with mode: 0644]
src/images/susceptible/Terrasaur_maul.png [new file with mode: 0644]
src/images/susceptible/Undead_Slayer.png [new file with mode: 0644]
src/images/ui/default/about/Reaper_counter.png [new file with mode: 0644]
src/images/ui/default/about/Reaper_counter_expanded.png [new file with mode: 0644]
src/images/ui/default/about/Reaper_task_interface.png [new file with mode: 0644]
src/images/ui/default/about/Right_click_interface.png [new file with mode: 0644]
src/images/ui/default/about/Select_your_own_task.png [new file with mode: 0644]
src/images/ui/default/about/Slayer_assistant_interface.png [new file with mode: 0644]
src/images/ui/default/about/Slayer_assistant_interface.xcf [new file with mode: 0644]
src/images/ui/default/about/Slayer_counter.png [new file with mode: 0644]
src/images/ui/default/about/Slayer_counter_expanded.png [new file with mode: 0644]
src/images/ui/default/about/Slayer_task_interface.png [new file with mode: 0644]
src/images/ui/default/about/VIP_ticket_interface.png [new file with mode: 0644]
src/images/ui/default/back.png [new file with mode: 0644]
src/images/ui/default/background.png [new file with mode: 0644]
src/images/ui/default/donate.png [new file with mode: 0644]
src/images/ui/default/forward.png [new file with mode: 0644]
src/images/ui/default/infoicon.png [new file with mode: 0644]
src/images/ui/default/nisbutton.png [new file with mode: 0644]
src/images/ui/default/settingscog.png [new file with mode: 0644]
src/images/ui/default/wikipedia.png [new file with mode: 0644]
src/images/weakness/Air_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Arrow_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Bolt_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Crush_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Earth_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Fire_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Magic_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Melee_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Necromancy-icon.png [new file with mode: 0644]
src/images/weakness/Ranged_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Slash_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Stab_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Thrown_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Water_weakness_icon.png [new file with mode: 0644]
src/images/weakness/Zero_weakness_icon.png [new file with mode: 0644]
src/index.html [new file with mode: 0644]
src/index.ts [new file with mode: 0644]
src/modules/SearchAlgorithm.ts [new file with mode: 0644]
src/modules/SlayerDialogReader.ts [new file with mode: 0644]
src/modules/UICounterReader.ts [new file with mode: 0644]
src/modules/data/assignnments.ts [new file with mode: 0644]
src/modules/data/creatures.ts [new file with mode: 0644]
src/modules/data/masters.ts [new file with mode: 0644]
src/modules/data/reapers.ts [new file with mode: 0644]
src/modules/data/variants.ts [new file with mode: 0644]
src/modules/dochandler.ts [new file with mode: 0644]
src/modules/dochandler/animate.ts [new file with mode: 0644]
src/modules/dochandler/change.ts [new file with mode: 0644]
src/modules/dochandler/hide.ts [new file with mode: 0644]
src/modules/dochandler/hover.ts [new file with mode: 0644]
src/modules/dochandler/main.ts [new file with mode: 0644]
src/modules/dochandler/open.ts [new file with mode: 0644]
src/modules/dochandler/show.ts [new file with mode: 0644]
src/modules/extrafuncs.ts [new file with mode: 0644]
src/modules/logger.ts [new file with mode: 0644]
src/modules/settings.ts [new file with mode: 0644]
src/modules/slayer.ts [new file with mode: 0644]
src/pages/about.html [new file with mode: 0644]
src/pages/changelog.html [new file with mode: 0644]
src/pages/credits.html [new file with mode: 0644]
src/pages/doc/body.html [new file with mode: 0644]
src/pages/doc/dual.html [new file with mode: 0644]
src/pages/doc/example-extra.html [new file with mode: 0644]
src/pages/doc/example.html [new file with mode: 0644]
src/pages/doc/single.html [new file with mode: 0644]
src/pages/doc/suggested.html [new file with mode: 0644]
src/pages/settings.html [new file with mode: 0644]
src/styles/default/about.css [new file with mode: 0644]
src/styles/default/changelog.css [new file with mode: 0644]
src/styles/default/credits.css [new file with mode: 0644]
src/styles/default/index.css [new file with mode: 0644]
src/styles/default/settings.css [new file with mode: 0644]
tsconfig.json [new file with mode: 0644]
webpack.config.js [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..074ab52
--- /dev/null
@@ -0,0 +1,2 @@
+package-lock.json
+node_modules
\ No newline at end of file
index 345e6aef713208c8d50cdea23b85e6ad831f0449..81ff4ba6b85f3082ae2c7a67cf66f0b3a0b37ef3 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1 +1,15 @@
-Test
+# Minimal Alt1/webpack/typescript example
+
+how to use
+```sh
+# to initialize the repo and install dependencies
+npm i
+# build
+npm run build
+# alternatively to auto-rebuild when source files are changed
+npm run watch
+```
+
+You can open `./dist/index.html` in your browser and it will give some basic functionality based one pasted images.
+
+You can also open it in the Alt1 browser and click the `add app` button that appears to get some basic alt1 functionality.
\ No newline at end of file
diff --git a/dist/aa_10px_mono.fontmeta.json b/dist/aa_10px_mono.fontmeta.json
new file mode 100644 (file)
index 0000000..844c30f
--- /dev/null
@@ -0,0 +1 @@
+{"chars":[{"width":4,"bonus":40,"chr":"!","pixels":[1,1,238,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,10,238],"secondary":false},{"width":5,"bonus":30,"chr":"\"","pixels":[1,0,187,1,1,255,2,0,153,2,1,153,3,0,255,3,1,187],"secondary":true},{"width":10,"bonus":160,"chr":"#","pixels":[1,4,238,1,8,255,2,4,255,2,8,255,2,9,221,2,10,255,3,1,153,3,2,187,3,3,221,3,4,255,3,5,255,3,6,204,3,7,170,3,8,255,4,1,153,4,4,255,4,8,255,5,4,255,5,8,255,5,9,204,5,10,255,6,2,187,6,3,221,6,4,255,6,5,255,6,6,221,6,7,187,6,8,255,7,1,153,7,4,255,7,8,255,8,4,255],"secondary":false},{"width":8,"bonus":105,"chr":"$","pixels":[1,2,221,1,3,255,1,4,255,1,9,238,2,1,221,2,2,153,2,5,255,2,10,238,3,0,255,3,1,255,3,5,187,3,6,170,3,10,255,3,11,255,4,1,238,4,6,255,4,10,221,5,2,153,5,7,255,5,8,255,5,9,238],"secondary":false},{"width":10,"bonus":125,"chr":"%","pixels":[1,2,255,1,3,255,1,10,187,2,1,255,2,4,255,2,9,238,3,2,255,3,3,255,3,7,170,3,8,221,4,6,238,5,4,153,5,5,238,5,8,255,5,9,255,6,3,238,6,4,170,6,7,255,6,10,255,7,2,238,7,7,255,7,10,255,8,1,187,8,8,255,8,9,255],"secondary":false},{"width":9,"bonus":150,"chr":"&","pixels":[1,2,204,1,3,255,1,4,204,1,6,204,1,7,255,1,8,255,1,9,204,2,1,204,2,2,170,2,4,153,2,5,255,2,6,187,2,9,187,2,10,187,3,1,255,3,5,255,3,10,255,4,1,255,4,5,255,4,10,255,5,5,255,5,9,204,5,10,170,6,4,255,6,5,255,6,6,255,6,7,255,6,8,238,6,9,153,7,5,255],"secondary":false},{"width":4,"bonus":10,"chr":"'","pixels":[2,1,221,2,2,187],"secondary":true},{"width":4,"bonus":55,"chr":"(","pixels":[1,3,170,1,4,221,1,5,255,1,6,255,1,7,255,1,8,221,1,9,170,2,1,221,2,2,204,2,10,187,2,11,255],"secondary":false},{"width":4,"bonus":55,"chr":")","pixels":[1,1,221,1,2,204,1,10,187,1,11,255,2,3,170,2,4,221,2,5,255,2,6,255,2,7,255,2,8,221,2,9,170],"secondary":false},{"width":7,"bonus":60,"chr":"*","pixels":[1,3,170,2,3,238,2,4,170,2,5,238,3,1,255,3,2,255,3,3,255,3,4,238,4,3,238,4,4,170,4,5,238,5,3,153],"secondary":false},{"width":9,"bonus":65,"chr":"+","pixels":[1,7,255,2,7,255,3,7,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,4,10,255,5,7,255,6,7,255,7,7,255],"secondary":false},{"width":4,"bonus":20,"chr":",","pixels":[1,10,187,1,11,170,2,9,255,2,10,153],"secondary":true},{"width":6,"bonus":20,"chr":"-","pixels":[1,7,255,2,7,255,3,7,255,4,7,170],"secondary":true},{"width":4,"bonus":5,"chr":".","pixels":[1,10,255],"secondary":true},{"width":6,"bonus":55,"chr":"/","pixels":[1,10,187,1,11,187,2,7,204,2,8,255,2,9,187,3,3,170,3,4,255,3,5,221,3,6,153,4,1,255,4,2,204],"secondary":false},{"width":9,"bonus":110,"chr":"0","pixels":[1,3,187,1,4,238,1,5,255,1,6,255,1,7,238,1,8,187,2,2,255,2,9,255,3,1,238,3,10,238,4,1,255,4,10,255,5,1,238,5,10,238,6,2,255,6,9,255,7,3,187,7,4,238,7,5,255,7,6,255,7,7,238,7,8,187],"secondary":false},{"width":7,"bonus":80,"chr":"1","pixels":[1,3,204,1,10,255,2,2,238,2,10,255,3,1,255,3,2,255,3,3,255,3,4,255,3,5,255,3,6,255,3,7,255,3,8,255,3,9,255,3,10,255,4,10,255,5,10,255],"secondary":false},{"width":8,"bonus":110,"chr":"2","pixels":[2,2,255,2,8,204,2,9,255,2,10,255,3,1,204,3,7,221,3,8,170,3,10,255,4,1,255,4,6,204,4,7,170,4,10,255,5,1,221,5,2,153,5,5,187,5,6,204,5,10,255,6,2,221,6,3,255,6,4,255,6,5,170,6,10,255],"secondary":false},{"width":8,"bonus":120,"chr":"3","pixels":[1,9,170,2,1,255,2,9,187,2,10,170,3,1,255,3,5,255,3,10,255,4,1,255,4,3,170,4,4,221,4,5,238,4,10,255,5,1,255,5,2,238,5,3,187,5,5,170,5,6,187,5,9,187,5,10,170,6,1,255,6,6,187,6,7,255,6,8,255,6,9,187],"secondary":false},{"width":9,"bonus":115,"chr":"4","pixels":[1,6,187,1,7,255,2,5,221,2,6,153,2,7,255,3,4,238,3,7,255,4,3,238,4,7,255,5,1,170,5,2,255,5,7,255,6,1,255,6,2,255,6,3,255,6,4,255,6,5,255,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255,7,7,255],"secondary":false},{"width":8,"bonus":120,"chr":"5","pixels":[1,9,153,2,1,255,2,2,255,2,3,255,2,4,221,2,5,255,2,9,153,2,10,187,3,1,255,3,5,255,3,10,255,4,1,255,4,5,255,4,10,255,5,1,255,5,5,187,5,6,187,5,9,187,5,10,170,6,1,170,6,6,187,6,7,255,6,8,255,6,9,187],"secondary":false},{"width":9,"bonus":150,"chr":"6","pixels":[1,4,187,1,5,238,1,6,255,1,7,255,1,8,187,2,2,153,2,3,255,2,4,170,2,5,204,2,6,204,2,8,170,2,9,255,3,2,238,3,5,238,3,10,221,4,1,238,4,5,255,4,10,255,5,1,255,5,5,255,5,10,255,6,1,255,6,5,170,6,6,204,6,9,221,6,10,153,7,6,170,7,7,255,7,8,255,7,9,153],"secondary":false},{"width":9,"bonus":95,"chr":"7","pixels":[1,1,255,2,1,255,2,8,153,2,9,255,2,10,204,3,1,255,3,6,153,3,7,255,3,8,187,4,1,255,4,4,153,4,5,255,4,6,187,5,1,255,5,2,187,5,3,255,5,4,187,6,1,255,6,2,170],"secondary":false},{"width":9,"bonus":170,"chr":"8","pixels":[1,2,204,1,3,255,1,4,204,1,6,153,1,7,255,1,8,255,1,9,153,2,1,187,2,2,187,2,4,187,2,5,255,2,6,204,2,9,221,2,10,153,3,1,255,3,5,255,3,10,255,4,1,255,4,5,170,4,10,255,5,1,204,5,2,153,5,5,204,5,6,204,5,10,238,6,2,238,6,3,255,6,4,255,6,5,170,6,6,255,6,9,221,7,7,238,7,8,255,7,9,153],"secondary":false},{"width":9,"bonus":140,"chr":"9","pixels":[1,3,238,1,4,255,1,5,238,2,2,238,2,6,238,2,10,255,3,1,255,3,7,238,3,10,255,4,1,255,4,7,255,4,10,238,5,1,204,5,2,153,5,7,204,5,9,204,5,10,153,6,2,238,6,3,187,6,6,238,6,7,187,6,8,221,6,9,204,7,3,153,7,4,221,7,5,255,7,6,255,7,7,221],"secondary":false},{"width":3,"bonus":10,"chr":":","pixels":[1,3,255,1,9,255],"secondary":true},{"width":4,"bonus":15,"chr":";","pixels":[2,3,255,2,9,255,2,10,204],"secondary":true},{"width":8,"bonus":60,"chr":"<","pixels":[1,5,187,1,6,238,2,5,255,2,6,204,3,4,170,3,7,204,4,4,255,4,7,238,5,4,170,5,8,187,6,3,187,6,8,204],"secondary":false},{"width":9,"bonus":70,"chr":"=","pixels":[1,6,221,1,8,221,2,6,255,2,8,255,3,6,255,3,8,255,4,6,255,4,8,255,5,6,255,5,8,255,6,6,255,6,8,255,7,6,255,7,8,255],"secondary":false},{"width":8,"bonus":75,"chr":">","pixels":[1,3,153,2,3,153,2,4,170,2,8,255,3,4,255,3,7,187,3,8,170,4,4,170,4,5,153,4,7,255,5,5,255,5,6,187,5,7,153,6,5,170,6,6,255],"secondary":false},{"width":6,"bonus":55,"chr":"?","pixels":[1,1,204,2,1,255,2,6,187,2,7,255,2,10,255,3,1,238,3,5,238,3,6,153,4,2,238,4,3,255,4,4,255],"secondary":false},{"width":10,"bonus":165,"chr":"@","pixels":[1,5,153,1,6,255,1,7,255,1,8,255,1,9,187,2,4,204,2,5,187,2,9,170,2,10,255,3,4,204,3,11,255,4,3,238,4,6,238,4,7,255,4,8,238,4,12,187,5,3,255,5,5,204,5,9,221,5,12,255,6,3,255,6,5,255,6,9,255,7,3,221,7,5,255,7,9,255,8,4,221,8,5,255,8,6,255,8,7,255,8,8,255,8,9,255,9,9,255],"secondary":false},{"width":10,"bonus":140,"chr":"A","pixels":[1,9,153,1,10,238,2,7,221,2,8,255,2,9,204,3,4,204,3,5,255,3,6,204,3,7,255,4,1,187,4,2,255,4,3,204,4,7,255,5,1,238,5,2,255,5,3,187,5,7,255,6,3,153,6,4,238,6,5,255,6,6,187,6,7,255,7,6,153,7,7,255,7,8,255,7,9,170,8,9,187,8,10,255],"secondary":false},{"width":9,"bonus":160,"chr":"B","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,1,255,2,6,255,2,10,255,3,1,255,3,6,255,3,10,255,4,1,255,4,6,255,4,10,255,5,1,221,5,2,153,5,5,170,5,6,255,5,9,153,5,10,204,6,2,238,6,3,255,6,4,255,6,5,204,6,7,238,6,8,255,6,9,238],"secondary":false},{"width":10,"bonus":105,"chr":"C","pixels":[1,3,153,1,4,255,1,5,255,1,6,255,1,7,238,2,2,204,2,3,204,2,8,204,2,9,204,3,2,187,3,9,204,4,1,221,4,10,221,5,1,255,5,10,255,6,1,238,6,10,238,7,1,187,7,10,187,8,2,221,8,9,255],"secondary":false},{"width":10,"bonus":160,"chr":"D","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,1,255,2,10,255,3,1,255,3,10,255,4,1,255,4,10,255,5,1,238,5,10,238,6,1,153,6,2,204,6,9,204,6,10,153,7,2,221,7,3,204,7,8,204,7,9,221,8,3,170,8,4,255,8,5,255,8,6,255,8,7,255,8,8,170],"secondary":false},{"width":8,"bonus":105,"chr":"E","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,1,255,2,6,255,2,10,255,3,1,255,3,6,255,3,10,255,4,1,255,4,6,255,4,10,255,5,1,255,5,10,255],"secondary":false},{"width":7,"bonus":85,"chr":"F","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,1,255,2,6,255,3,1,255,3,6,255,4,1,255,4,6,255,5,1,255],"secondary":false},{"width":10,"bonus":145,"chr":"G","pixels":[1,3,153,1,4,255,1,5,255,1,6,255,1,7,255,1,8,153,2,2,204,2,3,187,2,8,204,2,9,221,3,1,153,3,2,187,3,9,187,3,10,170,4,1,255,4,10,255,5,1,255,5,10,255,6,1,238,6,6,170,6,10,204,7,2,204,7,6,255,7,9,238,8,6,255,8,7,255,8,8,255,8,9,255,8,10,255],"secondary":false},{"width":9,"bonus":125,"chr":"H","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,6,255,3,6,255,4,6,255,5,6,255,6,6,255,7,1,255,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255,7,10,255],"secondary":false},{"width":5,"bonus":70,"chr":"I","pixels":[1,1,255,1,10,255,2,1,255,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,3,1,255,3,10,255],"secondary":false},{"width":8,"bonus":100,"chr":"J","pixels":[1,8,255,1,9,187,2,9,187,2,10,187,3,1,221,3,10,255,4,1,255,4,10,255,5,1,255,5,9,187,5,10,187,6,1,255,6,2,255,6,3,255,6,4,255,6,5,255,6,6,255,6,7,255,6,8,255,6,9,187],"secondary":false},{"width":9,"bonus":120,"chr":"K","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,6,255,3,6,255,4,4,187,4,5,255,4,6,170,4,7,255,5,2,187,5,3,255,5,8,221,5,9,204,6,1,255,6,2,153,6,9,153,6,10,255],"secondary":false},{"width":8,"bonus":75,"chr":"L","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,10,255,3,10,255,4,10,255,5,10,255,6,10,170],"secondary":false},{"width":11,"bonus":180,"chr":"M","pixels":[1,3,170,1,4,170,1,5,204,1,6,221,1,7,238,1,8,255,1,9,255,1,10,255,2,1,255,2,2,255,2,3,255,2,4,170,3,3,204,3,4,255,3,5,170,4,5,153,4,6,255,4,7,221,5,7,221,5,8,255,6,5,187,6,6,255,6,7,187,7,3,221,7,4,238,8,1,255,8,2,255,8,3,255,8,4,187,8,5,153,9,5,170,9,6,187,9,7,204,9,8,221,9,9,238,9,10,255],"secondary":false},{"width":10,"bonus":145,"chr":"N","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,2,238,2,3,221,3,3,170,3,4,255,4,5,221,4,6,204,5,7,255,6,8,204,6,9,221,7,1,255,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255,7,10,255],"secondary":false},{"width":11,"bonus":130,"chr":"O","pixels":[1,4,255,1,5,255,1,6,255,1,7,238,2,2,204,2,3,204,2,8,204,2,9,204,3,2,187,3,9,187,4,1,221,4,10,221,5,1,255,5,10,255,6,1,221,6,10,221,7,2,204,7,9,221,8,2,187,8,3,221,8,8,221,8,9,170,9,4,221,9,5,255,9,6,255,9,7,204],"secondary":false},{"width":9,"bonus":125,"chr":"P","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,1,255,2,7,255,3,1,255,3,7,255,4,1,255,4,7,255,5,1,187,5,2,187,5,6,187,5,7,187,6,2,187,6,3,255,6,4,255,6,5,255,6,6,187],"secondary":false},{"width":11,"bonus":140,"chr":"Q","pixels":[1,4,255,1,5,255,1,6,255,1,7,238,2,2,204,2,3,204,2,8,204,2,9,204,3,2,187,3,9,187,4,1,238,4,10,238,5,1,255,5,10,255,6,1,221,6,10,221,7,2,204,7,8,238,7,9,221,8,2,187,8,3,221,8,8,238,8,9,255,9,4,221,9,5,255,9,6,255,9,7,204,9,10,187],"secondary":false},{"width":9,"bonus":140,"chr":"R","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,1,255,2,6,255,3,1,255,3,6,255,4,1,255,4,6,255,5,1,204,5,2,153,5,5,153,5,6,221,5,7,238,5,8,238,6,2,221,6,3,255,6,4,255,6,5,221,6,9,238,6,10,221],"secondary":false},{"width":7,"bonus":95,"chr":"S","pixels":[1,2,221,1,3,255,1,4,255,1,9,238,2,1,204,2,2,153,2,5,255,2,10,238,3,1,255,3,5,187,3,6,153,3,10,255,4,1,238,4,6,255,4,10,221,5,2,170,5,7,255,5,8,255,5,9,238],"secondary":false},{"width":10,"bonus":80,"chr":"T","pixels":[1,1,255,2,1,255,3,1,255,4,1,255,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,4,10,255,5,1,255,6,1,255,7,1,255],"secondary":false},{"width":10,"bonus":110,"chr":"U","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,238,2,9,238,3,10,204,4,10,255,5,10,255,6,10,204,7,9,238,8,1,255,8,2,255,8,3,255,8,4,255,8,5,255,8,6,255,8,7,255,8,8,221],"secondary":false},{"width":10,"bonus":110,"chr":"V","pixels":[1,1,238,1,2,153,2,2,187,2,3,255,2,4,221,3,5,187,3,6,255,3,7,204,4,8,204,4,9,255,4,10,204,5,8,204,5,9,255,5,10,204,6,5,187,6,6,255,6,7,204,7,2,187,7,3,255,7,4,221,8,1,238,8,2,153],"secondary":false},{"width":13,"bonus":195,"chr":"W","pixels":[1,1,255,1,2,187,2,3,187,2,4,255,2,5,255,2,6,204,3,7,170,3,8,221,3,9,255,3,10,221,4,7,170,4,8,238,4,9,255,4,10,187,5,3,187,5,4,255,5,5,255,5,6,187,6,1,255,6,2,255,6,3,255,7,3,170,7,4,238,7,5,255,7,6,204,8,7,153,8,8,221,8,9,255,8,10,204,9,7,187,9,8,255,9,9,255,9,10,204,10,3,204,10,4,255,10,5,255,10,6,187,11,1,255,11,2,187],"secondary":false},{"width":9,"bonus":125,"chr":"X","pixels":[1,1,221,1,10,255,2,1,153,2,2,255,2,3,187,2,8,238,2,9,221,3,3,170,3,4,255,3,5,153,3,6,204,3,7,238,4,4,187,4,5,255,4,6,255,5,3,238,5,4,221,5,7,255,5,8,170,6,1,221,6,2,238,6,8,187,6,9,255,7,1,153,7,10,221],"secondary":false},{"width":9,"bonus":80,"chr":"Y","pixels":[1,1,238,2,2,238,2,3,204,3,4,255,3,5,187,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,4,10,255,5,4,238,5,5,204,6,2,221,6,3,238,7,1,255],"secondary":false},{"width":9,"bonus":115,"chr":"Z","pixels":[1,10,170,2,1,255,2,8,153,2,9,255,2,10,255,3,1,255,3,7,238,3,8,221,3,10,255,4,1,255,4,5,187,4,6,255,4,10,255,5,1,255,5,4,255,5,5,187,5,10,255,6,1,255,6,2,204,6,3,221,6,10,255,7,1,255,7,10,255],"secondary":false},{"width":4,"bonus":65,"chr":"[","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,1,11,255,2,1,255,2,11,255],"secondary":false},{"width":6,"bonus":50,"chr":"\\","pixels":[1,1,238,1,2,255,1,3,170,2,4,221,2,5,255,2,6,187,3,7,204,3,8,255,3,9,187,4,10,204],"secondary":false},{"width":3,"bonus":65,"chr":"]","pixels":[0,1,255,0,11,255,1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,1,11,255],"secondary":false},{"width":8,"bonus":55,"chr":"^","pixels":[1,6,170,2,4,221,2,5,238,3,2,255,3,3,187,4,1,187,4,2,255,4,3,153,5,4,255,5,5,204,6,6,204],"secondary":false},{"width":9,"bonus":35,"chr":"_","pixels":[1,11,255,2,11,255,3,11,255,4,11,255,5,11,255,6,11,255,7,11,255],"secondary":false},{"width":8,"bonus":110,"chr":"a","pixels":[1,8,221,1,9,255,2,4,187,2,7,170,2,8,153,2,10,221,3,4,255,3,7,221,3,10,255,4,4,255,4,7,255,4,10,238,5,4,204,5,5,170,5,7,255,5,9,204,6,5,204,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255],"secondary":false},{"width":8,"bonus":135,"chr":"b","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,4,153,2,5,221,2,9,221,2,10,153,3,4,238,3,10,238,4,4,255,4,10,255,5,4,187,5,5,187,5,9,187,5,10,170,6,5,187,6,6,255,6,7,255,6,8,255,6,9,170],"secondary":false},{"width":8,"bonus":60,"chr":"c","pixels":[1,6,255,1,7,255,1,8,255,2,5,221,2,9,221,3,4,238,3,10,238,4,4,255,4,10,255,5,4,221,5,10,221,6,9,204],"secondary":false},{"width":8,"bonus":135,"chr":"d","pixels":[1,5,170,1,6,255,1,7,255,1,8,255,1,9,187,2,4,170,2,5,187,2,9,187,2,10,170,3,4,255,3,10,255,4,4,238,4,10,238,5,4,153,5,5,221,5,9,221,5,10,153,6,1,255,6,2,255,6,3,255,6,4,255,6,5,255,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255],"secondary":false},{"width":8,"bonus":100,"chr":"e","pixels":[1,6,255,1,7,255,1,8,255,1,9,153,2,5,204,2,7,255,2,9,204,3,4,255,3,7,255,3,10,238,4,4,255,4,7,255,4,10,255,5,4,170,5,5,187,5,7,255,5,10,221,6,5,153,6,6,238,6,7,255],"secondary":false},{"width":6,"bonus":70,"chr":"f","pixels":[1,4,221,2,2,221,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,3,1,221,3,4,255,4,1,255,4,4,221],"secondary":false},{"width":8,"bonus":135,"chr":"g","pixels":[1,5,187,1,6,255,1,7,255,1,8,255,1,9,187,2,4,204,2,5,170,2,9,170,2,10,221,2,13,238,3,4,255,3,10,255,3,13,255,4,4,187,4,5,153,4,10,204,4,12,170,4,13,187,5,4,255,5,5,255,5,6,255,5,7,255,5,8,255,5,9,255,5,10,255,5,11,255,5,12,204],"secondary":false},{"width":9,"bonus":100,"chr":"h","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,5,238,3,4,204,4,4,255,5,4,238,6,5,255,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255],"secondary":false},{"width":4,"bonus":40,"chr":"i","pixels":[1,1,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255],"secondary":false},{"width":5,"bonus":60,"chr":"j","pixels":[0,13,221,1,13,238,2,1,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,255,2,12,255],"secondary":false},{"width":7,"bonus":100,"chr":"k","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,7,255,3,6,187,3,7,255,3,8,170,4,5,255,4,6,170,4,8,187,4,9,221,5,4,255,5,10,255],"secondary":false},{"width":5,"bonus":50,"chr":"l","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,10,255],"secondary":false},{"width":12,"bonus":130,"chr":"m","pixels":[1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,5,238,3,4,204,4,4,255,5,4,221,6,5,238,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255,7,5,204,8,4,255,9,4,255,10,5,255,10,6,255,10,7,255,10,8,255,10,9,255,10,10,255],"secondary":false},{"width":8,"bonus":85,"chr":"n","pixels":[1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,5,238,3,4,204,4,4,255,5,4,238,6,5,255,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255],"secondary":false},{"width":9,"bonus":80,"chr":"o","pixels":[1,6,255,1,7,255,1,8,255,2,5,221,2,9,221,3,4,221,3,10,221,4,4,255,4,10,255,5,4,221,5,10,221,6,5,238,6,9,238,7,6,221,7,7,255,7,8,221],"secondary":false},{"width":8,"bonus":130,"chr":"p","pixels":[1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,1,11,255,1,12,255,2,4,153,2,5,204,2,9,221,2,10,153,3,4,238,3,10,238,4,4,255,4,10,255,5,4,187,5,5,187,5,9,187,5,10,170,6,5,187,6,6,255,6,7,255,6,8,255,6,9,170],"secondary":false},{"width":8,"bonus":130,"chr":"q","pixels":[1,5,170,1,6,255,1,7,255,1,8,255,1,9,187,2,4,170,2,5,187,2,9,187,2,10,187,3,4,255,3,10,255,4,4,238,4,10,238,5,4,153,5,5,204,5,9,221,5,10,153,6,4,255,6,5,255,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255,6,11,255,6,12,255],"secondary":false},{"width":6,"bonus":45,"chr":"r","pixels":[1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,2,5,238,3,4,238],"secondary":false},{"width":6,"bonus":65,"chr":"s","pixels":[1,5,255,1,6,255,1,9,153,1,10,170,2,4,255,2,7,221,2,10,255,3,4,255,3,7,238,3,10,255,4,4,153,4,8,255,4,9,255],"secondary":false},{"width":5,"bonus":65,"chr":"t","pixels":[0,4,255,1,2,238,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,221,2,4,255,2,10,221,3,4,221,3,10,255],"secondary":false},{"width":9,"bonus":85,"chr":"u","pixels":[1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,238,2,10,221,3,10,255,4,10,221,5,9,221,6,4,255,6,5,255,6,6,255,6,7,255,6,8,255,6,9,255,6,10,255],"secondary":false},{"width":8,"bonus":75,"chr":"v","pixels":[1,4,238,2,5,187,2,6,255,2,7,204,3,8,221,3,9,255,3,10,170,4,8,153,4,9,255,4,10,238,5,6,221,5,7,255,5,8,170,6,4,255,6,5,204],"secondary":false},{"width":12,"bonus":135,"chr":"w","pixels":[1,4,238,1,5,153,2,5,170,2,6,255,2,7,238,2,8,153,3,8,153,3,9,255,3,10,255,4,8,204,4,9,255,4,10,170,5,5,187,5,6,255,5,7,187,6,5,255,6,6,221,7,7,187,7,8,255,7,9,187,8,9,255,8,10,255,9,6,187,9,7,255,9,8,221,10,4,255,10,5,204],"secondary":false},{"width":8,"bonus":90,"chr":"x","pixels":[1,4,153,1,10,221,2,4,204,2,5,238,2,9,255,2,10,153,3,6,238,3,7,238,3,8,221,4,6,238,4,7,238,4,8,221,5,4,204,5,5,238,5,9,255,5,10,153,6,4,153,6,10,221],"secondary":false},{"width":9,"bonus":100,"chr":"y","pixels":[1,4,238,1,13,204,2,5,221,2,6,255,2,7,170,2,13,255,3,7,153,3,8,238,3,9,238,3,12,238,3,13,153,4,9,255,4,10,255,4,11,187,5,6,170,5,7,255,5,8,221,6,4,238,6,5,255,6,6,170],"secondary":false},{"width":8,"bonus":95,"chr":"z","pixels":[1,4,255,1,10,255,2,4,255,2,8,187,2,9,255,2,10,255,3,4,255,3,7,221,3,8,187,3,10,255,4,4,255,4,6,238,4,7,153,4,10,255,5,4,255,5,5,255,5,10,255,6,4,238,6,10,255],"secondary":false},{"width":6,"bonus":55,"chr":"{","pixels":[1,6,255,2,2,255,2,3,255,2,4,255,2,5,221,2,7,238,2,8,255,2,9,255,2,10,255,3,1,255,3,11,255],"secondary":false},{"width":4,"bonus":60,"chr":"|","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,1,10,255,1,11,255,1,12,255],"secondary":false},{"width":5,"bonus":55,"chr":"}","pixels":[1,1,255,1,11,255,2,2,221,2,3,255,2,4,255,2,5,238,2,7,255,2,8,255,2,9,255,2,10,221,3,6,255],"secondary":false},{"width":8,"bonus":30,"chr":"~","pixels":[1,6,238,2,5,255,3,5,238,4,6,238,5,6,255,6,5,238],"secondary":false}],"width":13,"spacewidth":3,"shadow":false,"height":14,"basey":10}
\ No newline at end of file
diff --git a/dist/aa_8px_mono.fontmeta.json b/dist/aa_8px_mono.fontmeta.json
new file mode 100644 (file)
index 0000000..55df159
--- /dev/null
@@ -0,0 +1 @@
+{"chars":[{"width":7,"bonus":75,"chr":"a","pixels":[0,7,187,1,3,221,1,6,170,1,8,255,2,3,255,2,5,187,2,8,255,3,3,255,3,5,255,3,8,221,4,4,238,4,5,255,4,6,204,4,7,255,4,8,238],"secondary":false},{"width":7,"bonus":105,"chr":"b","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,204,1,4,170,1,7,170,1,8,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,170,4,4,170,4,7,170,5,5,187,5,6,187],"secondary":false},{"width":7,"bonus":50,"chr":"c","pixels":[0,5,170,0,6,187,1,4,187,1,7,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,221,4,8,221],"secondary":false},{"width":7,"bonus":105,"chr":"d","pixels":[0,5,187,0,6,187,1,4,170,1,7,170,1,8,170,2,3,255,2,8,255,3,3,255,3,8,255,4,3,204,4,4,170,4,7,170,4,8,187,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,221,5,7,221,5,8,204],"secondary":false},{"width":7,"bonus":75,"chr":"e","pixels":[0,5,187,0,6,170,1,4,187,1,5,255,1,7,204,2,3,255,2,5,255,2,8,255,3,3,255,3,5,255,3,8,255,4,3,187,4,5,255,4,8,221,5,5,204],"secondary":false},{"width":4,"bonus":50,"chr":"f","pixels":[0,3,204,1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204,2,1,255,2,3,255],"secondary":false},{"width":7,"bonus":115,"chr":"g","pixels":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,170,1,11,153,2,3,255,2,8,255,2,11,238,3,3,255,3,8,255,3,11,221,4,3,221,4,7,153,4,8,221,4,10,204,5,3,204,5,4,221,5,5,221,5,6,221,5,7,221,5,8,221,5,9,170],"secondary":false},{"width":7,"bonus":90,"chr":"h","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,170,1,4,204,2,3,255,3,3,255,4,3,170,4,4,221,4,5,221,4,6,221,4,7,221,4,8,204],"secondary":false},{"width":3,"bonus":35,"chr":"i","pixels":[0,1,238,0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204],"secondary":false},{"width":4,"bonus":50,"chr":"j","pixels":[0,11,153,1,11,170,2,1,204,2,3,204,2,4,221,2,5,221,2,6,221,2,7,221,2,8,221,2,9,221],"secondary":false},{"width":6,"bonus":70,"chr":"k","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,4,153,2,5,255,2,6,221,3,3,204,3,7,221],"secondary":false},{"width":3,"bonus":40,"chr":"l","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,1,8,255],"secondary":false},{"width":10,"bonus":115,"chr":"m","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,153,4,4,255,4,5,221,4,6,221,4,7,221,4,8,204,5,4,187,6,3,255,7,3,238,8,4,170,8,5,221,8,6,221,8,7,221,8,8,204],"secondary":false},{"width":7,"bonus":75,"chr":"n","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,238,5,4,170,5,5,221,5,6,221,5,7,221,5,8,204],"secondary":false},{"width":8,"bonus":70,"chr":"o","pixels":[0,5,187,0,6,170,1,4,204,1,7,221,2,3,238,2,8,238,3,3,255,3,8,255,4,3,238,4,8,255,5,4,204,5,7,221,6,5,170,6,6,170],"secondary":false},{"width":6,"bonus":90,"chr":"p","pixels":[0,3,238,0,4,255,0,5,187,0,6,204,0,7,255,0,8,221,0,9,221,0,10,221,1,3,255,1,8,238,2,3,255,2,8,255,3,3,238,3,8,238,4,4,238,4,5,255,4,6,255,4,7,238],"secondary":false},{"width":7,"bonus":90,"chr":"q","pixels":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,153,1,8,170,2,3,255,2,8,255,3,3,238,3,8,238,4,3,255,4,4,255,4,5,187,4,6,187,4,7,255,4,8,238,4,9,221,4,10,221],"secondary":false},{"width":4,"bonus":45,"chr":"r","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,187,1,4,204,2,3,255],"secondary":false},{"width":6,"bonus":50,"chr":"s","pixels":[0,4,187,1,3,255,1,5,238,1,8,255,2,3,255,2,8,255,3,3,255,3,6,238,3,8,255,4,7,187],"secondary":false},{"width":5,"bonus":45,"chr":"t","pixels":[1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,170,2,3,255,2,8,238,3,8,153],"secondary":false},{"width":6,"bonus":70,"chr":"u","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,170,1,8,238,2,8,255,3,8,204,4,3,204,4,4,221,4,5,221,4,6,204,4,7,255,4,8,221],"secondary":false},{"width":6,"bonus":50,"chr":"v","pixels":[0,3,238,1,5,238,1,6,204,2,7,255,2,8,255,3,5,153,3,6,255,3,7,153,4,3,238,4,4,204],"secondary":false},{"width":10,"bonus":95,"chr":"w","pixels":[1,3,153,1,4,238,1,5,187,2,6,153,2,7,238,2,8,187,3,6,204,3,7,238,3,8,153,4,3,170,4,4,255,5,4,221,5,5,221,6,7,255,6,8,221,7,6,238,7,7,204,8,3,238,8,4,204],"secondary":false},{"width":6,"bonus":55,"chr":"x","pixels":[0,8,170,1,3,170,1,4,204,1,7,221,2,5,255,2,6,238,3,4,255,3,6,187,3,7,187,4,3,221,4,8,255],"secondary":false},{"width":6,"bonus":65,"chr":"y","pixels":[0,3,255,0,4,153,0,11,221,1,5,204,1,6,221,1,11,187,2,7,187,2,8,255,2,9,238,3,6,238,3,7,187,4,3,204,4,4,221],"secondary":false},{"width":6,"bonus":70,"chr":"z","pixels":[0,3,153,0,8,204,1,3,255,1,7,221,1,8,255,2,3,255,2,6,255,2,8,255,3,3,255,3,4,170,3,5,170,3,8,255,4,3,255,4,8,255],"secondary":false},{"width":8,"bonus":85,"chr":"A","pixels":[0,8,153,1,6,221,1,7,238,2,3,170,2,4,255,2,5,187,2,6,255,3,1,255,3,2,255,3,6,255,4,2,255,4,3,238,4,6,255,5,5,255,5,6,255,6,7,187,6,8,255],"secondary":false},{"width":7,"bonus":125,"chr":"B","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,4,255,1,8,255,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,1,221,4,4,255,4,5,170,4,8,204,5,2,170,5,3,170,5,6,187,5,7,153],"secondary":false},{"width":9,"bonus":80,"chr":"C","pixels":[0,4,187,0,5,187,1,2,221,1,3,153,1,6,153,1,7,204,2,1,170,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,170,6,8,170],"secondary":false},{"width":8,"bonus":100,"chr":"D","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,8,255,2,1,255,2,8,255,3,1,255,3,8,255,4,1,204,4,8,204,5,2,221,5,7,221,6,4,187,6,5,187],"secondary":false},{"width":6,"bonus":95,"chr":"E","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,1,8,255,2,1,255,2,5,255,2,8,255,3,1,255,3,5,255,3,8,255,4,1,153,4,8,221],"secondary":false},{"width":6,"bonus":70,"chr":"F","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255],"secondary":false},{"width":9,"bonus":105,"chr":"G","pixels":[0,4,170,0,5,187,1,2,204,1,3,153,1,7,221,2,1,170,2,8,187,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,238,6,1,170,6,5,255,6,7,153,6,8,170,7,5,153,7,6,221,7,7,221,7,8,204],"secondary":false},{"width":8,"bonus":105,"chr":"H","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,5,255,3,5,255,4,5,255,5,5,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],"secondary":false},{"width":4,"bonus":60,"chr":"I","pixels":[0,1,192,0,8,191,1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,2,1,192,2,8,191],"secondary":false},{"width":6,"bonus":70,"chr":"J","pixels":[0,6,153,0,7,153,1,8,204,2,1,221,2,8,255,3,1,255,3,8,204,4,1,204,4,2,221,4,3,221,4,4,221,4,5,221,4,6,221,4,7,153],"secondary":false},{"width":7,"bonus":85,"chr":"K","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,255,2,4,255,3,3,221,3,5,170,3,6,204,4,1,204,4,2,153,4,7,238,4,8,153],"secondary":false},{"width":6,"bonus":60,"chr":"L","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,8,255,2,8,255,3,8,255,4,8,255],"secondary":false},{"width":9,"bonus":130,"chr":"M","pixels":[0,1,245,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,1,2,170,1,3,225,2,4,207,2,5,190,3,6,232,4,6,232,5,4,207,5,5,190,6,2,170,6,3,224,7,1,245,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255],"secondary":false},{"width":8,"bonus":110,"chr":"N","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,2,255,2,3,221,3,4,187,3,5,187,4,6,221,5,7,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],"secondary":false},{"width":10,"bonus":110,"chr":"O","pixels":[0,4,187,0,5,170,1,2,204,1,3,153,1,6,170,1,7,204,2,1,153,2,8,153,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,153,6,8,153,7,2,204,7,3,153,7,6,170,7,7,204,8,4,187,8,5,170],"secondary":false},{"width":7,"bonus":85,"chr":"P","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,4,1,187,4,5,187,5,3,221],"secondary":false},{"width":9,"bonus":100,"chr":"Q","pixels":[0,4,187,0,5,187,1,2,221,1,6,153,1,7,221,2,1,187,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,238,5,8,238,6,2,204,6,7,255,7,3,255,7,4,204,7,5,221,7,6,255,7,8,204],"secondary":false},{"width":7,"bonus":100,"chr":"R","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,3,6,187,4,2,238,4,3,204,4,4,255,4,7,238,4,8,170],"secondary":false},{"width":6,"bonus":70,"chr":"S","pixels":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,1,255,2,4,170,2,8,255,3,1,255,3,5,255,3,8,255,4,1,170,4,6,221,4,7,238],"secondary":false},{"width":8,"bonus":65,"chr":"T","pixels":[0,1,255,1,1,255,2,1,255,3,1,255,3,2,221,3,3,221,3,4,221,3,5,221,3,6,221,3,7,221,3,8,204,4,1,255,5,1,255],"secondary":false},{"width":8,"bonus":85,"chr":"U","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,187,1,7,170,2,8,255,3,8,255,4,8,221,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,255,5,7,238],"secondary":false},{"width":7,"bonus":70,"chr":"V","pixels":[0,1,255,0,2,187,1,3,153,1,4,255,1,5,153,2,6,187,2,7,238,3,7,255,3,8,204,4,4,204,4,5,238,5,1,170,5,2,255,5,3,153],"secondary":false},{"width":10,"bonus":125,"chr":"W","pixels":[0,1,255,0,2,221,1,4,187,1,5,255,1,6,204,2,7,255,2,8,255,3,3,153,3,4,238,3,5,221,4,1,255,4,2,255,4,3,153,5,3,170,5,4,238,5,5,204,6,7,255,6,8,255,7,4,153,7,5,238,7,6,238,7,7,153,8,1,238,8,2,238,8,3,153],"secondary":false},{"width":7,"bonus":75,"chr":"X","pixels":[0,8,170,1,1,187,1,2,204,1,7,238,2,3,221,2,4,153,2,5,255,2,6,153,3,4,255,3,5,238,4,2,238,4,6,204,4,7,170,5,1,204,5,8,255],"secondary":false},{"width":7,"bonus":55,"chr":"Y","pixels":[0,1,170,1,2,238,2,3,153,2,4,255,3,4,221,3,5,204,3,6,221,3,7,221,3,8,204,4,3,255,5,1,238],"secondary":false},{"width":7,"bonus":75,"chr":"Z","pixels":[0,8,187,1,1,255,1,7,221,1,8,255,2,1,255,2,5,204,2,8,255,3,1,255,3,4,204,3,8,255,4,1,255,4,2,221,4,8,255,5,1,187,5,8,153],"secondary":false},{"width":7,"bonus":90,"chr":"0","pixels":[0,2,153,0,3,221,0,4,255,0,5,255,0,6,238,0,7,170,1,1,187,1,8,204,2,1,187,2,8,187,3,1,221,3,8,204,4,2,170,4,3,255,4,4,187,4,5,187,4,6,238,4,7,170],"secondary":false},{"width":7,"bonus":50,"chr":"1","pixels":[1,8,187,2,1,204,2,2,204,2,3,187,2,4,187,2,5,187,2,6,187,2,7,187,2,8,238,3,8,204],"secondary":false},{"width":7,"bonus":55,"chr":"2","pixels":[1,8,255,2,1,187,2,6,153,2,8,187,3,1,204,3,5,153,3,8,187,4,1,187,4,2,153,4,4,204,4,8,187],"secondary":false},{"width":7,"bonus":50,"chr":"3","pixels":[0,8,204,1,1,187,1,8,187,2,1,187,2,4,187,2,8,204,3,2,221,3,3,204,3,5,204,3,7,170],"secondary":false},{"width":7,"bonus":80,"chr":"4","pixels":[0,6,238,1,4,187,1,6,187,2,3,170,2,6,187,3,1,187,3,2,153,3,6,204,4,1,187,4,2,187,4,3,187,4,4,187,4,5,187,4,6,238,4,7,187,4,8,187],"secondary":false},{"width":7,"bonus":70,"chr":"5","pixels":[1,1,238,1,2,187,1,3,187,1,4,187,1,8,204,2,1,187,2,4,187,2,8,187,3,1,187,3,4,204,3,8,204,4,5,238,4,6,187,4,7,221],"secondary":false},{"width":7,"bonus":80,"chr":"6","pixels":[0,3,170,0,4,255,0,5,255,0,6,238,0,7,153,1,2,187,1,8,187,2,1,204,2,4,187,2,8,187,3,1,187,3,4,204,3,8,187,4,5,221,4,6,255,4,7,187],"secondary":false},{"width":7,"bonus":55,"chr":"7","pixels":[0,1,187,1,1,187,1,8,204,2,1,187,2,6,238,2,7,153,3,1,187,3,3,153,3,4,221,4,1,255,4,2,187],"secondary":false},{"width":7,"bonus":95,"chr":"8","pixels":[1,2,238,1,3,221,1,6,204,1,7,221,2,1,204,2,4,204,2,5,170,2,8,221,3,1,187,3,4,170,3,8,187,4,1,221,4,4,170,4,5,204,4,8,187,5,2,170,5,3,153,5,6,238,5,7,238],"secondary":false},{"width":7,"bonus":85,"chr":"9","pixels":[1,2,221,1,3,187,1,4,238,1,8,153,2,1,204,2,5,221,2,8,187,3,1,187,3,5,187,3,8,204,4,1,187,4,7,170,5,2,153,5,3,238,5,4,255,5,5,255,5,6,187],"secondary":false},{"width":8,"bonus":75,"chr":"%","pixels":[0,3,255,0,8,255,1,2,255,1,4,255,1,7,255,2,3,255,2,6,255,3,5,255,4,4,255,4,7,255,5,3,255,5,6,255,5,8,255,6,2,255,6,7,255],"secondary":false},{"width":4,"bonus":40,"chr":"/","pixels":[0,7,153,0,8,238,0,9,221,1,4,187,1,5,238,1,6,170,2,1,221,2,2,221],"secondary":false},{"width":7,"bonus":60,"chr":"+","pixels":[0,5,221,1,5,255,2,5,255,3,2,153,3,3,221,3,4,221,3,5,255,3,6,221,3,7,221,3,8,204,4,5,255,5,5,255],"secondary":false},{"width":5,"bonus":40,"chr":"?","pixels":[0,1,170,1,1,255,1,6,221,1,8,255,2,1,255,2,5,170,3,2,255,3,3,221],"secondary":false},{"width":2,"bonus":35,"chr":"!","pixels":[0,1,170,0,2,187,0,3,187,0,4,187,0,5,187,0,6,170,0,8,255],"secondary":false},{"width":8,"bonus":130,"chr":"@","pixels":[0,4,255,0,5,255,0,6,221,0,7,255,0,8,187,1,3,221,1,9,238,2,2,221,2,5,255,2,6,238,2,7,255,2,10,153,3,2,255,3,4,255,3,8,204,3,10,187,4,2,238,4,4,255,4,8,255,5,3,238,5,4,255,5,5,221,5,6,221,5,7,221,5,8,238,6,8,221],"secondary":false},{"width":8,"bonus":120,"chr":"#","pixels":[0,6,255,1,3,255,1,6,255,1,7,170,1,8,238,2,1,170,2,2,238,2,3,255,2,4,221,2,5,170,2,6,255,3,3,255,3,6,255,4,3,255,4,4,153,4,5,204,4,6,255,4,7,238,4,8,187,5,1,255,5,2,187,5,3,255,5,6,255,6,3,255],"secondary":false},{"width":6,"bonus":70,"chr":"$","pixels":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,0,204,2,1,238,2,8,238,2,9,204,3,1,238,3,5,238,3,8,255,4,6,170,4,7,170],"secondary":false},{"width":6,"bonus":40,"chr":"^","pixels":[0,4,153,0,5,238,1,2,204,1,3,221,2,1,221,2,2,221,3,3,187,3,4,221],"secondary":false},{"width":6,"bonus":20,"chr":"~","pixels":[1,5,255,2,5,221,3,6,221,4,5,204],"secondary":false},{"width":7,"bonus":95,"chr":"&","pixels":[0,6,187,1,2,238,1,3,255,1,4,187,1,5,187,1,8,187,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,4,255,4,8,187,5,3,204,5,4,255,5,5,221,5,6,187,6,4,153],"secondary":false},{"width":6,"bonus":45,"chr":"*","pixels":[0,2,170,1,2,170,1,3,204,1,4,255,2,1,204,2,2,238,2,3,255,3,2,170,3,4,153],"secondary":false},{"width":4,"bonus":55,"chr":"(","pixels":[0,3,173,0,4,239,0,5,253,0,6,230,0,7,171,1,1,194,1,2,204,1,8,204,1,9,191,2,0,210,2,10,216],"secondary":false},{"width":4,"bonus":55,"chr":")","pixels":[1,0,211,1,10,216,2,1,194,2,2,203,2,8,203,2,9,191,3,3,174,3,4,240,3,5,253,3,6,229,3,7,171],"secondary":false},{"width":7,"bonus":30,"chr":"_","pixels":[0,9,153,1,9,255,2,9,255,3,9,255,4,9,255,5,9,255],"secondary":false},{"width":4,"bonus":15,"chr":"-","pixels":[0,5,255,1,5,255,2,5,255],"secondary":true},{"width":8,"bonus":50,"chr":"=","pixels":[0,4,255,0,6,255,1,4,255,1,6,255,2,4,255,2,6,255,3,4,255,3,6,255,4,4,255,4,6,255],"secondary":false},{"width":3,"bonus":55,"chr":"[","pixels":[0,0,204,0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,0,238,1,8,238],"secondary":false},{"width":3,"bonus":55,"chr":"]","pixels":[0,0,238,0,8,238,1,0,204,1,1,221,1,2,221,1,3,221,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204],"secondary":false},{"width":5,"bonus":50,"chr":"{","pixels":[0,5,153,1,2,170,1,3,221,1,4,221,1,5,204,1,6,255,1,7,221,1,8,170,2,1,238,2,9,238],"secondary":false},{"width":5,"bonus":50,"chr":"}","pixels":[1,1,238,1,9,238,2,2,170,2,3,221,2,4,221,2,5,204,2,6,255,2,7,221,2,8,170,3,5,153],"secondary":false},{"width":3,"bonus":10,"chr":":","pixels":[1,3,255,1,7,255],"secondary":true},{"width":3,"bonus":20,"chr":";","pixels":[0,9,201,1,3,255,1,7,241,1,8,255],"secondary":true},{"width":3,"bonus":20,"chr":"\"","pixels":[0,1,255,0,2,255,2,1,255,2,2,255],"secondary":true},{"width":2,"bonus":10,"chr":"'","pixels":[0,1,255,0,2,177],"secondary":true},{"width":7,"bonus":40,"chr":"<","pixels":[0,5,204,1,5,255,2,4,238,2,6,238,3,4,170,3,6,170,4,3,221,4,7,221],"secondary":false},{"width":7,"bonus":45,"chr":">","pixels":[0,3,204,0,7,204,1,7,187,2,4,238,2,6,255,3,4,170,3,5,153,3,6,204,4,5,255],"secondary":false},{"width":5,"bonus":35,"chr":"\\","pixels":[1,1,153,1,2,255,1,3,204,2,5,255,2,6,204,3,8,255,3,9,204],"secondary":false},{"width":2,"bonus":5,"chr":".","pixels":[0,8,255],"secondary":true},{"width":3,"bonus":15,"chr":",","pixels":[0,9,205,1,7,205,1,8,255],"secondary":true},{"width":3,"bonus":50,"chr":"|","pixels":[0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,221,0,9,221,0,10,204],"secondary":false}],"width":10,"spacewidth":3,"shadow":false,"height":12,"basey":8}
\ No newline at end of file
diff --git a/dist/appconfig.json b/dist/appconfig.json
new file mode 100644 (file)
index 0000000..ae52cb6
--- /dev/null
@@ -0,0 +1,18 @@
+{
+       "appName": "Slayer Assistant",
+       "description": "Slayer Assistant is your go-to tool for efficient Slayer tasks in RuneScape. Designed for the Alt1 Toolkit, it provides instant access to task information, helping you make informed decisions quickly. Whether you're a new player or an experienced Slayer, this app streamlines the task selection process, making your gameplay smoother and more enjoyable.",
+       "appUrl": "https://slayer.unlishema.org/",
+       "configUrl": "https://slayer.unlishema.org/appconfig.json",
+       "iconUrl": "https://slayer.unlishema.org/images/icon.png",
+       "defaultWidth": 360,
+       "defaultHeight": 395,
+       "minWidth": 360,
+       "minHeight": 142,
+       "maxWidth": 400,
+       "maxHeight": 550,
+       "requestHandlers": [],
+       "activators": [
+               "regex:^Get task .*"
+       ],
+       "permissions": "pixel,gamestate,overlay"
+}
diff --git a/dist/data/.htaccess b/dist/data/.htaccess
new file mode 100644 (file)
index 0000000..6996f3c
--- /dev/null
@@ -0,0 +1,10 @@
+# Enable mod_rewrite
+RewriteEngine On
+
+# Apply rules inside the /data/ folder
+RewriteBase /data/
+
+# Rewrite any URL ending with .json to load the corresponding .php file
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule ^(.*)\.json$ $1.php [L]
diff --git a/dist/data/assignments.php b/dist/data/assignments.php
new file mode 100644 (file)
index 0000000..6f7b9a3
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+// Database credentials
+$host = 'localhost';  
+$db = 'slayer.unlishema.org'; 
+$user = 'slayer.db'; 
+$pass = 'r2YWbde6V9hr'; 
+
+// Function to return error as JSON and exit
+function respondWithError($message) {
+    header('Content-Type: application/json');
+    echo json_encode(['error' => $message]);
+    exit;
+}
+
+// Create connection
+$mysqli = new mysqli($host, $user, $pass, $db);
+if ($mysqli->connect_error) {
+    respondWithError("Connection failed: " . $mysqli->connect_error);
+}
+
+// Check for the 'q' query parameter
+$q = $_GET['q'] ?? 'all'; // Default to 'all'
+
+// Prepare SQL query
+$query = $q === 'all' ? "SELECT * FROM assignments" : "SELECT * FROM assignments WHERE `index` = ?";
+$stmt = $mysqli->prepare($query);
+if ($stmt === false) {
+    respondWithError("Prepare failed: " . $mysqli->error);
+}
+if ($q !== 'all') {
+    $stmt->bind_param("s", $q);
+}
+$stmt->execute();
+$result = $stmt->get_result();
+$data = [];
+
+// Helper function to process multiline string into array
+function parseLines($string) {
+    return array_filter(array_map('trim', explode("\r\n", $string)));
+}
+
+// Fetch data
+while ($row = $result->fetch_assoc()) {
+    $data[] = [
+        'id' => $row['id'],
+        'index' => $row['index'],
+        'default-creature' => $row['default_creature'],
+        'hidden-creatures' => parseLines($row['hidden_creatures'] ?? ''),
+        'alias' => parseLines($row['aliases'] ?? ''),
+        'masters' => parseLines($row['masters'] ?? ''),
+        'creatures' => parseLines($row['creatures'] ?? ''),
+        'equipment' => parseLines($row['equipment'] ?? ''),
+        'locations' => parseLines($row['locations'] ?? '')
+    ];
+}
+
+// Free the result set
+$result->free();
+
+// Set the header and output JSON
+header('Content-Type: application/json');
+echo json_encode($data, JSON_PRETTY_PRINT);
+
+// Close the statement and connection
+$stmt->close();
+$mysqli->close();
+?>
diff --git a/dist/data/creatures.php b/dist/data/creatures.php
new file mode 100644 (file)
index 0000000..9913a14
--- /dev/null
@@ -0,0 +1,97 @@
+<?php
+// Database credentials
+$host = 'localhost';  
+$db = 'slayer.unlishema.org'; 
+$user = 'slayer.db'; 
+$pass = 'r2YWbde6V9hr'; 
+
+// Function to return error as JSON and exit
+function respondWithError($message) {
+    header('Content-Type: application/json');
+    echo json_encode(['error' => $message]);
+    exit;
+}
+
+// Create connection
+$mysqli = new mysqli($host, $user, $pass, $db);
+if ($mysqli->connect_error) {
+    respondWithError("Connection failed: " . $mysqli->connect_error);
+}
+
+// Check for the 'q' query parameter
+$q = $_GET['q'] ?? 'all'; // Null coalescing operator for default value
+
+// Prepare SQL query for creatures and variants
+$query = $q === 'all' 
+    ? "SELECT c.*, v.id AS variant_id, v.name AS variant_name, v.image, v.experience, 
+              v.slayer_exp, v.lifepoint_exp, v.level, v.slayer_level, 
+              v.defence, v.lifepoints, v.max_melee, v.max_ranged, 
+              v.max_magic, v.max_necromancy, v.max_spec, v.susceptible, v.weaknesses 
+       FROM creatures c 
+       LEFT JOIN variants v ON c.id = v.creature_id"
+    : "SELECT c.*, v.id AS variant_id, v.name AS variant_name, v.image, v.experience, 
+              v.slayer_exp, v.lifepoint_exp, v.level, v.slayer_level, 
+              v.defence, v.lifepoints, v.max_melee, v.max_ranged, 
+              v.max_magic, v.max_necromancy, v.max_spec, v.susceptible, v.weaknesses 
+       FROM creatures c 
+       LEFT JOIN variants v ON c.id = v.creature_id WHERE c.name = ?";
+
+$stmt = $mysqli->prepare($query);
+if ($stmt === false) {
+    respondWithError("Prepare failed: " . $mysqli->error);
+}
+
+if ($q !== 'all') {
+    $stmt->bind_param("s", $q);
+}
+
+$stmt->execute();
+$result = $stmt->get_result();
+$data = [];
+
+// Fetch data
+while ($row = $result->fetch_assoc()) {
+    $creatureId = $row['id'];
+    // Check if this creature already exists in the data array
+    if (!isset($data[$creatureId])) {
+        $data[$creatureId] = [
+            'id' => $row['id'],
+            'name' => $row['name'],
+            'variants' => []
+        ];
+    }
+
+    // Check if the row contains variant data
+    if (isset($row['variant_id'])) { // Ensure variant_id exists
+        $variant = [
+            'id' => $row['variant_id'],
+            'name' => $row['variant_name'],
+            'image' => $row['image'],
+            'experience' => $row['experience'],
+            'slayer-exp' => $row['slayer_exp'],
+            'lifepoint-exp' => $row['lifepoint_exp'],
+            'level' => $row['level'],
+            'slayer-level' => $row['slayer_level'],
+            'defence' => $row['defence'],
+            'lifepoints' => $row['lifepoints'],
+            'max-melee' => $row['max_melee'],
+            'max-ranged' => $row['max_ranged'],
+            'max-magic' => $row['max_magic'],
+            'max-necromancy' => $row['max_necromancy'],
+            'max-spec' => $row['max_spec'],
+            'susceptible' => explode("\r\n", $row['susceptible'] ?: ''),
+            'weakness' => explode("\r\n", $row['weaknesses'] ?: '')
+        ];
+        $data[$creatureId]['variants'][] = $variant;
+    }
+}
+
+// Output JSON
+header('Content-Type: application/json');
+echo json_encode(array_values($data), JSON_PRETTY_PRINT);
+
+// Free the result set and close the connection
+$result->free();
+$stmt->close();
+$mysqli->close();
+?>
diff --git a/dist/data/masters.php b/dist/data/masters.php
new file mode 100644 (file)
index 0000000..d9a6aed
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+// Database credentials
+$host = 'localhost';  
+$db = 'slayer.unlishema.org'; 
+$user = 'slayer.db'; 
+$pass = 'r2YWbde6V9hr'; 
+
+// Function to return error as JSON and exit
+function respondWithError($message) {
+    header('Content-Type: application/json');
+    echo json_encode(['error' => $message]);
+    exit;
+}
+
+// Create connection
+$mysqli = new mysqli($host, $user, $pass, $db);
+if ($mysqli->connect_error) {
+    respondWithError("Connection failed: " . $mysqli->connect_error);
+}
+
+// Check for the 'q' query parameter and sanitize input
+$q = isset($_GET['q']) ? trim($_GET['q']) : 'all'; // Default to 'all'
+
+// Prepare SQL query with a safeguard against SQL injection
+$query = $q === 'all' ? "SELECT * FROM masters" : "SELECT * FROM masters WHERE `name` = ?";
+$stmt = $mysqli->prepare($query);
+if ($stmt === false) {
+    respondWithError("Prepare failed: " . $mysqli->error);
+}
+if ($q !== 'all') {
+    $stmt->bind_param("s", $q);
+}
+$stmt->execute();
+$result = $stmt->get_result();
+$data = [];
+
+// Fetch data
+while ($row = $result->fetch_assoc()) {
+    $taskCounts = [];
+    
+    // Handle empty counts gracefully
+    $countLines = !empty($row['counts']) ? explode("\r\n", $row['counts']) : []; 
+
+    foreach ($countLines as $line) {
+        if (strpos($line, ':') !== false) {
+            [$key, $count] = array_map('trim', explode(':', $line, 2)); // Limit to 2 parts
+            $taskCounts[$key] = $count;
+        }
+    }
+
+    $data[] = [
+        'id' => $row['id'],
+        'name' => $row['name'],
+        'url' => $row['url'],
+        'task-counts' => $taskCounts
+    ];
+}
+
+// Output JSON
+header('Content-Type: application/json');
+echo json_encode($data, JSON_PRETTY_PRINT);
+
+// Close the connection
+$stmt->close();
+$mysqli->close();
+?>
diff --git a/dist/data/old/assignments.json b/dist/data/old/assignments.json
new file mode 100644 (file)
index 0000000..b474aa5
--- /dev/null
@@ -0,0 +1,3787 @@
+[
+    {
+        "default-creature": "Aberrant spectre#Slayer Tower",
+        "weakness": [],
+        "creatures": ["Aberrant spectre"],
+        "hidden-creatures": [],
+        "index": "Aberrant spectres",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Nose_peg\" title=\"Nose peg\" target=\"_blank\">Nose peg<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal demon#Default",
+        "weakness": [],
+        "creatures": [
+            "Abyssal beast",
+            "Abyssal demon",
+            "Abyssal demon (elite)",
+            "Abyssal lord",
+            "Abyssal savage"
+        ],
+        "hidden-creatures": ["Abyssal demon (elite)"],
+        "index": "Abyssal Demons",
+        "alias": ["Abyssal demons"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Abyssal_Area\" title=\"Abyssal Area\" target=\"_blank\">Abyssal Area<\/a>",
+            "<a href=\"https://runescape.wiki/w/Graveyard_of_Shadows\" title=\"Graveyard of Shadows\" target=\"_blank\">Graveyard of Shadows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Forinthry_Dungeon\" title=\"Forinthry Dungeon\" target=\"_blank\">Forinthry Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal beast#Default",
+        "weakness": [],
+        "creatures": ["Abyssal beast"],
+        "hidden-creatures": [],
+        "index": "Abyssal beasts",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Senntisten_Asylum\" title=\"Senntisten Asylum\" target=\"_blank\">Senntisten Asylum<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal lord#Default",
+        "weakness": [],
+        "creatures": ["Abyssal lord"],
+        "hidden-creatures": [],
+        "index": "Abyssal lords",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Senntisten_Asylum\" title=\"Senntisten Asylum\" target=\"_blank\">Senntisten Asylum<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal savage#Asylum",
+        "weakness": [],
+        "creatures": ["Abyssal savage"],
+        "hidden-creatures": [],
+        "index": "Abyssal savages",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Senntisten_Asylum\" title=\"Senntisten Asylum\" target=\"_blank\">Senntisten Asylum<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Acheron mammoth#Default",
+        "weakness": [],
+        "creatures": ["Acheron mammoth"],
+        "hidden-creatures": [],
+        "index": "Acheron mammoths",
+        "alias": ["Acheron mammoth"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Mammoth_iceberg\" title=\"Mammoth iceberg\" target=\"_blank\">Mammoth iceberg<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Adamant dragon#Default",
+        "weakness": [],
+        "creatures": ["Adamant dragon"],
+        "hidden-creatures": [],
+        "index": "Adamant dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Adamant_dragon_dungeon\" title=\"Adamant dragon dungeon\" target=\"_blank\">Adamant dragon dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonkin_Lair\" title=\"Dragonkin Lair\" target=\"_blank\">Dragonkin Lair<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Airut#Melee",
+        "weakness": [],
+        "creatures": ["Airut"],
+        "hidden-creatures": [],
+        "index": "Airut",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Piscatoris_Fishing_Colony\" title=\"Piscatoris Fishing Colony\" target=\"_blank\">Piscatoris Fishing Colony<\/a>",
+            "<a href=\"https://runescape.wiki/w/Mazcab\" title=\"Mazcab\" target=\"_blank\">Mazcab<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ankou#Default",
+        "weakness": [],
+        "creatures": [
+            "Ankou",
+            "Ankou (Kili's Knowledge IV)",
+            "Ankou (elite)"
+        ],
+        "hidden-creatures": ["Ankou (elite)"],
+        "index": "Ankou",
+        "alias": ["Ankous"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Aquanite#Default",
+        "weakness": [],
+        "creatures": [
+            "Aquanite",
+            "Aquanite (elite)"
+        ],
+        "hidden-creatures": ["Aquanite (elite)"],
+        "index": "Aquanites",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Armoured phantom#1",
+        "weakness": [],
+        "creatures": ["Armoured phantom"],
+        "hidden-creatures": [],
+        "index": "Armoured phantoms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">Crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Capsarius#1",
+        "weakness": [],
+        "creatures": [
+            "Capsarius",
+            "Gladius",
+            "Legio Primus",
+            "Legio Quartus",
+            "Legio Quintus",
+            "Legio Secundus",
+            "Legio Sextus",
+            "Legio Tertius",
+            "Rorarius",
+            "Scutarius"
+        ],
+        "hidden-creatures": [],
+        "index": "Ascension members",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Monastery_of_Ascension\" title=\"Monastery of Ascension\" target=\"_blank\">Monastery of Ascension<\/a>"]
+    },
+    {
+        "default-creature": "Kree'arra#Normal",
+        "weakness": [],
+        "creatures": [
+            "Aviansie",
+            "Flight Kilisa",
+            "Flockleader Geerin",
+            "Kree'arra",
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior",
+            "Wingman Skree"
+        ],
+        "hidden-creatures": [
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior"
+        ],
+        "index": "Aviansies",
+        "alias": ["Aviansie"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<sup id=\"cite_ref-4\" class=\"reference\" target=\"_blank\" href=\"https://runescape.wiki\"><a href=\"#cite_note-4\">[n 3]<\/a><\/sup>"
+        ]
+    },
+    {
+        "default-creature": "Banshee#Default",
+        "weakness": [],
+        "creatures": [
+            "Banshee",
+            "Mighty banshee"
+        ],
+        "hidden-creatures": ["Mighty banshee"],
+        "index": "Banshees",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Earmuffs\" title=\"Earmuffs\" target=\"_blank\">Earmuffs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Masked_earmuffs\" title=\"Masked earmuffs\" target=\"_blank\">Masked earmuffs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>"
+        ],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"]
+    },
+    {
+        "default-creature": "Basilisk#Large",
+        "weakness": [],
+        "creatures": ["Basilisk"],
+        "hidden-creatures": [],
+        "index": "Basilisks",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Mirror_shield\" title=\"Mirror shield\" target=\"_blank\">Mirror shield<\/a>"],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bat#Default",
+        "weakness": [],
+        "creatures": [
+            "Albino bat",
+            "Bat",
+            "Giant bat",
+            "Warped bat"
+        ],
+        "hidden-creatures": [],
+        "index": "Bats",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Silvarea\" title=\"Silvarea\" target=\"_blank\">Silvarea<\/a>",
+            "<a href=\"https://runescape.wiki/w/Morytania\" title=\"Morytania\" target=\"_blank\">Morytania<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Black bear#Default",
+        "weakness": [],
+        "creatures": [
+            "Angry bear",
+            "Bear cub",
+            "Black bear",
+            "Grizzly bear",
+            "Grizzly bear cub"
+        ],
+        "hidden-creatures": [
+            "Angry bear",
+            "Bear cub",
+            "Grizzly bear",
+            "Grizzly bear cub"
+        ],
+        "index": "Bears",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": []
+    },
+    {
+        "default-creature": "Chicken#White",
+        "weakness": [],
+        "creatures": [
+            "Bird",
+            "Chicken",
+            "Chompy bird",
+            "Duck",
+            "Duckling",
+            "Jubbly bird",
+            "Mounted terrorbird gnome",
+            "Oomlie bird",
+            "Pekin",
+            "Penguin (monster)",
+            "Pernicious parrot",
+            "Rooster",
+            "Seagull",
+            "Tenacious toucan",
+            "Terrorbird",
+            "Undead chicken",
+            "Undead pekin"
+        ],
+        "hidden-creatures": [
+            "Bird",
+            "Chompy bird",
+            "Duckling",
+            "Jubbly bird",
+            "Mounted terrorbird gnome",
+            "Oomlie bird",
+            "Pekin",
+            "Penguin (monster)",
+            "Pernicious parrot",
+            "Rooster",
+            "Seagull",
+            "Tenacious toucan",
+            "Undead chicken",
+            "Undead pekin"
+        ],
+        "index": "Birds",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Jacquelyn"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ape_Atoll\" title=\"Ape Atoll\" target=\"_blank\">Ape Atoll<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crash_Island\" title=\"Crash Island\" target=\"_blank\">Crash Island<\/a>",
+            "<a href=\"https://runescape.wiki/w/Life_altar\" title=\"Life altar\" target=\"_blank\">Life altar<\/a>",
+            "<a href=\"https://runescape.wiki/w/Nature_altar\" title=\"Nature altar\" target=\"_blank\">Nature altar<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Black demon#1",
+        "weakness": [],
+        "creatures": [
+            "Balfrug Kreeyath",
+            "Black demon"
+        ],
+        "hidden-creatures": ["Balfrug Kreeyath"],
+        "index": "Black demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Queen Black Dragon#Normal",
+        "weakness": [],
+        "creatures": [
+            "Alanogard the Black",
+            "Baby black dragon",
+            "Black dragon",
+            "Black dragon (Dragonkin Laboratory)",
+            "King Black Dragon",
+            "Queen Black Dragon",
+            "Verak Lith",
+            "Verak Little"
+        ],
+        "hidden-creatures": [
+            "Alanogard the Black",
+            "Verak Lith",
+            "Verak Little"
+        ],
+        "index": "Black dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze\" title=\"Lava Maze\" target=\"_blank\">Lava Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Evil_Chicken%27s_Lair\" title=\"Evil Chicken's Lair\" target=\"_blank\">Evil Chicken's Lair<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bloodveld#Default",
+        "weakness": [],
+        "creatures": [
+            "Bloodveld",
+            "Bloodveld (God Wars Dungeon)",
+            "Bloodveld (Heart of Gielinor)",
+            "Mutated bloodveld"
+        ],
+        "hidden-creatures": [],
+        "index": "Bloodveld",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Meiyerditch_Dungeon\" class=\"mw-redirect\" title=\"Meiyerditch Dungeon\" target=\"_blank\">Meiyerditch Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Blue dragon#1",
+        "weakness": [],
+        "creatures": [
+            "Baby blue dragon",
+            "Blue dragon",
+            "Vorkath"
+        ],
+        "hidden-creatures": [],
+        "index": "Blue dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Kuradal",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Heroes%27_Guild\" title=\"Heroes' Guild\" target=\"_blank\">Heroes' Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bound skeleton#1",
+        "weakness": [],
+        "creatures": ["Bound skeleton"],
+        "hidden-creatures": [],
+        "index": "Bound skeletons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"]
+    },
+    {
+        "default-creature": "Brine rat#Default",
+        "weakness": [],
+        "creatures": ["Brine rat"],
+        "hidden-creatures": [],
+        "index": "Brine rats",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Brine_Rat_Cavern\" title=\"Brine Rat Cavern\" target=\"_blank\">Brine Rat Cavern<\/a>"]
+    },
+    {
+        "default-creature": "Bronze dragon#Default",
+        "weakness": [],
+        "creatures": ["Bronze dragon"],
+        "hidden-creatures": [],
+        "index": "Bronze dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Camel Warrior#Default",
+        "weakness": [],
+        "creatures": ["Camel Warrior"],
+        "hidden-creatures": [],
+        "index": "Camel warriors",
+        "alias": ["Camel Warrior"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Camel_Warriors_island\" title=\"Camel Warriors island\" target=\"_blank\">Camel Warriors island<\/a>"]
+    },
+    {
+        "default-creature": "Catablepon#Default",
+        "weakness": [],
+        "creatures": ["Catablepon"],
+        "hidden-creatures": [],
+        "index": "Catablepon",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>"]
+    },
+    {
+        "default-creature": "Cave bug#Level 11",
+        "weakness": [],
+        "creatures": ["Cave bug"],
+        "hidden-creatures": [],
+        "index": "Cave bugs",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Jacquelyn"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Burthorpe_Slayer_Cave\" title=\"Burthorpe Slayer Cave\" target=\"_blank\">Burthorpe Slayer Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Cave crawler#Level 24",
+        "weakness": [],
+        "creatures": ["Cave crawler"],
+        "hidden-creatures": [],
+        "index": "Cave crawlers",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Unspeakable horror#Default",
+        "weakness": [],
+        "creatures": [
+            "Cave horror",
+            "Cave horror (elite)",
+            "Unspeakable horror",
+            "Unspeakable horror (elite)"
+        ],
+        "hidden-creatures": [
+            "Cave horror (elite)",
+            "Unspeakable horror (elite)"
+        ],
+        "index": "Cave horrors",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Witchwood_icon\" title=\"Witchwood icon\" target=\"_blank\">Witchwood icon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Light_source\" class=\"mw-redirect\" title=\"Light source\" target=\"_blank\">Light source<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mos_Le%27Harmless_Caves\" title=\"Mos Le'Harmless Caves\" target=\"_blank\">Mos Le'Harmless Caves<\/a>"]
+    },
+    {
+        "default-creature": "Cave slime#Default",
+        "weakness": [],
+        "creatures": [
+            "Cave slime",
+            "Giant slime",
+            "Laboratory slime"
+        ],
+        "hidden-creatures": [
+            "Giant slime",
+            "Laboratory slime"
+        ],
+        "index": "Cave slimes",
+        "alias": ["Cave slime"],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Celestial dragon#Default",
+        "weakness": [],
+        "creatures": [
+            "Astellarn",
+            "Celestial dragon",
+            "Celestial dragon (Dragonkin Laboratory)",
+            "Elegorn the Celestial"
+        ],
+        "hidden-creatures": [
+            "Astellarn",
+            "Celestial dragon (Dragonkin Laboratory)"
+        ],
+        "index": "Celestial dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_antifire\" title=\"Super antifire\" target=\"_blank\">Super antifire<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Dragontooth_Island_resource_dungeon\" title=\"Dragontooth Island resource dungeon\" target=\"_blank\">Dragontooth Island resource dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Chaos Giant#Default",
+        "weakness": [],
+        "creatures": ["Chaos Giant"],
+        "hidden-creatures": [],
+        "index": "Chaos giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Barendir\" title=\"Barendir\" target=\"_blank\">Barendir<\/a>"]
+    },
+    {
+        "default-creature": "Cockatrice#Default",
+        "weakness": [],
+        "creatures": ["Cockatrice"],
+        "hidden-creatures": [],
+        "index": "Cockatrice",
+        "alias": ["Cockatrices"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Mirror_shield\" title=\"Mirror shield\" target=\"_blank\">Mirror shield<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Cockroach drone#Default",
+        "weakness": [],
+        "creatures": [
+            "Cockroach drone",
+            "Cockroach soldier",
+            "Cockroach worker",
+            "Warped cockroach"
+        ],
+        "hidden-creatures": [],
+        "index": "Cockroaches",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Catacombs\" title=\"Lumbridge Catacombs\" target=\"_blank\">Lumbridge Catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Player_Safety\" title=\"Stronghold of Player Safety\" target=\"_blank\">Stronghold of Player Safety<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Corrupted scorpion#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted dust devil",
+            "Corrupted kalphite guardian",
+            "Corrupted kalphite marauder",
+            "Corrupted lizard",
+            "Corrupted scarab",
+            "Corrupted scorpion",
+            "Corrupted worker"
+        ],
+        "hidden-creatures": [],
+        "index": "Corrupted creatures",
+        "alias": [
+            "Corrupted dust devils",
+            "Corrupted kalphites",
+            "Corrupted lizards",
+            "Corrupted scarabs",
+            "Corrupted scorpions",
+            "Corrupted worker"
+        ],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Feather_of_Ma%27at\" title=\"Feather of Ma'at\" target=\"_blank\">Feather of Ma'at<\/a>"],
+        "masters": [
+            "Sumona",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Sophanem_Slayer_Dungeon\" title=\"Sophanem Slayer Dungeon\" target=\"_blank\">Sophanem Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Cow#Standard (1)",
+        "weakness": [],
+        "creatures": [
+            "Cow",
+            "Cow calf",
+            "Super Cow",
+            "Undead cow"
+        ],
+        "hidden-creatures": [
+            "Cow calf",
+            "Super Cow",
+            "Undead cow"
+        ],
+        "index": "Cows",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Jacquelyn"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Crawling hand#10a",
+        "weakness": [],
+        "creatures": [
+            "Crawling hand",
+            "Skeletal hand",
+            "Zombie hand"
+        ],
+        "hidden-creatures": [
+            "Skeletal hand",
+            "Zombie hand"
+        ],
+        "index": "Crawling hands",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Chaeldar"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Burthorpe_Slayer_Cave\" title=\"Burthorpe Slayer Cave\" target=\"_blank\">Burthorpe Slayer Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Edimmu#Default",
+        "weakness": [],
+        "creatures": [
+            "Edimmu",
+            "Edimmu (elite)",
+            "Frost dragon",
+            "Kal'gerion demon",
+            "Seeker",
+            "Soulgazer"
+        ],
+        "hidden-creatures": ["Edimmu (elite)"],
+        "index": "Creatures of Daemonheim",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": []
+    },
+    {
+        "default-creature": "Bulbous crawler#Default",
+        "weakness": [],
+        "creatures": [
+            "Bulbous crawler",
+            "Moss golem",
+            "Vinecrawler"
+        ],
+        "hidden-creatures": [],
+        "index": "Creatures of the Lost Grove",
+        "alias": ["Lost Grove creatures"],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/The_Lost_Grove\" title=\"The Lost Grove\" target=\"_blank\">The Lost Grove<\/a>"]
+    },
+    {
+        "default-creature": "Automaton Generator#Post-quest",
+        "weakness": [],
+        "creatures": [
+            "Automaton Generator",
+            "Automaton Guardian",
+            "Automaton Tracer"
+        ],
+        "hidden-creatures": [],
+        "index": "Cres's creations",
+        "alias": ["Automatons"],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Guthix%27s_Cave\" class=\"mw-redirect\" title=\"Guthix's Cave\" target=\"_blank\">Guthix's Cave<\/a>"]
+    },
+    {
+        "default-creature": "Crocodile#40",
+        "weakness": [],
+        "creatures": [
+            "Crocodile",
+            "Crocodile akh",
+            "Ol' Sawtooth",
+            "Sea crocodile"
+        ],
+        "hidden-creatures": [
+            "Ol' Sawtooth",
+            "Sea crocodile"
+        ],
+        "index": "Crocodiles",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/River_Elid\" title=\"River Elid\" target=\"_blank\">Elid<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kharidian_Desert\" title=\"Kharidian Desert\" target=\"_blank\">Kharidian Desert<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Crystal Shapeshifter#Magic",
+        "weakness": [],
+        "creatures": ["Crystal Shapeshifter"],
+        "hidden-creatures": [],
+        "index": "Crystal shapeshifters",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Tarddiad\" title=\"Tarddiad\" target=\"_blank\">Tarddiad<\/a>"]
+    },
+    {
+        "default-creature": "Cyclops#57 (Crush)",
+        "weakness": [],
+        "creatures": [
+            "Cyclops",
+            "Cyclossus"
+        ],
+        "hidden-creatures": ["Cyclossus"],
+        "index": "Cyclopes",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<span class=\"floornumber\" target=\"_blank\" href=\"https://runescape.wiki\"><span class=\"floornumber-gb\">2<sup class=\"floornumber-ordinal-suffix\">nd<\/sup>&nbsp;floor<sup class=\"floornumber-help noexcerpt\">[<span class=\"fact-text floor-convention\" title=\"British convention; floor 3 in the US\">UK<\/span>]<\/sup><\/span><span class=\"floornumber-us noexcerpt\">3<sup class=\"floornumber-ordinal-suffix\">rd<\/sup>&nbsp;floor<sup class=\"floornumber-help noexcerpt\">[<span class=\"fact-text floor-convention\" title=\"US convention; floor 2 in the UK\">US<\/span>]<\/sup><\/span><\/span>",
+            "<a href=\"https://runescape.wiki/w/Warriors%27_Guild\" title=\"Warriors' Guild\" target=\"_blank\">Warriors' Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ardougne_Zoo\" title=\"Ardougne Zoo\" target=\"_blank\">Ardougne Zoo<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Dagannoth Rex#Default",
+        "weakness": [],
+        "creatures": [
+            "Dagannoth (Lighthouse)",
+            "Dagannoth (Waterbirth Island)",
+            "Dagannoth (Waterbirth Island, ranged)",
+            "Dagannoth Prime",
+            "Dagannoth Rex",
+            "Dagannoth Supreme",
+            "Dagannoth fledgeling",
+            "Dagannoth guardian",
+            "Dagannoth spawn"
+        ],
+        "hidden-creatures": [
+            "Dagannoth (Lighthouse)",
+            "Dagannoth (Waterbirth Island)",
+            "Dagannoth (Waterbirth Island, ranged)",
+            "Dagannoth fledgeling",
+            "Dagannoth guardian",
+            "Dagannoth spawn"
+        ],
+        "index": "Dagannoth",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lighthouse\" title=\"Lighthouse\" target=\"_blank\">Lighthouse<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterbirth_Island\" title=\"Waterbirth Island\" target=\"_blank\">Waterbirth Island<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Dark beast#19,000 life points",
+        "weakness": [],
+        "creatures": [
+            "Dark beast",
+            "Dark beast (elite)",
+            "Revenant dark beast"
+        ],
+        "hidden-creatures": [
+            "Dark beast (elite)",
+            "Revenant dark beast"
+        ],
+        "index": "Dark beasts",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Temple_of_Light\" title=\"Temple of Light\" target=\"_blank\">Temple of Light<\/a>"
+        ]
+    },
+    {
+        "default-creature": "K'ril Tsutsaroth#Normal",
+        "weakness": [],
+        "creatures": [
+            "Abyssal beast",
+            "Abyssal demon",
+            "Abyssal lord",
+            "Abyssal savage",
+            "Balfrug Kreeyath",
+            "Black demon",
+            "Cerberus Juvenile",
+            "Gargoyle",
+            "Greater demon",
+            "Greater demon ash lord",
+            "Greater demon berserker",
+            "Greater demon brute",
+            "Greater demon pyromancer",
+            "Greater demon sage",
+            "Greater demon savage",
+            "Imp",
+            "Imp scavenger",
+            "K'ril Tsutsaroth",
+            "Kal'gerion demon",
+            "Kal'gerion demon (The Shadow Reef)",
+            "Lesser demon",
+            "Revenant demon",
+            "Ripper Demon",
+            "Tormented demon",
+            "Tstanon Karlak",
+            "Yor'Ger the Deceiver",
+            "Zakl'n Gritch"
+        ],
+        "hidden-creatures": [
+            "Gargoyle",
+            "Imp",
+            "Kal'gerion demon",
+            "Kal'gerion demon (The Shadow Reef)",
+            "Tstanon Karlak",
+            "Yor'Ger the Deceiver",
+            "Zakl'n Gritch"
+        ],
+        "index": "Demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Corrupted lizard#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted lizard",
+            "Desert Lizard",
+            "Lizard",
+            "Small Lizard"
+        ],
+        "hidden-creatures": [],
+        "index": "Desert lizards",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Ice_cooler\" title=\"Ice cooler\" target=\"_blank\">Ice cooler<\/a>"],
+        "masters": [
+            "Mazchna",
+            "Sumona"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Kharidian_Desert\" title=\"Kharidian Desert\" target=\"_blank\">Kharidian Desert<\/a>"]
+    },
+    {
+        "default-creature": "Desert strykewyrm#Default",
+        "weakness": [],
+        "creatures": ["Desert strykewyrm"],
+        "hidden-creatures": [],
+        "index": "Desert strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Al_Kharid\" title=\"Al Kharid\" target=\"_blank\">Al Kharid<\/a>"]
+    },
+    {
+        "default-creature": "Ripper dinosaur#Normal",
+        "weakness": [],
+        "creatures": [
+            "Baby Dinosaur Skeleton",
+            "Brutish dinosaur",
+            "Feral Dinosaur",
+            "Orikalka",
+            "Osseous",
+            "Pthentraken",
+            "Rathis",
+            "Ripper dinosaur",
+            "Venomous dinosaur"
+        ],
+        "hidden-creatures": [],
+        "index": "Dinosaurs",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Anachronia\" title=\"Anachronia\" target=\"_blank\">Anachronia<\/a>"]
+    },
+    {
+        "default-creature": "Jackal#Default",
+        "weakness": [],
+        "creatures": [
+            "Guard dog",
+            "Jackal",
+            "Shadow Hound",
+            "Wild dog"
+        ],
+        "hidden-creatures": [
+            "Guard dog",
+            "Shadow Hound",
+            "Wild dog"
+        ],
+        "index": "Dogs",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ardougne\" title=\"Ardougne\" target=\"_blank\">Ardougne<\/a>",
+            "<a href=\"https://runescape.wiki/w/McGrubor%27s_Wood\" title=\"McGrubor's Wood\" target=\"_blank\">McGrubor's Wood<\/a>",
+            "<a href=\"https://runescape.wiki/w/Black_Arm_Gang\" title=\"Black Arm Gang\" target=\"_blank\">Black Arm Gang<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven\" title=\"Brimhaven\" target=\"_blank\">Brimhaven<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Queen Black Dragon#Normal",
+        "weakness": [],
+        "creatures": [
+            "Adamant dragon",
+            "Alanogard the Black",
+            "Astellarn",
+            "Baby blue dragon",
+            "Baby red dragon",
+            "Black dragon",
+            "Black dragon (Dragonkin Laboratory)",
+            "Black stone dragon",
+            "Blue dragon",
+            "Bronze dragon",
+            "Brutal green dragon",
+            "Celestial dragon",
+            "Celestial dragon (Dragonkin Laboratory)",
+            "Dragonstone dragon",
+            "Dragonstone dragon (Dragonkin Laboratory)",
+            "Elegorn the Celestial",
+            "Frost dragon",
+            "Green dragon",
+            "Hydrix dragon",
+            "Hydrix dragon (Dragonkin Laboratory)",
+            "Iron dragon",
+            "King Black Dragon",
+            "Mithril dragon",
+            "Nodon artificer",
+            "Nodon engineer",
+            "Nodon guard",
+            "Nodon hunter",
+            "Onyx dragon",
+            "Onyx dragon (Dragonkin Laboratory)",
+            "Queen Black Dragon",
+            "Red dragon",
+            "Red dragon (Dragonkin Laboratory)",
+            "Rune dragon",
+            "Sangri the Red",
+            "Siege engine",
+            "Steel dragon",
+            "Verak Lith",
+            "Verak Little",
+            "Vorkath"
+        ],
+        "hidden-creatures": [],
+        "index": "Dragons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Corrupted dust devil#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted dust devil",
+            "Dust devil",
+            "Dust devil (elite)"
+        ],
+        "hidden-creatures": ["Dust devil (elite)"],
+        "index": "Dust devils",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Face_mask\" title=\"Face mask\" target=\"_blank\">Face mask<\/a>",
+            "<a href=\"https://runescape.wiki/w/Masked_earmuffs\" title=\"Masked earmuffs\" target=\"_blank\">Masked earmuffs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>",
+            "<a href=\"https://runescape.wiki/w/Gas_mask\" title=\"Gas mask\" target=\"_blank\">Gas mask<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Smoke_Dungeon\" title=\"Smoke Dungeon\" target=\"_blank\">Smoke Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Earth warrior#Default",
+        "weakness": [],
+        "creatures": [
+            "Earth warrior",
+            "Earth warrior (elite)"
+        ],
+        "hidden-creatures": ["Earth warrior (elite)"],
+        "index": "Earth warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Edimmu#Default",
+        "weakness": [],
+        "creatures": [
+            "Edimmu",
+            "Edimmu (elite)"
+        ],
+        "hidden-creatures": ["Edimmu (elite)"],
+        "index": "Edimmu",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Dungeoneering\" title=\"Dungeoneering\" target=\"_blank\">Dungeoneering<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Edimmu_resource_dungeon\" title=\"Edimmu resource dungeon\" target=\"_blank\">Edimmu resource dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Elf warrior#Melee",
+        "weakness": [],
+        "creatures": [
+            "Cadarn magus",
+            "Cadarn ranger",
+            "Elf warrior",
+            "Iorwerth guard",
+            "Iorwerth scout",
+            "Knight of Ardougne (West Ardougne)",
+            "Mourner (Mourner Tunnels)",
+            "Seren archer",
+            "Seren mage",
+            "Seren warrior"
+        ],
+        "hidden-creatures": [
+            "Knight of Ardougne (West Ardougne)",
+            "Mourner (Mourner Tunnels)",
+            "Seren archer",
+            "Seren mage",
+            "Seren warrior"
+        ],
+        "index": "Elves",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lletya\" title=\"Lletya\" target=\"_blank\">Lletya<\/a>",
+            "<a href=\"https://runescape.wiki/w/Elf_Camp\" title=\"Elf Camp\" target=\"_blank\">Elf Camp<\/a>",
+            "<a href=\"https://runescape.wiki/w/Prifddinas\" title=\"Prifddinas\" target=\"_blank\">Prifddinas<\/a>",
+            "<a href=\"https://runescape.wiki/w/Heart_of_Gielinor\" title=\"Heart of Gielinor\" target=\"_blank\">Heart of Gielinor<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Fetid zombie#1",
+        "weakness": [],
+        "creatures": ["Fetid zombie"],
+        "hidden-creatures": [],
+        "index": "Fetid zombies",
+        "alias": [],
+        "equipment": [],
+        "masters": ["The Raptor"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Fever spider#Default",
+        "weakness": [],
+        "creatures": ["Fever spider"],
+        "hidden-creatures": [],
+        "index": "Fever spiders",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_gloves\" title=\"Slayer gloves\" target=\"_blank\">Slayer gloves<\/a>"],
+        "masters": ["Chaeldar"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Braindeath_Island\" title=\"Braindeath Island\" target=\"_blank\">Braindeath Island<\/a>"]
+    },
+    {
+        "default-creature": "Fire giant#Default",
+        "weakness": [],
+        "creatures": ["Fire giant"],
+        "hidden-creatures": [],
+        "index": "Fire giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Smoke_Dungeon\" title=\"Smoke Dungeon\" target=\"_blank\">Smoke Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Resource_dungeon\" class=\"mw-redirect\" title=\"Resource dungeon\" target=\"_blank\">Resource dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterfall_Dungeon\" title=\"Waterfall Dungeon\" target=\"_blank\">Waterfall Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Flesh Crawler#Default",
+        "weakness": [],
+        "creatures": ["Flesh Crawler"],
+        "hidden-creatures": [],
+        "index": "Fleshcrawlers",
+        "alias": ["Flesh Crawlers"],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>"]
+    },
+    {
+        "default-creature": "Plague frog#Default",
+        "weakness": [],
+        "creatures": [
+            "Big frog",
+            "Frog",
+            "Frogeel",
+            "Giant frog",
+            "Plague frog",
+            "Swamp frog"
+        ],
+        "hidden-creatures": [
+            "Big frog",
+            "Frogeel",
+            "Giant frog"
+        ],
+        "index": "Frogs",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp\" title=\"Lumbridge Swamp\" target=\"_blank\">Lumbridge Swamp<\/a>",
+            "<a href=\"https://runescape.wiki/w/Sophanem\" title=\"Sophanem\" target=\"_blank\">Sophanem<\/a>",
+            "<a href=\"https://runescape.wiki/w/Jade_vine_maze\" title=\"Jade vine maze\" target=\"_blank\">Jade vine maze<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Fungal mage#Normal",
+        "weakness": [],
+        "creatures": ["Fungal mage"],
+        "hidden-creatures": [],
+        "index": "Fungal magi",
+        "alias": ["Fungal mages"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Ganodermic beast#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ganodermic beast",
+            "Ganodermic runt"
+        ],
+        "hidden-creatures": [],
+        "index": "Ganodermic creatures",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Gargoyle#Regular",
+        "weakness": [],
+        "creatures": ["Gargoyle"],
+        "hidden-creatures": [],
+        "index": "Gargoyles",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Rock_hammer\" title=\"Rock hammer\" target=\"_blank\">Rock hammer<\/a>"],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ruins_(east)\" title=\"Ruins (east)\" target=\"_blank\">Ruins (east)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Gelatinous abomination#Default",
+        "weakness": [],
+        "creatures": ["Gelatinous abomination"],
+        "hidden-creatures": [],
+        "index": "Gelatinous abominations",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Spiked_gloves\" class=\"mw-redirect\" title=\"Spiked gloves\" target=\"_blank\">Spiked gloves<\/a>"],
+        "masters": ["Turael"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Burthorpe_Slayer_Cave\" title=\"Burthorpe Slayer Cave\" target=\"_blank\">Burthorpe Slayer Cave<\/a>"]
+    },
+    {
+        "default-creature": "Hydrix dragon#Default",
+        "weakness": [],
+        "creatures": [
+            "Black stone dragon",
+            "Dragonstone dragon",
+            "Dragonstone dragon (Dragonkin Laboratory)",
+            "Hydrix dragon",
+            "Hydrix dragon (Dragonkin Laboratory)",
+            "Onyx dragon",
+            "Onyx dragon (Dragonkin Laboratory)"
+        ],
+        "hidden-creatures": [],
+        "index": "Gemstone dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_anti-fire_potion\" class=\"mw-redirect\" title=\"Super anti-fire potion\" target=\"_blank\">Super anti-fire potion<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Gemstone_cavern\" title=\"Gemstone cavern\" target=\"_blank\">Gemstone cavern<\/a>"]
+    },
+    {
+        "default-creature": "Ghost#1",
+        "weakness": [],
+        "creatures": [
+            "Aberrant spectre",
+            "Ahrim the Blighted",
+            "Akrisae the Doomed",
+            "Ankou",
+            "Banshee",
+            "Dharok the Wretched",
+            "Edimmu",
+            "Edimmu (elite)",
+            "Ghast",
+            "Ghost",
+            "Ghost (Abandoned Mine)",
+            "Ghost (Ourania Runecrafting Altar)",
+            "Ghost (Shattered Worlds)",
+            "Ghost (Spirit of Summer)",
+            "Ghost (Stronghold of Security)",
+            "Ghost healer",
+            "Ghostly troll bruiser",
+            "Ghostly troll thrower",
+            "Ghostly warrior",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Linza the Disgraced",
+            "Masuta the Descended",
+            "Mighty banshee",
+            "Revenant cyclops",
+            "Revenant dark beast",
+            "Revenant demon",
+            "Revenant dragon",
+            "Revenant goblin",
+            "Revenant hellhound",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant knight",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf",
+            "Risen ghost",
+            "Shade",
+            "Shadow warrior",
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior",
+            "Torag the Corrupted",
+            "Tormented soul (Uncharted Isles)",
+            "Tormented wraith",
+            "Tortured soul (Port Phasmatys)",
+            "Verac the Defiled",
+            "Wight",
+            "Wight (Missing, Presumed Death)",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)"
+        ],
+        "hidden-creatures": [
+            "Edimmu (elite)",
+            "Ghost (Abandoned Mine)",
+            "Ghost (Ourania Runecrafting Altar)",
+            "Ghost (Shattered Worlds)",
+            "Ghost (Spirit of Summer)",
+            "Ghost (Stronghold of Security)",
+            "Revenant cyclops",
+            "Revenant demon",
+            "Revenant goblin",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf",
+            "Tormented soul (Uncharted Isles)",
+            "Tormented wraith",
+            "Tortured soul (Port Phasmatys)",
+            "Wight",
+            "Wight (Missing, Presumed Death)",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)"
+        ],
+        "index": "Ghosts",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka",
+            "The Raptor"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Draynor_Manor\" title=\"Draynor Manor\" target=\"_blank\">Draynor Manor<\/a>",
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Tarn%27s_Lair\" class=\"mw-redirect\" title=\"Tarn's Lair\" target=\"_blank\">Tarn's Lair<\/a>",
+            "<a href=\"https://runescape.wiki/w/Death_Altar\" class=\"mw-redirect\" title=\"Death Altar\" target=\"_blank\">Death Altar<\/a>",
+            "<a href=\"https://runescape.wiki/w/Haunted_Mine\" title=\"Haunted Mine\" target=\"_blank\">Haunted Mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clan_Wars\" title=\"Clan Wars\" target=\"_blank\">Clan Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Forgotten_Cemetery\" class=\"mw-redirect\" title=\"Forgotten Cemetery\" target=\"_blank\">Forgotten Cemetery<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ravenous ghoul#Default",
+        "weakness": [],
+        "creatures": [
+            "Ghoul",
+            "Ghoul (Paterdomus)",
+            "Ravenous ghoul",
+            "Ravenous ghoul (Mazchna)"
+        ],
+        "hidden-creatures": [
+            "Ghoul (Paterdomus)",
+            "Ravenous ghoul (Mazchna)"
+        ],
+        "index": "Ghouls",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Canifis\" title=\"Canifis\" target=\"_blank\">Canifis<\/a>"]
+    },
+    {
+        "default-creature": "Arch-Glacor#Normal mode",
+        "weakness": [],
+        "creatures": [
+            "Arch-Glacor",
+            "Bolstered Glacyte",
+            "Enduring glacyte",
+            "Glacor",
+            "Glacyte",
+            "Glacyte (Arch-Glacor)",
+            "Sapping glacyte",
+            "Unstable glacyte"
+        ],
+        "hidden-creatures": [],
+        "index": "Glacors",
+        "alias": ["Glacor"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Glacor_Cave\" title=\"Glacor Cave\" target=\"_blank\">Glacor Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Glacor_Front\" title=\"Glacor Front\" target=\"_blank\">Glacor front<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Goblin#Level 11",
+        "weakness": [],
+        "creatures": [
+            "Angry goblin",
+            "Brokeface",
+            "Cave goblin (monster)",
+            "Cave goblin guard",
+            "Cave goblin miner",
+            "Goblin",
+            "Goblin (Goblin Village)",
+            "Goblin (God Wars Dungeon)",
+            "Goblin (Stronghold of Security)",
+            "Guard (cave goblin)",
+            "Lumpnose",
+            "Sergeant Grimspike",
+            "Sergeant Steelwill",
+            "Sergeant Strongstack",
+            "Skoblin",
+            "Stinkears"
+        ],
+        "hidden-creatures": [
+            "Angry goblin",
+            "Brokeface",
+            "Cave goblin (monster)",
+            "Cave goblin guard",
+            "Cave goblin miner",
+            "Guard (cave goblin)",
+            "Lumpnose",
+            "Sergeant Grimspike",
+            "Sergeant Steelwill",
+            "Sergeant Strongstack",
+            "Skoblin"
+        ],
+        "index": "Goblins",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Jacquelyn"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_catacombs\" class=\"mw-redirect\" title=\"Lumbridge catacombs\" target=\"_blank\">Lumbridge catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Goblin_Village\" title=\"Goblin Village\" target=\"_blank\">Goblin Village<\/a>",
+            "<a href=\"https://runescape.wiki/w/Port_Sarim\" title=\"Port Sarim\" target=\"_blank\">Port Sarim<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Dig_Site\" title=\"Varrock Dig Site\" target=\"_blank\">Varrock Dig Site<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass<\/a>",
+            "<a href=\"https://runescape.wiki/w/Goblin_Cave\" title=\"Goblin Cave\" target=\"_blank\">Goblin Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Coal_truck_mining_site\" class=\"mw-redirect\" title=\"Coal truck mining site\" target=\"_blank\">Coal truck mining site<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Observatory\" title=\"Observatory\" target=\"_blank\">Observatory<\/a>",
+            "<a href=\"https://runescape.wiki/w/Gunnarsgrunn\" class=\"mw-redirect\" title=\"Gunnarsgrunn\" target=\"_blank\">Gunnarsgrunn<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Gorak#God Wars Dungeon",
+        "weakness": [],
+        "creatures": ["Gorak"],
+        "hidden-creatures": [],
+        "index": "Goraks",
+        "alias": ["Gorak"],
+        "equipment": [],
+        "masters": ["Duradel"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fairy_ring\" class=\"mw-redirect\" title=\"Fairy ring\" target=\"_blank\">Fairy ring<\/a>",
+            "<span class=\"fairycode\" style=\"word-break:keep-all\" target=\"_blank\" href=\"https://runescape.wiki\"><b>D<\/b><b>I<\/b><b>R<\/b><\/span>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Greater demon ash lord#Wilderness",
+        "weakness": [],
+        "creatures": [
+            "Greater demon ash lord",
+            "Greater demon berserker"
+        ],
+        "hidden-creatures": [],
+        "index": "Greater demon berserkers and ash lords",
+        "alias": [
+            "Greater demon ash lords",
+            "Greater demon berserkers"
+        ],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/The_Zamorakian_Undercity\" title=\"The Zamorakian Undercity\" target=\"_blank\">The Zamorakian Undercity<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "K'ril Tsutsaroth#Normal",
+        "weakness": [],
+        "creatures": [
+            "Butcher demon",
+            "Champion of Infernus",
+            "Chaos Demon",
+            "Chaos Demon Savage",
+            "Denizen of Infernus",
+            "Greater demon",
+            "Greater demon (elite)",
+            "Greater demon ash lord",
+            "Greater demon berserker",
+            "Greater demon brute",
+            "Greater demon pyromancer",
+            "Greater demon sage",
+            "Greater demon savage",
+            "K'ril Tsutsaroth",
+            "Kor'Vath the Blightbringer",
+            "La'Kalor the Unbroken",
+            "Shara'Kor the Widowmaker",
+            "Tstanon Karlak"
+        ],
+        "hidden-creatures": [
+            "Butcher demon",
+            "Champion of Infernus",
+            "Greater demon (elite)"
+        ],
+        "index": "Greater demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Entrana_Dungeon\" title=\"Entrana Dungeon\" target=\"_blank\">Entrana Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Demonic_ruins\" class=\"mw-redirect\" title=\"Demonic ruins\" target=\"_blank\">Demonic ruins<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze_Dungeon\" title=\"Lava Maze Dungeon\" target=\"_blank\">Lava Maze Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Green dragon#1",
+        "weakness": [],
+        "creatures": [
+            "Brutal green dragon",
+            "Green dragon"
+        ],
+        "hidden-creatures": [],
+        "index": "Green dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Mazchna",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Chaos_tunnels\" class=\"mw-redirect\" title=\"Chaos tunnels\" target=\"_blank\">Chaos tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clan_Wars\" title=\"Clan Wars\" target=\"_blank\">Clan Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Goblin_Village\" title=\"Goblin Village\" target=\"_blank\">Goblin Village<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Grifolapine#Normal",
+        "weakness": [],
+        "creatures": ["Grifolapine"],
+        "hidden-creatures": [],
+        "index": "Grifolapines",
+        "alias": [],
+        "equipment": [
+            "<span class=\"pic-link inventory-image\" target=\"_blank\" href=\"https://runescape.wiki\"><span class=\"mw-default-size\" typeof=\"mw:File\"><a href=\"/w/Neem_oil\" title=\"Neem oil\"><img alt=\"Neem oil.png: RS3 Inventory image of Neem oil\" src=\"/images/Neem_oil.png?f5dec\" decoding=\"async\" loading=\"lazy\" width=\"27\" height=\"29\" class=\"mw-file-element\" data-file-width=\"27\" data-file-height=\"29\"><\/a><\/span><\/span>",
+            "<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Grifolaroo#Normal",
+        "weakness": [],
+        "creatures": ["Grifolaroo"],
+        "hidden-creatures": [],
+        "index": "Grifolaroos",
+        "alias": [],
+        "equipment": [
+            "<span class=\"pic-link inventory-image\" target=\"_blank\" href=\"https://runescape.wiki\"><span class=\"mw-default-size\" typeof=\"mw:File\"><a href=\"/w/Neem_oil\" title=\"Neem oil\"><img alt=\"Neem oil.png: RS3 Inventory image of Neem oil\" src=\"/images/Neem_oil.png?f5dec\" decoding=\"async\" loading=\"lazy\" width=\"27\" height=\"29\" class=\"mw-file-element\" data-file-width=\"27\" data-file-height=\"29\"><\/a><\/span><\/span>",
+            "<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Mature grotworm#Default",
+        "weakness": [],
+        "creatures": [
+            "Giant worm",
+            "Grotworm",
+            "Mature grotworm",
+            "Young grotworm"
+        ],
+        "hidden-creatures": ["Giant worm"],
+        "index": "Grotworms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "The Raptor",
+            "Mazchna",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Grotworm_Lair\" title=\"Grotworm Lair\" target=\"_blank\">Grotworm Lair<\/a>"]
+    },
+    {
+        "default-creature": "Harpie Bug Swarm#Default",
+        "weakness": [],
+        "creatures": [
+            "Harpie Bug Swarm",
+            "Harpie Bug Swarm (elite)"
+        ],
+        "hidden-creatures": ["Harpie Bug Swarm (elite)"],
+        "index": "Harpie bug swarms",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Bug_lantern\" class=\"mw-redirect\" title=\"Bug lantern\" target=\"_blank\">Bug lantern<\/a>"],
+        "masters": ["Chaeldar"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Karamja\" title=\"Karamja\" target=\"_blank\">Karamja<\/a>"]
+    },
+    {
+        "default-creature": "Hellhound#Normal",
+        "weakness": [],
+        "creatures": [
+            "Cerberus Juvenile",
+            "Hellhound",
+            "Hellhound (Heart of Gielinor)",
+            "Hellhound (The Zamorakian Undercity)",
+            "Hellhound (summoned)",
+            "Hellhound Alpha",
+            "Hellhound Hunter",
+            "Hellhound Hunter (summoned)",
+            "Revenant hellhound"
+        ],
+        "hidden-creatures": ["Hellhound (Heart of Gielinor)"],
+        "index": "Hellhounds",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Deserted_Keep\" title=\"Deserted Keep\" target=\"_blank\">Deserted Keep<\/a>",
+            "<a href=\"https://runescape.wiki/w/Witchaven_Shrine_Dungeon\" class=\"mw-redirect\" title=\"Witchaven Shrine Dungeon\" target=\"_blank\">Witchaven Shrine Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Hill Giant#Default",
+        "weakness": [],
+        "creatures": ["Hill Giant"],
+        "hidden-creatures": [],
+        "index": "Hill giants",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Deep_Wilderness_Dungeon\" title=\"Deep Wilderness Dungeon\" target=\"_blank\">Deep Wilderness Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<sup target=\"_blank\" href=\"https://runescape.wiki\">(<a href=\"/w/Edgeville_Dungeon_hill_giant_resource_dungeon\" title=\"Edgeville Dungeon hill giant resource dungeon\">resource dungeon<\/a>)<\/sup>",
+            "<a href=\"https://runescape.wiki/w/Gnome_Stronghold\" class=\"mw-redirect\" title=\"Gnome Stronghold\" target=\"_blank\">Gnome Stronghold<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze\" title=\"Lava Maze\" target=\"_blank\">Lava Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Observatory\" title=\"Observatory\" target=\"_blank\">Observatory<\/a>",
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Tree_Gnome_Village_(location)\" title=\"Tree Gnome Village (location)\" target=\"_blank\">Tree Gnome Village<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Hobgoblin#Level 15",
+        "weakness": [],
+        "creatures": [
+            "Hobgoblin",
+            "Hobgoblin (elite)"
+        ],
+        "hidden-creatures": ["Hobgoblin (elite)"],
+        "index": "Hobgoblins",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Dungeon\" title=\"Asgarnian Ice Dungeon\" target=\"_blank\">Asgarnian Ice Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crandor\" title=\"Crandor\" target=\"_blank\">Crandor<\/a>",
+            "<a href=\"https://runescape.wiki/w/Hobgoblin_Peninsula\" title=\"Hobgoblin Peninsula\" target=\"_blank\">Hobgoblin Peninsula<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Rellekka\" title=\"Rellekka\" target=\"_blank\">Rellekka<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterbirth_Island\" title=\"Waterbirth Island\" target=\"_blank\">Waterbirth Island<\/a>",
+            "<a href=\"https://runescape.wiki/w/Hobgoblin_Mine\" class=\"mw-redirect\" title=\"Hobgoblin Mine\" target=\"_blank\">Hobgoblin Mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Witchaven_Dungeon\" title=\"Witchaven Dungeon\" target=\"_blank\">Witchaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Hydrix dragon#Default",
+        "weakness": [],
+        "creatures": ["Hydrix dragon"],
+        "hidden-creatures": [],
+        "index": "Hydrix dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_anti-fire_potion\" class=\"mw-redirect\" title=\"Super anti-fire potion\" target=\"_blank\">Super anti-fire potion<\/a>"],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Wilderness_(level_47)_Lava_Maze_mine\" title=\"Wilderness (level 47) Lava Maze mine\" target=\"_blank\">Wilderness (level 47) Lava Maze mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Deep_Wilderness_Dungeon\" title=\"Deep Wilderness Dungeon\" target=\"_blank\">Deep Wilderness Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ice giant#Level 47 (1)",
+        "weakness": [],
+        "creatures": ["Ice giant"],
+        "hidden-creatures": [],
+        "index": "Ice giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Caves\" class=\"mw-redirect\" title=\"Asgarnian Ice Caves\" target=\"_blank\">Asgarnian Ice Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>",
+            "<a href=\"https://runescape.wiki/w/White_Wolf_Mountain\" title=\"White Wolf Mountain\" target=\"_blank\">White Wolf Mountain<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ice strykewyrm#Default",
+        "weakness": [],
+        "creatures": ["Ice strykewyrm"],
+        "hidden-creatures": [],
+        "index": "Ice strykewyrms",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Fire_cape\" title=\"Fire cape\" target=\"_blank\">Fire cape<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ice_strykewyrm_cave\" title=\"Ice strykewyrm cave\" target=\"_blank\">Ice strykewyrm cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ice warrior#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ice warrior",
+            "Icelord"
+        ],
+        "hidden-creatures": ["Icelord"],
+        "index": "Ice warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/White_Wolf_Mountain\" title=\"White Wolf Mountain\" target=\"_blank\">White Wolf Mountain<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>",
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Caves\" class=\"mw-redirect\" title=\"Asgarnian Ice Caves\" target=\"_blank\">Asgarnian Ice Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Icefiend#God Wars Dungeon",
+        "weakness": [],
+        "creatures": [
+            "Icefiend",
+            "Icefiend (Ghorrock)",
+            "Revenant icefiend"
+        ],
+        "hidden-creatures": ["Icefiend (Ghorrock)"],
+        "index": "Icefiends",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ice_mountain\" class=\"mw-redirect\" title=\"Ice mountain\" target=\"_blank\">Ice mountain<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Infernal Mage#Default",
+        "weakness": [],
+        "creatures": [
+            "Infernal Mage",
+            "Infernal Mage (elite)"
+        ],
+        "hidden-creatures": ["Infernal Mage (elite)"],
+        "index": "Infernal mages",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Iron dragon#Default",
+        "weakness": [],
+        "creatures": ["Iron dragon"],
+        "hidden-creatures": [],
+        "index": "Iron dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Jelly#Default",
+        "weakness": [],
+        "creatures": ["Jelly"],
+        "hidden-creatures": [],
+        "index": "Jellies",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Soul_Wars\" title=\"Soul Wars\" target=\"_blank\">Soul Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Mahjarrat_Ritual_Site_Cavern\" class=\"mw-redirect\" title=\"Mahjarrat Ritual Site Cavern\" target=\"_blank\">Mahjarrat Ritual Site Cavern<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Jungle horror#Default",
+        "weakness": [],
+        "creatures": [
+            "Jungle horror",
+            "Quetzathog",
+            "Sea horror"
+        ],
+        "hidden-creatures": [
+            "Quetzathog",
+            "Sea horror"
+        ],
+        "index": "Jungle horrors",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mos_Le%27Harmless\" title=\"Mos Le'Harmless\" target=\"_blank\">Mos Le'Harmless<\/a>"]
+    },
+    {
+        "default-creature": "Jungle strykewyrm#Default",
+        "weakness": [],
+        "creatures": ["Jungle strykewyrm"],
+        "hidden-creatures": [],
+        "index": "Jungle strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/South_Feldip_Hills\" title=\"South Feldip Hills\" target=\"_blank\">South Feldip Hills<\/a>"]
+    },
+    {
+        "default-creature": "Kal'gerion demon#Bloodchiller",
+        "weakness": [],
+        "creatures": [
+            "Kal'gerion demon",
+            "Kal'gerion demon (The Shadow Reef)",
+            "Yor'Ger the Deceiver"
+        ],
+        "hidden-creatures": [],
+        "index": "Kal'gerion demons",
+        "alias": ["Kal'gerion demon"],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kal%27gerion_resource_dungeon\" title=\"Kal'gerion resource dungeon\" target=\"_blank\">Kal'gerion resource dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Demonic_Ruins\" title=\"Demonic Ruins\" target=\"_blank\">Demonic Ruins<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Corrupted kalphite guardian#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted kalphite guardian",
+            "Corrupted kalphite marauder",
+            "Exiled Kalphite Queen",
+            "Exiled kalphite guardian",
+            "Exiled kalphite marauder",
+            "Exiled kalphite paragon",
+            "Exiled kalphite soldier",
+            "Exiled kalphite worker",
+            "Kalphite Guardian",
+            "Kalphite King",
+            "Kalphite Queen",
+            "Kalphite Soldier",
+            "Kalphite Worker"
+        ],
+        "hidden-creatures": [
+            "Exiled kalphite guardian",
+            "Exiled kalphite marauder",
+            "Exiled kalphite paragon"
+        ],
+        "index": "Kalphite",
+        "alias": ["Kalphites"],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kalphite_Lair\" class=\"mw-redirect\" title=\"Kalphite Lair\" target=\"_blank\">Kalphite Lair<\/a>",
+            "<a href=\"https://runescape.wiki/w/Exiled_Kalphite_Hive\" title=\"Exiled Kalphite Hive\" target=\"_blank\">Exiled Kalphite Hive<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Killerwatt#Default",
+        "weakness": [],
+        "creatures": ["Killerwatt"],
+        "hidden-creatures": [],
+        "index": "Killerwatts",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Insulated_boots\" title=\"Insulated boots\" target=\"_blank\">Insulated boots<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Killerwatt_plane\" title=\"Killerwatt plane\" target=\"_blank\">Killerwatt plane<\/a>"]
+    },
+    {
+        "default-creature": "Kurask#Examine #1",
+        "weakness": [],
+        "creatures": ["Kurask"],
+        "hidden-creatures": [],
+        "index": "Kurask",
+        "alias": ["Kurasks"],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_sword\" title=\"Leaf-bladed sword\" target=\"_blank\">Leaf-bladed sword<\/a>",
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_spear\" title=\"Leaf-bladed spear\" target=\"_blank\">Leaf-bladed spear<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Dart\" title=\"Slayer Dart\" target=\"_blank\">Slayer Dart<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad_arrows\" class=\"mw-redirect\" title=\"Broad arrows\" target=\"_blank\">Broad arrows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad-tipped_bolts\" title=\"Broad-tipped bolts\" target=\"_blank\">Broad-tipped bolts<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Lava strykewyrm#Default",
+        "weakness": [],
+        "creatures": [
+            "Engorged lava strykewyrm",
+            "Lava strykewyrm",
+            "Lava strykewyrm (Dragonkin Laboratory)",
+            "WildyWyrm (2015, historical)"
+        ],
+        "hidden-creatures": [
+            "Engorged lava strykewyrm",
+            "Lava strykewyrm (Dragonkin Laboratory)"
+        ],
+        "index": "Lava strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"]
+    },
+    {
+        "default-creature": "Lesser demon#1",
+        "weakness": [],
+        "creatures": [
+            "Lesser demon",
+            "Lesser demon (Wizards' Tower)",
+            "Zakl'n Gritch"
+        ],
+        "hidden-creatures": [],
+        "index": "Lesser demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Mazchna",
+            "Chaeldar",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Wizards%27_Tower\" title=\"Wizards' Tower\" target=\"_blank\">Wizards' Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Resource_dungeon\" class=\"mw-redirect\" title=\"Resource dungeon\" target=\"_blank\">Resource dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja_Dungeon\" class=\"mw-redirect\" title=\"Karamja Dungeon\" target=\"_blank\">Karamja Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crandor\" title=\"Crandor\" target=\"_blank\">Crandor<\/a>",
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Demonic_Ruins\" title=\"Demonic Ruins\" target=\"_blank\">Demonic Ruins<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clan_Wars\" title=\"Clan Wars\" target=\"_blank\">Clan Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze\" title=\"Lava Maze\" target=\"_blank\">Lava Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Living rock patriarch#Default",
+        "weakness": [],
+        "creatures": [
+            "Living rock patriarch",
+            "Living rock protector",
+            "Living rock striker"
+        ],
+        "hidden-creatures": [],
+        "index": "Living rock creatures",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Kuradal"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Living_rock_caverns\" class=\"mw-redirect\" title=\"Living rock caverns\" target=\"_blank\">Living rock caverns<\/a>"]
+    },
+    {
+        "default-creature": "Wyvern#Default",
+        "weakness": [],
+        "creatures": [
+            "Wyvern",
+            "Wyvern (elite)"
+        ],
+        "hidden-creatures": ["Wyvern (elite)"],
+        "index": "Living wyverns",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Wyrmfire_potion\" title=\"Wyrmfire potion\" target=\"_blank\">Wyrmfire potion<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Elemental_Workshop_equipment\" title=\"Elemental Workshop equipment\" target=\"_blank\">Elemental Workshop shield<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Dungeon\" title=\"Asgarnian Ice Dungeon\" target=\"_blank\">Asgarnian Ice Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Minotaur#Level 12",
+        "weakness": [],
+        "creatures": ["Minotaur"],
+        "hidden-creatures": [],
+        "index": "Minotaurs",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>"]
+    },
+    {
+        "default-creature": "Mithril dragon#Default",
+        "weakness": [],
+        "creatures": ["Mithril dragon"],
+        "hidden-creatures": [],
+        "index": "Mithril dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Ancient_Cavern\" title=\"Ancient Cavern\" target=\"_blank\">Ancient Cavern<\/a>"]
+    },
+    {
+        "default-creature": "Mogre#Default",
+        "weakness": [],
+        "creatures": ["Mogre"],
+        "hidden-creatures": [],
+        "index": "Mogres",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Super_fishing_explosive\" title=\"Super fishing explosive\" target=\"_blank\">Super<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fishing_explosive\" title=\"Fishing explosive\" target=\"_blank\">Fishing explosives<\/a>"
+        ],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mudskipper_Point\" title=\"Mudskipper Point\" target=\"_blank\">Mudskipper Point<\/a>"]
+    },
+    {
+        "default-creature": "Molanisk#Default",
+        "weakness": [],
+        "creatures": ["Molanisk"],
+        "hidden-creatures": [],
+        "index": "Molanisks",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_bell\" title=\"Slayer bell\" target=\"_blank\">Slayer bell<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Moss giant#Common (1)",
+        "weakness": [],
+        "creatures": ["Moss giant"],
+        "hidden-creatures": [],
+        "index": "Moss giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crandor_Isle\" class=\"mw-redirect\" title=\"Crandor Isle\" target=\"_blank\">Crandor Isle<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fishing_Guild\" title=\"Fishing Guild\" target=\"_blank\">Fishing Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Moss_Giant_Island\" title=\"Moss Giant Island\" target=\"_blank\">Moss Giant Island<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pirates%27_Cove\" title=\"Pirates' Cove\" target=\"_blank\">Pirates' Cove<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Glarial%27s_Tomb\" title=\"Glarial's Tomb\" target=\"_blank\">Glarial's Tomb<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bladed muspah#Default",
+        "weakness": [],
+        "creatures": [
+            "Bladed muspah",
+            "Force muspah",
+            "Throwing muspah"
+        ],
+        "hidden-creatures": [],
+        "index": "Muspah",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Freneskae\" title=\"Freneskae\" target=\"_blank\">Freneskae<\/a>"]
+    },
+    {
+        "default-creature": "Mutated jadinko baby#Default",
+        "weakness": [],
+        "creatures": [
+            "Mutated jadinko baby",
+            "Mutated jadinko guard",
+            "Mutated jadinko male"
+        ],
+        "hidden-creatures": [],
+        "index": "Mutated jadinkos",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Jadinko_Lair\" title=\"Jadinko Lair\" target=\"_blank\">Jadinko Lair<\/a>"]
+    },
+    {
+        "default-creature": "Mutated zygomite#Level 58",
+        "weakness": [],
+        "creatures": ["Mutated zygomite"],
+        "hidden-creatures": [],
+        "index": "Mutated zygomites",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Fungicide_spray\" title=\"Fungicide spray\" target=\"_blank\">Fungicide spray<\/a>"],
+        "masters": ["Chaeldar"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Zanaris\" title=\"Zanaris\" target=\"_blank\">Zanaris<\/a>"]
+    },
+    {
+        "default-creature": "Nechryael#Default",
+        "weakness": [],
+        "creatures": [
+            "Nechryael",
+            "Nechryael (Heart of Gielinor)",
+            "Nechryael (elite)"
+        ],
+        "hidden-creatures": [
+            "Nechryael (Heart of Gielinor)",
+            "Nechryael (elite)"
+        ],
+        "index": "Nechryael",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Nightmare#Default",
+        "weakness": [],
+        "creatures": ["Nightmare"],
+        "hidden-creatures": [],
+        "index": "Nightmare creatures",
+        "alias": ["Nightmare"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Freneskae#The_Ritual_Site\" title=\"Freneskae\" target=\"_blank\">Freneskae (Ritual Site)<\/a>"]
+    },
+    {
+        "default-creature": "Blood nihil#normal",
+        "weakness": [],
+        "creatures": [
+            "Blood nihil",
+            "Ice nihil",
+            "Shadow nihil",
+            "Smoke nihil"
+        ],
+        "hidden-creatures": [],
+        "index": "Nihil",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Freneskae#The_Pit\" title=\"Freneskae\" target=\"_blank\">Freneskae (the Pit)<\/a>"]
+    },
+    {
+        "default-creature": "Nodon guard#Default",
+        "weakness": [],
+        "creatures": [
+            "Kerapac, the bound",
+            "Nodon artificer",
+            "Nodon enforcer",
+            "Nodon engineer",
+            "Nodon guard",
+            "Nodon hunter",
+            "Siege engine"
+        ],
+        "hidden-creatures": [],
+        "index": "Nodon dragonkin",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Nodon_Front\" title=\"Nodon Front\" target=\"_blank\">Nodon Front<\/a>"]
+    },
+    {
+        "default-creature": "Enclave guard#Default",
+        "weakness": [],
+        "creatures": [
+            "Enclave guard",
+            "Mogre",
+            "Ogre",
+            "Ogre chieftain",
+            "Ogress",
+            "Ogress champion",
+            "Ogress warrior",
+            "Skogre",
+            "Zogre"
+        ],
+        "hidden-creatures": ["Skogre"],
+        "index": "Ogres",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Yanille\" title=\"Yanille\" target=\"_blank\">Yanille<\/a>",
+            "<a href=\"https://runescape.wiki/w/Castle_Wars\" title=\"Castle Wars\" target=\"_blank\">Castle Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Gu%27Tanoth\" title=\"Gu'Tanoth\" target=\"_blank\">Gu'Tanoth<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Druid_Tower\" title=\"Chaos Druid Tower\" target=\"_blank\">Chaos Druid Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clock_Tower_Dungeon\" title=\"Clock Tower Dungeon\" target=\"_blank\">Clock Tower Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Witchaven_Dungeon\" title=\"Witchaven Dungeon\" target=\"_blank\">Witchaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass (dungeon)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Combat_Training_Camp\" title=\"Combat Training Camp\" target=\"_blank\">Combat Training Camp<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Onyx dragon#Default",
+        "weakness": [],
+        "creatures": ["Onyx dragon"],
+        "hidden-creatures": [],
+        "index": "Onyx dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_anti-fire_potion\" class=\"mw-redirect\" title=\"Super anti-fire potion\" target=\"_blank\">Super anti-fire potion<\/a>"],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Gemstone_cavern\" title=\"Gemstone cavern\" target=\"_blank\">Gemstone cavern<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Deep_Wilderness_Dungeon\" title=\"Deep Wilderness Dungeon\" target=\"_blank\">Deep Wilderness Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Otherworldly being#Default",
+        "weakness": [],
+        "creatures": ["Otherworldly being"],
+        "hidden-creatures": [],
+        "index": "Otherworldly beings",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Zanaris\" title=\"Zanaris\" target=\"_blank\">Zanaris<\/a>"]
+    },
+    {
+        "default-creature": "Pyrefiend#Level 38",
+        "weakness": [],
+        "creatures": [
+            "Pyrefiend",
+            "Pyrefiend (The Zamorakian Undercity)",
+            "Pyrefiend (summoned)",
+            "Revenant pyrefiend",
+            "Seething Pyrefiend",
+            "Smoulders",
+            "Smoulders, the Revenger"
+        ],
+        "hidden-creatures": [],
+        "index": "Pyrefiends",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Smoke_Dungeon\" title=\"Smoke Dungeon\" target=\"_blank\">Smoke Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Warped rat#Default",
+        "weakness": [],
+        "creatures": [
+            "Angry giant rat",
+            "Brine rat",
+            "Crypt rat",
+            "Dungeon rat",
+            "Giant crypt rat",
+            "Giant rat",
+            "Rat",
+            "Warped rat"
+        ],
+        "hidden-creatures": [],
+        "index": "Rats",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Jacquelyn"],
+        "locations": []
+    },
+    {
+        "default-creature": "Red dragon#1",
+        "weakness": [],
+        "creatures": [
+            "Baby red dragon",
+            "Red dragon",
+            "Red dragon (Dragonkin Laboratory)",
+            "Sangri the Red"
+        ],
+        "hidden-creatures": [
+            "Red dragon (Dragonkin Laboratory)",
+            "Sangri the Red"
+        ],
+        "index": "Red dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Sumona",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Red_Dragon_Isle\" title=\"Red Dragon Isle\" target=\"_blank\">Red Dragon Isle<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Revenant cyclops#Default",
+        "weakness": [],
+        "creatures": [
+            "Revenant cyclops",
+            "Revenant dark beast",
+            "Revenant demon",
+            "Revenant dragon",
+            "Revenant goblin",
+            "Revenant hellhound",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant knight",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf"
+        ],
+        "hidden-creatures": [],
+        "index": "Revenants",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Forinthry_Dungeon\" title=\"Forinthry Dungeon\" target=\"_blank\">Forinthry Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Ripper Demon#Default",
+        "weakness": [],
+        "creatures": [
+            "Ripper Demon",
+            "Slasher Demon"
+        ],
+        "hidden-creatures": ["Slasher Demon"],
+        "index": "Ripper demons",
+        "alias": ["Ripper Demon"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ripper_Demon_cave\" title=\"Ripper Demon cave\" target=\"_blank\">Ripper Demon cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Risen ghost#Default",
+        "weakness": [],
+        "creatures": ["Risen ghost"],
+        "hidden-creatures": [],
+        "index": "Risen ghosts",
+        "alias": ["Risen ghost"],
+        "equipment": [],
+        "masters": ["The Raptor"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">Crypt (Wilderness)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Rock slug#Default",
+        "weakness": [],
+        "creatures": ["Rock slug"],
+        "hidden-creatures": [],
+        "index": "Rockslugs",
+        "alias": ["Rock slugs"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Bag_of_salt\" title=\"Bag of salt\" target=\"_blank\">Bag of salt<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Rune dragon#Armoured",
+        "weakness": [],
+        "creatures": [
+            "Elite rune dragon",
+            "Rune dragon"
+        ],
+        "hidden-creatures": ["Elite rune dragon"],
+        "index": "Rune dragons",
+        "alias": ["Rune dragon"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_antifire\" title=\"Super antifire\" target=\"_blank\">Super antifire<\/a>"],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mount_Firewake\" title=\"Mount Firewake\" target=\"_blank\">Mount Firewake<\/a>"]
+    },
+    {
+        "default-creature": "Scarab akh#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted scarab",
+            "Locust lancer",
+            "Locust ranger",
+            "Locust rider",
+            "Scabaras lancer",
+            "Scabaras mage",
+            "Scabaras ranger",
+            "Scarab akh",
+            "Scarab mage",
+            "Small scarab"
+        ],
+        "hidden-creatures": [],
+        "index": "Scabarites",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Sophanem\" title=\"Sophanem\" target=\"_blank\">Sophanem<\/a>",
+            "<a href=\"https://runescape.wiki/w/Agility_pyramid\" class=\"mw-redirect\" title=\"Agility pyramid\" target=\"_blank\">Agility pyramid<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dealing_with_Scabaras\" title=\"Dealing with Scabaras\" target=\"_blank\">Dealing with Scabaras<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Corrupted scorpion#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted scorpion",
+            "Grave scorpion",
+            "King Scorpion",
+            "Pit Scorpion",
+            "Poison Scorpion",
+            "Scorpion",
+            "Scorpion (Ape Atoll)"
+        ],
+        "hidden-creatures": [
+            "Grave scorpion",
+            "King Scorpion",
+            "Pit Scorpion",
+            "Poison Scorpion",
+            "Scorpion (Ape Atoll)"
+        ],
+        "index": "Scorpions",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Al_Kharid_mining_site\" class=\"mw-redirect\" title=\"Al Kharid mining site\" target=\"_blank\">Al Kharid mining site<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dwarven_mines\" title=\"Dwarven mines\" target=\"_blank\">Dwarven mines<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ardougne_Zoo\" title=\"Ardougne Zoo\" target=\"_blank\">Ardougne Zoo<\/a>",
+            "<a href=\"https://runescape.wiki/w/Scorpion_Pit\" title=\"Scorpion Pit\" target=\"_blank\">Scorpion Pit<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja_Volcano\" title=\"Karamja Volcano\" target=\"_blank\">Karamja Volcano<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Sea Snake Hatchling#Default",
+        "weakness": [],
+        "creatures": [
+            "Sea Snake Hatchling",
+            "Sea Snake Young"
+        ],
+        "hidden-creatures": [],
+        "index": "Sea snakes",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Miscellania_%26_Etceteria_Dungeon\" class=\"mw-redirect\" title=\"Miscellania &amp; Etceteria Dungeon\" target=\"_blank\">Miscellania &amp; Etceteria Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Shade#Default",
+        "weakness": [],
+        "creatures": ["Shade"],
+        "hidden-creatures": [],
+        "index": "Shades",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Mort%27ton\" title=\"Mort'ton\" target=\"_blank\">Mort'ton<\/a>",
+            "<a href=\"https://runescape.wiki/w/Shade_Catacombs\" title=\"Shade Catacombs\" target=\"_blank\">Shade Catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Temple_Trekking\" title=\"Temple Trekking\" target=\"_blank\">Temple Trekking<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Manifest shadow#Default",
+        "weakness": [],
+        "creatures": [
+            "Blissful shadow",
+            "Manifest shadow",
+            "Shadow (Temple of Light)",
+            "Truthful shadow"
+        ],
+        "hidden-creatures": [],
+        "index": "Shadow creatures",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Temple_of_Light\" title=\"Temple of Light\" target=\"_blank\">Temple of Light<\/a>",
+            "<a href=\"https://runescape.wiki/w/Prifddinas\" title=\"Prifddinas\" target=\"_blank\">Prifddinas<\/a>",
+            "<a href=\"https://runescape.wiki/w/Amlodd_Clan\" title=\"Amlodd Clan\" target=\"_blank\">Amlodd Clan<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Shadow warrior#Default",
+        "weakness": [],
+        "creatures": ["Shadow warrior"],
+        "hidden-creatures": [],
+        "index": "Shadow warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Legends%27_Guild\" title=\"Legends' Guild\" target=\"_blank\">Legends' Guild<\/a>"]
+    },
+    {
+        "default-creature": "Skeletal Wyvern#1",
+        "weakness": [],
+        "creatures": ["Skeletal Wyvern"],
+        "hidden-creatures": [],
+        "index": "Skeletal wyverns",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Wyrmfire_potion\" title=\"Wyrmfire potion\" target=\"_blank\">Wyrmfire potion<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Elemental_Workshop_equipment\" title=\"Elemental Workshop equipment\" target=\"_blank\">Elemental Workshop shield<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Dungeon\" title=\"Asgarnian Ice Dungeon\" target=\"_blank\">Asgarnian Ice Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Skeleton (Lumbridge Catacombs)#Default",
+        "weakness": [],
+        "creatures": [
+            "Ankou",
+            "Ankou (elite)",
+            "Baby Dinosaur Skeleton",
+            "Bossy McBossFace's First mate",
+            "Bound skeleton",
+            "Giant skeleton (Shadow Dungeon)",
+            "Giant skeleton (Tarn's Lair)",
+            "Huge skeleton",
+            "Osseous",
+            "Skeletal Wyvern",
+            "Skeletal hand",
+            "Skeletal miner",
+            "Skeletal shielder",
+            "Skeleton",
+            "Skeleton (Ape Atoll)",
+            "Skeleton (Barrows)",
+            "Skeleton (Dark Warriors' Fortress)",
+            "Skeleton (Heart of Gielinor)",
+            "Skeleton (Lumbridge Catacombs)",
+            "Skeleton (Tarn's Lair)",
+            "Skeleton (Temple Trekking)",
+            "Skeleton (Ullek)",
+            "Skeleton (Uncharted Isles)",
+            "Skeleton Archer",
+            "Skeleton Mage",
+            "Skeleton archer (Ancient Awakening)",
+            "Skeleton brute",
+            "Skeleton fremennik",
+            "Skeleton heavy",
+            "Skeleton hero",
+            "Skeleton knight",
+            "Skeleton ranger (Ancient Awakening)",
+            "Skeleton thug",
+            "Skeleton warlord",
+            "Skeleton warrior (Ancient Awakening)",
+            "Skeleton warrior (Rasial)",
+            "Skoblin",
+            "Skogre",
+            "Summoned skeleton",
+            "Summoned skeleton archer",
+            "Training dummy",
+            "Undead one",
+            "Warped skeleton"
+        ],
+        "hidden-creatures": [
+            "Skeletal miner",
+            "Skeleton (Tarn's Lair)",
+            "Skeleton (Temple Trekking)",
+            "Skeleton fremennik",
+            "Undead one"
+        ],
+        "index": "Skeletons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka",
+            "The Raptor"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Catacombs\" title=\"Lumbridge Catacombs\" target=\"_blank\">Lumbridge Catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Digsite_Dungeon\" class=\"mw-redirect\" title=\"Digsite Dungeon\" target=\"_blank\">Digsite Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Draynor_Sewers\" title=\"Draynor Sewers\" target=\"_blank\">Draynor Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja_Volcano\" title=\"Karamja Volcano\" target=\"_blank\">Karamja Volcano<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Steel_Mine\" class=\"mw-redirect\" title=\"Steel Mine\" target=\"_blank\">Steel Mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Temple_of_Ikov_(dungeon)\" title=\"Temple of Ikov (dungeon)\" target=\"_blank\">Temple of Ikov<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterfall_Dungeon\" title=\"Waterfall Dungeon\" target=\"_blank\">Waterfall Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Barrows\" title=\"Barrows\" target=\"_blank\">Barrows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ruins_of_Ullek\" class=\"mw-redirect\" title=\"Ruins of Ullek\" target=\"_blank\">Ruins of Ullek<\/a>",
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ape_Atoll_Dungeon\" title=\"Ape Atoll Dungeon\" target=\"_blank\">Ape Atoll Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Senntisten_Temple\" title=\"Senntisten Temple\" target=\"_blank\">Senntisten Temple<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass (dungeon)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "The Magister#Default",
+        "weakness": [],
+        "creatures": [
+            "Crocodile akh",
+            "Feline akh",
+            "Gorilla akh",
+            "Imperial mage akh",
+            "Imperial ranger akh",
+            "Imperial warrior akh",
+            "Oreb, the Magister",
+            "Salawa akh",
+            "Scarab akh",
+            "The Magister"
+        ],
+        "hidden-creatures": ["Oreb, the Magister"],
+        "index": "Soul devourers",
+        "alias": [
+            "Crocodile akh",
+            "Feline akh",
+            "Gorilla akh",
+            "Imperial guard akh",
+            "Salawa akh",
+            "Scarab akh",
+            "Soul devourer"
+        ],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Feather_of_Ma%27at\" title=\"Feather of Ma'at\" target=\"_blank\">Feather of Ma'at<\/a>"],
+        "masters": [
+            "Sumona",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Sophanem_Slayer_Dungeon\" title=\"Sophanem Slayer Dungeon\" target=\"_blank\">Sophanem Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Soulgazer#Default",
+        "weakness": [],
+        "creatures": [
+            "Soulgazer",
+            "Soulgazer (elite)"
+        ],
+        "hidden-creatures": ["Soulgazer (elite)"],
+        "index": "Soulgazers",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stalker_Dungeon\" class=\"mw-redirect\" title=\"Stalker Dungeon\" target=\"_blank\">Stalker Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Deadly red spider#Default",
+        "weakness": [],
+        "creatures": [
+            "Corpse spider",
+            "Crypt spider",
+            "Deadly red spider",
+            "Fever spider",
+            "Giant crypt spider",
+            "Giant spider",
+            "Ice spider",
+            "Jungle spider",
+            "Lava spider",
+            "Poison spider",
+            "Shadow spider",
+            "Spider",
+            "Spyndra"
+        ],
+        "hidden-creatures": [],
+        "index": "Spiders",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Sorceress\" title=\"Sorceress\" target=\"_blank\">Sorceress<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Castle\" title=\"Lumbridge Castle\" target=\"_blank\">Lumbridge Castle<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ape_Atoll\" title=\"Ape Atoll\" target=\"_blank\">Ape Atoll<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja\" title=\"Karamja\" target=\"_blank\">Karamja<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Spiritual mage#Armadyl",
+        "weakness": [],
+        "creatures": ["Spiritual mage"],
+        "hidden-creatures": [],
+        "index": "Spiritual mages",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Spiritual warrior#Armadyl",
+        "weakness": [],
+        "creatures": ["Spiritual warrior"],
+        "hidden-creatures": [],
+        "index": "Spiritual warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Sumona"],
+        "locations": ["<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Veil-ripper Ozharakha#Default",
+        "weakness": [],
+        "creatures": [
+            "Seeker",
+            "Soulgazer",
+            "Soulgazer (elite)",
+            "Veil-ripper Ozharakha"
+        ],
+        "hidden-creatures": ["Soulgazer (elite)"],
+        "index": "Stalker creatures",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stalker_dungeon\" title=\"Stalker dungeon\" target=\"_blank\">Stalker dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Steel dragon#Default",
+        "weakness": [],
+        "creatures": ["Steel dragon"],
+        "hidden-creatures": [],
+        "index": "Steel dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Desert strykewyrm#Default",
+        "weakness": [],
+        "creatures": [
+            "Desert strykewyrm",
+            "Ice strykewyrm",
+            "Jungle strykewyrm",
+            "Lava strykewyrm",
+            "Lava strykewyrm (Dragonkin Laboratory)",
+            "WildyWyrm (2015, historical)"
+        ],
+        "hidden-creatures": ["WildyWyrm (2015, historical)"],
+        "index": "Strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": []
+    },
+    {
+        "default-creature": "Suqah#Level 73 (Dual wielding swords)",
+        "weakness": [],
+        "creatures": ["Suqah"],
+        "hidden-creatures": [],
+        "index": "Suqahs",
+        "alias": ["Suqah"],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Seal_of_passage\" title=\"Seal of passage\" target=\"_blank\">Seal of passage<\/a>",
+            "<a href=\"https://runescape.wiki/w/Moon_Clan\" title=\"Moon Clan\" target=\"_blank\">Moon Clan<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Lunar_Isle\" title=\"Lunar Isle\" target=\"_blank\">Lunar Isle<\/a>"]
+    },
+    {
+        "default-creature": "Terror dog#Level 61",
+        "weakness": [],
+        "creatures": ["Terror dog"],
+        "hidden-creatures": [],
+        "index": "Terror dogs",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Tarn%27s_Lair\" class=\"mw-redirect\" title=\"Tarn's Lair\" target=\"_blank\">Tarn's Lair<\/a>"]
+    },
+    {
+        "default-creature": "Tormented demon#Standard",
+        "weakness": [],
+        "creatures": ["Tormented demon"],
+        "hidden-creatures": [],
+        "index": "Tormented demons",
+        "alias": ["Tormented demon"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Ancient_Guthix_Temple\" class=\"mw-redirect\" title=\"Ancient Guthix Temple\" target=\"_blank\">Ancient Guthix Temple<\/a>"]
+    },
+    {
+        "default-creature": "Ice troll runt#Default",
+        "weakness": [],
+        "creatures": [
+            "Ghostly troll bruiser",
+            "Ghostly troll thrower",
+            "Ice troll",
+            "Ice troll female",
+            "Ice troll grunt",
+            "Ice troll male",
+            "Ice troll runt",
+            "Kraka",
+            "Mountain troll",
+            "Mountain troll (well)",
+            "Pee Hat",
+            "River troll",
+            "Rock (monster)",
+            "Stick",
+            "Stove",
+            "Thrower Troll",
+            "Troll brute",
+            "Troll brute (Davendale)",
+            "Troll chucker",
+            "Troll chucker (Davendale)",
+            "Troll general",
+            "Troll lout",
+            "Troll shaman",
+            "Troll shaman (Davendale)",
+            "Troll spectator",
+            "Undead troll"
+        ],
+        "hidden-creatures": [
+            "Mountain troll (well)",
+            "Stove",
+            "Troll brute (Davendale)"
+        ],
+        "index": "Trolls",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Mountain_troll\" title=\"Mountain troll\" target=\"_blank\">Mountain trolls<\/a>",
+            "<a href=\"https://runescape.wiki/w/Trollheim\" title=\"Trollheim\" target=\"_blank\">Trollheim<\/a>",
+            "<a href=\"https://runescape.wiki/w/Keldagrim\" title=\"Keldagrim\" target=\"_blank\">Keldagrim<\/a>",
+            "<a href=\"https://runescape.wiki/w/Death_Plateau\" title=\"Death Plateau\" target=\"_blank\">Death Plateau<\/a>",
+            "<a href=\"https://runescape.wiki/w/Burthorpe_Troll_Cave\" title=\"Burthorpe Troll Cave\" target=\"_blank\">Burthorpe Troll Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Troll_cave\" title=\"Troll cave\" target=\"_blank\">Troll cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ice_troll\" title=\"Ice troll\" target=\"_blank\">Ice trolls<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fremennik_Isles\" title=\"Fremennik Isles\" target=\"_blank\">Fremennik Isles<\/a>",
+            "<a href=\"https://runescape.wiki/w/Undead_troll\" title=\"Undead troll\" target=\"_blank\">Undead trolls<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lucien%27s_camp\" title=\"Lucien's camp\" target=\"_blank\">Lucien's camp<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Turoth#60 - Large",
+        "weakness": [],
+        "creatures": ["Turoth"],
+        "hidden-creatures": [],
+        "index": "Turoth",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_sword\" title=\"Leaf-bladed sword\" target=\"_blank\">Leaf-bladed sword<\/a>",
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_spear\" title=\"Leaf-bladed spear\" target=\"_blank\">Leaf-bladed spear<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Dart\" title=\"Slayer Dart\" target=\"_blank\">Slayer Dart<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad_arrows\" class=\"mw-redirect\" title=\"Broad arrows\" target=\"_blank\">Broad arrows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad-tipped_bolts\" title=\"Broad-tipped bolts\" target=\"_blank\">Broad-tipped bolts<\/a>"
+        ],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "TzHaar-Hur#Level 86",
+        "weakness": [],
+        "creatures": [
+            "TzHaar-Hur",
+            "TzHaar-Ket",
+            "TzHaar-Mej",
+            "TzHaar-Xil"
+        ],
+        "hidden-creatures": [],
+        "index": "TzHaar",
+        "alias": ["Volcanic creatures"],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/TzHaar_city\" class=\"mw-redirect\" title=\"TzHaar city\" target=\"_blank\">TzHaar city<\/a>"]
+    },
+    {
+        "default-creature": "Ghost#1",
+        "weakness": [],
+        "creatures": [
+            "Aberrant spectre",
+            "Ahrim the Blighted",
+            "Akrisae the Doomed",
+            "Animated spade",
+            "Ankou",
+            "Ankou (elite)",
+            "Armoured phantom",
+            "Armoured zombie",
+            "Banshee",
+            "Bloated monstrosity",
+            "Bound skeleton",
+            "Corpse archer",
+            "Corpse carrier",
+            "Corpse mage",
+            "Corpse spider",
+            "Crawling corpse torso",
+            "Crawling hand",
+            "Dharok the Wretched",
+            "Dragith Nurn",
+            "Edimmu",
+            "Edimmu (elite)",
+            "Fetid zombie",
+            "General malpractitioner",
+            "Ghast",
+            "Ghost",
+            "Ghost (Abandoned Mine)",
+            "Ghost (Ourania Runecrafting Altar)",
+            "Ghost (Shattered Worlds)",
+            "Ghost (Spirit of Summer)",
+            "Ghost (Stronghold of Security)",
+            "Ghostly troll bruiser",
+            "Ghostly troll thrower",
+            "Graveside Phantom",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Linza the Disgraced",
+            "Magic axe",
+            "Masuta the Descended",
+            "Mighty banshee",
+            "Monkey Zombie",
+            "Mummy (Jaldraocht Pyramid)",
+            "Mummy (Ullek)",
+            "Osseous",
+            "Phantom sorcerer",
+            "Phantom wizard",
+            "Possessed pickaxe",
+            "Possessed pickaxe (Lava Flow Mine)",
+            "Putrid zombie (Rasial)",
+            "Revenant cyclops",
+            "Revenant dark beast",
+            "Revenant demon",
+            "Revenant dragon",
+            "Revenant goblin",
+            "Revenant hellhound",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant knight",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf",
+            "Risen ghost",
+            "Shade",
+            "Shadow warrior",
+            "Skeletal Wyvern",
+            "Skeletal hand",
+            "Skeletal miner",
+            "Skeleton",
+            "Skeleton (Lumbridge Catacombs)",
+            "Skeleton (Tarn's Lair)",
+            "Skeleton Mage",
+            "Skeleton archer (Ancient Awakening)",
+            "Skeleton knight",
+            "Skeleton ranger (Ancient Awakening)",
+            "Skeleton warrior (Ancient Awakening)",
+            "Skeleton warrior (Rasial)",
+            "Skoblin",
+            "Skogre",
+            "Small scarab",
+            "Soulless armoured zombie",
+            "Soulless unarmoured zombie",
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior",
+            "Taraket the Necromancer",
+            "Torag the Corrupted",
+            "Tormented wraith",
+            "Training dummy",
+            "Undead chicken",
+            "Undead cow",
+            "Undead giant (Battle of Forinthry)",
+            "Undead one",
+            "Undead pekin",
+            "Undead troll",
+            "Unstable zombie",
+            "Verac the Defiled",
+            "Vorkath",
+            "Wight",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)",
+            "Zogre",
+            "Zombie",
+            "Zombie (New Varrock)",
+            "Zombie cow (New Varrock)",
+            "Zombie hand",
+            "Zombie knight",
+            "Zombie pirate",
+            "Zombie swab",
+            "Zombie warrior"
+        ],
+        "hidden-creatures": [
+            "Wight",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)"
+        ],
+        "index": "Undead",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Vampyre#Default",
+        "weakness": [],
+        "creatures": [
+            "Angry vampyre",
+            "Feral vampyre",
+            "Revenant vampyre",
+            "Vampyre",
+            "Vampyre Juvenile",
+            "Vampyre Juvinate"
+        ],
+        "hidden-creatures": ["Feral vampyre"],
+        "index": "Vampyres",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Haunted_Woods\" title=\"Haunted Woods\" target=\"_blank\">Haunted Woods<\/a>",
+            "<a href=\"https://runescape.wiki/w/Abandoned_Mine\" title=\"Abandoned Mine\" target=\"_blank\">Abandoned Mine<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Liverworts#Default",
+        "weakness": [],
+        "creatures": [
+            "Devil's snare",
+            "Lampenflora",
+            "Liverworts",
+            "Luminous snaggler"
+        ],
+        "hidden-creatures": [],
+        "index": "Vile blooms",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Anachronia\" title=\"Anachronia\" target=\"_blank\">Anachronia<\/a>"]
+    },
+    {
+        "default-creature": "Vyrewatch#Level 70",
+        "weakness": [],
+        "creatures": [
+            "Vyrelady",
+            "Vyrelord",
+            "Vyrewatch"
+        ],
+        "hidden-creatures": [],
+        "index": "Vyrewatch",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Ivandis_flail\" title=\"Ivandis flail\" target=\"_blank\">Ivandis flail<\/a>",
+            "<a href=\"https://runescape.wiki/w/Blisterwood_polearm\" title=\"Blisterwood polearm\" target=\"_blank\">Blisterwood polearm<\/a>",
+            "<a href=\"https://runescape.wiki/w/Blisterwood_staff\" title=\"Blisterwood staff\" target=\"_blank\">Blisterwood staff<\/a>",
+            "<a href=\"https://runescape.wiki/w/Blisterwood_stake\" title=\"Blisterwood stake\" target=\"_blank\">Blisterwood stake<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Darkmeyer\" title=\"Darkmeyer\" target=\"_blank\">Darkmeyer<\/a>",
+            "<a href=\"https://runescape.wiki/w/Burgh_de_Rott_Woods\" title=\"Burgh de Rott Woods\" target=\"_blank\">Burgh de Rott Woods<\/a>",
+            "<a href=\"https://runescape.wiki/w/Meiyerditch\" title=\"Meiyerditch\" target=\"_blank\">Meiyerditch<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Wall beast#Default",
+        "weakness": [],
+        "creatures": ["Wall beast"],
+        "hidden-creatures": [],
+        "index": "Wall beasts",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Spiny_helmet\" title=\"Spiny helmet\" target=\"_blank\">Spiny helmet<\/a>",
+            "<a href=\"https://runescape.wiki/w/Spiked_helmet\" title=\"Spiked helmet\" target=\"_blank\">Spiked helmet<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>"
+        ],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>"]
+    },
+    {
+        "default-creature": "Warped terrorbird#1",
+        "weakness": [],
+        "creatures": ["Warped terrorbird"],
+        "hidden-creatures": [],
+        "index": "Warped terrorbirds",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Crystal_chime\" title=\"Crystal chime\" target=\"_blank\">Crystal chime<\/a>"],
+        "masters": ["Duradel"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Poison_Waste_Slayer_Dungeon\" title=\"Poison Waste Slayer Dungeon\" target=\"_blank\">Poison Waste Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Warped tortoise#Vulnerable",
+        "weakness": [],
+        "creatures": ["Warped tortoise"],
+        "hidden-creatures": [],
+        "index": "Warped tortoises",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Crystal_chime\" title=\"Crystal chime\" target=\"_blank\">Crystal chime<\/a>"],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Poison_Waste_Slayer_Dungeon\" title=\"Poison Waste Slayer Dungeon\" target=\"_blank\">Poison Waste Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Waterfiend#Default",
+        "weakness": [],
+        "creatures": [
+            "Maelstrom, Raging Waterfiend",
+            "Torrential Waterfiend",
+            "Torrential Waterfiend (summoned)",
+            "Waterfiend",
+            "Waterfiend (Ghorrock)",
+            "Waterfiend (Temple of Aminishi)",
+            "Waterfiend (The Zamorakian Undercity)",
+            "Waterfiend (elite)",
+            "Waterfiend (summoned)"
+        ],
+        "hidden-creatures": [
+            "Waterfiend (Ghorrock)",
+            "Waterfiend (Temple of Aminishi)",
+            "Waterfiend (elite)"
+        ],
+        "index": "Waterfiends",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ancient_Cavern\" title=\"Ancient Cavern\" target=\"_blank\">Ancient Cavern<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Werewolf#Alexis",
+        "weakness": [],
+        "creatures": ["Werewolf"],
+        "hidden-creatures": [],
+        "index": "Werewolves",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Canifis\" title=\"Canifis\" target=\"_blank\">Canifis<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Adolescent White wolf#Default",
+        "weakness": [],
+        "creatures": [
+            "Adolescent White wolf",
+            "Big Wolf",
+            "Desert wolf",
+            "Dire Wolf",
+            "Fenris wolf",
+            "Fenris wolf (Sköll)",
+            "Ice wolf",
+            "Jungle Wolf",
+            "White wolf",
+            "Wolf"
+        ],
+        "hidden-creatures": [
+            "Fenris wolf",
+            "Fenris wolf (Sköll)"
+        ],
+        "index": "Wolves",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/White_Wolf_Mountain\" title=\"White Wolf Mountain\" target=\"_blank\">White Wolf Mountain<\/a>",
+            "<a href=\"https://runescape.wiki/w/Feldip_Hills\" title=\"Feldip Hills\" target=\"_blank\">Feldip Hills<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Armoured phantom#1",
+        "weakness": [],
+        "creatures": [
+            "Armoured phantom",
+            "Bound skeleton",
+            "Fetid zombie",
+            "Risen ghost"
+        ],
+        "hidden-creatures": [],
+        "index": "Zemouregal's undead",
+        "alias": [],
+        "equipment": [],
+        "masters": ["The Raptor"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">Crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Zombie#Level 29",
+        "weakness": [],
+        "creatures": [
+            "Armoured zombie",
+            "Armoured zombie (The Shadow Reef)",
+            "Armoured zombie (Uncharted Isles)",
+            "Bloated monstrosity",
+            "Bossy McBossFace",
+            "Corpse archer",
+            "Corpse carrier",
+            "Corpse mage",
+            "Corpse spider",
+            "Crawling corpse torso",
+            "Crawling hand",
+            "Dragith Nurn",
+            "Dried zombie",
+            "Edimmu",
+            "Edimmu (elite)",
+            "Empowering zombie",
+            "Fetid zombie",
+            "General malpractitioner",
+            "Monkey Zombie",
+            "Mummy (Jaldraocht Pyramid)",
+            "Mummy (Ullek)",
+            "Putrid zombie (Rasial)",
+            "Small scarab",
+            "Soulless armoured zombie",
+            "Soulless unarmoured zombie",
+            "Summoned Zombie",
+            "Summoned Zombie (The Shadow Reef)",
+            "Summoned armoured zombie",
+            "Ulthven Keith",
+            "Undead Witch",
+            "Undead chicken",
+            "Undead cow",
+            "Undead giant (Battle of Forinthry)",
+            "Undead one",
+            "Undead pekin",
+            "Undead troll",
+            "Unstable zombie",
+            "Zogre",
+            "Zombie",
+            "Zombie (Lair of Tarn Razorlor)",
+            "Zombie (New Varrock)",
+            "Zombie (Stronghold of Security)",
+            "Zombie (Temple Trekking)",
+            "Zombie (The Shadow Reef)",
+            "Zombie (Uncharted Isles)",
+            "Zombie (Wilderness)",
+            "Zombie (Zogre Flesh Eaters)",
+            "Zombie cow (New Varrock)",
+            "Zombie hand",
+            "Zombie knight",
+            "Zombie pirate",
+            "Zombie swab",
+            "Zombie warrior"
+        ],
+        "hidden-creatures": [
+            "Zombie (Zogre Flesh Eaters)",
+            "Zombie cow (New Varrock)"
+        ],
+        "index": "Zombies",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka",
+            "The Raptor"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Gnome_Village_Dungeon\" title=\"Gnome Village Dungeon\" target=\"_blank\">Gnome Village Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Entrana_Dungeon\" title=\"Entrana Dungeon\" target=\"_blank\">Entrana Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Graveyard_of_Shadows\" title=\"Graveyard of Shadows\" target=\"_blank\">Graveyard of Shadows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wizards%27_Guild\" title=\"Wizards' Guild\" target=\"_blank\">Wizards' Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Draynor_Sewers\" title=\"Draynor Sewers\" target=\"_blank\">Draynor Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Tarn%27s_Lair\" class=\"mw-redirect\" title=\"Tarn's Lair\" target=\"_blank\">lair of Tarn Razorlor<\/a>"
+        ]
+    }
+]
diff --git a/dist/data/old/creatures.json b/dist/data/old/creatures.json
new file mode 100644 (file)
index 0000000..7b1fe5e
--- /dev/null
@@ -0,0 +1,26988 @@
+[
+    {
+        "name": "Aberrant spectre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"157\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "60",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Pollnivneach Slayer Dungeon",
+                "slayer-exp": 123.19999694824219,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "224",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aberrant spectre#Slayer Tower.png\" decoding=\"async\" loading=\"lazy\" width=\"157\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "60",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Slayer Tower",
+                "slayer-exp": 109.4000015258789,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Abyssal beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"168\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "105",
+            "experience": 1950,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 643.5,
+            "max-melee": "1415",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "1415",
+            "name": "Default",
+            "slayer-exp": 1448.4000244140625,
+            "lifepoints": "39000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"257\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "85",
+            "experience": 425,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 140.1999969482422,
+            "max-melee": "672",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 278,
+            "lifepoints": "8500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal demon (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal demon (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"254\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "70",
+            "slayer-level": "85",
+            "experience": 1700,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 561,
+            "max-melee": "2016",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1069,
+            "lifepoints": "34000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal lord",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal lord#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"226\" id=\"image-?\">",
+            "level": "133",
+            "defence": "95",
+            "slayer-level": "115",
+            "experience": 3700,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1221,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "816",
+            "name": "Default",
+            "slayer-exp": 8235,
+            "lifepoints": "74000",
+            "max-ranged": "0",
+            "max-magic": "1163",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal savage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Abyssal savage#Asylum.png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "75",
+                "slayer-level": "95",
+                "experience": 750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Asylum",
+                "slayer-exp": 423.20001220703125,
+                "lifepoints": "15000",
+                "max-ranged": "0",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Abyssal savage#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "75",
+                "slayer-level": "95",
+                "experience": 750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 423.20001220703125,
+                "lifepoints": "15000",
+                "max-ranged": "0",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Acheron mammoth",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Acheron mammoth#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "135",
+            "defence": "95",
+            "slayer-level": "96",
+            "experience": 2531.199951171875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 835.2000122070312,
+            "max-melee": "1819",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "8000",
+            "name": "Default",
+            "slayer-exp": 3628.800048828125,
+            "lifepoints": "50625",
+            "max-ranged": "4412",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Adamant dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Adamant dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"179\" id=\"image-?\">",
+            "level": "116",
+            "defence": "87",
+            "slayer-level": "1",
+            "experience": 1640.5999755859375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 541.2999877929688,
+            "max-melee": "1120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "1300",
+            "name": "Default",
+            "slayer-exp": 655.5999755859375,
+            "lifepoints": "32812",
+            "max-ranged": "1120",
+            "max-magic": "1120",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Airut",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Airut#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+                "level": "122",
+                "defence": "90",
+                "slayer-level": "92",
+                "experience": 843.7000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 278.3999938964844,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1600",
+                "name": "Melee",
+                "slayer-exp": 800.2000122070312,
+                "lifepoints": "16875",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Airut#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"238\" id=\"image-?\">",
+                "level": "122",
+                "defence": "90",
+                "slayer-level": "92",
+                "experience": 843.7000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 278.3999938964844,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1600",
+                "name": "Ranged",
+                "slayer-exp": 800.2000122070312,
+                "lifepoints": "16875",
+                "max-ranged": "816",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ankou",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ankou#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"105\" height=\"300\" id=\"image-?\">",
+            "level": "54",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 307.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 98,
+            "lifepoints": "6150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ankou (Kili's Knowledge IV)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ankou (Kili's Knowledge IV)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"105\" height=\"300\" id=\"image-?\">",
+            "level": "72",
+            "defence": "?",
+            "slayer-level": "1",
+            "experience": 0,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 0,
+            "max-melee": "624",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 313.6000061035156,
+            "lifepoints": "31000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ankou (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ankou (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"105\" height=\"300\" id=\"image-?\">",
+            "level": "67",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 1177.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 388.5,
+            "max-melee": "1100",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 314,
+            "lifepoints": "23550",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Aquanite",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Aquanite#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "78",
+            "experience": 350,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 115.5,
+            "max-melee": "652",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "652",
+            "name": "Default",
+            "slayer-exp": 212.60000610351562,
+            "lifepoints": "7000",
+            "max-ranged": "652",
+            "max-magic": "652",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Aquanite (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Aquanite (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+            "level": "104",
+            "defence": "68",
+            "slayer-level": "78",
+            "experience": 1400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 462,
+            "max-melee": "1958",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1958",
+            "name": "Default",
+            "slayer-exp": 968,
+            "lifepoints": "28000",
+            "max-ranged": "1958",
+            "max-magic": "1958",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Armoured phantom",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured phantom#1.png\" decoding=\"async\" loading=\"lazy\" width=\"204\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "87",
+                "slayer-level": "113",
+                "experience": 2625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 866.2000122070312,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "7000",
+                "name": "1",
+                "slayer-exp": 2500,
+                "lifepoints": "52500",
+                "max-ranged": "1745",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured phantom#2.png\" decoding=\"async\" loading=\"lazy\" width=\"131\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "87",
+                "slayer-level": "113",
+                "experience": 2625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 866.2000122070312,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "7000",
+                "name": "2",
+                "slayer-exp": 2500,
+                "lifepoints": "52500",
+                "max-ranged": "1745",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured phantom#3.png\" decoding=\"async\" loading=\"lazy\" width=\"180\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "87",
+                "slayer-level": "113",
+                "experience": 2625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 866.2000122070312,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "7000",
+                "name": "3",
+                "slayer-exp": 2500,
+                "lifepoints": "52500",
+                "max-ranged": "1745",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Capsarius",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Capsarius#1.png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "81",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 146.60000610351562,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "168",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Capsarius#2.png\" decoding=\"async\" loading=\"lazy\" width=\"108\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "81",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 146.60000610351562,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "168",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Gladius",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Gladius#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "91",
+            "defence": "65",
+            "slayer-level": "81",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 220.1999969482422,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "624",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Primus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Primus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"155\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3300",
+            "name": "Default",
+            "slayer-exp": 1938.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Quartus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Quartus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Quintus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Quintus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Secundus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Secundus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Sextus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Sextus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Tertius",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Tertius#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"197\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rorarius",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rorarius#1.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "81",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "576",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rorarius#2.png\" decoding=\"async\" loading=\"lazy\" width=\"229\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "81",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "576",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Scutarius",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Scutarius#1.png\" decoding=\"async\" loading=\"lazy\" width=\"222\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "81",
+                "experience": 500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 165,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 390.20001220703125,
+                "lifepoints": "10000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scutarius#2.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "81",
+                "experience": 500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 165,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 390.20001220703125,
+                "lifepoints": "10000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Aviansie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Melee, level 89 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 491.79998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 162.1999969482422,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee, level 89 (1)",
+                "slayer-exp": 170.39999389648438,
+                "lifepoints": "6400",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Melee, level 89 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 491.79998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 162.1999969482422,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee, level 89 (2)",
+                "slayer-exp": 187.8000030517578,
+                "lifepoints": "6400",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Melee, level 92.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "92",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 542.2000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 178.89999389648438,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee, level 92",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "6600",
+                "max-ranged": "264",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Ranged, level 89.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 491.79998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 162.1999969482422,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged, level 89",
+                "slayer-exp": 170.39999389648438,
+                "lifepoints": "6400",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Ranged, level 92.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "92",
+                "defence": "66",
+                "slayer-level": "1",
+                "experience": 542.2000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 178.89999389648438,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged, level 92",
+                "slayer-exp": 187.8000030517578,
+                "lifepoints": "6600",
+                "max-ranged": "264",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Ranged, level 95.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 340,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 112.19999694824219,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged, level 95",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "6800",
+                "max-ranged": "272",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Flight Kilisa",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Flight Kilisa#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"236\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "250",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 363.79998779296875,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Flockleader Geerin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Flockleader Geerin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"201\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 363.79998779296875,
+            "lifepoints": "10000",
+            "max-ranged": "250",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kree'arra",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kree'arra#Hard Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "580",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 825,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Hard Mode",
+                "slayer-exp": 3912,
+                "lifepoints": "100000",
+                "max-ranged": "3000",
+                "max-magic": "700",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kree'arra#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "580",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 1875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 618.7000122070312,
+                "max-melee": "1676",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 2934.199951171875,
+                "lifepoints": "75000",
+                "max-ranged": "1080",
+                "max-magic": "1080",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kree'arra#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "210",
+                "defence": "75",
+                "slayer-level": "N/A",
+                "experience": 2500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 825,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2000",
+                "name": "The World Wakes",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "3000",
+                "max-magic": "700",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spiritual mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Zamorak.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zamorak",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Armadyl.png\" decoding=\"async\" loading=\"lazy\" width=\"260\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Armadyl",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Saradomin.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Saradomin",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "350",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Bandos.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bandos",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "350",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "83",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 229,
+                "lifepoints": "1120",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spiritual ranger",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Zamorak.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zamorak",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Armadyl.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"251\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Armadyl",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Saradomin.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Saradomin",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Bandos.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bandos",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 122,
+                "lifepoints": "1120",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spiritual warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Zamorak.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zamorak",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Armadyl.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"238\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Armadyl",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Saradomin.png\" decoding=\"async\" loading=\"lazy\" width=\"235\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Saradomin",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Bandos.png\" decoding=\"async\" loading=\"lazy\" width=\"295\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bandos",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"235\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 229,
+                "lifepoints": "1120",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Wingman Skree",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wingman Skree#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 363.79998779296875,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "900",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Banshee",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Banshee#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"226\" height=\"300\" id=\"image-?\">",
+            "level": "24",
+            "defence": "14",
+            "slayer-level": "15",
+            "experience": 125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "990",
+            "name": "Default",
+            "slayer-exp": 46,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "440",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mighty banshee",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mighty banshee#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "38",
+            "slayer-level": "15",
+            "experience": 307.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "860",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 89.4000015258789,
+            "lifepoints": "6150",
+            "max-ranged": "0",
+            "max-magic": "1020",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Basilisk",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Basilisk#Large.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"202\" id=\"image-?\">",
+                "level": "49",
+                "defence": "30",
+                "slayer-level": "40",
+                "experience": 240,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Basiliskbane_ammunition\" title=\"Basiliskbane ammunition\" target=\"_blank\"><img src=\"./images/susceptible/Basilisk_head.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"16\"><\/a>"
+                ],
+                "lifepoint-exp": 79.19999694824219,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Large",
+                "slayer-exp": 79.5999984741211,
+                "lifepoints": "4800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Basilisk#Small.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+                "level": "49",
+                "defence": "30",
+                "slayer-level": "40",
+                "experience": 240,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Basiliskbane_ammunition\" title=\"Basiliskbane ammunition\" target=\"_blank\"><img src=\"./images/susceptible/Basilisk_head.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"16\"><\/a>"
+                ],
+                "lifepoint-exp": 79.19999694824219,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Small",
+                "slayer-exp": 79.5999984741211,
+                "lifepoints": "4800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Albino bat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Albino bat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"124\" id=\"image-?\">",
+            "level": "43",
+            "defence": "31",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "620",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 18,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"101\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8.199999809265137,
+            "lifepoints": "1000",
+            "max-ranged": "0",
+            "max-magic": "40",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant bat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant bat#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "14",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 18.799999237060547,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant bat#Brine Cavern.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"101\" id=\"image-?\">",
+                "level": "23",
+                "defence": "17",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "340",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Brine Cavern",
+                "slayer-exp": 10.199999809265137,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped bat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Warped bat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"92\" id=\"image-?\">",
+            "level": "16",
+            "defence": "12",
+            "slayer-level": "1",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9.199999809265137,
+            "lifepoints": "2250",
+            "max-ranged": "0",
+            "max-magic": "240",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Angry bear",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Angry bear#A Soul's Bane.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+                "level": "40",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "175",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A Soul's Bane",
+                "slayer-exp": 0,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry bear#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bear cub",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bear cub#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+            "level": "21",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "300",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7.599999904632568,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black bear",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Black bear#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+            "level": "23",
+            "defence": "17",
+            "slayer-level": "1",
+            "experience": 145,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 47.79999923706055,
+            "max-melee": "340",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 10.199999809265137,
+            "lifepoints": "2900",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Grizzly bear",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Grizzly bear#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "460",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard",
+                "slayer-exp": 13,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Grizzly bear#Tirannwn.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "460",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Tirannwn",
+                "slayer-exp": 16.600000381469727,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Grizzly bear cub",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Grizzly bear cub#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+            "level": "17",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bird",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Bird#Black.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"124\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Black",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bird#Green.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"225\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Chicken",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Chicken#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"223\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "15",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Chicken#White.png\" decoding=\"async\" loading=\"lazy\" width=\"260\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "15",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "White",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Chompy bird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chompy bird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"300\" id=\"image-?\">",
+            "level": "2",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 15,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.900000095367432,
+            "max-melee": "6",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.399999618530273,
+            "lifepoints": "300",
+            "max-ranged": "8",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Duck",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Duck#Male.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Male",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Duck#Female.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"211\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Female",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Duck#Land.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Land",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Duckling",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Duckling#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"270\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "?",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jubbly bird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jubbly bird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+            "level": "11",
+            "defence": "8",
+            "slayer-level": "1",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "24",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7.599999904632568,
+            "lifepoints": "400",
+            "max-ranged": "32",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mounted terrorbird gnome",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mounted terrorbird gnome#Level 46.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "660",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 46",
+                "slayer-exp": 19.600000381469727,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mounted terrorbird gnome#Level 53.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+                "level": "53",
+                "defence": "38",
+                "slayer-level": "1",
+                "experience": 307.5,
+                "susceptible": [],
+                "lifepoint-exp": 101.4000015258789,
+                "max-melee": "950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 53",
+                "slayer-exp": 24.799999237060547,
+                "lifepoints": "6150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Oomlie bird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Oomlie bird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"233\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 570,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 188.10000610351562,
+            "max-melee": "1280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 85.19999694824219,
+            "lifepoints": "11400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pekin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pekin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "15",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Penguin (monster)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Penguin (monster)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+            "level": "8",
+            "defence": "6",
+            "slayer-level": "1",
+            "experience": 77.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 25.5,
+            "max-melee": "120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7,
+            "lifepoints": "1550",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pernicious parrot",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pernicious parrot#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"130\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 185,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 61,
+            "max-melee": "900",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 34.20000076293945,
+            "lifepoints": "3700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rooster",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rooster#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "15",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seagull",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seagull#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"289\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tenacious toucan",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tenacious toucan#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"122\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 262.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 86.5999984741211,
+            "max-melee": "1200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "5250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Terrorbird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Terrorbird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "42",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 240,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 17.200000762939453,
+            "lifepoints": "4800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead chicken",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Undead chicken#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 35,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 11.5,
+            "max-melee": "75",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead pekin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Undead pekin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 35,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 11.5,
+            "max-melee": "75",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Balfrug Kreeyath",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Balfrug Kreeyath#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 272.79998779296875,
+            "lifepoints": "7500",
+            "max-ranged": "0",
+            "max-magic": "750",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Black demon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 450,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 148.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "9000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"189\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 564.4000244140625,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Alanogard the Black",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Alanogard the Black#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+            "level": "117",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1353",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "5000",
+            "name": "Default",
+            "slayer-exp": 9794,
+            "lifepoints": "180000",
+            "max-ranged": "1353",
+            "max-magic": "1353",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Baby black dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Baby black dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "150",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 43.20000076293945,
+            "lifepoints": "2500",
+            "max-ranged": "200",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"229\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "3",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "4",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "5",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Black dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Black dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 1950,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 643.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1550,
+            "lifepoints": "39000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "King Black Dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/King Black Dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+            "level": "276",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 2250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"
+            ],
+            "lifepoint-exp": 742.5,
+            "max-melee": "864",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4960",
+            "name": "Default",
+            "slayer-exp": 1050.5999755859375,
+            "lifepoints": "45000",
+            "max-ranged": "864",
+            "max-magic": "864",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Queen Black Dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Queen Black Dragon#Carapace.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+                "level": "900",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 900,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"
+                ],
+                "lifepoint-exp": 297,
+                "max-melee": "2480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Magic\" title=\"Magic\" target=\"_blank\"><img src=\"./images/weakness/Magic_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "6500",
+                "name": "Carapace",
+                "slayer-exp": 1693.199951171875,
+                "lifepoints": "36000",
+                "max-ranged": "2480",
+                "max-magic": "2480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Queen Black Dragon#Crystal.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "900",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 900,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 297,
+                "max-melee": "2480",
+                "weakness": [
+                    "<a href=\"https://runescape.wiki/w/Melee\" title=\"Melee\" target=\"_blank\"><img src=\"./images/weakness/Melee_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "max-spec": "6500",
+                "name": "Crystal",
+                "slayer-exp": 1693.199951171875,
+                "lifepoints": "36000",
+                "max-ranged": "2480",
+                "max-magic": "2480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Queen Black Dragon#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "900",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 900,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 297,
+                "max-melee": "2480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "6500",
+                "name": "Normal",
+                "slayer-exp": 1693.199951171875,
+                "lifepoints": "36000",
+                "max-ranged": "2480",
+                "max-magic": "2480",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Verak Lith",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Verak Lith#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"252\" height=\"300\" id=\"image-?\">",
+            "level": "1450",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 15000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 4950,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "9000",
+            "name": "Default",
+            "slayer-exp": 27438,
+            "lifepoints": "600000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Verak Little",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Verak Little#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"285\" id=\"image-?\">",
+            "level": "107",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 9000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "lifepoint-exp": 2970,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "180000",
+            "max-ranged": "1966",
+            "max-magic": "1966",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Bloodveld",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bloodveld#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "49",
+            "slayer-level": "50",
+            "experience": 512.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 169.10000610351562,
+            "max-melee": "680",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 84.4000015258789,
+            "lifepoints": "10250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bloodveld (God Wars Dungeon)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bloodveld (God Wars Dungeon)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+            "level": "92",
+            "defence": "66",
+            "slayer-level": "50",
+            "experience": 330,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 108.9000015258789,
+            "max-melee": "264",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "6600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bloodveld (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bloodveld (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "50",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated bloodveld",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mutated bloodveld#A.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+                "level": "81",
+                "defence": "65",
+                "slayer-level": "50",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A",
+                "slayer-exp": 205.8000030517578,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mutated bloodveld#B.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"287\" id=\"image-?\">",
+                "level": "81",
+                "defence": "65",
+                "slayer-level": "50",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "B",
+                "slayer-exp": 205.8000030517578,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Baby blue dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Baby blue dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+            "level": "44",
+            "defence": "32",
+            "slayer-level": "1",
+            "experience": 80,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 26.399999618530273,
+            "max-melee": "128",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 18.799999237060547,
+            "lifepoints": "1600",
+            "max-ranged": "0",
+            "max-magic": "128",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Blue dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"234\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "1",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"247\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "2",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"287\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "3",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"230\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "4",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"267\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "5",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Vorkath",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 60411.6015625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19935.80078125,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Hard mode",
+                "slayer-exp": 31340.5,
+                "lifepoints": "1500000",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 60411.6015625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19935.80078125,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8500",
+                "name": "Normal mode",
+                "slayer-exp": 31340.5,
+                "lifepoints": "750000",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Requiem for a Dragon.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Requiem for a Dragon",
+                "slayer-exp": 31340.5,
+                "lifepoints": "75001",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 60411.6015625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19935.80078125,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 31340.5,
+                "lifepoints": "375000",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Bound skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Bound skeleton#1.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "1194",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 420,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bound skeleton#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+                "level": "70",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "1194",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 420,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bound skeleton#3.png\" decoding=\"async\" loading=\"lazy\" width=\"252\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "1194",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 420,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Brine rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Brine rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+            "level": "43",
+            "defence": "30",
+            "slayer-level": "47",
+            "experience": 240,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "640",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 43.20000076293945,
+            "lifepoints": "4800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bronze dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bronze dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"218\" id=\"image-?\">",
+            "level": "86",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 82.5,
+            "max-melee": "409",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 124.5,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "409",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Camel Warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Camel Warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"278\" id=\"image-?\">",
+            "level": "132",
+            "defence": "93",
+            "slayer-level": "96",
+            "experience": 1006.2000122070312,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 332,
+            "max-melee": "912",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "2678",
+            "name": "Default",
+            "slayer-exp": 4768.7998046875,
+            "lifepoints": "20125",
+            "max-ranged": "931",
+            "max-magic": "931",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Catablepon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Catablepon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+            "level": "43",
+            "defence": "28",
+            "slayer-level": "1",
+            "experience": 225,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "480",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 74.5,
+            "lifepoints": "4500",
+            "max-ranged": "0",
+            "max-magic": "700",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave bug",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave bug#Level 6.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "6",
+                "defence": "4",
+                "slayer-level": "7",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 6",
+                "slayer-exp": 7,
+                "lifepoints": "650",
+                "max-ranged": "120",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave bug#Level 11.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+                "level": "11",
+                "defence": "7",
+                "slayer-level": "7",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11",
+                "slayer-exp": 8,
+                "lifepoints": "1650",
+                "max-ranged": "180",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cave crawler",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave crawler#Level 24.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "24",
+                "defence": "15",
+                "slayer-level": "10",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 24",
+                "slayer-exp": 24.5,
+                "lifepoints": "2650",
+                "max-ranged": "400",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave crawler#Level 59.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "59",
+                "defence": "40",
+                "slayer-level": "10",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 59",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "6500",
+                "max-ranged": "900",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cave horror",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave horror#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "58",
+            "experience": 250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 82.5,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 99.4000015258789,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave horror (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave horror (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "86",
+            "defence": "75",
+            "slayer-level": "58",
+            "experience": 550,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 181.5,
+            "max-melee": "660",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 509,
+            "lifepoints": "11000",
+            "max-ranged": "0",
+            "max-magic": "660",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Unspeakable horror",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Unspeakable horror#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "58",
+            "experience": 650,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 214.5,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "13000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Unspeakable horror (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Unspeakable horror (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "58",
+            "experience": 1500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 495,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1241.5999755859375,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "768",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave slime",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave slime#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"257\" id=\"image-?\">",
+            "level": "22",
+            "defence": "19",
+            "slayer-level": "17",
+            "experience": 157.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 51.900001525878906,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 11,
+            "lifepoints": "3150",
+            "max-ranged": "240",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant slime",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant slime#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "106",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 6000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1980,
+                "max-melee": "1400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": 5047,
+                "lifepoints": "120000",
+                "max-ranged": "1400",
+                "max-magic": "1400",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant slime#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "106",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 6000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1980,
+                "max-melee": "1400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": 2523.39990234375,
+                "lifepoints": "120000",
+                "max-ranged": "1400",
+                "max-magic": "1400",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Laboratory slime",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Adult (normal mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Adult (normal mode)",
+                "slayer-exp": 551,
+                "lifepoints": "20000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Spawnling (normal mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Spawnling (normal mode)",
+                "slayer-exp": -2,
+                "lifepoints": "9500",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Adult (story mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Adult (story mode)",
+                "slayer-exp": 275.3999938964844,
+                "lifepoints": "9500",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Spawnling (story mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Spawnling (story mode)",
+                "slayer-exp": -2,
+                "lifepoints": "9500",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Astellarn",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Astellarn#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"188\" id=\"image-?\">",
+            "level": "1200",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 6250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2062.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "2700",
+            "name": "Default",
+            "slayer-exp": 27400,
+            "lifepoints": "250000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Celestial dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Celestial dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "127",
+            "defence": "91",
+            "slayer-level": "1",
+            "experience": 1137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 375.29998779296875,
+            "max-melee": "1068",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 976.5999755859375,
+            "lifepoints": "22750",
+            "max-ranged": "0",
+            "max-magic": "1168",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Celestial dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 2400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 792,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 2400,
+            "lifepoints": "48000",
+            "max-ranged": "1653",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Elegorn the Celestial",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Elegorn the Celestial#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "114",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 8750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2887.5,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 8800,
+            "lifepoints": "175000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Giant",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chaos Giant#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 1125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 371.20001220703125,
+            "max-melee": "450",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 929.4000244140625,
+            "lifepoints": "22500",
+            "max-ranged": "450",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockatrice",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockatrice#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"297\" id=\"image-?\">",
+            "level": "31",
+            "defence": "25",
+            "slayer-level": "25",
+            "experience": 202.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 66.80000305175781,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 23.399999618530273,
+            "lifepoints": "4050",
+            "max-ranged": "400",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockroach drone",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockroach drone#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "4",
+            "defence": "3",
+            "slayer-level": "1",
+            "experience": 60,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 19.799999237060547,
+            "max-melee": "60",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6,
+            "lifepoints": "1200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockroach soldier",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockroach soldier#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 525,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 173.1999969482422,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 14,
+            "lifepoints": "10500",
+            "max-ranged": "1000",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockroach worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockroach worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"269\" id=\"image-?\">",
+            "level": "30",
+            "defence": "22",
+            "slayer-level": "1",
+            "experience": 180,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 59.400001525878906,
+            "max-melee": "440",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12,
+            "lifepoints": "3600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Warped cockroach",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Warped cockroach#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 25,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 8.199999809265137,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "500",
+            "max-ranged": "20",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted dust devil",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted dust devil#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "76",
+            "slayer-level": "97",
+            "experience": 600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 198,
+            "max-melee": "1123",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 679.7999877929688,
+            "lifepoints": "12000",
+            "max-ranged": "1123",
+            "max-magic": "1123",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted kalphite guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted kalphite guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"300\" id=\"image-?\">",
+            "level": "110",
+            "defence": "78",
+            "slayer-level": "100",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 494,
+            "lifepoints": "15000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted kalphite marauder",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted kalphite marauder#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"228\" height=\"300\" id=\"image-?\">",
+            "level": "110",
+            "defence": "78",
+            "slayer-level": "100",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 494,
+            "lifepoints": "15000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted lizard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted lizard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "94",
+            "experience": 550,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 181.5,
+            "max-melee": "1094",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 533.4000244140625,
+            "lifepoints": "11000",
+            "max-ranged": "1094",
+            "max-magic": "1094",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted scarab",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted scarab#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "101",
+            "defence": "72",
+            "slayer-level": "91",
+            "experience": 500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 165,
+            "max-melee": "700",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 389,
+            "lifepoints": "10000",
+            "max-ranged": "700",
+            "max-magic": "700",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"260\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "88",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "672",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 353.20001220703125,
+            "lifepoints": "9000",
+            "max-ranged": "672",
+            "max-magic": "672",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"153\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "80",
+            "slayer-level": "103",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 653,
+            "lifepoints": "15000",
+            "max-ranged": "1180",
+            "max-magic": "1180",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cow",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cow#Standard (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard (1)",
+                "slayer-exp": 3.299999952316284,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cow#Standard (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"260\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard (2)",
+                "slayer-exp": 3.299999952316284,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cow#Standard (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"209\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard (3)",
+                "slayer-exp": 3.299999952316284,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cow#Zanaris.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"213\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zanaris",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cow calf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cow calf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 25,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 8.199999809265137,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 3.200000047683716,
+            "lifepoints": "500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Super Cow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Super Cow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"260\" id=\"image-?\">",
+            "level": "5",
+            "defence": "4",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "80",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 36.400001525878906,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead cow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Undead cow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"198\" id=\"image-?\">",
+            "level": "2",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 16.5,
+            "max-melee": "40",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Crawling hand",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6a.png\" decoding=\"async\" loading=\"lazy\" width=\"236\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6a",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6b.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6b",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6c.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6c",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6d.png\" decoding=\"async\" loading=\"lazy\" width=\"257\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6d",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6e.png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6e",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10a.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10a",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10b.png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10b",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10c.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10c",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10d.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10d",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10e.png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10e",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeletal hand",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeletal hand#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+            "level": "63",
+            "defence": "50",
+            "slayer-level": "5",
+            "experience": 420,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 138.60000610351562,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 60.599998474121094,
+            "lifepoints": "8400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Zombie hand",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie hand#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+            "level": "69",
+            "defence": "54",
+            "slayer-level": "5",
+            "experience": 460,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 151.8000030517578,
+            "max-melee": "880",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 73.19999694824219,
+            "lifepoints": "9200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Edimmu",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Edimmu#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "85",
+            "slayer-level": "90",
+            "experience": 1600,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 528,
+            "max-melee": "350",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 880.2000122070312,
+            "lifepoints": "32000",
+            "max-ranged": "0",
+            "max-magic": "350",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Edimmu (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Edimmu (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"172\" height=\"300\" id=\"image-?\">",
+            "level": "125",
+            "defence": "85",
+            "slayer-level": "90",
+            "experience": 4800,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 1584,
+            "max-melee": "1050",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 2044.5999755859375,
+            "lifepoints": "96000",
+            "max-ranged": "0",
+            "max-magic": "1050",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Frost dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Frost dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 425,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 140.1999969482422,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 398.79998779296875,
+            "lifepoints": "8500",
+            "max-ranged": "500",
+            "max-magic": "500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kal'gerion demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Bloodchiller.png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Bloodchiller",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Riftsplitter.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Riftsplitter",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Pummeller.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Pummeller",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Thunderous.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Thunderous",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Warmonger.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Warmonger",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Rush of Blood.png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Rush of Blood",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Seeker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seeker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"300\" id=\"image-?\">",
+            "level": "86",
+            "defence": "55",
+            "slayer-level": "71",
+            "experience": 1200,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 396,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1500",
+            "name": "Default",
+            "slayer-exp": 440.3999938964844,
+            "lifepoints": "24000",
+            "max-ranged": "0",
+            "max-magic": "250",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Soulgazer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulgazer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "128",
+            "defence": "85",
+            "slayer-level": "99",
+            "experience": 2000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 660,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1950.4000244140625,
+            "lifepoints": "40000",
+            "max-ranged": "0",
+            "max-magic": "738",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bulbous crawler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bulbous crawler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+            "level": "140",
+            "defence": "95",
+            "slayer-level": "106",
+            "experience": 1900,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 627,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 2360,
+            "lifepoints": "38000",
+            "max-ranged": "2123",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Moss golem",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Moss golem#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"236\" height=\"300\" id=\"image-?\">",
+            "level": "140",
+            "defence": "95",
+            "slayer-level": "108",
+            "experience": 1750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 577.5,
+            "max-melee": "2123",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 2408.800048828125,
+            "lifepoints": "35000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Vinecrawler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Vinecrawler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+            "level": "140",
+            "defence": "95",
+            "slayer-level": "104",
+            "experience": 1600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 528,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 2086,
+            "lifepoints": "32000",
+            "max-ranged": "0",
+            "max-magic": "2123",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Automaton Generator",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Automaton Generator#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"274\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "80",
+                "slayer-level": "67",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Post-quest",
+                "slayer-exp": 624,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "510",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Automaton Generator#During The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"274\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 375,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 123.69999694824219,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2500",
+                "name": "During The World Wakes",
+                "slayer-exp": 0,
+                "lifepoints": "7500",
+                "max-ranged": "0",
+                "max-magic": "600",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Automaton Guardian",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Automaton Guardian#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "80",
+                "slayer-level": "67",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "810",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Post-quest",
+                "slayer-exp": 624,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Automaton Guardian#During The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 375,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 123.69999694824219,
+                "max-melee": "600",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "During The World Wakes",
+                "slayer-exp": 0,
+                "lifepoints": "7500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Automaton Tracer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Automaton Tracer#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "80",
+                "slayer-level": "67",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Post-quest",
+                "slayer-exp": 624,
+                "lifepoints": "20000",
+                "max-ranged": "510",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Automaton Tracer#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 375,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 123.69999694824219,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "The World Wakes",
+                "slayer-exp": 0,
+                "lifepoints": "7500",
+                "max-ranged": "600",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crocodile",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Crocodile#77.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "116",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "77",
+                "slayer-exp": 44.400001525878906,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crocodile#40.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "40",
+                "defence": "29",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "116",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "40",
+                "slayer-exp": 33.400001525878906,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crocodile akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crocodile akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"191\" id=\"image-?\">",
+            "level": "115",
+            "defence": "80",
+            "slayer-level": "111",
+            "experience": 900,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 297,
+            "max-melee": "1561",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 761.2000122070312,
+            "lifepoints": "18000",
+            "max-ranged": "1561",
+            "max-magic": "1561",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ol' Sawtooth",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ol' Sawtooth#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+            "level": "120",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 6750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 2227.5,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "135000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea crocodile",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Sea crocodile#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "77",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 634.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 209.3000030517578,
+                "max-melee": "936",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "15500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Sea crocodile#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "77",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 387.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 127.80000305175781,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "7750",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crystal Shapeshifter",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Crystal Shapeshifter#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"299\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "80",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "980",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1900",
+                "name": "Melee",
+                "slayer-exp": 1269.800048828125,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crystal Shapeshifter#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"237\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "80",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "1900",
+                "name": "Ranged",
+                "slayer-exp": 1269.800048828125,
+                "lifepoints": "30000",
+                "max-ranged": "980",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crystal Shapeshifter#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"117\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "80",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1900",
+                "name": "Magic",
+                "slayer-exp": 1269.800048828125,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "980",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cyclops",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#57 (Stab).png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "57",
+                "defence": "41",
+                "slayer-level": "1",
+                "experience": 205,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67.5999984741211,
+                "max-melee": "205",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "57 (Stab)",
+                "slayer-exp": 71.80000305175781,
+                "lifepoints": "4100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#68 (Stab).png\" decoding=\"async\" loading=\"lazy\" width=\"191\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "49",
+                "slayer-level": "1",
+                "experience": 245,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 80.80000305175781,
+                "max-melee": "245",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "68 (Stab)",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "4900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#57 (Slash).png\" decoding=\"async\" loading=\"lazy\" width=\"179\" height=\"300\" id=\"image-?\">",
+                "level": "57",
+                "defence": "41",
+                "slayer-level": "1",
+                "experience": 205,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67.5999984741211,
+                "max-melee": "205",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "57 (Slash)",
+                "slayer-exp": 71.80000305175781,
+                "lifepoints": "4100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#68 (Slash).png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "49",
+                "slayer-level": "1",
+                "experience": 245,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 80.80000305175781,
+                "max-melee": "245",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "68 (Slash)",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "4900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#57 (Crush).png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "57",
+                "defence": "41",
+                "slayer-level": "1",
+                "experience": 205,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67.5999984741211,
+                "max-melee": "205",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "57 (Crush)",
+                "slayer-exp": 71.80000305175781,
+                "lifepoints": "4100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#68 (Crush).png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "49",
+                "slayer-level": "1",
+                "experience": 245,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 80.80000305175781,
+                "max-melee": "245",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "68 (Crush)",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "4900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#91 (God Wars Dungeon), 1.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "325",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "91 (God Wars Dungeon), 1",
+                "slayer-exp": 281.79998779296875,
+                "lifepoints": "9750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#91 (God Wars Dungeon), 2.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "325",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "91 (God Wars Dungeon), 2",
+                "slayer-exp": 281.79998779296875,
+                "lifepoints": "9750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cyclossus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cyclossus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 630,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 207.89999389648438,
+            "max-melee": "960",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 350,
+            "lifepoints": "12600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth (Lighthouse)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Lighthouse)#Level 77.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "165",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 77",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "220",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Lighthouse)#Level 78.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 78",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dagannoth (Waterbirth Island)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (78)",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (79)",
+                "slayer-exp": 61,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Blood Runs Deep (78)",
+                "slayer-exp": -1,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dagannoth (Waterbirth Island, ranged)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png\" decoding=\"async\" loading=\"lazy\" width=\"254\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged (78)",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "224",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png\" decoding=\"async\" loading=\"lazy\" width=\"254\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "57",
+                "slayer-level": "1",
+                "experience": 142.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 47,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged (79)",
+                "slayer-exp": 64,
+                "lifepoints": "2850",
+                "max-ranged": "171",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dagannoth Prime",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth Prime#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+            "level": "303",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 288.70001220703125,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1068,
+            "lifepoints": "35000",
+            "max-ranged": "0",
+            "max-magic": "1788",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth Rex",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth Rex#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"214\" id=\"image-?\">",
+            "level": "303",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 1750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 577.5,
+            "max-melee": "1788",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1068,
+            "lifepoints": "35000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth Supreme",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth Supreme#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"193\" height=\"300\" id=\"image-?\">",
+            "level": "303",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 875,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 288.70001220703125,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1068,
+            "lifepoints": "35000",
+            "max-ranged": "1788",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth fledgeling",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth fledgeling#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"178\" id=\"image-?\">",
+            "level": "72",
+            "defence": "52",
+            "slayer-level": "1",
+            "experience": 0,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 0,
+            "max-melee": "208",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "2600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"244\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 165,
+            "max-melee": "400",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 326.6000061035156,
+            "lifepoints": "10000",
+            "max-ranged": "400",
+            "max-magic": "400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth spawn",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth spawn#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 117.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 38.70000076293945,
+            "max-melee": "188",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 39.400001525878906,
+            "lifepoints": "2350",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dark beast",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dark beast#8,500 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "101",
+                "defence": "75",
+                "slayer-level": "90",
+                "experience": 425,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 140.1999969482422,
+                "max-melee": "600",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "8,500 life points",
+                "slayer-exp": 331.3999938964844,
+                "lifepoints": "8500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dark beast#19,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "101",
+                "defence": "75",
+                "slayer-level": "90",
+                "experience": 950,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 313.5,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "19,000 life points",
+                "slayer-exp": 440,
+                "lifepoints": "19000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dark beast (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dark beast (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "90",
+            "experience": 1700,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 561,
+            "max-melee": "1800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1372.800048828125,
+            "lifepoints": "34000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant dark beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant dark beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 442.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 146,
+            "max-melee": "1327",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 415.6000061035156,
+            "lifepoints": "8850",
+            "max-ranged": "1327",
+            "max-magic": "1327",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cerberus Juvenile",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cerberus Juvenile#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+            "level": "138",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 6000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1980,
+            "max-melee": "2570",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10000,
+            "lifepoints": "120000",
+            "max-ranged": "2011",
+            "max-magic": "2011",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Gargoyle",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Gargoyle#Regular.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"164\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "75",
+                "experience": 335,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 110.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Regular",
+                "slayer-exp": 197.39999389648438,
+                "lifepoints": "6700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gargoyle#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"164\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "75",
+                "experience": 675,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 222.6999969482422,
+                "max-melee": "1080",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 197.39999389648438,
+                "lifepoints": "13500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "1",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "2",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "3",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "4",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "5",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon ash lord",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon ash lord#The Zamorakian Undercity.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"250\" id=\"image-?\">",
+                "level": "157",
+                "defence": "110",
+                "slayer-level": "1",
+                "experience": 7000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 2310,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The Zamorakian Undercity",
+                "slayer-exp": 7150,
+                "lifepoints": "140000",
+                "max-ranged": "1564",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon ash lord#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"250\" id=\"image-?\">",
+                "level": "149",
+                "defence": "100",
+                "slayer-level": "1",
+                "experience": 5500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1815,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 7150,
+                "lifepoints": "110000",
+                "max-ranged": "1564",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon berserker",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon berserker#The Zamorakian Undercity.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "166",
+                "defence": "110",
+                "slayer-level": "1",
+                "experience": 7000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 2310,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The Zamorakian Undercity",
+                "slayer-exp": 7150,
+                "lifepoints": "140000",
+                "max-ranged": "1564",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon berserker#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "159",
+                "defence": "104",
+                "slayer-level": "1",
+                "experience": 5500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1815,
+                "max-melee": "2793",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 7150,
+                "lifepoints": "110000",
+                "max-ranged": "1564",
+                "max-magic": "1564",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon brute",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon brute#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+            "level": "148",
+            "defence": "107",
+            "slayer-level": "1",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "2346",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100000",
+            "max-ranged": "1564",
+            "max-magic": "1564",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Greater demon pyromancer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "132",
+                "defence": "98",
+                "slayer-level": "1",
+                "experience": 3500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1155,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The Zamorakian Undercity",
+                "slayer-exp": -1,
+                "lifepoints": "70000",
+                "max-ranged": "1564",
+                "max-magic": "2011",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon pyromancer#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "132",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 825,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": -1,
+                "lifepoints": "50000",
+                "max-ranged": "1564",
+                "max-magic": "2011",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon sage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon sage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+            "level": "146",
+            "defence": "104",
+            "slayer-level": "1",
+            "experience": 4500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1485,
+            "max-melee": "1564",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "90000",
+            "max-ranged": "1564",
+            "max-magic": "2346",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Greater demon savage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon savage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "133",
+            "defence": "100",
+            "slayer-level": "1",
+            "experience": 4000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1320,
+            "max-melee": "2011",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "80000",
+            "max-ranged": "1564",
+            "max-magic": "1564",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imp",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Imp#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "16",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Imp#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "16",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Imp scavenger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imp scavenger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 1650,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 544.5,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "33000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "K'ril Tsutsaroth",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/K'ril Tsutsaroth#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"196\" id=\"image-?\">",
+                "level": "650",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2000",
+                "name": "Hard mode",
+                "slayer-exp": 3912.39990234375,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "840",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/K'ril Tsutsaroth#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"196\" id=\"image-?\">",
+                "level": "650",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"
+                ],
+                "lifepoint-exp": 907.5,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "6600",
+                "name": "Normal",
+                "slayer-exp": 2151.800048828125,
+                "lifepoints": "55000",
+                "max-ranged": "0",
+                "max-magic": "1500",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/K'ril Tsutsaroth#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 2250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 742.5,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2000",
+                "name": "The World Wakes",
+                "slayer-exp": 1804,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "840",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kal'gerion demon (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bloodchiller",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Pummeller",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Riftsplitter",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Warmonger",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lesser demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Revenant demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"131\" height=\"300\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "1125",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 175,
+            "lifepoints": "7500",
+            "max-ranged": "1125",
+            "max-magic": "1125",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ripper Demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ripper Demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"291\" height=\"300\" id=\"image-?\">",
+            "level": "131",
+            "defence": "90",
+            "slayer-level": "96",
+            "experience": 1678.0999755859375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 553.7000122070312,
+            "max-melee": "950",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "32000",
+            "name": "Default",
+            "slayer-exp": 2721.60009765625,
+            "lifepoints": "33563",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tormented demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Tormented demon#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"179\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Standard",
+                "slayer-exp": 1136,
+                "lifepoints": "20000",
+                "max-ranged": "1150",
+                "max-magic": "1150",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Tormented demon#While Guthix Sleeps.png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "While Guthix Sleeps",
+                "slayer-exp": 1136,
+                "lifepoints": "20000",
+                "max-ranged": "1150",
+                "max-magic": "1150",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Tstanon Karlak",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tstanon Karlak#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "365",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 272.79998779296875,
+            "lifepoints": "7500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Yor'Ger the Deceiver",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Yor'Ger the Deceiver#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "200",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 9000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 2970,
+                "max-melee": "1425",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 11368,
+                "lifepoints": "180000",
+                "max-ranged": "1425",
+                "max-magic": "1425",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Yor'Ger the Deceiver#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zakl'n Gritch",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zakl'n Gritch#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 150,
+            "lifepoints": "7500",
+            "max-ranged": "365",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Desert Lizard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Desert Lizard#Green.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"183\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "22",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "440",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Green",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Desert Lizard#Yellow.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"155\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "22",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "440",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Yellow",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Desert Lizard#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"141\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "22",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "440",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lizard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lizard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"179\" id=\"image-?\">",
+            "level": "40",
+            "defence": "29",
+            "slayer-level": "22",
+            "experience": 232.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 76.69999694824219,
+            "max-melee": "580",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 54.79999923706055,
+            "lifepoints": "4650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Small Lizard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Small Lizard#Green.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"171\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "22",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Green",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small Lizard#Yellow.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "22",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Yellow",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Desert strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Desert strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "103",
+            "defence": "74",
+            "slayer-level": "77",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "710",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "2000",
+            "name": "Default",
+            "slayer-exp": 376.6000061035156,
+            "lifepoints": "10000",
+            "max-ranged": "710",
+            "max-magic": "710",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Baby Dinosaur Skeleton",
+        "variants": []
+    },
+    {
+        "name": "Brutish dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Brutish dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "164",
+                "defence": "80",
+                "slayer-level": "99",
+                "experience": 3500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 1155,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2757",
+                "name": "Normal",
+                "slayer-exp": 3100,
+                "lifepoints": "70000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Brutish dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "164",
+                "defence": "80",
+                "slayer-level": "99",
+                "experience": 3500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 1155,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2757",
+                "name": "Dinosaur invasion",
+                "slayer-exp": 3100,
+                "lifepoints": "70000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Feral Dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Feral Dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "90",
+                "experience": 2250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 742.5,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 1810,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Feral Dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "N/A",
+                "experience": 2250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 742.5,
+                "max-melee": "1224",
+                "weakness": [],
+                "max-spec": "N/A",
+                "name": "Dinosaur invasion",
+                "slayer-exp": -2,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Orikalka",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Orikalka#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+            "level": "888",
+            "defence": "96",
+            "slayer-level": "1",
+            "experience": 4750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+            ],
+            "lifepoint-exp": 1567.5,
+            "max-melee": "3129",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "4500",
+            "name": "Default",
+            "slayer-exp": 4500,
+            "lifepoints": "190000",
+            "max-ranged": "0",
+            "max-magic": "4500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Osseous",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Osseous#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"283\" id=\"image-?\">",
+            "level": "888",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 17500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 5775,
+            "max-melee": "?",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Necromancy\" title=\"Necromancy\" target=\"_blank\"><img src=\"./images/weakness/s/Necromancy-icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "5100",
+            "name": "Default",
+            "slayer-exp": 394,
+            "lifepoints": "350000",
+            "max-ranged": "?",
+            "max-magic": "0",
+            "max-necromancy": "3129"
+        }]
+    },
+    {
+        "name": "Pthentraken",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pthentraken#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+            "level": "888",
+            "defence": "96",
+            "slayer-level": "1",
+            "experience": 4750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+            ],
+            "lifepoint-exp": 1567.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "5500",
+            "name": "Default",
+            "slayer-exp": 4545,
+            "lifepoints": "190000",
+            "max-ranged": "3500",
+            "max-magic": "3129",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rathis",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rathis#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+            "level": "888",
+            "defence": "96",
+            "slayer-level": "1",
+            "experience": 4750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+            ],
+            "lifepoint-exp": 1567.5,
+            "max-melee": "3129",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "4500",
+            "name": "Default",
+            "slayer-exp": 4545,
+            "lifepoints": "190000",
+            "max-ranged": "3500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ripper dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ripper dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "176",
+                "defence": "80",
+                "slayer-level": "114",
+                "experience": 3250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "lifepoint-exp": 1072.5,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 1904,
+                "lifepoints": "65000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ripper dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "176",
+                "defence": "80",
+                "slayer-level": "N/A",
+                "experience": 3250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "lifepoint-exp": 1072.5,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Dinosaur invasion",
+                "slayer-exp": -2,
+                "lifepoints": "65000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Venomous dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Venomous dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+                "level": "172",
+                "defence": "80",
+                "slayer-level": "105",
+                "experience": 1750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 577.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 1332,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Venomous dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+                "level": "172",
+                "defence": "80",
+                "slayer-level": "N/A",
+                "experience": 1750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "lifepoint-exp": 577.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Dinosaur invasion",
+                "slayer-exp": -2,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Guard dog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Guard dog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+            "level": "33",
+            "defence": "24",
+            "slayer-level": "1",
+            "experience": 60,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 19.799999237060547,
+            "max-melee": "96",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 13.399999618530273,
+            "lifepoints": "1200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jackal",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jackal#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+            "level": "49",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 175,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 57.70000076293945,
+            "max-melee": "140",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 43.20000076293945,
+            "lifepoints": "3500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shadow Hound",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow Hound#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+            "level": "67",
+            "defence": "48",
+            "slayer-level": "1",
+            "experience": 120,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 39.599998474121094,
+            "max-melee": "192",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 39.400001525878906,
+            "lifepoints": "2400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Wild dog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wild dog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "35",
+            "defence": "25",
+            "slayer-level": "1",
+            "experience": 62.5,
+            "susceptible": [],
+            "lifepoint-exp": 20.600000381469727,
+            "max-melee": "100",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 14,
+            "lifepoints": "1250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Baby red dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Baby red dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"233\" height=\"300\" id=\"image-?\">",
+            "level": "47",
+            "defence": "34",
+            "slayer-level": "1",
+            "experience": 85,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 28,
+            "max-melee": "136",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 20.600000381469727,
+            "lifepoints": "1700",
+            "max-ranged": "0",
+            "max-magic": "136",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black stone dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Black stone dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"156\" id=\"image-?\">",
+            "level": "2500",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 16250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"
+            ],
+            "lifepoint-exp": 5362.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 37600,
+            "lifepoints": "650000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Brutal green dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Brutal green dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"219\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1250",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1500",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "1250",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dragonstone dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dragonstone dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"231\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 2000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 660,
+            "max-melee": "1561",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1561",
+            "name": "Default",
+            "slayer-exp": 1448.4000244140625,
+            "lifepoints": "40000",
+            "max-ranged": "0",
+            "max-magic": "1561",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dragonstone dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"231\" id=\"image-?\">",
+            "level": "111",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 2750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 907.5,
+            "max-melee": "1224",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 5100,
+            "lifepoints": "55000",
+            "max-ranged": "1224",
+            "max-magic": "1224",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Green dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "1",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "2",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"232\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "3",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"299\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "4",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"224\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "5",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hydrix dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hydrix dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "133",
+            "defence": "95",
+            "slayer-level": "101",
+            "experience": 3000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 990,
+            "max-melee": "1745",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3900",
+            "name": "Default",
+            "slayer-exp": 4768.7998046875,
+            "lifepoints": "60000",
+            "max-ranged": "0",
+            "max-magic": "1745",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hydrix dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "118",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 3750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1237.5,
+            "max-melee": "1745",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3900",
+            "name": "Default",
+            "slayer-exp": 17000,
+            "lifepoints": "75000",
+            "max-ranged": "1745",
+            "max-magic": "1745",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Iron dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Iron dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"222\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "488",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 245,
+            "lifepoints": "7500",
+            "max-ranged": "0",
+            "max-magic": "488",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mithril dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mithril dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"265\" id=\"image-?\">",
+            "level": "112",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 890,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 293.70001220703125,
+            "max-melee": "1068",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "2700",
+            "name": "Default",
+            "slayer-exp": 564.4000244140625,
+            "lifepoints": "17800",
+            "max-ranged": "1068",
+            "max-magic": "1068",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon artificer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon artificer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+            "level": "120",
+            "defence": "94",
+            "slayer-level": "92",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1598",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon engineer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon engineer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"209\" id=\"image-?\">",
+            "level": "150",
+            "defence": "95",
+            "slayer-level": "92",
+            "experience": 6250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2062.5,
+            "max-melee": "1506",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 2769,
+            "lifepoints": "50000",
+            "max-ranged": "1506",
+            "max-magic": "1506",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+            "level": "120",
+            "defence": "94",
+            "slayer-level": "92",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "1598",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon hunter",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon hunter#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"263\" id=\"image-?\">",
+            "level": "120",
+            "defence": "94",
+            "slayer-level": "92",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "1598",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Onyx dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Onyx dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "98",
+            "experience": 2500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 825,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1653.8",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "50000",
+            "max-ranged": "0",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Onyx dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 3000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 990,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 6050,
+            "lifepoints": "60000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Red dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"252\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"226\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"262\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Red dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Red dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 1450,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 478.5,
+            "max-melee": "1080",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1227,
+            "lifepoints": "29000",
+            "max-ranged": "1080",
+            "max-magic": "1080",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rune dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rune dragon#Armoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"234\" id=\"image-?\">",
+                "level": "127",
+                "defence": "90",
+                "slayer-level": "76",
+                "experience": 3412.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1126.0999755859375,
+                "max-melee": "1820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "10000",
+                "name": "Armoured",
+                "slayer-exp": 2051,
+                "lifepoints": "68250",
+                "max-ranged": "1820",
+                "max-magic": "1820",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rune dragon#Unarmoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "127",
+                "defence": "90",
+                "slayer-level": "76",
+                "experience": 3412.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1126.0999755859375,
+                "max-melee": "1820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "10000",
+                "name": "Unarmoured",
+                "slayer-exp": 2051,
+                "lifepoints": "68250",
+                "max-ranged": "1820",
+                "max-magic": "1820",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Sangri the Red",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sangri the Red#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "131",
+            "defence": "94",
+            "slayer-level": "1",
+            "experience": 8750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2887.5,
+            "max-melee": "1353",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 14077,
+            "lifepoints": "175000",
+            "max-ranged": "1353",
+            "max-magic": "1353",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Siege engine",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Siege engine#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"181\" id=\"image-?\">",
+            "level": "150",
+            "defence": "90",
+            "slayer-level": "92",
+            "experience": 2400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 792,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1505,
+            "lifepoints": "30000",
+            "max-ranged": "1653",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Steel dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Steel dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+            "level": "100",
+            "defence": "72",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 165,
+            "max-melee": "508",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "2100",
+            "name": "Default",
+            "slayer-exp": 350,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "508",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dust devil",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dust devil#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "65",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 192.8000030517578,
+            "lifepoints": "8000",
+            "max-ranged": "244",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dust devil (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dust devil (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "95",
+            "defence": "61",
+            "slayer-level": "65",
+            "experience": 1600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 528,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 684,
+            "lifepoints": "32000",
+            "max-ranged": "732",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Earth warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Earth warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "56",
+            "slayer-level": "1",
+            "experience": 482.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 159.1999969482422,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 57.5,
+            "lifepoints": "9650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Earth warrior (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Earth warrior (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+            "level": "75",
+            "defence": "56",
+            "slayer-level": "1",
+            "experience": 1630,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 537.9000244140625,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 295,
+            "lifepoints": "32600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cadarn magus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cadarn magus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"171\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1791",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "1083",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cadarn ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cadarn ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "1300",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "1083",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Elf warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Elf warrior#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 49.5,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee",
+                "slayer-exp": 73.5999984741211,
+                "lifepoints": "3000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Elf warrior#Range.png\" decoding=\"async\" loading=\"lazy\" width=\"126\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 160,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 52.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Range",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "3200",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Iorwerth guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Iorwerth guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"90\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "1899",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Iorwerth scout",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Iorwerth scout#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Knight of Ardougne (West Ardougne)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Knight of Ardougne (West Ardougne)#Surface.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "33",
+                "defence": "24",
+                "slayer-level": "1",
+                "experience": 80,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 26.399999618530273,
+                "max-melee": "96",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Surface",
+                "slayer-exp": 0,
+                "lifepoints": "1200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 203.3000030517578,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Mourner Tunnels",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mourner (Mourner Tunnels)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mourner (Mourner Tunnels)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "1",
+            "experience": 152.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 50.29999923706055,
+            "max-melee": "244",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "3050",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seren archer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seren archer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seren mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seren mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "980",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seren warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seren warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"191\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fetid zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Fetid zombie#1.png\" decoding=\"async\" loading=\"lazy\" width=\"128\" height=\"300\" id=\"image-?\">",
+                "level": "66",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 100,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Fetid zombie#2.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "66",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 100,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Fever spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Fever spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"202\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "42",
+            "experience": 210,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 69.30000305175781,
+            "max-melee": "740",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 86.5999984741211,
+            "lifepoints": "4200",
+            "max-ranged": "840",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fire giant",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Fire giant#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 335,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 110.5,
+            "max-melee": "335",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 161.1999969482422,
+            "lifepoints": "6700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Flesh Crawler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Flesh Crawler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"262\" id=\"image-?\">",
+            "level": "26",
+            "defence": "22",
+            "slayer-level": "1",
+            "experience": 180,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 59.400001525878906,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 50,
+            "lifepoints": "3600",
+            "max-ranged": "320",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Big frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Big frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+            "level": "18",
+            "defence": "20",
+            "slayer-level": "1",
+            "experience": 165,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 54.400001525878906,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 14.399999618530273,
+            "lifepoints": "3300",
+            "max-ranged": "120",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"265\" id=\"image-?\">",
+            "level": "67",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 235,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 77.5,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 54.79999923706055,
+            "lifepoints": "4700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Frogeel",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Frogeel#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"160\" id=\"image-?\">",
+            "level": "68",
+            "defence": "49",
+            "slayer-level": "1",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.400001525878906,
+            "lifepoints": "8200",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+            "level": "33",
+            "defence": "32",
+            "slayer-level": "1",
+            "experience": 255,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 84.0999984741211,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 18.799999237060547,
+            "lifepoints": "5100",
+            "max-ranged": "300",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Plague frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Plague frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"253\" id=\"image-?\">",
+            "level": "17",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.200000762939453,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Swamp frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Swamp frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+            "level": "11",
+            "defence": "12",
+            "slayer-level": "1",
+            "experience": 55,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 18.100000381469727,
+            "max-melee": "80",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10,
+            "lifepoints": "1100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fungal mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Fungal mage#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"204\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 63.599998474121094,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "232",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Fungal mage#Weakened.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Weakened",
+                "slayer-exp": 63.599998474121094,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "116",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ganodermic beast",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic beast#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "70",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 565,
+                "lifepoints": "12500",
+                "max-ranged": "0",
+                "max-magic": "332",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic beast#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"255\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "60",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 565,
+                "lifepoints": "12500",
+                "max-ranged": "0",
+                "max-magic": "166",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ganodermic runt",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic runt#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"297\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 564.4000244140625,
+                "lifepoints": "12500",
+                "max-ranged": "332",
+                "max-magic": "332",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic runt#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"268\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 564.4000244140625,
+                "lifepoints": "12500",
+                "max-ranged": "166",
+                "max-magic": "166",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Gelatinous abomination",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Gelatinous abomination#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+            "level": "2",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 25,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 8.199999809265137,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19,
+            "lifepoints": "500",
+            "max-ranged": "0",
+            "max-magic": "60",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ahrim the Blighted",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ahrim the Blighted#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"195\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "1260",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ahrim the Blighted#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"195\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": 395,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Akrisae the Doomed",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Akrisae the Doomed#Barrows.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Barrows",
+                "slayer-exp": -1,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "2167",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Akrisae the Doomed#Gregorovic.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Gregorovic",
+                "slayer-exp": -1,
+                "lifepoints": "1000000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Akrisae the Doomed#Sliske's Endgame.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sliske's Endgame",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dharok the Wretched",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dharok the Wretched#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "3150",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3150",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": 395,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dharok the Wretched#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"228\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3150",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghast",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Regular.png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "150",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Regular",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Temple Trekking (Easy Route).png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "28",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Easy Route)",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Temple Trekking (Medium Route).png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "180",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Medium Route)",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Temple Trekking (Hard Route).png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Hard Route)",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghost",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghost#1.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#2.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#3.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#4.png\" decoding=\"async\" loading=\"lazy\" width=\"126\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#5.png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#6.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#7.png\" decoding=\"async\" loading=\"lazy\" width=\"115\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "7",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghost (Abandoned Mine)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghost (Abandoned Mine)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "42",
+            "defence": "?",
+            "slayer-level": "1",
+            "experience": -1,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": -1,
+            "max-melee": "120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ghost (Ourania Runecrafting Altar)",
+        "variants": []
+    },
+    {
+        "name": "Ghost (Shattered Worlds)",
+        "variants": []
+    },
+    {
+        "name": "Ghost (Spirit of Summer)",
+        "variants": []
+    },
+    {
+        "name": "Ghost (Stronghold of Security)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#3.png\" decoding=\"async\" loading=\"lazy\" width=\"115\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#4.png\" decoding=\"async\" loading=\"lazy\" width=\"126\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#5.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghost healer",
+        "variants": []
+    },
+    {
+        "name": "Ghostly troll bruiser",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghostly troll bruiser#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "100",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 20.799999237060547,
+            "lifepoints": "1800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ghostly troll thrower",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghostly troll thrower#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 20.799999237060547,
+            "lifepoints": "1800",
+            "max-ranged": "100",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ghostly warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghostly warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "44",
+            "slayer-level": "1",
+            "experience": 110,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 36.29999923706055,
+            "max-melee": "176",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 32.599998474121094,
+            "lifepoints": "2200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Guthan the Infested",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Guthan the Infested#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"102\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 881.4000244140625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 290.79998779296875,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"102\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "600",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": -1,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Guthan the Infested#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"276\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 7149.60009765625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 2359.300048828125,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Karil the Tainted",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Karil the Tainted#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "1260",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Karil the Tainted#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "864",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Linza the Disgraced",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Linza the Disgraced#Barrows.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 3750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 1237.5,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Barrows",
+                "slayer-exp": 440,
+                "lifepoints": "150000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Linza the Disgraced#Sliske's Endgame.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sliske's Endgame",
+                "slayer-exp": -1,
+                "lifepoints": "150000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Masuta the Descended",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Masuta the Descended#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"205\" height=\"300\" id=\"image-?\">",
+            "level": "1000",
+            "defence": "85",
+            "slayer-level": "?",
+            "experience": 9750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 3217.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "195000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant cyclops",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant cyclops#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"117\" height=\"300\" id=\"image-?\">",
+            "level": "60",
+            "defence": "43",
+            "slayer-level": "1",
+            "experience": 322.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 106.4000015258789,
+            "max-melee": "967",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 93.19999694824219,
+            "lifepoints": "6450",
+            "max-ranged": "967",
+            "max-magic": "967",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"161\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 517.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 170.6999969482422,
+            "max-melee": "1552",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 712.4000244140625,
+            "lifepoints": "10350",
+            "max-ranged": "1552",
+            "max-magic": "1552",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant goblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#16.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "16",
+                "defence": "12",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "270",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "16",
+                "slayer-exp": 27.799999237060547,
+                "lifepoints": "1800",
+                "max-ranged": "270",
+                "max-magic": "270",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#19.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "19",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 49.5,
+                "max-melee": "450",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "19",
+                "slayer-exp": 28.399999618530273,
+                "lifepoints": "3000",
+                "max-ranged": "450",
+                "max-magic": "450",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#22.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "22",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 49.5,
+                "max-melee": "450",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "22",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "3000",
+                "max-ranged": "450",
+                "max-magic": "450",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#28.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "28",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 49.5,
+                "max-melee": "450",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "28",
+                "slayer-exp": 34.599998474121094,
+                "lifepoints": "3000",
+                "max-ranged": "450",
+                "max-magic": "450",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Revenant hellhound",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant hellhound#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 352.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 116.30000305175781,
+            "max-melee": "1057",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 122.19999694824219,
+            "lifepoints": "7050",
+            "max-ranged": "1057",
+            "max-magic": "1057",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant hobgoblin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant hobgoblin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"162\" height=\"300\" id=\"image-?\">",
+            "level": "44",
+            "defence": "32",
+            "slayer-level": "1",
+            "experience": 240,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 56.599998474121094,
+            "lifepoints": "4800",
+            "max-ranged": "720",
+            "max-magic": "720",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant icefiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant icefiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"194\" height=\"300\" id=\"image-?\">",
+            "level": "37",
+            "defence": "27",
+            "slayer-level": "1",
+            "experience": 202.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 66.80000305175781,
+            "max-melee": "607",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 45.599998474121094,
+            "lifepoints": "4050",
+            "max-ranged": "607",
+            "max-magic": "607",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant imp",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant imp#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 75,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 24.700000762939453,
+            "max-melee": "225",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 25,
+            "lifepoints": "1500",
+            "max-ranged": "225",
+            "max-magic": "225",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant knight",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant knight#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 487.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 160.8000030517578,
+            "max-melee": "1462",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 552.7999877929688,
+            "lifepoints": "9750",
+            "max-ranged": "1462",
+            "max-magic": "1462",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant ork",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant ork#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 412.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 136.10000610351562,
+            "max-melee": "1237",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 269.20001220703125,
+            "lifepoints": "8250",
+            "max-ranged": "1237",
+            "max-magic": "1237",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant pyrefiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant pyrefiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+            "level": "40",
+            "defence": "29",
+            "slayer-level": "1",
+            "experience": 217.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 71.69999694824219,
+            "max-melee": "652",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 50.20000076293945,
+            "lifepoints": "4350",
+            "max-ranged": "652",
+            "max-magic": "652",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant vampyre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant vampyre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+            "level": "47",
+            "defence": "34",
+            "slayer-level": "1",
+            "experience": 255,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 84.0999984741211,
+            "max-melee": "765",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 62.20000076293945,
+            "lifepoints": "5100",
+            "max-ranged": "765",
+            "max-magic": "765",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant werewolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant werewolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"171\" height=\"300\" id=\"image-?\">",
+            "level": "53",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 285,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 94,
+            "max-melee": "855",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 74.4000015258789,
+            "lifepoints": "5700",
+            "max-ranged": "855",
+            "max-magic": "855",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Risen ghost",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Risen ghost#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+            "level": "101",
+            "defence": "70",
+            "slayer-level": "85",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1000,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1117",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shade",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shade#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"135\" height=\"300\" id=\"image-?\">",
+            "level": "52",
+            "defence": "44",
+            "slayer-level": "1",
+            "experience": 362.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 119.5999984741211,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "7250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shadow warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 390,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 128.6999969482422,
+            "max-melee": "940",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 113,
+            "lifepoints": "7800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Torag the Corrupted",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Torag the Corrupted#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Torag the Corrupted#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"179\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Tormented soul (Uncharted Isles)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tormented soul (Uncharted Isles)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+            "level": "93",
+            "defence": "67",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "268",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 98.5999984741211,
+            "lifepoints": "1000",
+            "max-ranged": "268",
+            "max-magic": "268",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tormented wraith",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tormented wraith#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"117\" height=\"300\" id=\"image-?\">",
+            "level": "42",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 225,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "270",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 52,
+            "lifepoints": "4500",
+            "max-ranged": "0",
+            "max-magic": "120",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tortured soul (Port Phasmatys)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tortured soul (Port Phasmatys)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+            "level": "53",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 49.5,
+            "max-melee": "114",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 38.79999923706055,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Verac the Defiled",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Verac the Defiled#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Verac the Defiled#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Wight",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wight#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wight (Missing, Presumed Death)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wight (Missing, Presumed Death)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 17.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 5.699999809265137,
+            "max-melee": "25",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "350",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wight ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wight ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"194\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wight ranger (Sliske's Endgame)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Wight ranger (Sliske's Endgame)#78.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 206.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 68,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "78",
+                "slayer-exp": -1,
+                "lifepoints": "4125",
+                "max-ranged": "192",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 206.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 68,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "78 (Weak in slash)",
+                "slayer-exp": -1,
+                "lifepoints": "4125",
+                "max-ranged": "1676.3",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wight ranger (Sliske's Endgame)#85.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 206.25,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 68,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "85",
+                "slayer-exp": -1,
+                "lifepoints": "4125",
+                "max-ranged": "384",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Ghoul",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghoul#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "50",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "620",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 35.79999923706055,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghoul#Blue.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "50",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "620",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Blue",
+                "slayer-exp": 35.79999923706055,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghoul (Paterdomus)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghoul (Paterdomus)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+            "level": "33",
+            "defence": "24",
+            "slayer-level": "1",
+            "experience": 60,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 19.799999237060547,
+            "max-melee": "96",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ravenous ghoul",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ravenous ghoul#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"257\" height=\"300\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 725,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 239.1999969482422,
+            "max-melee": "595",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "14500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ravenous ghoul (Mazchna)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ravenous ghoul (Mazchna)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"300\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 475,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 156.6999969482422,
+            "max-melee": "480",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "9500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Arch-Glacor",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Arch-Glacor#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"233\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 1625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 536.2000122070312,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "32000",
+                "name": "Hard mode",
+                "slayer-exp": 4810,
+                "lifepoints": "65000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Arch-Glacor#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"233\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 1625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 536.2000122070312,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "32000",
+                "name": "Normal mode",
+                "slayer-exp": 4810,
+                "lifepoints": "65000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bolstered Glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bolstered Glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+            "level": "131",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 62.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 20.600000381469727,
+            "max-melee": "950",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1250",
+            "max-ranged": "?",
+            "max-magic": "?",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Enduring glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Enduring glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 333.29998779296875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 109.9000015258789,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Glacor",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Glacor#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 2000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 660,
+            "max-melee": "1266",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 1881,
+            "lifepoints": "40000",
+            "max-ranged": "1266",
+            "max-magic": "1266",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Glacyte",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Glacyte#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "84",
+                "experience": 250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 82.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee",
+                "slayer-exp": 182,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Glacyte#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "84",
+                "experience": 250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic",
+                "slayer-exp": 182,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Glacyte (Arch-Glacor)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Glacyte (Arch-Glacor)#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee",
+                "slayer-exp": -1,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Glacyte (Arch-Glacor)#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 82.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic",
+                "slayer-exp": -1,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Sapping glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sapping glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 333.29998779296875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 109.9000015258789,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Unstable glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Unstable glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"289\" height=\"300\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 333.29998779296875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 109.9000015258789,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Angry goblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Angry goblin#A Soul's Bane.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "45",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A Soul's Bane",
+                "slayer-exp": 0,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry goblin#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Brokeface",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Brokeface#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "150",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave goblin (monster)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave goblin (monster)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"172\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 2.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 0.800000011920929,
+            "max-melee": "4",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "50",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave goblin guard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin guard#Club.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "60",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Club",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin guard#Spear.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "60",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Spear",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cave goblin miner",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin miner#Mining.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": [],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Mining",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin miner#Slacking off.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": [],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Slacking off",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 2.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "2",
+                "defence": "2",
+                "slayer-level": "1",
+                "experience": 27.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 9,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 2",
+                "slayer-exp": -1,
+                "lifepoints": "550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 5.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 5",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 11.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "11",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 11",
+                "slayer-exp": -1,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 1 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 1 (Slayer challenge)",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 5 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "16",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 5 (Slayer challenge)",
+                "slayer-exp": -1,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 11 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "11",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 20,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 6.599999904632568,
+                "max-melee": "32",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 11 (Slayer challenge)",
+                "slayer-exp": -1,
+                "lifepoints": "400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin (Goblin Village)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (1).png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (1)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (2).png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (2)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (3).png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (3)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (4).png\" decoding=\"async\" loading=\"lazy\" width=\"280\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (4)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (5).png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (5)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (6).png\" decoding=\"async\" loading=\"lazy\" width=\"170\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (6)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (1).png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (1)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (2).png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (2)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (3).png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (3)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (4).png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (4)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (5).png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (5)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (6).png\" decoding=\"async\" loading=\"lazy\" width=\"170\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (6)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin (God Wars Dungeon)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Sword.png\" decoding=\"async\" loading=\"lazy\" width=\"205\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Sword",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Warhammer.png\" decoding=\"async\" loading=\"lazy\" width=\"201\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Warhammer",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Banner.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Banner",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Spear.png\" decoding=\"async\" loading=\"lazy\" width=\"189\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Spear",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png\" decoding=\"async\" loading=\"lazy\" width=\"200\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Battleaxe",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin (Stronghold of Security)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png\" decoding=\"async\" loading=\"lazy\" width=\"220\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (a)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png\" decoding=\"async\" loading=\"lazy\" width=\"211\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (b)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (c)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (d)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (e)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (f)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Guard (cave goblin)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Guard (cave goblin)#Club.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Club",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Guard (cave goblin)#Spear.png\" decoding=\"async\" loading=\"lazy\" width=\"146\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Spear",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lumpnose",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lumpnose#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1800",
+            "max-ranged": "150",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sergeant Grimspike",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sergeant Grimspike#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"222\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 273.70001220703125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 90.30000305175781,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 199.1999969482422,
+            "lifepoints": "5475",
+            "max-ranged": "365",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sergeant Steelwill",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sergeant Steelwill#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"206\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 273.70001220703125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 90.30000305175781,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 199.1999969482422,
+            "lifepoints": "5475",
+            "max-ranged": "0",
+            "max-magic": "365",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sergeant Strongstack",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sergeant Strongstack#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 273.70001220703125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 90.30000305175781,
+            "max-melee": "365",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 199.1999969482422,
+            "lifepoints": "5475",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skoblin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skoblin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+            "level": "19",
+            "defence": "14",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9.399999618530273,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Stinkears",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Stinkears#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1800",
+            "max-ranged": "0",
+            "max-magic": "150",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Gorak",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Gorak#Gorak Plane.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Gorak Plane",
+                "slayer-exp": 49.79999923706055,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gorak#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 598.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 197.5,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "6800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gorak#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 598.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 197.5,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": -1,
+                "lifepoints": "6800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Butcher demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Butcher demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"233\" height=\"300\" id=\"image-?\">",
+            "level": "118",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 5680.2001953125,
+            "lifepoints": "100000",
+            "max-ranged": "1653",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Champion of Infernus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Champion of Infernus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"195\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1136,
+            "lifepoints": "20000",
+            "max-ranged": "0",
+            "max-magic": "816",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chaos Demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "100",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "2212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "15000",
+            "max-ranged": "2212",
+            "max-magic": "2212",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Demon Savage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chaos Demon Savage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "141",
+            "defence": "110",
+            "slayer-level": "1",
+            "experience": 3500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1155,
+            "max-melee": "2011",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "70000",
+            "max-ranged": "1564",
+            "max-magic": "1564",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Denizen of Infernus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Denizen of Infernus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "127",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 6000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1980,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10000,
+            "lifepoints": "120000",
+            "max-ranged": "864",
+            "max-magic": "1656",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Greater demon (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"250\" id=\"image-?\">",
+            "level": "92",
+            "defence": "59",
+            "slayer-level": "1",
+            "experience": 1200,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 396,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 619.7999877929688,
+            "lifepoints": "24000",
+            "max-ranged": "0",
+            "max-magic": "1065",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kor'Vath the Blightbringer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kor'Vath the Blightbringer#140,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "140,000 life points",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "566.4",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kor'Vath the Blightbringer#170,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "170,000 life points",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "566.4",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kor'Vath the Blightbringer#400,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "400,000 life points",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "566.4",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "La'Kalor the Unbroken",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/La'Kalor the Unbroken#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "82",
+            "defence": "59",
+            "slayer-level": "?",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100000",
+            "max-ranged": "0",
+            "max-magic": "566.4",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shara'Kor the Widowmaker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shara'Kor the Widowmaker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "82",
+            "defence": "59",
+            "slayer-level": "?",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100000",
+            "max-ranged": "0",
+            "max-magic": "566.4",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Grifolapine",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Grifolapine#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+                "level": "103",
+                "defence": "74",
+                "slayer-level": "88",
+                "experience": 370,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 122.0999984741211,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 279,
+                "lifepoints": "7400",
+                "max-ranged": "296",
+                "max-magic": "296",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Grifolapine#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "103",
+                "defence": "74",
+                "slayer-level": "88",
+                "experience": 370,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 122.0999984741211,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 279,
+                "lifepoints": "7400",
+                "max-ranged": "148",
+                "max-magic": "148",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Grifolaroo",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Grifolaroo#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "82",
+                "experience": 385,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 127,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 323.20001220703125,
+                "lifepoints": "7700",
+                "max-ranged": "308",
+                "max-magic": "308",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Grifolaroo#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "82",
+                "experience": 385,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 127,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 323.20001220703125,
+                "lifepoints": "7700",
+                "max-ranged": "154",
+                "max-magic": "154",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Giant worm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant worm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"211\" id=\"image-?\">",
+            "level": "72",
+            "defence": "40",
+            "slayer-level": "1",
+            "experience": 325,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 107.19999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 117.4000015258789,
+            "lifepoints": "6500",
+            "max-ranged": "0",
+            "max-magic": "600",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Grotworm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Grotworm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"211\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 372.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 122.9000015258789,
+            "max-melee": "900",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 102.80000305175781,
+            "lifepoints": "7450",
+            "max-ranged": "0",
+            "max-magic": "900",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mature grotworm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mature grotworm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 640,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 211.1999969482422,
+            "max-melee": "1400",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 343.6000061035156,
+            "lifepoints": "12800",
+            "max-ranged": "0",
+            "max-magic": "1400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Young grotworm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Young grotworm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "28",
+            "defence": "20",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 11.399999618530273,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Harpie Bug Swarm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Harpie Bug Swarm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"275\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "33",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 34,
+            "lifepoints": "2250",
+            "max-ranged": "180",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Harpie Bug Swarm (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Harpie Bug Swarm (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"275\" id=\"image-?\">",
+            "level": "72",
+            "defence": "45",
+            "slayer-level": "33",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 313,
+            "lifepoints": "9000",
+            "max-ranged": "540",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Hellhound#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "92",
+                "defence": "66",
+                "slayer-level": "1",
+                "experience": 165,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 54.400001525878906,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "3300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hellhound#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "95",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 475,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 156.6999969482422,
+                "max-melee": "1080",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "9500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hellhound#Level 105.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 475,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 156.6999969482422,
+                "max-melee": "1080",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 105",
+                "slayer-exp": 371,
+                "lifepoints": "9500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hellhound (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound (The Zamorakian Undercity)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound (The Zamorakian Undercity)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "104",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 800,
+            "lifepoints": "9000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "104",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 450,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "9000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound Alpha",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound Alpha#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "113",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "1584",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "20000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound Hunter",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound Hunter#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "111",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 600,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 198,
+            "max-melee": "1512",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "12000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound Hunter (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound Hunter (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "111",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 600,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 198,
+            "max-melee": "1512",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "12000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hill Giant",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hill Giant#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+            "level": "26",
+            "defence": "22",
+            "slayer-level": "1",
+            "experience": 225,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "450",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 37.599998474121094,
+            "lifepoints": "4500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hobgoblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Hobgoblin#Level 15.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "15",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 15",
+                "slayer-exp": 35,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hobgoblin#Level 18.png\" decoding=\"async\" loading=\"lazy\" width=\"293\" height=\"300\" id=\"image-?\">",
+                "level": "18",
+                "defence": "12",
+                "slayer-level": "1",
+                "experience": 112.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 37.099998474121094,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18",
+                "slayer-exp": 39,
+                "lifepoints": "2250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hobgoblin#Level 91 (GWD).png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "325",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 91 (GWD)",
+                "slayer-exp": 268.6000061035156,
+                "lifepoints": "9750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hobgoblin (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hobgoblin (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"226\" height=\"300\" id=\"image-?\">",
+            "level": "35",
+            "defence": "25",
+            "slayer-level": "1",
+            "experience": 252.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 83.30000305175781,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "5050",
+            "max-ranged": "460",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice giant",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice giant#Level 47 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "47",
+                "defence": "37",
+                "slayer-level": "1",
+                "experience": 372.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 122.9000015258789,
+                "max-melee": "750",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 47 (1)",
+                "slayer-exp": 80.80000305175781,
+                "lifepoints": "7450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice giant#Level 47 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+                "level": "47",
+                "defence": "37",
+                "slayer-level": "1",
+                "experience": 372.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 122.9000015258789,
+                "max-melee": "750",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 47 (2)",
+                "slayer-exp": 80.80000305175781,
+                "lifepoints": "7450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+            "level": "106",
+            "defence": "76",
+            "slayer-level": "93",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "729",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "2000",
+            "name": "Default",
+            "slayer-exp": 693.2000122070312,
+            "lifepoints": "25000",
+            "max-ranged": "729",
+            "max-magic": "729",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice warrior#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "26",
+                "slayer-level": "1",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "640",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 25.799999237060547,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice warrior#Ice Queen's Lair.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "26",
+                "slayer-level": "1",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "640",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ice Queen's Lair",
+                "slayer-exp": 25.799999237060547,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Icelord",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Icelord#ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 75,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 24.700000762939453,
+                "max-melee": "90",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "ranged",
+                "slayer-exp": 60,
+                "lifepoints": "1500",
+                "max-ranged": "120",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Icelord#melee.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 75,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 24.700000762939453,
+                "max-melee": "120",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "melee",
+                "slayer-exp": 60,
+                "lifepoints": "1500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Icefiend",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Icefiend#Ice Mountain.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ice Mountain",
+                "slayer-exp": 7,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "500",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Icefiend#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Icefiend#Ice Mountain (melting).png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ice Mountain (melting)",
+                "slayer-exp": 7,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "500",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Icefiend (Ghorrock)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Icefiend (Ghorrock)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 362.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 119.5999984741211,
+            "max-melee": "1540",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 335,
+            "lifepoints": "7250",
+            "max-ranged": "1540",
+            "max-magic": "1540",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Infernal Mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Infernal Mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+            "level": "63",
+            "defence": "40",
+            "slayer-level": "45",
+            "experience": 325,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 107.19999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 91,
+            "lifepoints": "6500",
+            "max-ranged": "0",
+            "max-magic": "1040",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Infernal Mage (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Infernal Mage (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "50",
+            "slayer-level": "45",
+            "experience": 1050,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 346.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 596,
+            "lifepoints": "21000",
+            "max-ranged": "0",
+            "max-magic": "1240",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jelly",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jelly#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "49",
+            "slayer-level": "52",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 93,
+            "lifepoints": "8200",
+            "max-ranged": "760",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jungle horror",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jungle horror#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+            "level": "48",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 240,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.5,
+            "lifepoints": "4800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Quetzathog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Quetzathog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "0",
+            "experience": 7275,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 2400.699951171875,
+            "max-melee": "2376",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "145500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea horror",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Sea horror#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 4178.2001953125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1378.800048828125,
+                "max-melee": "482",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal mode",
+                "slayer-exp": 1388,
+                "lifepoints": "35500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Sea horror#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 887.5,
+                "susceptible": [],
+                "lifepoint-exp": 292.79998779296875,
+                "max-melee": "482",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Story mode",
+                "slayer-exp": 1388,
+                "lifepoints": "17750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Jungle strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jungle strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+            "level": "93",
+            "defence": "67",
+            "slayer-level": "73",
+            "experience": 425,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 140.1999969482422,
+            "max-melee": "643",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "1800",
+            "name": "Default",
+            "slayer-exp": 249.8000030517578,
+            "lifepoints": "8500",
+            "max-ranged": "643",
+            "max-magic": "643",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled Kalphite Queen",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Exiled Kalphite Queen#First form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+                "level": "356",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 825,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "First form",
+                "slayer-exp": 2055,
+                "lifepoints": "50000",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Exiled Kalphite Queen#Second form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"191\" id=\"image-?\">",
+                "level": "356",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 825,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Second form",
+                "slayer-exp": 2055,
+                "lifepoints": "50000",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Exiled kalphite guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"272\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 350,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 115.5,
+            "max-melee": "280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 229,
+            "lifepoints": "7000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled kalphite marauder",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Exiled kalphite marauder#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Exiled kalphite marauder#Kalphite King.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "1676",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Kalphite King",
+                "slayer-exp": 229,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "720",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Exiled kalphite paragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite paragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"279\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 300,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 99,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 140,
+            "lifepoints": "6000",
+            "max-ranged": "0",
+            "max-magic": "240",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled kalphite soldier",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite soldier#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 300,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 99,
+            "max-melee": "240",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 147,
+            "lifepoints": "6000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled kalphite worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"230\" id=\"image-?\">",
+            "level": "75",
+            "defence": "54",
+            "slayer-level": "1",
+            "experience": 270,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 89.0999984741211,
+            "max-melee": "188",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 109.80000305175781,
+            "lifepoints": "5400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kalphite Guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kalphite Guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+            "level": "72",
+            "defence": "52",
+            "slayer-level": "1",
+            "experience": 260,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 85.80000305175781,
+            "max-melee": "208",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 95,
+            "lifepoints": "5200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kalphite King",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kalphite King#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"262\" height=\"300\" id=\"image-?\">",
+                "level": "2500",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 6500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 2145,
+                "max-melee": "2560",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Magic",
+                "slayer-exp": 3963,
+                "lifepoints": "260000",
+                "max-ranged": "1280",
+                "max-magic": "2560",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kalphite King#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+                "level": "2500",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 6500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 2145,
+                "max-melee": "2560",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Melee",
+                "slayer-exp": 3963,
+                "lifepoints": "260000",
+                "max-ranged": "1280",
+                "max-magic": "2560",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kalphite King#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"275\" id=\"image-?\">",
+                "level": "2500",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 6500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 2145,
+                "max-melee": "2560",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Ranged",
+                "slayer-exp": 3963,
+                "lifepoints": "260000",
+                "max-ranged": "1280",
+                "max-magic": "2560",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kalphite Queen",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kalphite Queen#First form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "333",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "980",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "First form",
+                "slayer-exp": 1309.4000244140625,
+                "lifepoints": "40000",
+                "max-ranged": "980",
+                "max-magic": "980",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kalphite Queen#Second form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"152\" id=\"image-?\">",
+                "level": "333",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "980",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Second form",
+                "slayer-exp": 1309.4000244140625,
+                "lifepoints": "40000",
+                "max-ranged": "980",
+                "max-magic": "980",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kalphite Soldier",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kalphite Soldier#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 235,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 77.5,
+            "max-melee": "188",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 75.4000015258789,
+            "lifepoints": "4700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kalphite Worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kalphite Worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 210,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 69.30000305175781,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 59.29999923706055,
+            "lifepoints": "4200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Killerwatt",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Killerwatt#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+            "level": "55",
+            "defence": "44",
+            "slayer-level": "37",
+            "experience": 180,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 59.400001525878906,
+            "max-melee": "450",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 32.599998474121094,
+            "lifepoints": "3600",
+            "max-ranged": "510",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kurask",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kurask#Examine #1.png\" decoding=\"async\" loading=\"lazy\" width=\"297\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "70",
+                "experience": 280,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 92.4000015258789,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Examine #1",
+                "slayer-exp": 115,
+                "lifepoints": "5600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kurask#Examine #2.png\" decoding=\"async\" loading=\"lazy\" width=\"297\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "70",
+                "experience": 280,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 92.4000015258789,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Examine #2",
+                "slayer-exp": 115,
+                "lifepoints": "5600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Engorged lava strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Engorged lava strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 9250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 3052.5,
+            "max-melee": "1400",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 29105,
+            "lifepoints": "185000",
+            "max-ranged": "1400",
+            "max-magic": "1400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lava strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lava strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "115",
+            "defence": "80",
+            "slayer-level": "94",
+            "experience": 1500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 495,
+            "max-melee": "1788",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 1872,
+            "lifepoints": "30000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lava strykewyrm (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "101",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 1500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 495,
+            "max-melee": "1117",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 3100,
+            "lifepoints": "30000",
+            "max-ranged": "1117",
+            "max-magic": "1117",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "WildyWyrm (2015, historical)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/WildyWyrm (2015, historical)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "92",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 5000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 1650,
+            "max-melee": "2212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4700",
+            "name": "Default",
+            "slayer-exp": 16462.599609375,
+            "lifepoints": "1000000",
+            "max-ranged": "1425",
+            "max-magic": "1425",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lesser demon (Wizards' Tower)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lesser demon (Wizards' Tower)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"284\" height=\"300\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 82.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 86.5999984741211,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "200",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Living rock patriarch",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Living rock patriarch#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"214\" height=\"300\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 320,
+            "lifepoints": "25000",
+            "max-ranged": "1000",
+            "max-magic": "1000",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Living rock protector",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Living rock protector#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+            "level": "92",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 275,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 90.69999694824219,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 156,
+            "lifepoints": "5500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Living rock striker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Living rock striker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "92",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 275,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 90.69999694824219,
+            "max-melee": "264",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 156,
+            "lifepoints": "5500",
+            "max-ranged": "500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Wyvern",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wyvern#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"227\" id=\"image-?\">",
+            "level": "127",
+            "defence": "91",
+            "slayer-level": "96",
+            "experience": 1125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 371.20001220703125,
+            "max-melee": "1310",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1878.800048828125,
+            "lifepoints": "22500",
+            "max-ranged": "1310",
+            "max-magic": "1310",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wyvern (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wyvern (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"227\" id=\"image-?\">",
+            "level": "133",
+            "defence": "95",
+            "slayer-level": "96",
+            "experience": 2250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 742.5,
+            "max-melee": "1339",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 2654,
+            "lifepoints": "45000",
+            "max-ranged": "1339",
+            "max-magic": "1339",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Minotaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Minotaur#Level 12.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "12",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 12",
+                "slayer-exp": 16.600000381469727,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Minotaur#Level 15.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "15",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 15",
+                "slayer-exp": 46.400001525878906,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Minotaur#Level 44 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "44",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 80,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 26.399999618530273,
+                "max-melee": "128",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 44 (Slayer challenge)",
+                "slayer-exp": -2,
+                "lifepoints": "1600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mogre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mogre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+            "level": "45",
+            "defence": "39",
+            "slayer-level": "32",
+            "experience": 315,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 103.9000015258789,
+            "max-melee": "625",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 27,
+            "lifepoints": "6300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Molanisk",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Molanisk#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"230\" id=\"image-?\">",
+            "level": "44",
+            "defence": "38",
+            "slayer-level": "39",
+            "experience": 307.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 49.599998474121094,
+            "lifepoints": "6150",
+            "max-ranged": "500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Moss giant",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (1).png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (1)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (2).png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (2)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (3).png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (3)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (4).png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (4)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (5).png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (5)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Glarial's Tomb.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "24",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "216",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Glarial's Tomb",
+                "slayer-exp": 60,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bladed muspah",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bladed muspah#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+            "level": "150",
+            "defence": "75",
+            "slayer-level": "76",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ancient_Magicks\" title=\"Ancient Magicks\" target=\"_blank\"><img src=\"./images/susceptible/Ice_Barrage_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 469,
+            "lifepoints": "20000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Force muspah",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Force muspah#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"249\" id=\"image-?\">",
+            "level": "150",
+            "defence": "75",
+            "slayer-level": "76",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ancient_Magicks\" title=\"Ancient Magicks\" target=\"_blank\"><img src=\"./images/susceptible/Ice_Barrage_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 469,
+            "lifepoints": "20000",
+            "max-ranged": "0",
+            "max-magic": "500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Throwing muspah",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Throwing muspah#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "150",
+            "defence": "75",
+            "slayer-level": "76",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ancient_Magicks\" title=\"Ancient Magicks\" target=\"_blank\"><img src=\"./images/susceptible/Ice_Barrage_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 469,
+            "lifepoints": "20000",
+            "max-ranged": "500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated jadinko baby",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mutated jadinko baby#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"218\" id=\"image-?\">",
+            "level": "93",
+            "defence": "67",
+            "slayer-level": "80",
+            "experience": 167.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 55.20000076293945,
+            "max-melee": "268",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 98.5999984741211,
+            "lifepoints": "3350",
+            "max-ranged": "0",
+            "max-magic": "268",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated jadinko guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mutated jadinko guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"195\" id=\"image-?\">",
+            "level": "96",
+            "defence": "69",
+            "slayer-level": "86",
+            "experience": 300,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 99,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 188.39999389648438,
+            "lifepoints": "6000",
+            "max-ranged": "500",
+            "max-magic": "500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated jadinko male",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mutated jadinko male#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "100",
+            "defence": "72",
+            "slayer-level": "91",
+            "experience": 300,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 99,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 209.60000610351562,
+            "lifepoints": "6000",
+            "max-ranged": "600",
+            "max-magic": "600",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated zygomite",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mutated zygomite#Level 58.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "57",
+                "experience": 105,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 58",
+                "slayer-exp": 31,
+                "lifepoints": "2100",
+                "max-ranged": "168",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mutated zygomite#Level 65.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "65",
+                "defence": "47",
+                "slayer-level": "57",
+                "experience": 125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 65",
+                "slayer-exp": 42,
+                "lifepoints": "2500",
+                "max-ranged": "188",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nechryael",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nechryael#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"256\" height=\"300\" id=\"image-?\">",
+            "level": "96",
+            "defence": "69",
+            "slayer-level": "80",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "276",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 251.60000610351562,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nechryael (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nechryael (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "80",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 251.60000610351562,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nechryael (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nechryael (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"256\" height=\"300\" id=\"image-?\">",
+            "level": "106",
+            "defence": "69",
+            "slayer-level": "80",
+            "experience": 1600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 528,
+            "max-melee": "828",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1120,
+            "lifepoints": "32000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nightmare",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nightmare#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+            "level": "128",
+            "defence": "92",
+            "slayer-level": "80",
+            "experience": 1750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 577.5,
+            "max-melee": "1324",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1540,
+            "lifepoints": "35000",
+            "max-ranged": "1324",
+            "max-magic": "1324",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Blood nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Blood nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "76",
+                "experience": 1250,
+                "susceptible": [],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "boss",
+                "slayer-exp": 705.4000244140625,
+                "lifepoints": "25000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blood nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "76",
+                "experience": 1250,
+                "susceptible": [],
+                "lifepoint-exp": 412.5,
+                "max-melee": "768",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Magic\" title=\"Magic\" target=\"_blank\"><img src=\"./images/weakness/Magic_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "normal",
+                "slayer-exp": 705.4000244140625,
+                "lifepoints": "25000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "boss",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "1000",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "normal",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Shadow nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Shadow nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1500",
+                "name": "boss",
+                "slayer-exp": 423,
+                "lifepoints": "15000",
+                "max-ranged": "1000",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Shadow nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Melee\" title=\"Melee\" target=\"_blank\"><img src=\"./images/weakness/Melee_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1500",
+                "name": "normal",
+                "slayer-exp": 423,
+                "lifepoints": "15000",
+                "max-ranged": "768",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Smoke nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Smoke nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "boss",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "1000",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Smoke nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "normal",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kerapac, the bound",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kerapac, the bound#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"225\" id=\"image-?\">",
+                "level": "3000",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 11250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 3712.5,
+                "max-melee": "1339",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Hard mode",
+                "slayer-exp": 16700,
+                "lifepoints": "450000",
+                "max-ranged": "1339",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kerapac, the bound#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"225\" id=\"image-?\">",
+                "level": "3000",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1339",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 16700,
+                "lifepoints": "200000",
+                "max-ranged": "1339",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nodon enforcer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon enforcer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"237\" id=\"image-?\">",
+            "level": "200",
+            "defence": "99",
+            "slayer-level": "92",
+            "experience": 12500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 4125,
+            "max-melee": "1561",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3300",
+            "name": "Default",
+            "slayer-exp": 4003,
+            "lifepoints": "100000",
+            "max-ranged": "1561",
+            "max-magic": "1561",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Enclave guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Enclave guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"299\" id=\"image-?\">",
+            "level": "81",
+            "defence": "58",
+            "slayer-level": "1",
+            "experience": 580,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 191.39999389648438,
+            "max-melee": "278",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 190,
+            "lifepoints": "11600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ogre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ogre#Kandarin(Level 67).png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 240,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 79.19999694824219,
+                "max-melee": "288",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Kandarin(Level 67)",
+                "slayer-exp": 88.4000015258789,
+                "lifepoints": "4800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre#Combat Camp(56).png\" decoding=\"async\" loading=\"lazy\" width=\"229\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "310",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Combat Camp(56)",
+                "slayer-exp": 34,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre#God Wars Dungeon(86).png\" decoding=\"async\" loading=\"lazy\" width=\"189\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 465,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 153.39999389648438,
+                "max-melee": "310",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon(86)",
+                "slayer-exp": 232,
+                "lifepoints": "9300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ogre chieftain",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ogre chieftain#Version 1.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 612,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 201.89999389648438,
+                "max-melee": "278",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Version 1",
+                "slayer-exp": 200,
+                "lifepoints": "11600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre chieftain#Version 2.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 612,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 201.89999389648438,
+                "max-melee": "278",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Version 2",
+                "slayer-exp": 200,
+                "lifepoints": "11600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre chieftain#Version 3.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 612,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 201.89999389648438,
+                "max-melee": "278",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Version 3",
+                "slayer-exp": 200,
+                "lifepoints": "11600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ogress",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ogress#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 105,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 34.599998474121094,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 33,
+            "lifepoints": "2100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ogress champion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ogress champion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "67",
+            "defence": "48",
+            "slayer-level": "1",
+            "experience": 120,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 39.599998474121094,
+            "max-melee": "192",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 44,
+            "lifepoints": "2400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ogress warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ogress warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 38.20000076293945,
+            "lifepoints": "2250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skogre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skogre#1.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 26.799999237060547,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skogre#2.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 26.799999237060547,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skogre#3.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 26.799999237060547,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zogre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zogre#1.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zogre#2.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zogre#3.png\" decoding=\"async\" loading=\"lazy\" width=\"244\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Otherworldly being",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Otherworldly being#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+            "level": "55",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 282.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 93.19999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 34,
+            "lifepoints": "5650",
+            "max-ranged": "0",
+            "max-magic": "900",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pyrefiend",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Pyrefiend#Level 38.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "38",
+                "defence": "25",
+                "slayer-level": "30",
+                "experience": 202.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 66.80000305175781,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 38",
+                "slayer-exp": 32.599998474121094,
+                "lifepoints": "4050",
+                "max-ranged": "0",
+                "max-magic": "600",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Pyrefiend#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "92",
+                "defence": "66",
+                "slayer-level": "30",
+                "experience": 330,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 108.9000015258789,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon",
+                "slayer-exp": -1,
+                "lifepoints": "6600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Pyrefiend (The Zamorakian Undercity)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "75",
+            "slayer-level": "30",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "576",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "576",
+            "max-magic": "1267",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pyrefiend (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pyrefiend (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "75",
+            "slayer-level": "?",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "576",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "576",
+            "max-magic": "1267",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seething Pyrefiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seething Pyrefiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "75",
+            "slayer-level": "30",
+            "experience": 800,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 264,
+            "max-melee": "576",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "16000",
+            "max-ranged": "576",
+            "max-magic": "1411",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Smoulders",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Smoulders#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "129",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "0",
+            "max-magic": "176",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Smoulders, the Revenger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Smoulders, the Revenger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "152",
+            "defence": "91",
+            "slayer-level": "?",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "2113",
+            "max-magic": "2388",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Angry giant rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Angry giant rat#A Soul's Bane.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"219\" id=\"image-?\">",
+                "level": "45",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A Soul's Bane",
+                "slayer-exp": -1,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry giant rat#Post-quest (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest (1)",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry giant rat#Post-quest (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest (2)",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crypt rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crypt rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"162\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "300",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dungeon rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 11 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"234\" id=\"image-?\">",
+                "level": "11",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 20,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 6.599999904632568,
+                "max-melee": "32",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 11 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"238\" id=\"image-?\">",
+                "level": "11",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 11 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"180\" id=\"image-?\">",
+                "level": "11",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 18 (brown).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18 (brown)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 18 (grey).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18 (grey)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 18 (brown, arrows).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18 (brown, arrows)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Giant crypt rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant crypt rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"202\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "330",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (grey).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (grey)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (brown).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (brown)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (grey, arrows).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (grey, arrows)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (brown, arrows).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (brown, arrows)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"262\" id=\"image-?\">",
+                "level": "9",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 9 (Stronghold of Security, 1)",
+                "slayer-exp": -1,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "9",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 9 (Stronghold of Security, 2)",
+                "slayer-exp": -1,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"195\" id=\"image-?\">",
+                "level": "9",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 9 (Stronghold of Security, 3)",
+                "slayer-exp": -1,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rat#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Common",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rat#Stronghold of Security.png\" decoding=\"async\" loading=\"lazy\" width=\"211\" height=\"156\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Stronghold of Security",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rat#Ratcatchers.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "N/A",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.399999618530273,
+                "susceptible": [],
+                "lifepoint-exp": 4,
+                "max-melee": "−20",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Ratcatchers",
+                "slayer-exp": -1,
+                "lifepoints": "10",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Warped rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+            "level": "12",
+            "defence": "9",
+            "slayer-level": "1",
+            "experience": 95,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 31.299999237060547,
+            "max-melee": "180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8,
+            "lifepoints": "1900",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Slasher Demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Slasher Demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"291\" height=\"300\" id=\"image-?\">",
+            "level": "138",
+            "defence": "99",
+            "slayer-level": "96",
+            "experience": 3356.300048828125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1107.5,
+            "max-melee": "979",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "32000",
+            "name": "Default",
+            "slayer-exp": 5299.7998046875,
+            "lifepoints": "67126",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rock slug",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rock slug#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"170\" id=\"image-?\">",
+            "level": "28",
+            "defence": "25",
+            "slayer-level": "20",
+            "experience": 202.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 66.80000305175781,
+            "max-melee": "375",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 33.599998474121094,
+            "lifepoints": "4050",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Elite rune dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Elite rune dragon#Armoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"236\" id=\"image-?\">",
+                "level": "130",
+                "defence": "92",
+                "slayer-level": "1",
+                "experience": 5259.39990234375,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1735.5999755859375,
+                "max-melee": "2992",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Armoured",
+                "slayer-exp": 3399,
+                "lifepoints": "105188",
+                "max-ranged": "2992",
+                "max-magic": "2992",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Elite rune dragon#Unarmoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "130",
+                "defence": "92",
+                "slayer-level": "1",
+                "experience": 5259.39990234375,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1735.5999755859375,
+                "max-melee": "2992",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Unarmoured",
+                "slayer-exp": 3399,
+                "lifepoints": "105188",
+                "max-ranged": "2992",
+                "max-magic": "2992",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Locust lancer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Locust lancer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 91,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Locust ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Locust ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "165",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 100,
+            "lifepoints": "2750",
+            "max-ranged": "220",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Locust rider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Melee (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "810",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (1)",
+                "slayer-exp": -1,
+                "lifepoints": "2700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Range (1).png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Range (1)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Melee (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (2)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Range (2).png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Range (2)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Melee (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (3)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Range (3).png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Range (3)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Scabaras lancer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scabaras lancer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"200\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 55,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scabaras mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scabaras mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "618",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 55,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "825",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scabaras ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scabaras ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 275,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 90.69999694824219,
+            "max-melee": "165",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 109.5,
+            "lifepoints": "5500",
+            "max-ranged": "220",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scarab akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scarab akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"281\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "80",
+            "slayer-level": "109",
+            "experience": 1100,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 363,
+            "max-melee": "921",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 715,
+            "lifepoints": "22000",
+            "max-ranged": "921",
+            "max-magic": "921",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scarab mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Sophanem Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "0",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "607",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Sophanem Dungeon",
+                "slayer-exp": 55,
+                "lifepoints": "2700",
+                "max-ranged": "0",
+                "max-magic": "810",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Contact!.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "900",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Contact!",
+                "slayer-exp": 55,
+                "lifepoints": "5400",
+                "max-ranged": "0",
+                "max-magic": "1215",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Dominion Tower.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "900",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dominion Tower",
+                "slayer-exp": 55,
+                "lifepoints": "5400",
+                "max-ranged": "0",
+                "max-magic": "1215",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Rumble Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "900",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Rumble Mode",
+                "slayer-exp": 55,
+                "lifepoints": "5400",
+                "max-ranged": "0",
+                "max-magic": "1215",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Small scarab",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Uzer Mastaba.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 75,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 24.700000762939453,
+                "max-melee": "120",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Uzer Mastaba",
+                "slayer-exp": 17,
+                "lifepoints": "1500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Zombie (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "42",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zombie (1)",
+                "slayer-exp": 17,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Zombie (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+                "level": "42",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zombie (2)",
+                "slayer-exp": 17,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Zombie (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+                "level": "42",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zombie (3)",
+                "slayer-exp": 17,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Do No Evil.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "50",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Do No Evil",
+                "slayer-exp": -1,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Grave scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Grave scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7.199999809265137,
+            "lifepoints": "1000",
+            "max-ranged": "200",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "King Scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/King Scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"295\" id=\"image-?\">",
+            "level": "22",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 48,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pit Scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pit Scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+            "level": "56",
+            "defence": "40",
+            "slayer-level": "1",
+            "experience": 162.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 53.599998474121094,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 26.799999237060547,
+            "lifepoints": "3250",
+            "max-ranged": "800",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Poison Scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Poison Scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+            "level": "49",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 282.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 93.19999694824219,
+            "max-melee": "700",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 21.600000381469727,
+            "lifepoints": "5650",
+            "max-ranged": "700",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scorpion",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Scorpion#Level 14.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+                "level": "14",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 14",
+                "slayer-exp": 25,
+                "lifepoints": "2000",
+                "max-ranged": "200",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+                "level": "26",
+                "defence": "19",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 26 (Stronghold of Security, 1)",
+                "slayer-exp": -1,
+                "lifepoints": "3150",
+                "max-ranged": "475",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "26",
+                "defence": "19",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 26 (Stronghold of Security, 2)",
+                "slayer-exp": -1,
+                "lifepoints": "3150",
+                "max-ranged": "475",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Scorpion (Ape Atoll)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scorpion (Ape Atoll)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"294\" height=\"300\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9.199999809265137,
+            "lifepoints": "1000",
+            "max-ranged": "200",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea Snake Hatchling",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sea Snake Hatchling#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"92\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "40",
+            "experience": 175,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 57.70000076293945,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 50,
+            "lifepoints": "3500",
+            "max-ranged": "225",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea Snake Young",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sea Snake Young#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"129\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "40",
+            "experience": 225,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 85,
+            "lifepoints": "4500",
+            "max-ranged": "225",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Blissful shadow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Blissful shadow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"281\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 564.4000244140625,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Manifest shadow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Manifest shadow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"292\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 929.4000244140625,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shadow (Temple of Light)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow (Temple of Light)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"141\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 1.600000023841858,
+            "max-melee": "272",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 103.5999984741211,
+            "lifepoints": "100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Truthful shadow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Truthful shadow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"294\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1008",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 343.6000061035156,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeletal Wyvern",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"267\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "1",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "2",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"251\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "3",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "4",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bossy McBossFace's First mate",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bossy McBossFace's First mate#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "78",
+            "slayer-level": "1",
+            "experience": 1100,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 363,
+            "max-melee": "1886.4",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "22000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant skeleton (Shadow Dungeon)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant skeleton (Shadow Dungeon)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 49.5,
+            "max-melee": "240",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant skeleton (Tarn's Lair)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant skeleton (Tarn's Lair)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 49.5,
+            "max-melee": "240",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Huge skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Huge skeleton#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 600,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 198,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 608,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Huge skeleton#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 608,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeletal miner",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeletal miner#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+            "level": "49",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 87.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 28.799999237060547,
+            "max-melee": "140",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 21.600000381469727,
+            "lifepoints": "1750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeletal shielder",
+        "variants": []
+    },
+    {
+        "name": "Skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 15.png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "15",
+                "defence": "11",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "44",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 15",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 16.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "16",
+                "defence": "12",
+                "slayer-level": "1",
+                "experience": 30,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 9.899999618530273,
+                "max-melee": "48",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 16",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 32.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 57.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 18.899999618530273,
+                "max-melee": "92",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 32",
+                "slayer-exp": 13,
+                "lifepoints": "1150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 46.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "660",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 46",
+                "slayer-exp": 39.400001525878906,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 51.png\" decoding=\"async\" loading=\"lazy\" width=\"239\" height=\"300\" id=\"image-?\">",
+                "level": "51",
+                "defence": "37",
+                "slayer-level": "1",
+                "experience": 297.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 98.0999984741211,
+                "max-melee": "740",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 51",
+                "slayer-exp": 47.20000076293945,
+                "lifepoints": "5950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 58.png\" decoding=\"async\" loading=\"lazy\" width=\"204\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 58",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Ape Atoll)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton (Ape Atoll)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "78",
+            "defence": "56",
+            "slayer-level": "1",
+            "experience": 250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 82.5,
+            "max-melee": "224",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 102.4000015258789,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton (Barrows)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Barrows)#86.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "372",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "86",
+                "slayer-exp": 77.19999694824219,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Barrows)#88.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "88",
+                "defence": "63",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "378",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "88",
+                "slayer-exp": 81,
+                "lifepoints": "3150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Dark Warriors' Fortress)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Dark Warriors' Fortress)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 57.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 18.899999618530273,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": -1,
+                "lifepoints": "1150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Dark Warriors' Fortress)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 57.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 18.899999618530273,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": -1,
+                "lifepoints": "1150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"228\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton (Lumbridge Catacombs)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton (Lumbridge Catacombs)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+            "level": "15",
+            "defence": "11",
+            "slayer-level": "1",
+            "experience": 105,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 34.599998474121094,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8.800000190734863,
+            "lifepoints": "2100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton (Tarn's Lair)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Tarn's Lair)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "79",
+                "defence": "57",
+                "slayer-level": "1",
+                "experience": 142.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 60.599998474121094,
+                "lifepoints": "2850",
+                "max-ranged": "0",
+                "max-magic": "228",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Tarn's Lair)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Tarn's Lair)#8.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "208",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "8",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Temple Trekking)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Temple Trekking)#18.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 8.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 2.799999952316284,
+                "max-melee": "7",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "18",
+                "slayer-exp": 2.4000000953674316,
+                "lifepoints": "170",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Temple Trekking)#Helmet.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "28",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Helmet",
+                "slayer-exp": 18.600000381469727,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Temple Trekking)#No helmet.png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "28",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "No helmet",
+                "slayer-exp": 18.600000381469727,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Ullek)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Warhammer.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Warhammer",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Axe.png\" decoding=\"async\" loading=\"lazy\" width=\"223\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Axe",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Round shield.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Round shield",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Square shield.png\" decoding=\"async\" loading=\"lazy\" width=\"255\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Square shield",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Mace.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Mace",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Uncharted Isles)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png\" decoding=\"async\" loading=\"lazy\" width=\"205\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 550,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 181.5,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (With Weapons)",
+                "slayer-exp": 98.5999984741211,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 550,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 181.5,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (Without Weapons)",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Uncharted Isles)#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 550,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 181.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "1515",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton Archer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Archer#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "100",
+                "defence": "67",
+                "slayer-level": "0",
+                "experience": 729,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 240.5,
+                "max-melee": "369",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "10000",
+                "max-ranged": "369",
+                "max-magic": "369",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Archer#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton Mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Mage#Level 19.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "19",
+                "defence": "14",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 11.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 19",
+                "slayer-exp": 9.399999618530273,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "56",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Mage#Level 49.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 49",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "140",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton archer (Ancient Awakening)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"270\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"270\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton brute",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton brute#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+            "level": "88",
+            "defence": "63",
+            "slayer-level": "1",
+            "experience": 157.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 51.900001525878906,
+            "max-melee": "252",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "3150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton fremennik",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton fremennik#Level 23.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "23",
+                "defence": "17",
+                "slayer-level": "1",
+                "experience": 42.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 14,
+                "max-melee": "102",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 23",
+                "slayer-exp": 10.199999809265137,
+                "lifepoints": "850",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton fremennik#Level 28.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "28",
+                "defence": "22",
+                "slayer-level": "1",
+                "experience": 55,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 18.100000381469727,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 28",
+                "slayer-exp": 11.399999618530273,
+                "lifepoints": "1100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton fremennik#Level 30.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "1",
+                "experience": 55,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 18.100000381469727,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 30",
+                "slayer-exp": 12.600000381469727,
+                "lifepoints": "1100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton heavy",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton heavy#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 160,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 52.79999923706055,
+            "max-melee": "256",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 85.19999694824219,
+            "lifepoints": "3200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton hero",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton hero#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"232\" height=\"300\" id=\"image-?\">",
+            "level": "74",
+            "defence": "53",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 49.79999923706055,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton knight",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton knight#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton knight#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton knight#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton ranger (Ancient Awakening)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 670.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 221.10000610351562,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "13405",
+                "max-ranged": "1875",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 957.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 315.8999938964844,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "19150",
+                "max-ranged": "1875",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1436.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 473.8999938964844,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "28725",
+                "max-ranged": "1875",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton thug",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton thug#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "1",
+            "experience": 152.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 50.29999923706055,
+            "max-melee": "244",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 73.5999984741211,
+            "lifepoints": "3050",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton warlord",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton warlord#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+            "level": "91",
+            "defence": "65",
+            "slayer-level": "1",
+            "experience": 162.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 53.599998474121094,
+            "max-melee": "260",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 89.4000015258789,
+            "lifepoints": "3250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton warrior (Ancient Awakening)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton warrior (Ancient Awakening)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"274\" id=\"image-?\">",
+            "level": "76",
+            "defence": "50",
+            "slayer-level": "?",
+            "experience": 603.9000244140625,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 199.1999969482422,
+            "max-melee": "1500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "15300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton warrior (Rasial)",
+        "variants": []
+    },
+    {
+        "name": "Summoned skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 450,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 148.5,
+                "max-melee": "1415",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 1165,
+                "lifepoints": "9000",
+                "max-ranged": "1415",
+                "max-magic": "1415",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "1415",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 1165,
+                "lifepoints": "4500",
+                "max-ranged": "1415",
+                "max-magic": "1415",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Summoned skeleton archer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton archer#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "2000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton archer#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": 50,
+                "susceptible": [],
+                "lifepoint-exp": 16.5,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Training dummy",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Permanent.png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Permanent",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to air, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to air, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to air, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to air, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to air, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to air, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to water, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to water, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to water, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to water, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to water, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to water, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to earth, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to earth, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to earth, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to earth, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to earth, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to earth, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to fire, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to fire, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to fire, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to fire, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to fire, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to fire, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to nothing, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to nothing, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to nothing, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to nothing, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to nothing, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to nothing, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to stab, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to stab, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to stab, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to stab, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to stab, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to stab, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to slash, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to slash, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to slash, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to slash, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to slash, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to slash, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to crush, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to crush, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to crush, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to crush, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to crush, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to crush, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to nothing, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to nothing, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to nothing, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to nothing, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to nothing, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to nothing, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to arrows, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to arrows, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to arrows, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to arrows, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to arrows, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to arrows, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to bolts, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to bolts, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to bolts, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to bolts, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to bolts, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to bolts, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to thrown, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to thrown, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to thrown, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to thrown, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to thrown, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to thrown, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to nothing, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to nothing, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to nothing, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to nothing, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to nothing, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to nothing, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Dragon (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dragon (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Dragon (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dragon (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Dragon (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dragon (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Undead (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Undead (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Undead (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Undead (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Undead (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Undead (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Demon (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Demon (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Demon (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Demon (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Demon (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Demon (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Abyssal demon (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abyssal demon (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Abyssal demon (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abyssal demon (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Abyssal demon (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abyssal demon (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Wallasalki (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Wallasalki (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Wallasalki (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Wallasalki (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Wallasalki (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Wallasalki (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Basilisk (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Basilisk (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Basilisk (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Basilisk (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Basilisk (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Basilisk (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Revenant (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Revenant (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Revenant (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Revenant (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Revenant (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Revenant (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Undead one",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Skeleton (level 44).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "44",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 72.5999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Skeleton (level 44)",
+                "slayer-exp": 18.799999237060547,
+                "lifepoints": "1600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Skeleton (level 46).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 75.9000015258789,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 25,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Skeleton (level 46)",
+                "slayer-exp": 19.600000381469727,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Zombie (level 44).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "44",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 72.5999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "128",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Zombie (level 44)",
+                "slayer-exp": 18.799999237060547,
+                "lifepoints": "1600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Zombie (level 46).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 75.9000015258789,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 25,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Zombie (level 46)",
+                "slayer-exp": 19.600000381469727,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Warped skeleton#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"181\" height=\"300\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "1684.8",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped skeleton#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"181\" height=\"300\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "15000",
+                "max-ranged": "0",
+                "max-magic": "1684.8",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Feline akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Feline akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+            "level": "109",
+            "defence": "76",
+            "slayer-level": "107",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1166",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 536.2000122070312,
+            "lifepoints": "15000",
+            "max-ranged": "1166",
+            "max-magic": "1166",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Gorilla akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Gorilla akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "111",
+            "defence": "70",
+            "slayer-level": "113",
+            "experience": 1000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 330,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "1300",
+            "name": "Default",
+            "slayer-exp": 705.4000244140625,
+            "lifepoints": "20000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imperial mage akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imperial mage akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+            "level": "130",
+            "defence": "92",
+            "slayer-level": "117",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1780.5999755859375,
+            "lifepoints": "25000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imperial ranger akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imperial ranger akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"172\" height=\"300\" id=\"image-?\">",
+            "level": "130",
+            "defence": "92",
+            "slayer-level": "117",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1780.5999755859375,
+            "lifepoints": "25000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imperial warrior akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imperial warrior akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+            "level": "130",
+            "defence": "92",
+            "slayer-level": "117",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1780.5999755859375,
+            "lifepoints": "25000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Oreb, the Magister",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Oreb, the Magister#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+            "level": "899",
+            "defence": "90",
+            "slayer-level": "0",
+            "experience": 10000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 3300,
+            "max-melee": "1425",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "200000",
+            "max-ranged": "1425",
+            "max-magic": "1425",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Salawa akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Salawa akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+            "level": "106",
+            "defence": "73",
+            "slayer-level": "105",
+            "experience": 625,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 206.1999969482422,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 508.3999938964844,
+            "lifepoints": "12500",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "The Magister",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/The Magister#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+            "level": "899",
+            "defence": "90",
+            "slayer-level": "115",
+            "experience": 10000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 3300,
+            "max-melee": "1425",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "200000",
+            "max-ranged": "1425",
+            "max-magic": "1425",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Soulgazer (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulgazer (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "135",
+            "defence": "90",
+            "slayer-level": "99",
+            "experience": 6000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 1980,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 5849.2001953125,
+            "lifepoints": "120000",
+            "max-ranged": "0",
+            "max-magic": "1738",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corpse spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corpse spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+            "level": "4",
+            "defence": "3",
+            "slayer-level": "1",
+            "experience": 30,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 9.899999618530273,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "600",
+            "max-ranged": "60",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Crypt spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crypt spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"236\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "270",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 34.20000076293945,
+            "lifepoints": "2250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Deadly red spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Deadly red spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"209\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 307.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 103.5999984741211,
+            "lifepoints": "6150",
+            "max-ranged": "1360",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant crypt spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant crypt spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"171\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 49.5,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant spider#Level 2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"224\" id=\"image-?\">",
+                "level": "2",
+                "defence": "2",
+                "slayer-level": "1",
+                "experience": 27.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 9,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 2",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "550",
+                "max-ranged": "40",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant spider#Level 33.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"224\" id=\"image-?\">",
+                "level": "33",
+                "defence": "24",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 33",
+                "slayer-exp": 13.399999618530273,
+                "lifepoints": "3900",
+                "max-ranged": "480",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant spider#Level 29.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"218\" id=\"image-?\">",
+                "level": "29",
+                "defence": "19",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29",
+                "slayer-exp": 31.200000762939453,
+                "lifepoints": "3150",
+                "max-ranged": "480",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"162\" id=\"image-?\">",
+            "level": "42",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 120,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 39.599998474121094,
+            "max-melee": "440",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 17.200000762939453,
+            "lifepoints": "2400",
+            "max-ranged": "600",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jungle spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"261\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 272.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 89.9000015258789,
+                "max-melee": "1240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Common",
+                "slayer-exp": 77,
+                "lifepoints": "5450",
+                "max-ranged": "1240",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Musa Point.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"261\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.20000076293945,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 12.199999809265137,
+                "max-melee": "56",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Musa Point",
+                "slayer-exp": 9,
+                "lifepoints": "750",
+                "max-ranged": "56",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Ape Atoll.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+                "level": "88",
+                "defence": "63",
+                "slayer-level": "1",
+                "experience": 312.29998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 103,
+                "max-melee": "189",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ape Atoll",
+                "slayer-exp": -1,
+                "lifepoints": "3150",
+                "max-ranged": "252",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Jade Vine (level 42).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 66.9000015258789,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 22,
+                "max-melee": "90",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Jade Vine (level 42)",
+                "slayer-exp": -1,
+                "lifepoints": "1500",
+                "max-ranged": "120",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Jade Vine (level 49).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "1",
+                "experience": 83.0999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 27.399999618530273,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Jade Vine (level 49)",
+                "slayer-exp": -1,
+                "lifepoints": "1750",
+                "max-ranged": "140",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"261\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 272.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 89.9000015258789,
+                "max-melee": "1240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Tai Bwo Wannai Cleanup",
+                "slayer-exp": -1,
+                "lifepoints": "5450",
+                "max-ranged": "1240",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lava spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Lava spider#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": 491,
+                "lifepoints": "15000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lava spider#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": 245.5,
+                "lifepoints": "15000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Poison spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Poison spider#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+                "level": "53",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 185,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 61,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common",
+                "slayer-exp": 34.20000076293945,
+                "lifepoints": "3700",
+                "max-ranged": "600",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Poison spider#Observatory.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+                "level": "15",
+                "defence": "11",
+                "slayer-level": "1",
+                "experience": 27.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 9,
+                "max-melee": "33",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Observatory",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "550",
+                "max-ranged": "44",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Shadow spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+            "level": "46",
+            "defence": "33",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "132",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.600000381469727,
+            "lifepoints": "1650",
+            "max-ranged": "132",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spider#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "50",
+                "max-ranged": "4",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spider#Underground Pass.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "3",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Underground Pass",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "50",
+                "max-ranged": "4",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spider#Ape Atoll.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"285\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "3",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ape Atoll",
+                "slayer-exp": 17.600000381469727,
+                "lifepoints": "50",
+                "max-ranged": "4",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spider#Stronghold of Security.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+                "level": "15",
+                "defence": "11",
+                "slayer-level": "1",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Stronghold of Security",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "1050",
+                "max-ranged": "220",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spyndra",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spyndra#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "107",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 9000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 2970,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "180000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spyndra#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "107",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 9000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 2970,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": 3760.89990234375,
+                "lifepoints": "180000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Veil-ripper Ozharakha",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Veil-ripper Ozharakha#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+            "level": "135",
+            "defence": "90",
+            "slayer-level": "99",
+            "experience": 7500,
+            "susceptible": [],
+            "lifepoint-exp": 2475,
+            "max-melee": "1104",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 25000,
+            "lifepoints": "150000",
+            "max-ranged": "1104",
+            "max-magic": "1104",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Suqah",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 73 (Dual wielding swords).png\" decoding=\"async\" loading=\"lazy\" width=\"289\" height=\"300\" id=\"image-?\">",
+                "level": "73",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": [],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "380",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 73 (Dual wielding swords)",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "380",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 74.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": [],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 74",
+                "slayer-exp": 49.79999923706055,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 74 (Magic).png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": [],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 74 (Magic)",
+                "slayer-exp": 49.79999923706055,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 79.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 79",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Terror dog",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Terror dog#Level 65.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "65",
+                "defence": "47",
+                "slayer-level": "40",
+                "experience": 235,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 77.5,
+                "max-melee": "188",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 65",
+                "slayer-exp": 75.4000015258789,
+                "lifepoints": "4700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Terror dog#Level 61.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "61",
+                "defence": "44",
+                "slayer-level": "40",
+                "experience": 220,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 72.5999984741211,
+                "max-melee": "176",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 61",
+                "slayer-exp": 65.19999694824219,
+                "lifepoints": "4400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice troll",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice troll#Troll Romance.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "38",
+                "experience": 525,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 173.1999969482422,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Troll Romance",
+                "slayer-exp": 70,
+                "lifepoints": "10500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice troll#Desert Treasure.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "38",
+                "experience": 525,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 173.1999969482422,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Desert Treasure",
+                "slayer-exp": 70,
+                "lifepoints": "10500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice troll female",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll female#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"274\" height=\"300\" id=\"image-?\">",
+            "level": "68",
+            "defence": "49",
+            "slayer-level": "1",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.5,
+            "lifepoints": "8200",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice troll grunt",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll grunt#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"193\" height=\"300\" id=\"image-?\">",
+            "level": "68",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 420,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 138.60000610351562,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice troll male",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll male#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+            "level": "68",
+            "defence": "49",
+            "slayer-level": "1",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.5,
+            "lifepoints": "8200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice troll runt",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll runt#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "53",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 307.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "760",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 24.799999237060547,
+            "lifepoints": "6150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kraka",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kraka#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"274\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 657.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 216.89999389648438,
+            "max-melee": "1800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "13150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mountain troll",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mountain troll#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+            "level": "75",
+            "defence": "54",
+            "slayer-level": "1",
+            "experience": 460,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 151.8000030517578,
+            "max-melee": "1620",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 52.20000076293945,
+            "lifepoints": "9200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mountain troll (well)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mountain troll (well)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+            "level": "9",
+            "defence": "7",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "140",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 7,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pee Hat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pee Hat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 657.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 216.89999389648438,
+            "max-melee": "1800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "13150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "River troll",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/River troll#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+            "level": "N/A",
+            "defence": "130",
+            "slayer-level": "1",
+            "experience": 172.1999969482422,
+            "susceptible": [],
+            "lifepoint-exp": 56.79999923706055,
+            "max-melee": "10",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 89.4000015258789,
+            "lifepoints": "1700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rock (monster)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rock (monster)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"272\" height=\"300\" id=\"image-?\">",
+            "level": "88",
+            "defence": "63",
+            "slayer-level": "1",
+            "experience": 1395,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 460.29998779296875,
+            "max-melee": "1890",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "27900",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Stick",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Stick#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"268\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "1",
+            "experience": 670,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 221.10000610351562,
+            "max-melee": "1830",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 73.5999984741211,
+            "lifepoints": "13400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Stove",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Stove#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+            "level": "4",
+            "defence": "3",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "129",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Thrower Troll",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Thrower Troll#Death Plateau.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 472.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 155.89999389648438,
+                "max-melee": "1435",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Death Plateau",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "9450",
+                "max-ranged": "1225",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Thrower Troll#Trollheim.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 472.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 155.89999389648438,
+                "max-melee": "1435",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Trollheim",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "9450",
+                "max-ranged": "1225",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Troll brute",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll brute#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12.800000190734863,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll brute (Davendale)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll brute (Davendale)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "72",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll chucker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll chucker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"158\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12.800000190734863,
+            "lifepoints": "250",
+            "max-ranged": "20",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll chucker (Davendale)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll chucker (Davendale)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "?",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "0",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "72",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Troll general",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Troll general#Sword.png\" decoding=\"async\" loading=\"lazy\" width=\"272\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sword",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Troll general#Hammer.png\" decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Hammer",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Troll general#Club.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"295\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Club",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Troll lout",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll lout#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "72",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll shaman",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll shaman#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "20",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll shaman (Davendale)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll shaman (Davendale)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"238\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "?",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "0",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "0",
+            "max-magic": "72",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Troll spectator",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll spectator#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"255\" height=\"300\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 390,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 128.6999969482422,
+            "max-melee": "1175",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 37.599998474121094,
+            "lifepoints": "7800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead troll",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 77.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 77",
+                "slayer-exp": -1,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (4).png\" decoding=\"async\" loading=\"lazy\" width=\"188\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (4)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (5).png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (5)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 86 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 86 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 86 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 86 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 86 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 86 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"193\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"191\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (4).png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (4)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (5).png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (5)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (6).png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (6)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (7).png\" decoding=\"async\" loading=\"lazy\" width=\"201\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (7)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Turoth",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Turoth#60 - Small.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+                "level": "60",
+                "defence": "44",
+                "slayer-level": "55",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "60 - Small",
+                "slayer-exp": 52,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Turoth#60 - Large.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"298\" id=\"image-?\">",
+                "level": "60",
+                "defence": "44",
+                "slayer-level": "55",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "60 - Large",
+                "slayer-exp": 52,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Turoth#68 - Male.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"258\" id=\"image-?\">",
+                "level": "68",
+                "defence": "50",
+                "slayer-level": "55",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "960",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "68 - Male",
+                "slayer-exp": 70.80000305175781,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Turoth#68 - Female.png\" decoding=\"async\" loading=\"lazy\" width=\"284\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "50",
+                "slayer-level": "55",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "960",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "68 - Female",
+                "slayer-exp": 70.80000305175781,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "TzHaar-Hur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Hur#Level 86.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "310",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 86",
+                "slayer-exp": 77.5,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Hur#Level 98.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 175,
+                "susceptible": [],
+                "lifepoint-exp": 57.70000076293945,
+                "max-melee": "210",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 98",
+                "slayer-exp": 0,
+                "lifepoints": "3500",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "TzHaar-Ket",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/TzHaar-Ket#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "86",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 155,
+            "susceptible": [],
+            "lifepoint-exp": 51.099998474121094,
+            "max-melee": "248",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 77.5,
+            "lifepoints": "3100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "TzHaar-Mej",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/TzHaar-Mej#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "86",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 155,
+            "susceptible": [],
+            "lifepoint-exp": 51.099998474121094,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 77.5,
+            "lifepoints": "3100",
+            "max-ranged": "0",
+            "max-magic": "310",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "TzHaar-Xil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Xil#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "0",
+                "experience": 155,
+                "susceptible": [],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee",
+                "slayer-exp": 77.5,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Xil#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "0",
+                "experience": 155,
+                "susceptible": [],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged",
+                "slayer-exp": 77.5,
+                "lifepoints": "3100",
+                "max-ranged": "248",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Animated spade",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Animated spade#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"83\" height=\"300\" id=\"image-?\">",
+            "level": "72",
+            "defence": "52",
+            "slayer-level": "1",
+            "experience": 130,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 42.900001525878906,
+            "max-melee": "208",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Armoured zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 310,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 102.30000305175781,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "6200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#One of a Kind.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "One of a Kind",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Dishonour among Thieves.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Dishonour among Thieves",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Dimension of Disaster.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "42",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Dimension of Disaster",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#New Foundations.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "New Foundations",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bloated monstrosity",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Normal mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Normal mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Normal mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Story mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Story mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Story mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Corpse archer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corpse archer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+            "level": "18",
+            "defence": "13",
+            "slayer-level": "1",
+            "experience": 117.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 38.70000076293945,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2350",
+            "max-ranged": "260",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corpse carrier",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Normal mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Normal mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Normal mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Story mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Story mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Story mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Corpse mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corpse mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+            "level": "21",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "300",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Crawling corpse torso",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crawling corpse torso#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"231\" id=\"image-?\">",
+            "level": "9",
+            "defence": "7",
+            "slayer-level": "1",
+            "experience": 40,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 13.199999809265137,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 16.600000381469727,
+            "lifepoints": "800",
+            "max-ranged": "0",
+            "max-magic": "140",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dragith Nurn",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dragith Nurn#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+            "level": "26",
+            "defence": "19",
+            "slayer-level": "1",
+            "experience": 395,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 130.3000030517578,
+            "max-melee": "280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 11,
+            "lifepoints": "7900",
+            "max-ranged": "280",
+            "max-magic": "380",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "General malpractitioner",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/General malpractitioner#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"129\" height=\"300\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 49.5,
+            "max-melee": "180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "3000",
+            "max-ranged": "240",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Graveside Phantom",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Graveside Phantom#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "104",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 100,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 33,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Magic axe",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Magic axe#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"267\" height=\"300\" id=\"image-?\">",
+            "level": "74",
+            "defence": "53",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2650",
+            "max-ranged": "1",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Monkey Zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Monkey Zombie#72.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "208",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "72",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Monkey Zombie#75.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "75",
+                "slayer-exp": 52.20000076293945,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Monkey Zombie#77.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "77",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mummy (Jaldraocht Pyramid)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#3.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#4.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ashes",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Jaldraocht sarcophagus",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mummy (Ullek)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#3.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#4.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#1 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#2 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#3 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#4 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#Ashes.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ashes",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Phantom sorcerer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Phantom sorcerer#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "1875",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (standard Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1875",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (hard Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1875",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Phantom wizard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Phantom wizard#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "0",
+                "max-magic": "1500",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Phantom wizard#1 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "0",
+                "max-magic": "1500",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Possessed pickaxe",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Possessed pickaxe#Abandoned Mine.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abandoned Mine",
+                "slayer-exp": -1,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 175,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 57.70000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Lair of Tarn Razorlor",
+                "slayer-exp": -1,
+                "lifepoints": "3500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Possessed pickaxe#Dominion Tower.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "210",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dominion Tower",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Possessed pickaxe (Lava Flow Mine)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+            "level": "56",
+            "defence": "40",
+            "slayer-level": "1",
+            "experience": 20,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Putrid zombie (Rasial)",
+        "variants": []
+    },
+    {
+        "name": "Soulless armoured zombie",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulless armoured zombie#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+            "level": "N/A",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 0,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 0,
+            "max-melee": "288",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "10000000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Soulless unarmoured zombie",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulless unarmoured zombie#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+            "level": "N/A",
+            "defence": "?",
+            "slayer-level": "?",
+            "experience": -1,
+            "susceptible": [],
+            "lifepoint-exp": -1,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Taraket the Necromancer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Taraket the Necromancer#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 10000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3300,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Taraket the Necromancer#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 10000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3300,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Undead giant (Battle of Forinthry)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead giant (Battle of Forinthry)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "90",
+                "slayer-level": "?",
+                "experience": 3063.75,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1011,
+                "max-melee": "3000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "61275",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "90",
+                "slayer-level": "?",
+                "experience": 6127.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 2022,
+                "max-melee": "3000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "122550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Unstable zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Unstable zombie#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Unstable zombie#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Unstable zombie#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 12.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "12",
+                "defence": "9",
+                "slayer-level": "1",
+                "experience": 30.899999618530273,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 10.100000381469727,
+                "max-melee": "36",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 12",
+                "slayer-exp": 8,
+                "lifepoints": "450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 22.png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "16",
+                "slayer-level": "1",
+                "experience": 38.099998474121094,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 12.5,
+                "max-melee": "64",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 22",
+                "slayer-exp": 8,
+                "lifepoints": "800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 22 (Graveyard of Shadows).png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "16",
+                "slayer-level": "1",
+                "experience": 38.099998474121094,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 12.5,
+                "max-melee": "64",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 22 (Graveyard of Shadows)",
+                "slayer-exp": 8,
+                "lifepoints": "800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 29.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "1",
+                "experience": 46.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 15.300000190734863,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29",
+                "slayer-exp": 9.800000190734863,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 29 (Entrana).png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "1",
+                "experience": 46.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 15.300000190734863,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29 (Entrana)",
+                "slayer-exp": 8,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 29 (Graveyard of Shadows).png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "1",
+                "experience": 46.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 15.300000190734863,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29 (Graveyard of Shadows)",
+                "slayer-exp": 12,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (New Varrock)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie (New Varrock)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 1.2000000476837158,
+            "susceptible": [],
+            "lifepoint-exp": 0.30000001192092896,
+            "max-melee": "10",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "25",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Zombie cow (New Varrock)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie cow (New Varrock)#Boss.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"220\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Boss",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie cow (New Varrock)#Regular.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"220\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": [],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "28",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Regular",
+                "slayer-exp": -1,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie knight",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie knight#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie knight#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie knight#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie pirate",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie pirate#Level 49.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "1",
+                "experience": 83.0999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 27.399999618530273,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 49",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie pirate#Level 50.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "50",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 86.69999694824219,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 28.600000381469727,
+                "max-melee": "144",
+                "weakness": [
+                    "<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"
+                ],
+                "max-spec": "0",
+                "name": "Level 50",
+                "slayer-exp": 11.199999809265137,
+                "lifepoints": "1800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie pirate#Pieces of Hate.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 54,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 17.799999237060547,
+                "max-melee": "120",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Pieces of Hate",
+                "slayer-exp": 0,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie swab",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie swab#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+            "level": "47",
+            "defence": "34",
+            "slayer-level": "1",
+            "experience": 79.80000305175781,
+            "susceptible": [],
+            "lifepoint-exp": 26.299999237060547,
+            "max-melee": "136",
+            "weakness": [
+                "<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"
+            ],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 22,
+            "lifepoints": "1700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Zombie warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#2 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#1 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#2 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Angry vampyre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Angry vampyre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 105,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 34.599998474121094,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 29.600000381469727,
+            "lifepoints": "2100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Feral vampyre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Feral vampyre#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "61",
+                "defence": "44",
+                "slayer-level": "1",
+                "experience": 110,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 36.29999923706055,
+                "max-melee": "176",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard",
+                "slayer-exp": 32.599998474121094,
+                "lifepoints": "2200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Feral vampyre#Spider.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "61",
+                "defence": "44",
+                "slayer-level": "1",
+                "experience": 110,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 36.29999923706055,
+                "max-melee": "176",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Spider",
+                "slayer-exp": 32.599998474121094,
+                "lifepoints": "2200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Vampyre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Vampyre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 320,
+            "susceptible": [],
+            "lifepoint-exp": 105.5999984741211,
+            "max-melee": "256",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 170.39999389648438,
+            "lifepoints": "6400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Vampyre Juvenile",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvenile#Burgh de Rott.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [],
+                "lifepoint-exp": 33,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Burgh de Rott",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvenile#Meiyerditch.png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "?",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Meiyerditch",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Vampyre Juvinate",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": [],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Burgh de Rott (Level 58)",
+                "slayer-exp": 210,
+                "lifepoints": "2100",
+                "max-ranged": "168",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": [],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "576",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Burgh de Rott (Level 63)",
+                "slayer-exp": 210,
+                "lifepoints": "9750",
+                "max-ranged": "576",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Meiyerditch.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "61",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": [],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "576",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Meiyerditch",
+                "slayer-exp": 210,
+                "lifepoints": "9750",
+                "max-ranged": "576",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Darkmeyer.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": [],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "576",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Darkmeyer",
+                "slayer-exp": 210,
+                "lifepoints": "9750",
+                "max-ranged": "576",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Devil's snare",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Devil's snare#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"274\" id=\"image-?\">",
+            "level": "220",
+            "defence": "70",
+            "slayer-level": "90",
+            "experience": 2100,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 693,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1760,
+            "lifepoints": "42000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lampenflora",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lampenflora#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+            "level": "216",
+            "defence": "70",
+            "slayer-level": "102",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3600",
+            "name": "Default",
+            "slayer-exp": 1331.800048828125,
+            "lifepoints": "25000",
+            "max-ranged": "0",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Liverworts",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Liverworts#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "228",
+            "defence": "70",
+            "slayer-level": "110",
+            "experience": 3000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 990,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "4104",
+            "name": "Default",
+            "slayer-exp": 3338.39990234375,
+            "lifepoints": "60000",
+            "max-ranged": "1368",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Luminous snaggler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Luminous snaggler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"200\" id=\"image-?\">",
+            "level": "224",
+            "defence": "70",
+            "slayer-level": "95",
+            "experience": 2900,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 957,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "6900",
+            "name": "Default",
+            "slayer-exp": 1664.800048828125,
+            "lifepoints": "58000",
+            "max-ranged": "0",
+            "max-magic": "2300",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Vyrelady",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#1.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#2.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#3.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "3",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#4.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "4",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#5.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "5",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#6.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "6",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Vyrelord",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#1.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#2.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#3.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "3",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#4.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "4",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#5.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "5",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#6.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "6",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Vyrewatch",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 70.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 70",
+                "slayer-exp": 43.20000076293945,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "200",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 72.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 72",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 75.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 135,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 44.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 75",
+                "slayer-exp": 52.20000076293945,
+                "lifepoints": "2700",
+                "max-ranged": "0",
+                "max-magic": "216",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 78.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 78",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 86.png\" decoding=\"async\" loading=\"lazy\" width=\"103\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "?",
+                "experience": 500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 165,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 86",
+                "slayer-exp": 238.6999969482422,
+                "lifepoints": "10000",
+                "max-ranged": "0",
+                "max-magic": "595",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 91.png\" decoding=\"async\" loading=\"lazy\" width=\"103\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "?",
+                "experience": 528,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 174.1999969482422,
+                "max-melee": "260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 91",
+                "slayer-exp": 364.5,
+                "lifepoints": "10560",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Temple Trekking (Easy Route).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "?",
+                "experience": 175,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 57.70000076293945,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Easy Route)",
+                "slayer-exp": -1,
+                "lifepoints": "3500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Temple Trekking (Medium Route).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "?",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Medium Route)",
+                "slayer-exp": -1,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Temple Trekking (Hard Route).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "97",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Hard Route)",
+                "slayer-exp": -1,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "70",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 406,
+                "susceptible": [],
+                "lifepoint-exp": 133.89999389648438,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 70 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "8120",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "72",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 422.5,
+                "susceptible": [],
+                "lifepoint-exp": 139.39999389648438,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 72 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "8450",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "75",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 438.5,
+                "susceptible": [],
+                "lifepoint-exp": 144.6999969482422,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 75 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "8770",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "78",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 455,
+                "susceptible": [],
+                "lifepoint-exp": 150.10000610351562,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 78 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "9100",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Wall beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wall beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "45",
+            "defence": "34",
+            "slayer-level": "35",
+            "experience": 272.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 89.9000015258789,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 20.600000381469727,
+            "lifepoints": "5450",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Warped terrorbird",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#1.png\" decoding=\"async\" loading=\"lazy\" width=\"239\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#1 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"236\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#2.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#2 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "2 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#3.png\" decoding=\"async\" loading=\"lazy\" width=\"229\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#3 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "3 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#4.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#4 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"209\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "4 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#5.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#5 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "5 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#6.png\" decoding=\"async\" loading=\"lazy\" width=\"239\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "6",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#6 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"246\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "6 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#7.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "7",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#7 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "7 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#8.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "8",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#8 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "8 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#9.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "9",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#9 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"232\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "9 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#10.png\" decoding=\"async\" loading=\"lazy\" width=\"220\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "10",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#10 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "10 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped tortoise",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Warped tortoise#Immune.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "56",
+                "experience": 260,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 85.80000305175781,
+                "max-melee": "156",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Immune",
+                "slayer-exp": 95,
+                "lifepoints": "5200",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped tortoise#Vulnerable.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"183\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "56",
+                "experience": 260,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 85.80000305175781,
+                "max-melee": "156",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Vulnerable",
+                "slayer-exp": 95,
+                "lifepoints": "5200",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Maelstrom, Raging Waterfiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Maelstrom, Raging Waterfiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "142",
+            "defence": "77",
+            "slayer-level": "?",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10000,
+            "lifepoints": "180000",
+            "max-ranged": "2113",
+            "max-magic": "2388",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Torrential Waterfiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Torrential Waterfiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "118",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 900,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 297,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "18000",
+            "max-ranged": "1727",
+            "max-magic": "1727",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Torrential Waterfiend (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Torrential Waterfiend (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "118",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 900,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 297,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "18000",
+            "max-ranged": "1727",
+            "max-magic": "1727",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Waterfiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Waterfiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 335,
+            "lifepoints": "8000",
+            "max-ranged": "800",
+            "max-magic": "800",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Waterfiend (Ghorrock)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Ghorrock)#102.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "102",
+                "defence": "73",
+                "slayer-level": "1",
+                "experience": 400,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 132,
+                "max-melee": "739",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "102",
+                "slayer-exp": 290.79998779296875,
+                "lifepoints": "8000",
+                "max-ranged": "739",
+                "max-magic": "739",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Ghorrock)#107.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "720",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "107",
+                "slayer-exp": -1,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "720",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Waterfiend (Temple of Aminishi)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 700,
+                "susceptible": [],
+                "lifepoint-exp": 231,
+                "max-melee": "936",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "14000",
+                "max-ranged": "936",
+                "max-magic": "936",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 700,
+                "susceptible": [],
+                "lifepoint-exp": 231,
+                "max-melee": "936",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "14000",
+                "max-ranged": "936",
+                "max-magic": "936",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Waterfiend (The Zamorakian Undercity)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "111",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 600,
+            "lifepoints": "9000",
+            "max-ranged": "1506",
+            "max-magic": "1506",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Waterfiend (elite)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (elite)#Ancient Cavern.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 1600,
+                "susceptible": [],
+                "lifepoint-exp": 528,
+                "max-melee": "2400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Ancient Cavern",
+                "slayer-exp": 1181.4000244140625,
+                "lifepoints": "32000",
+                "max-ranged": "2400",
+                "max-magic": "2400",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (elite)#Ghorrock.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 1600,
+                "susceptible": [],
+                "lifepoint-exp": 528,
+                "max-melee": "2400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Ghorrock",
+                "slayer-exp": 1181.4000244140625,
+                "lifepoints": "32000",
+                "max-ranged": "2400",
+                "max-magic": "2400",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Waterfiend (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Waterfiend (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "111",
+            "defence": "77",
+            "slayer-level": "?",
+            "experience": 450,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "9000",
+            "max-ranged": "1506",
+            "max-magic": "1506",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Werewolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Boris.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 112.5,
+                "susceptible": [],
+                "lifepoint-exp": 37.099998474121094,
+                "max-melee": "225",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Boris",
+                "slayer-exp": 34.5,
+                "lifepoints": "2250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Imre.png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Imre",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Yuri.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Yuri",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Joseph.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Joseph",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Nikolai.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Nikolai",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Eduard.png\" decoding=\"async\" loading=\"lazy\" width=\"188\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Eduard",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Lev.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Lev",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Georgy.png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Georgy",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Svetlana.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Svetlana",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Irina.png\" decoding=\"async\" loading=\"lazy\" width=\"158\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Irina",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Alexis.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Alexis",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Milla.png\" decoding=\"async\" loading=\"lazy\" width=\"162\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Milla",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Galina.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Galina",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Sofiya.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Sofiya",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Ksenia.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ksenia",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Yadviga.png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Yadviga",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Nikita.png\" decoding=\"async\" loading=\"lazy\" width=\"155\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Nikita",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Vera.png\" decoding=\"async\" loading=\"lazy\" width=\"157\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Vera",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Zoja.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Zoja",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Liliya.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Liliya",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#God Wars Dungeon (male).png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon (male)",
+                "slayer-exp": 171,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#God Wars Dungeon (female).png\" decoding=\"async\" loading=\"lazy\" width=\"146\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon (female)",
+                "slayer-exp": 171,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Adolescent White wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Adolescent White wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+            "level": "6",
+            "defence": "4",
+            "slayer-level": "1",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Big Wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Big Wolf#White.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "20",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 147.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 48.599998474121094,
+                "max-melee": "340",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "White",
+                "slayer-exp": 18,
+                "lifepoints": "2950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Big Wolf#Grey.png\" decoding=\"async\" loading=\"lazy\" width=\"264\" height=\"300\" id=\"image-?\">",
+                "level": "20",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 147.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 48.599998474121094,
+                "max-melee": "340",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Grey",
+                "slayer-exp": 18,
+                "lifepoints": "2950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Desert wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Desert wolf#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+                "level": "12",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Desert wolf#Grey.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"247\" id=\"image-?\">",
+                "level": "12",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Grey",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dire Wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dire Wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+            "level": "43",
+            "defence": "29",
+            "slayer-level": "1",
+            "experience": 232.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 76.69999694824219,
+            "max-melee": "660",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.600000381469727,
+            "lifepoints": "4650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fenris wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Fenris wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"294\" height=\"300\" id=\"image-?\">",
+            "level": "46",
+            "defence": "31",
+            "slayer-level": "1",
+            "experience": 247.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 81.5999984741211,
+            "max-melee": "700",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 21.600000381469727,
+            "lifepoints": "4950",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fenris wolf (Sköll)",
+        "variants": []
+    },
+    {
+        "name": "Ice wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice wolf#58.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"276\" id=\"image-?\">",
+                "level": "58",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "880",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "58",
+                "slayer-exp": 45.400001525878906,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice wolf#72.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"276\" id=\"image-?\">",
+                "level": "72",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 420,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 138.60000610351562,
+                "max-melee": "1350",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "72",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "8400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Jungle Wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jungle Wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"278\" id=\"image-?\">",
+            "level": "78",
+            "defence": "54",
+            "slayer-level": "1",
+            "experience": 460,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 151.8000030517578,
+            "max-melee": "1160",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "9200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "White wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/White wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+            "level": "12",
+            "defence": "7",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12.600000381469727,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 8 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"252\" height=\"300\" id=\"image-?\">",
+                "level": "8",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 8 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 8 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+                "level": "8",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 8 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 11 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "11",
+                "defence": "6",
+                "slayer-level": "1",
+                "experience": 77.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 25.5,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 11 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "1550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 11 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "11",
+                "defence": "6",
+                "slayer-level": "1",
+                "experience": 77.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 25.5,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 11 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Armoured zombie (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "?",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 841,
+                "lifepoints": "20000",
+                "max-ranged": "739",
+                "max-magic": "739",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "77",
+                "slayer-level": "?",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "20000",
+                "max-ranged": "739",
+                "max-magic": "739",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Armoured zombie (Uncharted Isles)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 16.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Docile (Throwing Axes)",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "268",
+                "max-magic": "268",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 16.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Docile (Sword and Shield)",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "268",
+                "max-magic": "268",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 16.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Aggressive",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "268",
+                "max-magic": "268",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bossy McBossFace",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bossy McBossFace#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"281\" id=\"image-?\">",
+            "level": "123",
+            "defence": "72",
+            "slayer-level": "0",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dried zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dried zombie#Parched.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 120,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 39.599998474121094,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Parched",
+                "slayer-exp": 41,
+                "lifepoints": "2400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dried zombie#Unmoisturised.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 120,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 39.599998474121094,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Unmoisturised",
+                "slayer-exp": 41,
+                "lifepoints": "2400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dried zombie#Dried.png\" decoding=\"async\" loading=\"lazy\" width=\"129\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 120,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 39.599998474121094,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Dried",
+                "slayer-exp": 41,
+                "lifepoints": "2400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Empowering zombie",
+        "variants": []
+    },
+    {
+        "name": "Summoned Zombie",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Summoned Zombie#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"95\" height=\"300\" id=\"image-?\">",
+            "level": "12",
+            "defence": "9",
+            "slayer-level": "1",
+            "experience": 22.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 7.400000095367432,
+            "max-melee": "36",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8,
+            "lifepoints": "450",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Summoned Zombie (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "0",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "8000",
+                "max-ranged": "368",
+                "max-magic": "368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Summoned armoured zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned armoured zombie#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "10000",
+                "max-ranged": "864",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned armoured zombie#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ulthven Keith",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ulthven Keith#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"286\" id=\"image-?\">",
+            "level": "117",
+            "defence": "72",
+            "slayer-level": "0",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead Witch",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead Witch#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"114\" height=\"300\" id=\"image-?\">",
+                "level": "170",
+                "defence": "75",
+                "slayer-level": "0",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "Varies",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead Witch#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"114\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Lair of Tarn Razorlor)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#72.png\" decoding=\"async\" loading=\"lazy\" width=\"102\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "208",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "72",
+                "slayer-exp": -1,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "74 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "74 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "75 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "75 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"96\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "77 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"122\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "77 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "78 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "78 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "79 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "79 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "82 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "82 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "82 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "84 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "84 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"111\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "85 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "85 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Stronghold of Security)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Stronghold of Security)#Level 12.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "12",
+                "defence": "9",
+                "slayer-level": "1",
+                "experience": 95,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 31.299999237060547,
+                "max-melee": "180",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 12",
+                "slayer-exp": -1,
+                "lifepoints": "1900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Stronghold of Security)#Level 21.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 21",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Temple Trekking)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie (Temple Trekking)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"96\" height=\"300\" id=\"image-?\">",
+            "level": "28",
+            "defence": "20",
+            "slayer-level": "?",
+            "experience": 50,
+            "susceptible": [],
+            "lifepoint-exp": 16.5,
+            "max-melee": "0",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Zombie (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (The Shadow Reef)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "108",
+                "defence": "67",
+                "slayer-level": "0",
+                "experience": 600,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 198,
+                "max-melee": "384",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 504,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (The Shadow Reef)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "108",
+                "defence": "67",
+                "slayer-level": "0",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "384",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 504,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Uncharted Isles)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Uncharted Isles)#Male.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 236,
+                "susceptible": [],
+                "lifepoint-exp": 77.80000305175781,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Male",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Uncharted Isles)#Female.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 236,
+                "susceptible": [],
+                "lifepoint-exp": 77.80000305175781,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Female",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Uncharted Isles)#Aggressive.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 236,
+                "susceptible": [],
+                "lifepoint-exp": 77.80000305175781,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Aggressive",
+                "slayer-exp": -1,
+                "lifepoints": "4950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Wilderness)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 22 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"131\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "16",
+                "slayer-level": "?",
+                "experience": 40,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 13.199999809265137,
+                "max-melee": "64",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 22 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 22 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 22 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 22 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 22 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"128\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (4).png\" decoding=\"async\" loading=\"lazy\" width=\"128\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (4)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Zogre Flesh Eaters)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie (Zogre Flesh Eaters)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"118\" height=\"300\" id=\"image-?\">",
+            "level": "36",
+            "defence": "26",
+            "slayer-level": "?",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "156",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "The Ambassador",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/The Ambassador#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+                "level": "5500",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 25000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 8250,
+                "max-melee": "3300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "9000",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "1000000",
+                "max-ranged": "2200",
+                "max-magic": "10000",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/The Ambassador#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+                "level": "5500",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 25000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 8250,
+                "max-melee": "330",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "900",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "500000",
+                "max-ranged": "220",
+                "max-magic": "1000",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Araxxi",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Araxxi#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+            "level": "3000",
+            "defence": "80",
+            "slayer-level": "-4",
+            "experience": 2500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 825,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "10700",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "100000",
+            "max-ranged": "1653",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Elemental",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Chaos Elemental#F2P.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"228\" id=\"image-?\">",
+                "level": "305",
+                "defence": "69",
+                "slayer-level": "?",
+                "experience": 862,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 284.3999938964844,
+                "max-melee": "1104",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "F2P",
+                "slayer-exp": -1,
+                "lifepoints": "17250",
+                "max-ranged": "1104",
+                "max-magic": "1104",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Chaos Elemental#P2P.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"228\" id=\"image-?\">",
+                "level": "305",
+                "defence": "69",
+                "slayer-level": "?",
+                "experience": 862,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 284.3999938964844,
+                "max-melee": "1104",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "P2P",
+                "slayer-exp": -1,
+                "lifepoints": "17250",
+                "max-ranged": "1104",
+                "max-magic": "1104",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Commander Zilyana",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Aftermath.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Aftermath",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Battle of the Monolith.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Battle of the Monolith",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Council of Burthorpe.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Council of Burthorpe",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Extinction.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Extinction",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Gower Quest.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Gower Quest",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Missing, Presumed Death.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Missing, Presumed Death",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Once Upon a Time in Gielinor",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Senntisten.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Senntisten",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "The World Wakes",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            }
+        ]
+    },
+    {
+        "name": "Croesus",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Croesus#Active.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Active",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Croesus#Dormant.png\" decoding=\"async\" loading=\"lazy\" width=\"267\" height=\"300\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dormant",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            }
+        ]
+    },
+    {
+        "name": "Corporeal Beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corporeal Beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"253\" height=\"300\" id=\"image-?\">",
+            "level": "785",
+            "defence": "75",
+            "slayer-level": "-4",
+            "experience": 2500,
+            "susceptible": [],
+            "lifepoint-exp": 825,
+            "max-melee": "3000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "100000",
+            "max-ranged": "720",
+            "max-magic": "720",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "General Graardor",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "624",
+                "defence": "72",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Hard mode",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "624",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 2000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 660,
+                "max-melee": "7000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "40000",
+                "max-ranged": "1676",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#The Mighty Fall.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+                "level": "210",
+                "defence": "72",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "4800",
+                "name": "The Mighty Fall",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "210",
+                "defence": "72",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "The World Wakes",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Giant mole",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant mole#Hard Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "230",
+                "defence": "45",
+                "slayer-level": "?",
+                "experience": 1950,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 643.5,
+                "max-melee": "720",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2800",
+                "name": "Hard Mode",
+                "slayer-exp": -1,
+                "lifepoints": "78000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant mole#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "230",
+                "defence": "45",
+                "slayer-level": "?",
+                "experience": 1950,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 643.5,
+                "max-melee": "720",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2800",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "78000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Gregorovic",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Gregorovic#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "2300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2300",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "2300",
+                "max-magic": "1800",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gregorovic#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "2300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2300",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "2300",
+                "max-magic": "1800",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gregorovic#Sliske's Endgame.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sliske's Endgame",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1152",
+                "max-magic": "1152",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Har-Aken",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Har-Aken#Head.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+                "level": "800",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 3750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1237.5,
+                "max-melee": "1152",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Head",
+                "slayer-exp": -1,
+                "lifepoints": "150000",
+                "max-ranged": "1152",
+                "max-magic": "1152",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Har-Aken#Magic Tentacle.png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "800",
+                "defence": "76",
+                "slayer-level": "?",
+                "experience": 350,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 115.5,
+                "max-melee": "820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Magic Tentacle",
+                "slayer-exp": -1,
+                "lifepoints": "7000",
+                "max-ranged": "1094",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Har-Aken#Ranged Tentacle.png\" decoding=\"async\" loading=\"lazy\" width=\"134\" height=\"300\" id=\"image-?\">",
+                "level": "800",
+                "defence": "76",
+                "slayer-level": "?",
+                "experience": 350,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 115.5,
+                "max-melee": "820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged Tentacle",
+                "slayer-exp": -1,
+                "lifepoints": "7000",
+                "max-ranged": "1094",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Helwyr",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Helwyr#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "6000",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Helwyr#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hermod, the Spirit of War",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Hermod, the Spirit of War#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "732",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Necromancy\" title=\"Necromancy\" target=\"_blank\"><img src=\"./images/weakness/s/Necromancy-icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2250",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "1750"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hermod, the Spirit of War#Quest.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "732",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Necromancy\" title=\"Necromancy\" target=\"_blank\"><img src=\"./images/weakness/s/Necromancy-icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2250",
+                "name": "Quest",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "1750"
+            }
+        ]
+    },
+    {
+        "name": "Nex",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Nex#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Magic",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nex#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Melee",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nex#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Ranged",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nex#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Standard",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nex: Angel of Death",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nex: Angel of Death#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "7000",
+            "defence": "99",
+            "slayer-level": "-4",
+            "experience": 75000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 24750,
+            "max-melee": "2123",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "75000",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "3000000",
+            "max-ranged": "2123",
+            "max-magic": "2123",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Raksha, the Shadow Colossus",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#During fight.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "During fight",
+                "slayer-exp": -1,
+                "lifepoints": "800000",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#During fight (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "During fight (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "1600000",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#Shackled.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"212\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Shackled",
+                "slayer-exp": -1,
+                "lifepoints": "N/A",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#Subdued.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"179\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Subdued",
+                "slayer-exp": -1,
+                "lifepoints": "N/A",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Rasial, the First Necromancer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+                "level": "8462",
+                "defence": "95",
+                "slayer-level": "?",
+                "experience": 20000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 6600,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11500",
+                "name": "Alpha vs Omega",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "2300"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rasial, the First Necromancer#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+                "level": "8462",
+                "defence": "95",
+                "slayer-level": "?",
+                "experience": 18000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 5940,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11500",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "800000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "2300"
+            }
+        ]
+    },
+    {
+        "name": "Seiryu the Azure Serpent",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Seiryu the Azure Serpent#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "10000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "7500000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Seiryu the Azure Serpent#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "10000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 187500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 61875,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "3750000",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Solak",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Solak#Left arm.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Left arm",
+                "slayer-exp": -1,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Left leg.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Left leg",
+                "slayer-exp": -1,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Right arm.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Right arm",
+                "slayer-exp": -1,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Right leg.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Right leg",
+                "slayer-exp": -1,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Solak.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 200000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 66000,
+                "max-melee": "4000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Solak",
+                "slayer-exp": -1,
+                "lifepoints": "2000000",
+                "max-ranged": "4000",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Withering.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 8000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 2640,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Withering",
+                "slayer-exp": -1,
+                "lifepoints": "125000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Telos, the Warden",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Telos, the Warden#Dormant.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": -2,
+                "susceptible": [],
+                "lifepoint-exp": -2,
+                "max-melee": "N/A",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Dormant",
+                "slayer-exp": -1,
+                "lifepoints": "N/A",
+                "max-ranged": "N/A",
+                "max-magic": "N/A",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Telos, the Warden#Phase 5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"135\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "Varies",
+                "name": "Phase 5",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "1324",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Telos, the Warden#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"201\" height=\"300\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 20000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 6600,
+                "max-melee": "1324",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "5555",
+                "name": "Standard",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "0",
+                "max-magic": "1324",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nymora, the Vengeful",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Nymora, the Vengeful#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 12500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 4125,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "250000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nymora, the Vengeful#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "350000",
+                "max-ranged": "864",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Avaryss, the Unceasing",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Avaryss, the Unceasing#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 17500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 5775,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "350000",
+                "max-ranged": "864",
+                "max-magic": "864",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "N/A",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "N/A",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Daughter of Chaos",
+                "slayer-exp": -1,
+                "lifepoints": "500000",
+                "max-ranged": "N/A",
+                "max-magic": "N/A",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Avaryss, the Unceasing#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 12500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4125,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "7140",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "250000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "TzKal-Zuk",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/TzKal-Zuk#Hard Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"232\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1837",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "15000",
+                "name": "Hard Mode",
+                "slayer-exp": -1,
+                "lifepoints": "1200000",
+                "max-ranged": "1837",
+                "max-magic": "1837",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/TzKal-Zuk#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"232\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1837",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "15000",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "600000",
+                "max-ranged": "1837",
+                "max-magic": "1837",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "TzTok-Jad",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/TzTok-Jad#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+            "level": "702",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 1000,
+            "susceptible": [],
+            "lifepoint-exp": 330,
+            "max-melee": "8000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1309,
+            "lifepoints": "40000",
+            "max-ranged": "8000",
+            "max-magic": "8000",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Vindicta",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vindicta#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "4500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Hard mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "2500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vindicta#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "3000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Vorago",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Vorago#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "10000",
+            "defence": "90",
+            "slayer-level": "-4",
+            "experience": 6250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 2062.5,
+            "max-melee": "3000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "11000",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "250000",
+            "max-ranged": "5000",
+            "max-magic": "5000",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Zamorak, Lord of Chaos",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zamorak, Lord of Chaos#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1819",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Hard mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "1819",
+                "max-magic": "1819",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zamorak, Lord of Chaos#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1819",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "1819",
+                "max-magic": "1819",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zamorak, Lord of Chaos#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1819",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "150000",
+                "max-ranged": "1819",
+                "max-magic": "1819",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zemouregal",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Defender of Varrock (1).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Defender of Varrock (1)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Defender of Varrock (2).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Defender of Varrock (2)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat (fort, skeletal)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat (fort)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Nadir.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Nadir",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "The World Wakes",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Missing, Presumed Death.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Missing, Presumed Death",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves (lair).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves (lair)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves (lair, examinable)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves (cutscene)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dimension of Disaster.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dimension of Disaster",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Children of Mah.png\" decoding=\"async\" loading=\"lazy\" width=\"153\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Children of Mah",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Children of Mah (examinable).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Children of Mah (examinable)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Children of Mah (Freneskae cutscene)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#TzekHaar Front.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "TzekHaar Front",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Daughter of Chaos.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Daughter of Chaos",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Succession.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Succession",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Succession (skeletal).png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Succession (skeletal)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Unwelcome Guests.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Unwelcome Guests",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dead and Buried.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dead and Buried",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"226\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ancient Awakening",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Battle of Forinthry.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Battle of Forinthry",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Requiem for a Dragon.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Requiem for a Dragon",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            }
+        ]
+    }
+]
diff --git a/dist/data/old/masters.json b/dist/data/old/masters.json
new file mode 100644 (file)
index 0000000..cdca203
--- /dev/null
@@ -0,0 +1,496 @@
+[
+    {
+        "task-counts": {
+            "Gelatinous abominations": "10-20",
+            "Trolls": "10-20",
+            "Wolves": "10-20",
+            "Cave bugs": "10-20",
+            "Cows": "10-25",
+            "Birds": "10-20",
+            "Crawling hands": "10-20"
+        },
+        "name": "Turael",
+        "id": 1,
+        "url": "https://runescape.wiki/w/Turael"
+    },
+    {
+        "task-counts": {
+            "Frogs": "15-30",
+            "Goblins": "15-30",
+            "Bats": "15-30",
+            "Ghosts": "15-25",
+            "Skeletons": "15-25",
+            "Spiders": "15-25",
+            "Zombies": "15-30",
+            "Cave slimes": "10-25",
+            "Cave bugs": "15-30",
+            "Cows": "15-30",
+            "Rats": "15-30",
+            "Birds": "15-30"
+        },
+        "name": "Jacquelyn",
+        "id": 2,
+        "url": "https://runescape.wiki/w/Jacquelyn"
+    },
+    {
+        "task-counts": {
+            "Frogs": "40-60",
+            "Bats": "40-60",
+            "Hill giants": "40-60",
+            "Wall beasts": "10-20",
+            "Zombies": "40-60",
+            "Cave slimes": "40-60",
+            "Mogres": "40-60",
+            "Moss giants": "40-60",
+            "Hobgoblins": "40-60",
+            "Bears": "20-40",
+            "Ice warriors": "40-60",
+            "Ghosts": "40-70",
+            "Skeletons": "40-60",
+            "Icefiends": "40-60",
+            "Minotaurs": "40-60",
+            "Scorpions": "40-60",
+            "Spiders": "40-60",
+            "Wolves": "40-60",
+            "Grotworms": "40-60",
+            "Kalphite": "40-60",
+            "Catablepon": "40-60",
+            "Fleshcrawlers": "40-60",
+            "Ice giants": "40-60",
+            "Cockroaches": "40-60"
+        },
+        "name": "Vannaka",
+        "id": 3,
+        "url": "https://runescape.wiki/w/Vannaka"
+    },
+    {
+        "task-counts": {
+            "Demons": "45-90",
+            "Aviansies": "50-110",
+            "Lesser demons": "120-180",
+            "Abyssal Demons": "140-260",
+            "Skeletons": "95-125",
+            "Undead": "130-170",
+            "Black demons": "110-160",
+            "Dark beasts": "120-180",
+            "Dragons": "60-90",
+            "Grotworms": "140-190",
+            "Zemouregal's undead": "110-150",
+            "Hellhounds": "70-110",
+            "Living wyverns": "40-65",
+            "Fire giants": "110-160",
+            "Ankou": "80-120",
+            "Dagannoth": "190-250",
+            "Zombies": "100-140",
+            "Fetid zombies": "140-170",
+            "Armoured phantoms": "45-55",
+            "Ghosts": "160-180",
+            "Green dragons": "70-120",
+            "Acheron mammoths": "20-45",
+            "Risen ghosts": "90-120",
+            "Aberrant spectres": "50-80",
+            "Kalphite": "65-110",
+            "Black dragons": "70-120",
+            "Camel warriors": "30-55",
+            "Greater demons": "140-200",
+            "Bound skeletons": "120-140",
+            "Ripper demons": "40-65"
+        },
+        "name": "The Raptor",
+        "id": 4,
+        "url": "https://runescape.wiki/w/The_Raptor"
+    },
+    {
+        "task-counts": {
+            "Desert lizards": "50-90",
+            "Werewolves": "50-90",
+            "Killerwatts": "60-100",
+            "Lesser demons": "60-100",
+            "Moss giants": "50-90",
+            "Banshees": "50-90",
+            "Ice warriors": "40-60",
+            "Shades": "60-100",
+            "Cockatrice": "50-90",
+            "Earth warriors": "35-55",
+            "Grotworms": "60-100",
+            "Jellies": "60-100",
+            "Otherworldly beings": "60-100",
+            "Bloodveld": "60-100",
+            "Cyclopes": "50-90",
+            "Basilisks": "60-100",
+            "Shadow warriors": "60-100",
+            "Brine rats": "60-100",
+            "Ice giants": "50-90",
+            "Cave crawlers": "50-90",
+            "Jungle horrors": "60-100",
+            "Ogres": "60-100",
+            "Ankou": "60-100",
+            "Sea snakes": "60-100",
+            "Infernal mages": "60-100",
+            "Turoth": "60-100",
+            "Crocodiles": "50-90",
+            "Green dragons": "35-55",
+            "Vampyres": "50-90",
+            "Aberrant spectres": "60-100",
+            "Dogs": "50-90",
+            "Molanisks": "50-90",
+            "Rockslugs": "50-90",
+            "Ghouls": "60-100",
+            "Pyrefiends": "60-100"
+        },
+        "name": "Mazchna",
+        "id": 5,
+        "url": "https://runescape.wiki/w/Mazchna"
+    },
+    {
+        "task-counts": {
+            "Warped tortoises": "110-170",
+            "Dust devils": "110-170",
+            "Elves": "60-90",
+            "Cave horrors": "110-170",
+            "Lesser demons": "110-170",
+            "Crawling hands": "110-170",
+            "Gargoyles": "110-170",
+            "Banshees": "110-170",
+            "Grifolaroos": "50-65",
+            "Jungle strykewyrms": "80-110",
+            "Trolls": "110-170",
+            "Grotworms": "70-110",
+            "Jellies": "110-170",
+            "Bloodveld": "110-170",
+            "Basilisks": "110-170",
+            "Shadow warriors": "110-170",
+            "Harpie bug swarms": "110-170",
+            "Brine rats": "110-170",
+            "Fever spiders": "110-170",
+            "Cave crawlers": "110-170",
+            "Fire giants": "110-170",
+            "Jungle horrors": "110-170",
+            "Grifolapines": "50-65",
+            "Mutated zygomites": "30-60",
+            "Dagannoth": "110-170",
+            "Blue dragons": "110-170",
+            "Infernal mages": "110-170",
+            "Bronze dragons": "30-60",
+            "Turoth": "110-170",
+            "Kurask": "110-170",
+            "Aberrant spectres": "110-170",
+            "Kalphite": "110-170",
+            "Fungal magi": "80-105",
+            "Vyrewatch": "80-110"
+        },
+        "name": "Chaeldar",
+        "id": 6,
+        "url": "https://runescape.wiki/w/Chaeldar"
+    },
+    {
+        "task-counts": {
+            "Desert lizards": "150-250",
+            "Warped tortoises": "120-185",
+            "Dust devils": "120-185",
+            "Elves": "60-90",
+            "Cave horrors": "120-185",
+            "Spiritual warriors": "120-185",
+            "Aviansies": "50-100",
+            "Gargoyles": "120-195",
+            "Banshees": "120-185",
+            "Grifolaroos": "55-75",
+            "Red dragons": "30-60",
+            "Spiritual mages": "120-185",
+            "Jungle strykewyrms": "90-120",
+            "Abyssal Demons": "120-185",
+            "Trolls": "120-185",
+            "Scorpions": "150-250",
+            "Nechryael": "120-185",
+            "Black demons": "120-185",
+            "Grotworms": "70-120",
+            "Bloodveld": "120-185",
+            "Cres's creations": "65-80",
+            "Basilisks": "120-185",
+            "Cave crawlers": "120-185",
+            "Hellhounds": "120-185",
+            "Fire giants": "120-185",
+            "Grifolapines": "55-75",
+            "Scabarites": "30-60",
+            "Mutated jadinkos": "80-130",
+            "Dagannoth": "120-185",
+            "Blue dragons": "120-185",
+            "Aquanites": "120-185",
+            "Iron dragons": "30-60",
+            "Corrupted creatures": "175-300",
+            "Turoth": "120-185",
+            "Crocodiles": "150-250",
+            "Kurask": "120-185",
+            "Desert strykewyrms": "90-110",
+            "Soul devourers": "175-300",
+            "Terror dogs": "30-60",
+            "Aberrant spectres": "120-185",
+            "Kalphite": "120-185",
+            "Fungal magi": "90-110",
+            "Greater demons": "120-185",
+            "Vyrewatch": "90-120"
+        },
+        "name": "Sumona",
+        "id": 7,
+        "url": "https://runescape.wiki/w/Sumona"
+    },
+    {
+        "task-counts": {
+            "Dust devils": "130-200",
+            "Waterfiends": "130-200",
+            "Aviansies": "100-125",
+            "Celestial dragons": "125-150",
+            "Ganodermic creatures": "55-70",
+            "Gargoyles": "130-200",
+            "Grifolaroos": "60-85",
+            "Airut": "125-150",
+            "Spiritual mages": "130-200",
+            "Jungle strykewyrms": "90-120",
+            "Abyssal Demons": "130-200",
+            "Nechryael": "130-200",
+            "Black demons": "130-200",
+            "Dark beasts": "130-200",
+            "Grotworms": "80-120",
+            "Bloodveld": "130-200",
+            "Cres's creations": "65-80",
+            "Skeletal wyverns": "40-80",
+            "Suqahs": "40-80",
+            "Hellhounds": "130-200",
+            "Fire giants": "130-200",
+            "Grifolapines": "60-85",
+            "Scabarites": "40-80",
+            "Mutated jadinkos": "120-200",
+            "Dagannoth": "130-200",
+            "Goraks": "40-80",
+            "Aquanites": "130-200",
+            "Iron dragons": "40-80",
+            "Desert strykewyrms": "90-140",
+            "Ascension members": "100-125",
+            "Aberrant spectres": "130-200",
+            "Kalphite": "130-200",
+            "Black dragons": "40-80",
+            "Warped terrorbirds": "130-200",
+            "Steel dragons": "40-80",
+            "Edimmu": "130-200",
+            "Fungal magi": "100-200",
+            "Greater demons": "130-200",
+            "Ice strykewyrms": "100-200",
+            "Mithril dragons": "4-8",
+            "Vyrewatch": "90-120"
+        },
+        "name": "Duradel",
+        "id": 8,
+        "url": "https://runescape.wiki/w/Duradel"
+    },
+    {
+        "task-counts": {
+            "Chaos giants": "60-100",
+            "TzHaar": "80-110",
+            "Warped tortoises": "150-240",
+            "Elves": "120-150",
+            "Glacors": "50-70",
+            "Waterfiends": "170-250",
+            "Adamant dragons": "40-50",
+            "Aviansies": "125-150",
+            "Kal'gerion demons": "50-100",
+            "Muspah": "125-150",
+            "Grifolaroos": "65-80",
+            "Airut": "125-150",
+            "Spiritual mages": "150-240",
+            "Stalker creatures": "120-170",
+            "Nechryael": "140-220",
+            "Black demons": "190-250",
+            "Cres's creations": "65-80",
+            "Skeletal wyverns": "40-90",
+            "Gemstone dragons": "60-100",
+            "Hellhounds": "130-220",
+            "Lava strykewyrms": "50-100",
+            "Living wyverns": "30-55",
+            "Fire giants": "170-250",
+            "Mutated jadinkos": "160-220",
+            "Nihil": "40-90",
+            "Corrupted creatures": "150-250",
+            "Terror dogs": "60-70",
+            "Ascension members": "100-125",
+            "Camel warriors": "25-45",
+            "Greater demons": "150-250",
+            "Ice strykewyrms": "100-200",
+            "Vyrewatch": "90-130",
+            "Dust devils": "150-250",
+            "Tormented demons": "40-60",
+            "Celestial dragons": "125-150",
+            "Ganodermic creatures": "70-90",
+            "Gargoyles": "150-250",
+            "Jungle strykewyrms": "90-130",
+            "Abyssal Demons": "150-250",
+            "Living rock creatures": "120-170",
+            "Dark beasts": "150-250",
+            "Grotworms": "80-150",
+            "Bloodveld": "180-250",
+            "Suqahs": "50-100",
+            "Grifolapines": "65-80",
+            "Nightmare creatures": "100-120",
+            "Dagannoth": "170-240",
+            "Blue dragons": "120-200",
+            "Aquanites": "160-200",
+            "Iron dragons": "60-110",
+            "Desert strykewyrms": "90-160",
+            "Soul devourers": "150-250",
+            "Acheron mammoths": "20-45",
+            "Aberrant spectres": "150-250",
+            "Kalphite": "170-250",
+            "Black dragons": "40-90",
+            "Steel dragons": "40-100",
+            "Edimmu": "150-250",
+            "Ripper demons": "50-75",
+            "Mithril dragons": "30-35"
+        },
+        "name": "Kuradal",
+        "id": 9,
+        "url": "https://runescape.wiki/w/Kuradal"
+    },
+    {
+        "task-counts": {
+            "Chaos giants": "80-120",
+            "TzHaar": "95-130",
+            "Elves": "150-180",
+            "Glacors": "60-85",
+            "Nodon dragonkin": "90-130",
+            "Waterfiends": "205-300",
+            "Adamant dragons": "40-60",
+            "Aviansies": "150-180",
+            "Kal'gerion demons": "60-120",
+            "Muspah": "150-180",
+            "Crystal shapeshifters": "110-150",
+            "Airut": "150-180",
+            "Stalker creatures": "140-190",
+            "Nechryael": "170-265",
+            "Black demons": "230-300",
+            "Cres's creations": "80-100",
+            "Gemstone dragons": "80-130",
+            "Lava strykewyrms": "60-120",
+            "Living wyverns": "40-65",
+            "Mutated jadinkos": "195-265",
+            "Nihil": "50-110",
+            "Corrupted creatures": "150-250",
+            "Ascension members": "120-150",
+            "Camel warriors": "35-55",
+            "Greater demons": "180-300",
+            "Ice strykewyrms": "120-240",
+            "Vyrewatch": "110-155",
+            "Tormented demons": "50-75",
+            "Celestial dragons": "150-180",
+            "Ganodermic creatures": "85-110",
+            "Gargoyles": "180-300",
+            "Abyssal Demons": "180-300",
+            "Dark beasts": "180-300",
+            "Grotworms": "100-180",
+            "Creatures of the Lost Grove": "100-120",
+            "Nightmare creatures": "110-160",
+            "Dagannoth": "205-290",
+            "Rune dragons": "50-75",
+            "Aquanites": "195-240",
+            "Iron dragons": "75-130",
+            "Shadow creatures": "100-150",
+            "Desert strykewyrms": "110-190",
+            "Soul devourers": "150-250",
+            "Acheron mammoths": "30-55",
+            "Kalphite": "205-300",
+            "Black dragons": "50-110",
+            "Steel dragons": "50-125",
+            "Edimmu": "170-265",
+            "Ripper demons": "60-85",
+            "Mithril dragons": "30-50"
+        },
+        "name": "Morvran",
+        "id": 10,
+        "url": "https://runescape.wiki/w/Morvran"
+    },
+    {
+        "task-counts": {
+            "Chaos giants": "80-120",
+            "Elves": "150-180",
+            "Glacors": "60-85",
+            "Nodon dragonkin": "110-150",
+            "Adamant dragons": "40-60",
+            "Aviansies": "150-180",
+            "Kal'gerion demons": "60-120",
+            "Muspah": "150-180",
+            "Crystal shapeshifters": "110-150",
+            "Airut": "150-180",
+            "Stalker creatures": "140-190",
+            "Black demons": "230-300",
+            "Dragons": "101-150",
+            "Cres's creations": "80-100",
+            "Gemstone dragons": "80-130",
+            "Lava strykewyrms": "60-120",
+            "Living wyverns": "40-65",
+            "Mutated jadinkos": "195-265",
+            "Nihil": "50-110",
+            "Corrupted creatures": "150-250",
+            "Armoured phantoms": "55-65",
+            "Vile blooms": "70-110",
+            "Ascension members": "120-150",
+            "Camel warriors": "35-55",
+            "Greater demons": "180-300",
+            "Ice strykewyrms": "120-240",
+            "Vyrewatch": "110-155",
+            "Demons": "101-150",
+            "Tormented demons": "50-75",
+            "Celestial dragons": "150-180",
+            "Ganodermic creatures": "85-110",
+            "Gargoyles": "180-300",
+            "Abyssal Demons": "180-300",
+            "Undead": "120-160",
+            "Dark beasts": "180-300",
+            "Creatures of the Lost Grove": "100-120",
+            "Dinosaurs": "70-110",
+            "Nightmare creatures": "110-162",
+            "Dagannoth": "205-290",
+            "Rune dragons": "50-75",
+            "Aquanites": "195-240",
+            "Iron dragons": "75-130",
+            "Shadow creatures": "100-150",
+            "Soul devourers": "150-250",
+            "Acheron mammoths": "30-55",
+            "Risen ghosts": "120-160",
+            "Creatures of Daemonheim": "101-150",
+            "Kalphite": "205-300",
+            "Black dragons": "50-110",
+            "Steel dragons": "50-125",
+            "Strykewyrms": "101-150",
+            "Edimmu": "170-265",
+            "Ripper demons": "60-85",
+            "Mithril dragons": "30-50"
+        },
+        "name": "Laniakea",
+        "id": 11,
+        "url": "https://runescape.wiki/w/Laniakea"
+    },
+    {
+        "task-counts": {
+            "Soulgazers": "140-190",
+            "Glacors": "70-100",
+            "Abyssal beasts": "140-200",
+            "Kal'gerion demons": "60-120",
+            "Gargoyles": "180-300",
+            "Greater demon berserkers and ash lords": "50-80",
+            "Hydrix dragons": "90-140",
+            "Revenants": "50-80",
+            "Abyssal Demons": "180-300",
+            "Abyssal lords": "100-150",
+            "Abyssal savages": "180-250",
+            "Acheron mammoths": "40-60",
+            "Black demons": "200-280",
+            "Dark beasts": "180-300",
+            "Onyx dragons": "100-150",
+            "Ripper demons": "70-95",
+            "Ice strykewyrms": "100-150",
+            "Lava strykewyrms": "60-120",
+            "Living wyverns": "50-75"
+        },
+        "name": "Mandrith",
+        "id": 12,
+        "url": "https://runescape.wiki/w/Mandrith"
+    }
+]
diff --git a/dist/data/reapers.json b/dist/data/reapers.json
new file mode 100644 (file)
index 0000000..fb989d1
--- /dev/null
@@ -0,0 +1,490 @@
+[
+    {
+        "default-creature": "Araxxi#Default",
+        "weakness": [],
+        "creatures": ["Araxxi"],
+        "hidden-creatures": [],
+        "index": "Araxxi",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Arch-Glacor#Normal mode",
+        "weakness": [],
+        "creatures": ["Arch-Glacor"],
+        "hidden-creatures": [],
+        "index": "Arch-Glacor",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Black stone dragon#Default",
+        "weakness": [],
+        "creatures": ["Black stone dragon"],
+        "hidden-creatures": [],
+        "index": "Black stone dragon",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Chaos Elemental#P2P",
+        "weakness": [],
+        "creatures": ["Chaos Elemental"],
+        "hidden-creatures": [],
+        "index": "Chaos Elemental",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "weakness": [],
+        "creatures": ["Commander Zilyana"],
+        "hidden-creatures": [],
+        "index": "Commander Zilyana",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Corporeal Beast#Default",
+        "weakness": [],
+        "creatures": ["Corporeal Beast"],
+        "hidden-creatures": [],
+        "index": "Corporeal Beast",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Croesus#Active",
+        "weakness": [],
+        "creatures": ["Croesus"],
+        "hidden-creatures": [],
+        "index": "Croesus",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Dagannoth Rex#Default",
+        "weakness": [],
+        "creatures": [
+            "Dagannoth Prime",
+            "Dagannoth Rex",
+            "Dagannoth Supreme"
+        ],
+        "hidden-creatures": [],
+        "index": "Dagannoth Kings",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "General Graardor#Normal",
+        "weakness": [],
+        "creatures": ["General Graardor"],
+        "hidden-creatures": [],
+        "index": "General Graardor",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Giant mole#Normal",
+        "weakness": [],
+        "creatures": ["Giant mole"],
+        "hidden-creatures": [],
+        "index": "Giant mole",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Gregorovic#Normal Mode",
+        "weakness": [],
+        "creatures": ["Gregorovic"],
+        "hidden-creatures": [],
+        "index": "Gregorovic",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Har-Aken#Head",
+        "weakness": [],
+        "creatures": ["Har-Aken"],
+        "hidden-creatures": [],
+        "index": "Har-Aken",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Helwyr#Normal Mode",
+        "weakness": [],
+        "creatures": ["Helwyr"],
+        "hidden-creatures": [],
+        "index": "Helwyr",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Hermod, the Spirit of War#Normal",
+        "weakness": [],
+        "creatures": ["Hermod, the Spirit of War"],
+        "hidden-creatures": [],
+        "index": "Hermod, the Spirit of War",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "K'ril Tsutsaroth#Normal",
+        "weakness": [],
+        "creatures": ["K'ril Tsutsaroth"],
+        "hidden-creatures": [],
+        "index": "K'ril Tsutsaroth",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kalphite King#Magic",
+        "weakness": [],
+        "creatures": ["Kalphite King"],
+        "hidden-creatures": [],
+        "index": "Kalphite King",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kalphite Queen#First form",
+        "weakness": [],
+        "creatures": ["Kalphite Queen"],
+        "hidden-creatures": [],
+        "index": "Kalphite Queen",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kerapac, the bound#Normal mode",
+        "weakness": [],
+        "creatures": ["Kerapac, the bound"],
+        "hidden-creatures": [],
+        "index": "Kerapac, the bound",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "King Black Dragon#Default",
+        "weakness": [],
+        "creatures": ["King Black Dragon"],
+        "hidden-creatures": [],
+        "index": "King Black Dragon",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kree'arra#Normal",
+        "weakness": [],
+        "creatures": ["Kree'arra"],
+        "hidden-creatures": [],
+        "index": "Kree'arra",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Legio Primus#Default",
+        "weakness": [],
+        "creatures": [
+            "Legio Primus",
+            "Legio Quartus",
+            "Legio Quintus",
+            "Legio Secundus",
+            "Legio Sextus",
+            "Legio Tertius"
+        ],
+        "hidden-creatures": [],
+        "index": "Legiones",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Nex#Standard",
+        "weakness": [],
+        "creatures": ["Nex"],
+        "hidden-creatures": [],
+        "index": "Nex",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Nex: Angel of Death#Default",
+        "weakness": [],
+        "creatures": ["Nex: Angel of Death"],
+        "hidden-creatures": [],
+        "index": "Nex: Angel of Death",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Queen Black Dragon#Normal",
+        "weakness": [],
+        "creatures": ["Queen Black Dragon"],
+        "hidden-creatures": [],
+        "index": "Queen Black Dragon",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Raksha, the Shadow Colossus#During fight",
+        "weakness": [],
+        "creatures": ["Raksha, the Shadow Colossus"],
+        "hidden-creatures": [],
+        "index": "Raksha, the Shadow Colossus",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Rasial, the First Necromancer#Normal",
+        "weakness": [],
+        "creatures": ["Rasial, the First Necromancer"],
+        "hidden-creatures": [],
+        "index": "Rasial, the First Necromancer",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Orikalka#Default",
+        "weakness": [],
+        "creatures": [
+            "Orikalka",
+            "Osseous",
+            "Pthentraken",
+            "Rathis"
+        ],
+        "hidden-creatures": [],
+        "index": "Rex Matriarchs",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Seiryu the Azure Serpent#Normal mode",
+        "weakness": [],
+        "creatures": ["Seiryu the Azure Serpent"],
+        "hidden-creatures": [],
+        "index": "Seiryu the Azure Serpent",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Solak#Solak",
+        "weakness": [],
+        "creatures": ["Solak"],
+        "hidden-creatures": [],
+        "index": "Solak",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Telos, the Warden#Standard",
+        "weakness": [],
+        "creatures": ["Telos, the Warden"],
+        "hidden-creatures": [],
+        "index": "Telos, the Warden",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "The Ambassador#Normal mode",
+        "weakness": [],
+        "creatures": ["The Ambassador"],
+        "hidden-creatures": [],
+        "index": "The Ambassador",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Dharok the Wretched#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ahrim the Blighted",
+            "Akrisae the Doomed",
+            "Dharok the Wretched",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Linza the Disgraced",
+            "Torag the Corrupted",
+            "Verac the Defiled"
+        ],
+        "hidden-creatures": [],
+        "index": "The Barrows Brothers",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Dharok the Wretched#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ahrim the Blighted",
+            "Dharok the Wretched",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Torag the Corrupted",
+            "Verac the Defiled"
+        ],
+        "hidden-creatures": [],
+        "index": "The Barrows: Rise of the Six",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "The Magister#Default",
+        "weakness": [],
+        "creatures": ["The Magister"],
+        "hidden-creatures": [],
+        "index": "The Magister",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Avaryss, the Unceasing#Normal Mode",
+        "weakness": [],
+        "creatures": [
+            "Avaryss, the Unceasing",
+            "Nymora, the Vengeful"
+        ],
+        "hidden-creatures": [],
+        "index": "Twin Furies",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "TzKal-Zuk#Normal Mode",
+        "weakness": [],
+        "creatures": ["TzKal-Zuk"],
+        "hidden-creatures": [],
+        "index": "TzKal-Zuk",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "TzTok-Jad#Default",
+        "weakness": [],
+        "creatures": ["TzTok-Jad"],
+        "hidden-creatures": [],
+        "index": "TzTok-Jad",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Vindicta#Normal mode",
+        "weakness": [],
+        "creatures": ["Vindicta"],
+        "hidden-creatures": [],
+        "index": "Vindicta",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Vorago#Default",
+        "weakness": [],
+        "creatures": ["Vorago"],
+        "hidden-creatures": [],
+        "index": "Vorago",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Zamorak, Lord of Chaos#Normal mode",
+        "weakness": [],
+        "creatures": ["Zamorak, Lord of Chaos"],
+        "hidden-creatures": [],
+        "index": "Zamorak, Lord of Chaos",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Vorkath#Normal mode",
+        "weakness": [],
+        "creatures": [
+            "Vorkath",
+            "Zemouregal"
+        ],
+        "hidden-creatures": [],
+        "index": "Zemouregal & Vorkath",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    }
+]
diff --git a/dist/data/version.json b/dist/data/version.json
new file mode 100644 (file)
index 0000000..fe1c0c8
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "version": "0.0.17"
+}
\ No newline at end of file
diff --git a/dist/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png b/dist/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png
new file mode 100644 (file)
index 0000000..7ea515e
Binary files /dev/null and b/dist/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png differ
diff --git a/dist/images/creatures/Aberrant spectre#Slayer Tower.png b/dist/images/creatures/Aberrant spectre#Slayer Tower.png
new file mode 100644 (file)
index 0000000..7ea515e
Binary files /dev/null and b/dist/images/creatures/Aberrant spectre#Slayer Tower.png differ
diff --git a/dist/images/creatures/Abyssal beast#Default.png b/dist/images/creatures/Abyssal beast#Default.png
new file mode 100644 (file)
index 0000000..1843475
Binary files /dev/null and b/dist/images/creatures/Abyssal beast#Default.png differ
diff --git a/dist/images/creatures/Abyssal demon (elite)#Default.png b/dist/images/creatures/Abyssal demon (elite)#Default.png
new file mode 100644 (file)
index 0000000..ac4c194
Binary files /dev/null and b/dist/images/creatures/Abyssal demon (elite)#Default.png differ
diff --git a/dist/images/creatures/Abyssal demon#Default.png b/dist/images/creatures/Abyssal demon#Default.png
new file mode 100644 (file)
index 0000000..19943b9
Binary files /dev/null and b/dist/images/creatures/Abyssal demon#Default.png differ
diff --git a/dist/images/creatures/Abyssal lord#Default.png b/dist/images/creatures/Abyssal lord#Default.png
new file mode 100644 (file)
index 0000000..005bc51
Binary files /dev/null and b/dist/images/creatures/Abyssal lord#Default.png differ
diff --git a/dist/images/creatures/Abyssal savage#Asylum.png b/dist/images/creatures/Abyssal savage#Asylum.png
new file mode 100644 (file)
index 0000000..ba5ddf7
Binary files /dev/null and b/dist/images/creatures/Abyssal savage#Asylum.png differ
diff --git a/dist/images/creatures/Abyssal savage#Wilderness.png b/dist/images/creatures/Abyssal savage#Wilderness.png
new file mode 100644 (file)
index 0000000..ba5ddf7
Binary files /dev/null and b/dist/images/creatures/Abyssal savage#Wilderness.png differ
diff --git a/dist/images/creatures/Acheron mammoth#Default.png b/dist/images/creatures/Acheron mammoth#Default.png
new file mode 100644 (file)
index 0000000..1627245
Binary files /dev/null and b/dist/images/creatures/Acheron mammoth#Default.png differ
diff --git a/dist/images/creatures/Adamant dragon#Default.png b/dist/images/creatures/Adamant dragon#Default.png
new file mode 100644 (file)
index 0000000..0843b76
Binary files /dev/null and b/dist/images/creatures/Adamant dragon#Default.png differ
diff --git a/dist/images/creatures/Adolescent White wolf#Default.png b/dist/images/creatures/Adolescent White wolf#Default.png
new file mode 100644 (file)
index 0000000..f4c6da2
Binary files /dev/null and b/dist/images/creatures/Adolescent White wolf#Default.png differ
diff --git a/dist/images/creatures/Ahrim the Blighted#Normal.png b/dist/images/creatures/Ahrim the Blighted#Normal.png
new file mode 100644 (file)
index 0000000..14d2ad1
Binary files /dev/null and b/dist/images/creatures/Ahrim the Blighted#Normal.png differ
diff --git a/dist/images/creatures/Ahrim the Blighted#Rise of the Six.png b/dist/images/creatures/Ahrim the Blighted#Rise of the Six.png
new file mode 100644 (file)
index 0000000..9aaa6ee
Binary files /dev/null and b/dist/images/creatures/Ahrim the Blighted#Rise of the Six.png differ
diff --git a/dist/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png b/dist/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..14d2ad1
Binary files /dev/null and b/dist/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png differ
diff --git a/dist/images/creatures/Airut#Melee.png b/dist/images/creatures/Airut#Melee.png
new file mode 100644 (file)
index 0000000..80d58da
Binary files /dev/null and b/dist/images/creatures/Airut#Melee.png differ
diff --git a/dist/images/creatures/Airut#Ranged.png b/dist/images/creatures/Airut#Ranged.png
new file mode 100644 (file)
index 0000000..fdb8d1c
Binary files /dev/null and b/dist/images/creatures/Airut#Ranged.png differ
diff --git a/dist/images/creatures/Akrisae the Doomed#Barrows.png b/dist/images/creatures/Akrisae the Doomed#Barrows.png
new file mode 100644 (file)
index 0000000..bb00315
Binary files /dev/null and b/dist/images/creatures/Akrisae the Doomed#Barrows.png differ
diff --git a/dist/images/creatures/Akrisae the Doomed#Gregorovic.png b/dist/images/creatures/Akrisae the Doomed#Gregorovic.png
new file mode 100644 (file)
index 0000000..bb00315
Binary files /dev/null and b/dist/images/creatures/Akrisae the Doomed#Gregorovic.png differ
diff --git a/dist/images/creatures/Akrisae the Doomed#Sliske's Endgame.png b/dist/images/creatures/Akrisae the Doomed#Sliske's Endgame.png
new file mode 100644 (file)
index 0000000..bb00315
Binary files /dev/null and b/dist/images/creatures/Akrisae the Doomed#Sliske's Endgame.png differ
diff --git a/dist/images/creatures/Alanogard the Black#Default.png b/dist/images/creatures/Alanogard the Black#Default.png
new file mode 100644 (file)
index 0000000..eee7442
Binary files /dev/null and b/dist/images/creatures/Alanogard the Black#Default.png differ
diff --git a/dist/images/creatures/Albino bat#Default.png b/dist/images/creatures/Albino bat#Default.png
new file mode 100644 (file)
index 0000000..8a25f39
Binary files /dev/null and b/dist/images/creatures/Albino bat#Default.png differ
diff --git a/dist/images/creatures/Angry bear#A Soul's Bane.png b/dist/images/creatures/Angry bear#A Soul's Bane.png
new file mode 100644 (file)
index 0000000..a2d443f
Binary files /dev/null and b/dist/images/creatures/Angry bear#A Soul's Bane.png differ
diff --git a/dist/images/creatures/Angry bear#Post-quest.png b/dist/images/creatures/Angry bear#Post-quest.png
new file mode 100644 (file)
index 0000000..c88e9bf
Binary files /dev/null and b/dist/images/creatures/Angry bear#Post-quest.png differ
diff --git a/dist/images/creatures/Angry giant rat#A Soul's Bane.png b/dist/images/creatures/Angry giant rat#A Soul's Bane.png
new file mode 100644 (file)
index 0000000..3bc9d38
Binary files /dev/null and b/dist/images/creatures/Angry giant rat#A Soul's Bane.png differ
diff --git a/dist/images/creatures/Angry giant rat#Post-quest (1).png b/dist/images/creatures/Angry giant rat#Post-quest (1).png
new file mode 100644 (file)
index 0000000..841acf8
Binary files /dev/null and b/dist/images/creatures/Angry giant rat#Post-quest (1).png differ
diff --git a/dist/images/creatures/Angry giant rat#Post-quest (2).png b/dist/images/creatures/Angry giant rat#Post-quest (2).png
new file mode 100644 (file)
index 0000000..a97e17a
Binary files /dev/null and b/dist/images/creatures/Angry giant rat#Post-quest (2).png differ
diff --git a/dist/images/creatures/Angry goblin#A Soul's Bane.png b/dist/images/creatures/Angry goblin#A Soul's Bane.png
new file mode 100644 (file)
index 0000000..5ad15d0
Binary files /dev/null and b/dist/images/creatures/Angry goblin#A Soul's Bane.png differ
diff --git a/dist/images/creatures/Angry goblin#Post-quest.png b/dist/images/creatures/Angry goblin#Post-quest.png
new file mode 100644 (file)
index 0000000..5ad15d0
Binary files /dev/null and b/dist/images/creatures/Angry goblin#Post-quest.png differ
diff --git a/dist/images/creatures/Angry vampyre#Default.png b/dist/images/creatures/Angry vampyre#Default.png
new file mode 100644 (file)
index 0000000..7d6aca8
Binary files /dev/null and b/dist/images/creatures/Angry vampyre#Default.png differ
diff --git a/dist/images/creatures/Animated spade#Default.png b/dist/images/creatures/Animated spade#Default.png
new file mode 100644 (file)
index 0000000..e99067a
Binary files /dev/null and b/dist/images/creatures/Animated spade#Default.png differ
diff --git a/dist/images/creatures/Ankou (Kili's Knowledge IV)#Default.png b/dist/images/creatures/Ankou (Kili's Knowledge IV)#Default.png
new file mode 100644 (file)
index 0000000..e2d5dde
Binary files /dev/null and b/dist/images/creatures/Ankou (Kili's Knowledge IV)#Default.png differ
diff --git a/dist/images/creatures/Ankou (elite)#Default.png b/dist/images/creatures/Ankou (elite)#Default.png
new file mode 100644 (file)
index 0000000..20ed735
Binary files /dev/null and b/dist/images/creatures/Ankou (elite)#Default.png differ
diff --git a/dist/images/creatures/Ankou#Default.png b/dist/images/creatures/Ankou#Default.png
new file mode 100644 (file)
index 0000000..20ed735
Binary files /dev/null and b/dist/images/creatures/Ankou#Default.png differ
diff --git a/dist/images/creatures/Aquanite (elite)#Default.png b/dist/images/creatures/Aquanite (elite)#Default.png
new file mode 100644 (file)
index 0000000..0136bcf
Binary files /dev/null and b/dist/images/creatures/Aquanite (elite)#Default.png differ
diff --git a/dist/images/creatures/Aquanite#Default.png b/dist/images/creatures/Aquanite#Default.png
new file mode 100644 (file)
index 0000000..0136bcf
Binary files /dev/null and b/dist/images/creatures/Aquanite#Default.png differ
diff --git a/dist/images/creatures/Araxxi#Default.png b/dist/images/creatures/Araxxi#Default.png
new file mode 100644 (file)
index 0000000..7ba7790
Binary files /dev/null and b/dist/images/creatures/Araxxi#Default.png differ
diff --git a/dist/images/creatures/Arch-Glacor#Hard mode.png b/dist/images/creatures/Arch-Glacor#Hard mode.png
new file mode 100644 (file)
index 0000000..e7b9288
Binary files /dev/null and b/dist/images/creatures/Arch-Glacor#Hard mode.png differ
diff --git a/dist/images/creatures/Arch-Glacor#Normal mode.png b/dist/images/creatures/Arch-Glacor#Normal mode.png
new file mode 100644 (file)
index 0000000..e7b9288
Binary files /dev/null and b/dist/images/creatures/Arch-Glacor#Normal mode.png differ
diff --git a/dist/images/creatures/Armoured phantom#1.png b/dist/images/creatures/Armoured phantom#1.png
new file mode 100644 (file)
index 0000000..7ff8e4c
Binary files /dev/null and b/dist/images/creatures/Armoured phantom#1.png differ
diff --git a/dist/images/creatures/Armoured phantom#2.png b/dist/images/creatures/Armoured phantom#2.png
new file mode 100644 (file)
index 0000000..42fd163
Binary files /dev/null and b/dist/images/creatures/Armoured phantom#2.png differ
diff --git a/dist/images/creatures/Armoured phantom#3.png b/dist/images/creatures/Armoured phantom#3.png
new file mode 100644 (file)
index 0000000..d5fa778
Binary files /dev/null and b/dist/images/creatures/Armoured phantom#3.png differ
diff --git a/dist/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png b/dist/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/dist/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png differ
diff --git a/dist/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png b/dist/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/dist/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png differ
diff --git a/dist/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png b/dist/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png differ
diff --git a/dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png b/dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png
new file mode 100644 (file)
index 0000000..b7ba172
Binary files /dev/null and b/dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png differ
diff --git a/dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png b/dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png differ
diff --git a/dist/images/creatures/Armoured zombie#Dimension of Disaster.png b/dist/images/creatures/Armoured zombie#Dimension of Disaster.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#Dimension of Disaster.png differ
diff --git a/dist/images/creatures/Armoured zombie#Dishonour among Thieves.png b/dist/images/creatures/Armoured zombie#Dishonour among Thieves.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#Dishonour among Thieves.png differ
diff --git a/dist/images/creatures/Armoured zombie#Melee.png b/dist/images/creatures/Armoured zombie#Melee.png
new file mode 100644 (file)
index 0000000..b7ba172
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#Melee.png differ
diff --git a/dist/images/creatures/Armoured zombie#New Foundations.png b/dist/images/creatures/Armoured zombie#New Foundations.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#New Foundations.png differ
diff --git a/dist/images/creatures/Armoured zombie#One of a Kind.png b/dist/images/creatures/Armoured zombie#One of a Kind.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#One of a Kind.png differ
diff --git a/dist/images/creatures/Armoured zombie#Ranged.png b/dist/images/creatures/Armoured zombie#Ranged.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#Ranged.png differ
diff --git a/dist/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png b/dist/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png differ
diff --git a/dist/images/creatures/Armoured zombie#The World Wakes.png b/dist/images/creatures/Armoured zombie#The World Wakes.png
new file mode 100644 (file)
index 0000000..b7ba172
Binary files /dev/null and b/dist/images/creatures/Armoured zombie#The World Wakes.png differ
diff --git a/dist/images/creatures/Astellarn#Default.png b/dist/images/creatures/Astellarn#Default.png
new file mode 100644 (file)
index 0000000..23c0c59
Binary files /dev/null and b/dist/images/creatures/Astellarn#Default.png differ
diff --git a/dist/images/creatures/Automaton Generator#During The World Wakes.png b/dist/images/creatures/Automaton Generator#During The World Wakes.png
new file mode 100644 (file)
index 0000000..33a1e93
Binary files /dev/null and b/dist/images/creatures/Automaton Generator#During The World Wakes.png differ
diff --git a/dist/images/creatures/Automaton Generator#Post-quest.png b/dist/images/creatures/Automaton Generator#Post-quest.png
new file mode 100644 (file)
index 0000000..33a1e93
Binary files /dev/null and b/dist/images/creatures/Automaton Generator#Post-quest.png differ
diff --git a/dist/images/creatures/Automaton Guardian#During The World Wakes.png b/dist/images/creatures/Automaton Guardian#During The World Wakes.png
new file mode 100644 (file)
index 0000000..0768aec
Binary files /dev/null and b/dist/images/creatures/Automaton Guardian#During The World Wakes.png differ
diff --git a/dist/images/creatures/Automaton Guardian#Post-quest.png b/dist/images/creatures/Automaton Guardian#Post-quest.png
new file mode 100644 (file)
index 0000000..0768aec
Binary files /dev/null and b/dist/images/creatures/Automaton Guardian#Post-quest.png differ
diff --git a/dist/images/creatures/Automaton Tracer#Post-quest.png b/dist/images/creatures/Automaton Tracer#Post-quest.png
new file mode 100644 (file)
index 0000000..6e90799
Binary files /dev/null and b/dist/images/creatures/Automaton Tracer#Post-quest.png differ
diff --git a/dist/images/creatures/Automaton Tracer#The World Wakes.png b/dist/images/creatures/Automaton Tracer#The World Wakes.png
new file mode 100644 (file)
index 0000000..6e90799
Binary files /dev/null and b/dist/images/creatures/Automaton Tracer#The World Wakes.png differ
diff --git a/dist/images/creatures/Avaryss, the Unceasing#Challenge Mode.png b/dist/images/creatures/Avaryss, the Unceasing#Challenge Mode.png
new file mode 100644 (file)
index 0000000..cbccdaa
Binary files /dev/null and b/dist/images/creatures/Avaryss, the Unceasing#Challenge Mode.png differ
diff --git a/dist/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png b/dist/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png
new file mode 100644 (file)
index 0000000..cbccdaa
Binary files /dev/null and b/dist/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png differ
diff --git a/dist/images/creatures/Avaryss, the Unceasing#Normal Mode.png b/dist/images/creatures/Avaryss, the Unceasing#Normal Mode.png
new file mode 100644 (file)
index 0000000..cbccdaa
Binary files /dev/null and b/dist/images/creatures/Avaryss, the Unceasing#Normal Mode.png differ
diff --git a/dist/images/creatures/Aviansie#Melee, level 89 (1).png b/dist/images/creatures/Aviansie#Melee, level 89 (1).png
new file mode 100644 (file)
index 0000000..04e74bc
Binary files /dev/null and b/dist/images/creatures/Aviansie#Melee, level 89 (1).png differ
diff --git a/dist/images/creatures/Aviansie#Melee, level 89 (2).png b/dist/images/creatures/Aviansie#Melee, level 89 (2).png
new file mode 100644 (file)
index 0000000..04e74bc
Binary files /dev/null and b/dist/images/creatures/Aviansie#Melee, level 89 (2).png differ
diff --git a/dist/images/creatures/Aviansie#Melee, level 92.png b/dist/images/creatures/Aviansie#Melee, level 92.png
new file mode 100644 (file)
index 0000000..04e74bc
Binary files /dev/null and b/dist/images/creatures/Aviansie#Melee, level 92.png differ
diff --git a/dist/images/creatures/Aviansie#Ranged, level 89.png b/dist/images/creatures/Aviansie#Ranged, level 89.png
new file mode 100644 (file)
index 0000000..e4880e9
Binary files /dev/null and b/dist/images/creatures/Aviansie#Ranged, level 89.png differ
diff --git a/dist/images/creatures/Aviansie#Ranged, level 92.png b/dist/images/creatures/Aviansie#Ranged, level 92.png
new file mode 100644 (file)
index 0000000..e4880e9
Binary files /dev/null and b/dist/images/creatures/Aviansie#Ranged, level 92.png differ
diff --git a/dist/images/creatures/Aviansie#Ranged, level 95.png b/dist/images/creatures/Aviansie#Ranged, level 95.png
new file mode 100644 (file)
index 0000000..e4880e9
Binary files /dev/null and b/dist/images/creatures/Aviansie#Ranged, level 95.png differ
diff --git a/dist/images/creatures/Baby black dragon#Default.png b/dist/images/creatures/Baby black dragon#Default.png
new file mode 100644 (file)
index 0000000..fec0331
Binary files /dev/null and b/dist/images/creatures/Baby black dragon#Default.png differ
diff --git a/dist/images/creatures/Baby blue dragon#Default.png b/dist/images/creatures/Baby blue dragon#Default.png
new file mode 100644 (file)
index 0000000..7e7d2c0
Binary files /dev/null and b/dist/images/creatures/Baby blue dragon#Default.png differ
diff --git a/dist/images/creatures/Baby red dragon#Default.png b/dist/images/creatures/Baby red dragon#Default.png
new file mode 100644 (file)
index 0000000..78fa09a
Binary files /dev/null and b/dist/images/creatures/Baby red dragon#Default.png differ
diff --git a/dist/images/creatures/Balfrug Kreeyath#Default.png b/dist/images/creatures/Balfrug Kreeyath#Default.png
new file mode 100644 (file)
index 0000000..7cef59f
Binary files /dev/null and b/dist/images/creatures/Balfrug Kreeyath#Default.png differ
diff --git a/dist/images/creatures/Banshee#Default.png b/dist/images/creatures/Banshee#Default.png
new file mode 100644 (file)
index 0000000..21a6a38
Binary files /dev/null and b/dist/images/creatures/Banshee#Default.png differ
diff --git a/dist/images/creatures/Basilisk#Large.png b/dist/images/creatures/Basilisk#Large.png
new file mode 100644 (file)
index 0000000..61f7853
Binary files /dev/null and b/dist/images/creatures/Basilisk#Large.png differ
diff --git a/dist/images/creatures/Basilisk#Small.png b/dist/images/creatures/Basilisk#Small.png
new file mode 100644 (file)
index 0000000..16892ae
Binary files /dev/null and b/dist/images/creatures/Basilisk#Small.png differ
diff --git a/dist/images/creatures/Bat#Default.png b/dist/images/creatures/Bat#Default.png
new file mode 100644 (file)
index 0000000..f230547
Binary files /dev/null and b/dist/images/creatures/Bat#Default.png differ
diff --git a/dist/images/creatures/Bear cub#Default.png b/dist/images/creatures/Bear cub#Default.png
new file mode 100644 (file)
index 0000000..1044909
Binary files /dev/null and b/dist/images/creatures/Bear cub#Default.png differ
diff --git a/dist/images/creatures/Big Wolf#Grey.png b/dist/images/creatures/Big Wolf#Grey.png
new file mode 100644 (file)
index 0000000..a173013
Binary files /dev/null and b/dist/images/creatures/Big Wolf#Grey.png differ
diff --git a/dist/images/creatures/Big Wolf#White.png b/dist/images/creatures/Big Wolf#White.png
new file mode 100644 (file)
index 0000000..d801388
Binary files /dev/null and b/dist/images/creatures/Big Wolf#White.png differ
diff --git a/dist/images/creatures/Big frog#Default.png b/dist/images/creatures/Big frog#Default.png
new file mode 100644 (file)
index 0000000..5054b8b
Binary files /dev/null and b/dist/images/creatures/Big frog#Default.png differ
diff --git a/dist/images/creatures/Bird#Black.png b/dist/images/creatures/Bird#Black.png
new file mode 100644 (file)
index 0000000..5cd67b5
Binary files /dev/null and b/dist/images/creatures/Bird#Black.png differ
diff --git a/dist/images/creatures/Bird#Green.png b/dist/images/creatures/Bird#Green.png
new file mode 100644 (file)
index 0000000..1319269
Binary files /dev/null and b/dist/images/creatures/Bird#Green.png differ
diff --git a/dist/images/creatures/Black bear#Default.png b/dist/images/creatures/Black bear#Default.png
new file mode 100644 (file)
index 0000000..19aa42b
Binary files /dev/null and b/dist/images/creatures/Black bear#Default.png differ
diff --git a/dist/images/creatures/Black demon#1.png b/dist/images/creatures/Black demon#1.png
new file mode 100644 (file)
index 0000000..e9c7a1e
Binary files /dev/null and b/dist/images/creatures/Black demon#1.png differ
diff --git a/dist/images/creatures/Black demon#2.png b/dist/images/creatures/Black demon#2.png
new file mode 100644 (file)
index 0000000..192b8ed
Binary files /dev/null and b/dist/images/creatures/Black demon#2.png differ
diff --git a/dist/images/creatures/Black demon#3.png b/dist/images/creatures/Black demon#3.png
new file mode 100644 (file)
index 0000000..71d95b4
Binary files /dev/null and b/dist/images/creatures/Black demon#3.png differ
diff --git a/dist/images/creatures/Black demon#4.png b/dist/images/creatures/Black demon#4.png
new file mode 100644 (file)
index 0000000..b91ebcd
Binary files /dev/null and b/dist/images/creatures/Black demon#4.png differ
diff --git a/dist/images/creatures/Black demon#5.png b/dist/images/creatures/Black demon#5.png
new file mode 100644 (file)
index 0000000..b5c7e0a
Binary files /dev/null and b/dist/images/creatures/Black demon#5.png differ
diff --git a/dist/images/creatures/Black demon#Wilderness.png b/dist/images/creatures/Black demon#Wilderness.png
new file mode 100644 (file)
index 0000000..e9c7a1e
Binary files /dev/null and b/dist/images/creatures/Black demon#Wilderness.png differ
diff --git a/dist/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..124c86a
Binary files /dev/null and b/dist/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Black dragon#1.png b/dist/images/creatures/Black dragon#1.png
new file mode 100644 (file)
index 0000000..217e2c4
Binary files /dev/null and b/dist/images/creatures/Black dragon#1.png differ
diff --git a/dist/images/creatures/Black dragon#2.png b/dist/images/creatures/Black dragon#2.png
new file mode 100644 (file)
index 0000000..0a4b7f6
Binary files /dev/null and b/dist/images/creatures/Black dragon#2.png differ
diff --git a/dist/images/creatures/Black dragon#3.png b/dist/images/creatures/Black dragon#3.png
new file mode 100644 (file)
index 0000000..c9369d5
Binary files /dev/null and b/dist/images/creatures/Black dragon#3.png differ
diff --git a/dist/images/creatures/Black dragon#4.png b/dist/images/creatures/Black dragon#4.png
new file mode 100644 (file)
index 0000000..e77ff0e
Binary files /dev/null and b/dist/images/creatures/Black dragon#4.png differ
diff --git a/dist/images/creatures/Black dragon#5.png b/dist/images/creatures/Black dragon#5.png
new file mode 100644 (file)
index 0000000..badd3b8
Binary files /dev/null and b/dist/images/creatures/Black dragon#5.png differ
diff --git a/dist/images/creatures/Black stone dragon#Default.png b/dist/images/creatures/Black stone dragon#Default.png
new file mode 100644 (file)
index 0000000..0ac21da
Binary files /dev/null and b/dist/images/creatures/Black stone dragon#Default.png differ
diff --git a/dist/images/creatures/Bladed muspah#Default.png b/dist/images/creatures/Bladed muspah#Default.png
new file mode 100644 (file)
index 0000000..0ced7ba
Binary files /dev/null and b/dist/images/creatures/Bladed muspah#Default.png differ
diff --git a/dist/images/creatures/Blissful shadow#Default.png b/dist/images/creatures/Blissful shadow#Default.png
new file mode 100644 (file)
index 0000000..819801f
Binary files /dev/null and b/dist/images/creatures/Blissful shadow#Default.png differ
diff --git a/dist/images/creatures/Bloated monstrosity#Normal mode (duo).png b/dist/images/creatures/Bloated monstrosity#Normal mode (duo).png
new file mode 100644 (file)
index 0000000..91268b2
Binary files /dev/null and b/dist/images/creatures/Bloated monstrosity#Normal mode (duo).png differ
diff --git a/dist/images/creatures/Bloated monstrosity#Normal mode (solo).png b/dist/images/creatures/Bloated monstrosity#Normal mode (solo).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/dist/images/creatures/Bloated monstrosity#Normal mode (solo).png differ
diff --git a/dist/images/creatures/Bloated monstrosity#Normal mode (trio).png b/dist/images/creatures/Bloated monstrosity#Normal mode (trio).png
new file mode 100644 (file)
index 0000000..91268b2
Binary files /dev/null and b/dist/images/creatures/Bloated monstrosity#Normal mode (trio).png differ
diff --git a/dist/images/creatures/Bloated monstrosity#Story mode (duo).png b/dist/images/creatures/Bloated monstrosity#Story mode (duo).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/dist/images/creatures/Bloated monstrosity#Story mode (duo).png differ
diff --git a/dist/images/creatures/Bloated monstrosity#Story mode (solo).png b/dist/images/creatures/Bloated monstrosity#Story mode (solo).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/dist/images/creatures/Bloated monstrosity#Story mode (solo).png differ
diff --git a/dist/images/creatures/Bloated monstrosity#Story mode (trio).png b/dist/images/creatures/Bloated monstrosity#Story mode (trio).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/dist/images/creatures/Bloated monstrosity#Story mode (trio).png differ
diff --git a/dist/images/creatures/Blood nihil#boss.png b/dist/images/creatures/Blood nihil#boss.png
new file mode 100644 (file)
index 0000000..d4d6564
Binary files /dev/null and b/dist/images/creatures/Blood nihil#boss.png differ
diff --git a/dist/images/creatures/Blood nihil#normal.png b/dist/images/creatures/Blood nihil#normal.png
new file mode 100644 (file)
index 0000000..d4d6564
Binary files /dev/null and b/dist/images/creatures/Blood nihil#normal.png differ
diff --git a/dist/images/creatures/Bloodveld (God Wars Dungeon)#Default.png b/dist/images/creatures/Bloodveld (God Wars Dungeon)#Default.png
new file mode 100644 (file)
index 0000000..59f3958
Binary files /dev/null and b/dist/images/creatures/Bloodveld (God Wars Dungeon)#Default.png differ
diff --git a/dist/images/creatures/Bloodveld (Heart of Gielinor)#Default.png b/dist/images/creatures/Bloodveld (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..2eded56
Binary files /dev/null and b/dist/images/creatures/Bloodveld (Heart of Gielinor)#Default.png differ
diff --git a/dist/images/creatures/Bloodveld#Default.png b/dist/images/creatures/Bloodveld#Default.png
new file mode 100644 (file)
index 0000000..59f3958
Binary files /dev/null and b/dist/images/creatures/Bloodveld#Default.png differ
diff --git a/dist/images/creatures/Blue dragon#1.png b/dist/images/creatures/Blue dragon#1.png
new file mode 100644 (file)
index 0000000..302dc9c
Binary files /dev/null and b/dist/images/creatures/Blue dragon#1.png differ
diff --git a/dist/images/creatures/Blue dragon#2.png b/dist/images/creatures/Blue dragon#2.png
new file mode 100644 (file)
index 0000000..7805acb
Binary files /dev/null and b/dist/images/creatures/Blue dragon#2.png differ
diff --git a/dist/images/creatures/Blue dragon#3.png b/dist/images/creatures/Blue dragon#3.png
new file mode 100644 (file)
index 0000000..0363215
Binary files /dev/null and b/dist/images/creatures/Blue dragon#3.png differ
diff --git a/dist/images/creatures/Blue dragon#4.png b/dist/images/creatures/Blue dragon#4.png
new file mode 100644 (file)
index 0000000..1eb36bd
Binary files /dev/null and b/dist/images/creatures/Blue dragon#4.png differ
diff --git a/dist/images/creatures/Blue dragon#5.png b/dist/images/creatures/Blue dragon#5.png
new file mode 100644 (file)
index 0000000..a39c0f2
Binary files /dev/null and b/dist/images/creatures/Blue dragon#5.png differ
diff --git a/dist/images/creatures/Bolstered Glacyte#Default.png b/dist/images/creatures/Bolstered Glacyte#Default.png
new file mode 100644 (file)
index 0000000..743fbb5
Binary files /dev/null and b/dist/images/creatures/Bolstered Glacyte#Default.png differ
diff --git a/dist/images/creatures/Bossy McBossFace#Default.png b/dist/images/creatures/Bossy McBossFace#Default.png
new file mode 100644 (file)
index 0000000..a3b47e1
Binary files /dev/null and b/dist/images/creatures/Bossy McBossFace#Default.png differ
diff --git a/dist/images/creatures/Bossy McBossFace's First mate#Default.png b/dist/images/creatures/Bossy McBossFace's First mate#Default.png
new file mode 100644 (file)
index 0000000..85f295f
Binary files /dev/null and b/dist/images/creatures/Bossy McBossFace's First mate#Default.png differ
diff --git a/dist/images/creatures/Bound skeleton#1.png b/dist/images/creatures/Bound skeleton#1.png
new file mode 100644 (file)
index 0000000..991c908
Binary files /dev/null and b/dist/images/creatures/Bound skeleton#1.png differ
diff --git a/dist/images/creatures/Bound skeleton#2.png b/dist/images/creatures/Bound skeleton#2.png
new file mode 100644 (file)
index 0000000..61534c9
Binary files /dev/null and b/dist/images/creatures/Bound skeleton#2.png differ
diff --git a/dist/images/creatures/Bound skeleton#3.png b/dist/images/creatures/Bound skeleton#3.png
new file mode 100644 (file)
index 0000000..ac717a6
Binary files /dev/null and b/dist/images/creatures/Bound skeleton#3.png differ
diff --git a/dist/images/creatures/Brine rat#Default.png b/dist/images/creatures/Brine rat#Default.png
new file mode 100644 (file)
index 0000000..5c2bc21
Binary files /dev/null and b/dist/images/creatures/Brine rat#Default.png differ
diff --git a/dist/images/creatures/Brokeface#Default.png b/dist/images/creatures/Brokeface#Default.png
new file mode 100644 (file)
index 0000000..c16457d
Binary files /dev/null and b/dist/images/creatures/Brokeface#Default.png differ
diff --git a/dist/images/creatures/Bronze dragon#Default.png b/dist/images/creatures/Bronze dragon#Default.png
new file mode 100644 (file)
index 0000000..51bfbe7
Binary files /dev/null and b/dist/images/creatures/Bronze dragon#Default.png differ
diff --git a/dist/images/creatures/Brutal green dragon#Default.png b/dist/images/creatures/Brutal green dragon#Default.png
new file mode 100644 (file)
index 0000000..1eeaeef
Binary files /dev/null and b/dist/images/creatures/Brutal green dragon#Default.png differ
diff --git a/dist/images/creatures/Brutish dinosaur#Dinosaur invasion.png b/dist/images/creatures/Brutish dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..e0cbcb0
Binary files /dev/null and b/dist/images/creatures/Brutish dinosaur#Dinosaur invasion.png differ
diff --git a/dist/images/creatures/Brutish dinosaur#Normal.png b/dist/images/creatures/Brutish dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..e0cbcb0
Binary files /dev/null and b/dist/images/creatures/Brutish dinosaur#Normal.png differ
diff --git a/dist/images/creatures/Bulbous crawler#Default.png b/dist/images/creatures/Bulbous crawler#Default.png
new file mode 100644 (file)
index 0000000..ba6fe1c
Binary files /dev/null and b/dist/images/creatures/Bulbous crawler#Default.png differ
diff --git a/dist/images/creatures/Butcher demon#Default.png b/dist/images/creatures/Butcher demon#Default.png
new file mode 100644 (file)
index 0000000..aa6ad13
Binary files /dev/null and b/dist/images/creatures/Butcher demon#Default.png differ
diff --git a/dist/images/creatures/Cadarn magus#Default.png b/dist/images/creatures/Cadarn magus#Default.png
new file mode 100644 (file)
index 0000000..7babaab
Binary files /dev/null and b/dist/images/creatures/Cadarn magus#Default.png differ
diff --git a/dist/images/creatures/Cadarn ranger#Default.png b/dist/images/creatures/Cadarn ranger#Default.png
new file mode 100644 (file)
index 0000000..035050a
Binary files /dev/null and b/dist/images/creatures/Cadarn ranger#Default.png differ
diff --git a/dist/images/creatures/Camel Warrior#Default.png b/dist/images/creatures/Camel Warrior#Default.png
new file mode 100644 (file)
index 0000000..04dfb27
Binary files /dev/null and b/dist/images/creatures/Camel Warrior#Default.png differ
diff --git a/dist/images/creatures/Capsarius#1.png b/dist/images/creatures/Capsarius#1.png
new file mode 100644 (file)
index 0000000..63d7efb
Binary files /dev/null and b/dist/images/creatures/Capsarius#1.png differ
diff --git a/dist/images/creatures/Capsarius#2.png b/dist/images/creatures/Capsarius#2.png
new file mode 100644 (file)
index 0000000..3d92b21
Binary files /dev/null and b/dist/images/creatures/Capsarius#2.png differ
diff --git a/dist/images/creatures/Catablepon#Default.png b/dist/images/creatures/Catablepon#Default.png
new file mode 100644 (file)
index 0000000..73b5d0a
Binary files /dev/null and b/dist/images/creatures/Catablepon#Default.png differ
diff --git a/dist/images/creatures/Cave bug#Level 11.png b/dist/images/creatures/Cave bug#Level 11.png
new file mode 100644 (file)
index 0000000..c1a2270
Binary files /dev/null and b/dist/images/creatures/Cave bug#Level 11.png differ
diff --git a/dist/images/creatures/Cave bug#Level 6.png b/dist/images/creatures/Cave bug#Level 6.png
new file mode 100644 (file)
index 0000000..870a095
Binary files /dev/null and b/dist/images/creatures/Cave bug#Level 6.png differ
diff --git a/dist/images/creatures/Cave crawler#Level 24.png b/dist/images/creatures/Cave crawler#Level 24.png
new file mode 100644 (file)
index 0000000..8d90fdb
Binary files /dev/null and b/dist/images/creatures/Cave crawler#Level 24.png differ
diff --git a/dist/images/creatures/Cave crawler#Level 59.png b/dist/images/creatures/Cave crawler#Level 59.png
new file mode 100644 (file)
index 0000000..8d90fdb
Binary files /dev/null and b/dist/images/creatures/Cave crawler#Level 59.png differ
diff --git a/dist/images/creatures/Cave goblin (monster)#Default.png b/dist/images/creatures/Cave goblin (monster)#Default.png
new file mode 100644 (file)
index 0000000..8e4ad17
Binary files /dev/null and b/dist/images/creatures/Cave goblin (monster)#Default.png differ
diff --git a/dist/images/creatures/Cave goblin guard#Club.png b/dist/images/creatures/Cave goblin guard#Club.png
new file mode 100644 (file)
index 0000000..c24a58c
Binary files /dev/null and b/dist/images/creatures/Cave goblin guard#Club.png differ
diff --git a/dist/images/creatures/Cave goblin guard#Spear.png b/dist/images/creatures/Cave goblin guard#Spear.png
new file mode 100644 (file)
index 0000000..c50838b
Binary files /dev/null and b/dist/images/creatures/Cave goblin guard#Spear.png differ
diff --git a/dist/images/creatures/Cave goblin miner#Mining.png b/dist/images/creatures/Cave goblin miner#Mining.png
new file mode 100644 (file)
index 0000000..659fa9d
Binary files /dev/null and b/dist/images/creatures/Cave goblin miner#Mining.png differ
diff --git a/dist/images/creatures/Cave goblin miner#Slacking off.png b/dist/images/creatures/Cave goblin miner#Slacking off.png
new file mode 100644 (file)
index 0000000..659fa9d
Binary files /dev/null and b/dist/images/creatures/Cave goblin miner#Slacking off.png differ
diff --git a/dist/images/creatures/Cave horror (elite)#Default.png b/dist/images/creatures/Cave horror (elite)#Default.png
new file mode 100644 (file)
index 0000000..1efc58d
Binary files /dev/null and b/dist/images/creatures/Cave horror (elite)#Default.png differ
diff --git a/dist/images/creatures/Cave horror#Default.png b/dist/images/creatures/Cave horror#Default.png
new file mode 100644 (file)
index 0000000..1efc58d
Binary files /dev/null and b/dist/images/creatures/Cave horror#Default.png differ
diff --git a/dist/images/creatures/Cave slime#Default.png b/dist/images/creatures/Cave slime#Default.png
new file mode 100644 (file)
index 0000000..20b81b5
Binary files /dev/null and b/dist/images/creatures/Cave slime#Default.png differ
diff --git a/dist/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..b041820
Binary files /dev/null and b/dist/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Celestial dragon#Default.png b/dist/images/creatures/Celestial dragon#Default.png
new file mode 100644 (file)
index 0000000..b041820
Binary files /dev/null and b/dist/images/creatures/Celestial dragon#Default.png differ
diff --git a/dist/images/creatures/Cerberus Juvenile#Default.png b/dist/images/creatures/Cerberus Juvenile#Default.png
new file mode 100644 (file)
index 0000000..c48827c
Binary files /dev/null and b/dist/images/creatures/Cerberus Juvenile#Default.png differ
diff --git a/dist/images/creatures/Champion of Infernus#Default.png b/dist/images/creatures/Champion of Infernus#Default.png
new file mode 100644 (file)
index 0000000..45ced27
Binary files /dev/null and b/dist/images/creatures/Champion of Infernus#Default.png differ
diff --git a/dist/images/creatures/Chaos Demon Savage#Default.png b/dist/images/creatures/Chaos Demon Savage#Default.png
new file mode 100644 (file)
index 0000000..edb72bf
Binary files /dev/null and b/dist/images/creatures/Chaos Demon Savage#Default.png differ
diff --git a/dist/images/creatures/Chaos Demon#Default.png b/dist/images/creatures/Chaos Demon#Default.png
new file mode 100644 (file)
index 0000000..edb72bf
Binary files /dev/null and b/dist/images/creatures/Chaos Demon#Default.png differ
diff --git a/dist/images/creatures/Chaos Elemental#F2P.png b/dist/images/creatures/Chaos Elemental#F2P.png
new file mode 100644 (file)
index 0000000..4cddb5e
Binary files /dev/null and b/dist/images/creatures/Chaos Elemental#F2P.png differ
diff --git a/dist/images/creatures/Chaos Elemental#P2P.png b/dist/images/creatures/Chaos Elemental#P2P.png
new file mode 100644 (file)
index 0000000..4cddb5e
Binary files /dev/null and b/dist/images/creatures/Chaos Elemental#P2P.png differ
diff --git a/dist/images/creatures/Chaos Giant#Default.png b/dist/images/creatures/Chaos Giant#Default.png
new file mode 100644 (file)
index 0000000..e692ba9
Binary files /dev/null and b/dist/images/creatures/Chaos Giant#Default.png differ
diff --git a/dist/images/creatures/Chicken#Brown.png b/dist/images/creatures/Chicken#Brown.png
new file mode 100644 (file)
index 0000000..ce91d61
Binary files /dev/null and b/dist/images/creatures/Chicken#Brown.png differ
diff --git a/dist/images/creatures/Chicken#White.png b/dist/images/creatures/Chicken#White.png
new file mode 100644 (file)
index 0000000..596ee13
Binary files /dev/null and b/dist/images/creatures/Chicken#White.png differ
diff --git a/dist/images/creatures/Chompy bird#Default.png b/dist/images/creatures/Chompy bird#Default.png
new file mode 100644 (file)
index 0000000..efda171
Binary files /dev/null and b/dist/images/creatures/Chompy bird#Default.png differ
diff --git a/dist/images/creatures/Cockatrice#Default.png b/dist/images/creatures/Cockatrice#Default.png
new file mode 100644 (file)
index 0000000..5598515
Binary files /dev/null and b/dist/images/creatures/Cockatrice#Default.png differ
diff --git a/dist/images/creatures/Cockroach drone#Default.png b/dist/images/creatures/Cockroach drone#Default.png
new file mode 100644 (file)
index 0000000..3e56461
Binary files /dev/null and b/dist/images/creatures/Cockroach drone#Default.png differ
diff --git a/dist/images/creatures/Cockroach soldier#Default.png b/dist/images/creatures/Cockroach soldier#Default.png
new file mode 100644 (file)
index 0000000..3bd1063
Binary files /dev/null and b/dist/images/creatures/Cockroach soldier#Default.png differ
diff --git a/dist/images/creatures/Cockroach worker#Default.png b/dist/images/creatures/Cockroach worker#Default.png
new file mode 100644 (file)
index 0000000..c44edc6
Binary files /dev/null and b/dist/images/creatures/Cockroach worker#Default.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Aftermath.png b/dist/images/creatures/Commander Zilyana#Aftermath.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Aftermath.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Battle of the Monolith.png b/dist/images/creatures/Commander Zilyana#Battle of the Monolith.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Battle of the Monolith.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Council of Burthorpe.png b/dist/images/creatures/Commander Zilyana#Council of Burthorpe.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Council of Burthorpe.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Extinction.png b/dist/images/creatures/Commander Zilyana#Extinction.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Extinction.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Gower Quest.png b/dist/images/creatures/Commander Zilyana#Gower Quest.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Gower Quest.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Missing, Presumed Death.png b/dist/images/creatures/Commander Zilyana#Missing, Presumed Death.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Missing, Presumed Death.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png b/dist/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png b/dist/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png differ
diff --git a/dist/images/creatures/Commander Zilyana#Senntisten.png b/dist/images/creatures/Commander Zilyana#Senntisten.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#Senntisten.png differ
diff --git a/dist/images/creatures/Commander Zilyana#The World Wakes.png b/dist/images/creatures/Commander Zilyana#The World Wakes.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/dist/images/creatures/Commander Zilyana#The World Wakes.png differ
diff --git a/dist/images/creatures/Corporeal Beast#Default.png b/dist/images/creatures/Corporeal Beast#Default.png
new file mode 100644 (file)
index 0000000..dc29bae
Binary files /dev/null and b/dist/images/creatures/Corporeal Beast#Default.png differ
diff --git a/dist/images/creatures/Corpse archer#Default.png b/dist/images/creatures/Corpse archer#Default.png
new file mode 100644 (file)
index 0000000..72c57a1
Binary files /dev/null and b/dist/images/creatures/Corpse archer#Default.png differ
diff --git a/dist/images/creatures/Corpse carrier#Normal mode (duo).png b/dist/images/creatures/Corpse carrier#Normal mode (duo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/dist/images/creatures/Corpse carrier#Normal mode (duo).png differ
diff --git a/dist/images/creatures/Corpse carrier#Normal mode (solo).png b/dist/images/creatures/Corpse carrier#Normal mode (solo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/dist/images/creatures/Corpse carrier#Normal mode (solo).png differ
diff --git a/dist/images/creatures/Corpse carrier#Normal mode (trio).png b/dist/images/creatures/Corpse carrier#Normal mode (trio).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/dist/images/creatures/Corpse carrier#Normal mode (trio).png differ
diff --git a/dist/images/creatures/Corpse carrier#Story mode (duo).png b/dist/images/creatures/Corpse carrier#Story mode (duo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/dist/images/creatures/Corpse carrier#Story mode (duo).png differ
diff --git a/dist/images/creatures/Corpse carrier#Story mode (solo).png b/dist/images/creatures/Corpse carrier#Story mode (solo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/dist/images/creatures/Corpse carrier#Story mode (solo).png differ
diff --git a/dist/images/creatures/Corpse carrier#Story mode (trio).png b/dist/images/creatures/Corpse carrier#Story mode (trio).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/dist/images/creatures/Corpse carrier#Story mode (trio).png differ
diff --git a/dist/images/creatures/Corpse mage#Default.png b/dist/images/creatures/Corpse mage#Default.png
new file mode 100644 (file)
index 0000000..a3294fd
Binary files /dev/null and b/dist/images/creatures/Corpse mage#Default.png differ
diff --git a/dist/images/creatures/Corpse spider#Default.png b/dist/images/creatures/Corpse spider#Default.png
new file mode 100644 (file)
index 0000000..12f9a63
Binary files /dev/null and b/dist/images/creatures/Corpse spider#Default.png differ
diff --git a/dist/images/creatures/Corrupted dust devil#Default.png b/dist/images/creatures/Corrupted dust devil#Default.png
new file mode 100644 (file)
index 0000000..42f13c6
Binary files /dev/null and b/dist/images/creatures/Corrupted dust devil#Default.png differ
diff --git a/dist/images/creatures/Corrupted kalphite guardian#Default.png b/dist/images/creatures/Corrupted kalphite guardian#Default.png
new file mode 100644 (file)
index 0000000..1d20599
Binary files /dev/null and b/dist/images/creatures/Corrupted kalphite guardian#Default.png differ
diff --git a/dist/images/creatures/Corrupted kalphite marauder#Default.png b/dist/images/creatures/Corrupted kalphite marauder#Default.png
new file mode 100644 (file)
index 0000000..1fa140c
Binary files /dev/null and b/dist/images/creatures/Corrupted kalphite marauder#Default.png differ
diff --git a/dist/images/creatures/Corrupted lizard#Default.png b/dist/images/creatures/Corrupted lizard#Default.png
new file mode 100644 (file)
index 0000000..48caa1c
Binary files /dev/null and b/dist/images/creatures/Corrupted lizard#Default.png differ
diff --git a/dist/images/creatures/Corrupted scarab#Default.png b/dist/images/creatures/Corrupted scarab#Default.png
new file mode 100644 (file)
index 0000000..0045413
Binary files /dev/null and b/dist/images/creatures/Corrupted scarab#Default.png differ
diff --git a/dist/images/creatures/Corrupted scorpion#Default.png b/dist/images/creatures/Corrupted scorpion#Default.png
new file mode 100644 (file)
index 0000000..060bb10
Binary files /dev/null and b/dist/images/creatures/Corrupted scorpion#Default.png differ
diff --git a/dist/images/creatures/Corrupted worker#Default.png b/dist/images/creatures/Corrupted worker#Default.png
new file mode 100644 (file)
index 0000000..27d1885
Binary files /dev/null and b/dist/images/creatures/Corrupted worker#Default.png differ
diff --git a/dist/images/creatures/Cow calf#Default.png b/dist/images/creatures/Cow calf#Default.png
new file mode 100644 (file)
index 0000000..37e816f
Binary files /dev/null and b/dist/images/creatures/Cow calf#Default.png differ
diff --git a/dist/images/creatures/Cow#Standard (1).png b/dist/images/creatures/Cow#Standard (1).png
new file mode 100644 (file)
index 0000000..f22a631
Binary files /dev/null and b/dist/images/creatures/Cow#Standard (1).png differ
diff --git a/dist/images/creatures/Cow#Standard (2).png b/dist/images/creatures/Cow#Standard (2).png
new file mode 100644 (file)
index 0000000..d7c1d2b
Binary files /dev/null and b/dist/images/creatures/Cow#Standard (2).png differ
diff --git a/dist/images/creatures/Cow#Standard (3).png b/dist/images/creatures/Cow#Standard (3).png
new file mode 100644 (file)
index 0000000..56dbbe4
Binary files /dev/null and b/dist/images/creatures/Cow#Standard (3).png differ
diff --git a/dist/images/creatures/Cow#Zanaris.png b/dist/images/creatures/Cow#Zanaris.png
new file mode 100644 (file)
index 0000000..fc80aaa
Binary files /dev/null and b/dist/images/creatures/Cow#Zanaris.png differ
diff --git a/dist/images/creatures/Crawling corpse torso#Default.png b/dist/images/creatures/Crawling corpse torso#Default.png
new file mode 100644 (file)
index 0000000..f87ac28
Binary files /dev/null and b/dist/images/creatures/Crawling corpse torso#Default.png differ
diff --git a/dist/images/creatures/Crawling hand#10a.png b/dist/images/creatures/Crawling hand#10a.png
new file mode 100644 (file)
index 0000000..3931804
Binary files /dev/null and b/dist/images/creatures/Crawling hand#10a.png differ
diff --git a/dist/images/creatures/Crawling hand#10b.png b/dist/images/creatures/Crawling hand#10b.png
new file mode 100644 (file)
index 0000000..addcd75
Binary files /dev/null and b/dist/images/creatures/Crawling hand#10b.png differ
diff --git a/dist/images/creatures/Crawling hand#10c.png b/dist/images/creatures/Crawling hand#10c.png
new file mode 100644 (file)
index 0000000..49f283b
Binary files /dev/null and b/dist/images/creatures/Crawling hand#10c.png differ
diff --git a/dist/images/creatures/Crawling hand#10d.png b/dist/images/creatures/Crawling hand#10d.png
new file mode 100644 (file)
index 0000000..3918bf2
Binary files /dev/null and b/dist/images/creatures/Crawling hand#10d.png differ
diff --git a/dist/images/creatures/Crawling hand#10e.png b/dist/images/creatures/Crawling hand#10e.png
new file mode 100644 (file)
index 0000000..38a1387
Binary files /dev/null and b/dist/images/creatures/Crawling hand#10e.png differ
diff --git a/dist/images/creatures/Crawling hand#6a.png b/dist/images/creatures/Crawling hand#6a.png
new file mode 100644 (file)
index 0000000..1437b35
Binary files /dev/null and b/dist/images/creatures/Crawling hand#6a.png differ
diff --git a/dist/images/creatures/Crawling hand#6b.png b/dist/images/creatures/Crawling hand#6b.png
new file mode 100644 (file)
index 0000000..90378ff
Binary files /dev/null and b/dist/images/creatures/Crawling hand#6b.png differ
diff --git a/dist/images/creatures/Crawling hand#6c.png b/dist/images/creatures/Crawling hand#6c.png
new file mode 100644 (file)
index 0000000..9a57966
Binary files /dev/null and b/dist/images/creatures/Crawling hand#6c.png differ
diff --git a/dist/images/creatures/Crawling hand#6d.png b/dist/images/creatures/Crawling hand#6d.png
new file mode 100644 (file)
index 0000000..f3c2774
Binary files /dev/null and b/dist/images/creatures/Crawling hand#6d.png differ
diff --git a/dist/images/creatures/Crawling hand#6e.png b/dist/images/creatures/Crawling hand#6e.png
new file mode 100644 (file)
index 0000000..3fcadc0
Binary files /dev/null and b/dist/images/creatures/Crawling hand#6e.png differ
diff --git a/dist/images/creatures/Crocodile akh#Default.png b/dist/images/creatures/Crocodile akh#Default.png
new file mode 100644 (file)
index 0000000..0933273
Binary files /dev/null and b/dist/images/creatures/Crocodile akh#Default.png differ
diff --git a/dist/images/creatures/Crocodile#40.png b/dist/images/creatures/Crocodile#40.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/dist/images/creatures/Crocodile#40.png differ
diff --git a/dist/images/creatures/Crocodile#77.png b/dist/images/creatures/Crocodile#77.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/dist/images/creatures/Crocodile#77.png differ
diff --git a/dist/images/creatures/Croesus#Active.png b/dist/images/creatures/Croesus#Active.png
new file mode 100644 (file)
index 0000000..620b559
Binary files /dev/null and b/dist/images/creatures/Croesus#Active.png differ
diff --git a/dist/images/creatures/Croesus#Dormant.png b/dist/images/creatures/Croesus#Dormant.png
new file mode 100644 (file)
index 0000000..3285962
Binary files /dev/null and b/dist/images/creatures/Croesus#Dormant.png differ
diff --git a/dist/images/creatures/Crypt rat#Default.png b/dist/images/creatures/Crypt rat#Default.png
new file mode 100644 (file)
index 0000000..e2da29f
Binary files /dev/null and b/dist/images/creatures/Crypt rat#Default.png differ
diff --git a/dist/images/creatures/Crypt spider#Default.png b/dist/images/creatures/Crypt spider#Default.png
new file mode 100644 (file)
index 0000000..cfa2ec6
Binary files /dev/null and b/dist/images/creatures/Crypt spider#Default.png differ
diff --git a/dist/images/creatures/Crystal Shapeshifter#Magic.png b/dist/images/creatures/Crystal Shapeshifter#Magic.png
new file mode 100644 (file)
index 0000000..b20e768
Binary files /dev/null and b/dist/images/creatures/Crystal Shapeshifter#Magic.png differ
diff --git a/dist/images/creatures/Crystal Shapeshifter#Melee.png b/dist/images/creatures/Crystal Shapeshifter#Melee.png
new file mode 100644 (file)
index 0000000..848114b
Binary files /dev/null and b/dist/images/creatures/Crystal Shapeshifter#Melee.png differ
diff --git a/dist/images/creatures/Crystal Shapeshifter#Ranged.png b/dist/images/creatures/Crystal Shapeshifter#Ranged.png
new file mode 100644 (file)
index 0000000..4f35543
Binary files /dev/null and b/dist/images/creatures/Crystal Shapeshifter#Ranged.png differ
diff --git a/dist/images/creatures/Cyclops#57 (Crush).png b/dist/images/creatures/Cyclops#57 (Crush).png
new file mode 100644 (file)
index 0000000..9da10e1
Binary files /dev/null and b/dist/images/creatures/Cyclops#57 (Crush).png differ
diff --git a/dist/images/creatures/Cyclops#57 (Slash).png b/dist/images/creatures/Cyclops#57 (Slash).png
new file mode 100644 (file)
index 0000000..c36e469
Binary files /dev/null and b/dist/images/creatures/Cyclops#57 (Slash).png differ
diff --git a/dist/images/creatures/Cyclops#57 (Stab).png b/dist/images/creatures/Cyclops#57 (Stab).png
new file mode 100644 (file)
index 0000000..f7b9a10
Binary files /dev/null and b/dist/images/creatures/Cyclops#57 (Stab).png differ
diff --git a/dist/images/creatures/Cyclops#68 (Crush).png b/dist/images/creatures/Cyclops#68 (Crush).png
new file mode 100644 (file)
index 0000000..0b7a15c
Binary files /dev/null and b/dist/images/creatures/Cyclops#68 (Crush).png differ
diff --git a/dist/images/creatures/Cyclops#68 (Slash).png b/dist/images/creatures/Cyclops#68 (Slash).png
new file mode 100644 (file)
index 0000000..2a2d250
Binary files /dev/null and b/dist/images/creatures/Cyclops#68 (Slash).png differ
diff --git a/dist/images/creatures/Cyclops#68 (Stab).png b/dist/images/creatures/Cyclops#68 (Stab).png
new file mode 100644 (file)
index 0000000..4472898
Binary files /dev/null and b/dist/images/creatures/Cyclops#68 (Stab).png differ
diff --git a/dist/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png b/dist/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png
new file mode 100644 (file)
index 0000000..bdd7480
Binary files /dev/null and b/dist/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png differ
diff --git a/dist/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png b/dist/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png
new file mode 100644 (file)
index 0000000..4799e36
Binary files /dev/null and b/dist/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png differ
diff --git a/dist/images/creatures/Cyclossus#Default.png b/dist/images/creatures/Cyclossus#Default.png
new file mode 100644 (file)
index 0000000..dbb51f0
Binary files /dev/null and b/dist/images/creatures/Cyclossus#Default.png differ
diff --git a/dist/images/creatures/Dagannoth (Lighthouse)#Level 77.png b/dist/images/creatures/Dagannoth (Lighthouse)#Level 77.png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Lighthouse)#Level 77.png differ
diff --git a/dist/images/creatures/Dagannoth (Lighthouse)#Level 78.png b/dist/images/creatures/Dagannoth (Lighthouse)#Level 78.png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Lighthouse)#Level 78.png differ
diff --git a/dist/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png b/dist/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png differ
diff --git a/dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png b/dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png differ
diff --git a/dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png b/dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png differ
diff --git a/dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png b/dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png
new file mode 100644 (file)
index 0000000..d5b55dc
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png differ
diff --git a/dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png b/dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png
new file mode 100644 (file)
index 0000000..d5b55dc
Binary files /dev/null and b/dist/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png differ
diff --git a/dist/images/creatures/Dagannoth Prime#Default.png b/dist/images/creatures/Dagannoth Prime#Default.png
new file mode 100644 (file)
index 0000000..4c1cc9a
Binary files /dev/null and b/dist/images/creatures/Dagannoth Prime#Default.png differ
diff --git a/dist/images/creatures/Dagannoth Rex#Default.png b/dist/images/creatures/Dagannoth Rex#Default.png
new file mode 100644 (file)
index 0000000..f8b6d6d
Binary files /dev/null and b/dist/images/creatures/Dagannoth Rex#Default.png differ
diff --git a/dist/images/creatures/Dagannoth Supreme#Default.png b/dist/images/creatures/Dagannoth Supreme#Default.png
new file mode 100644 (file)
index 0000000..5dec8b4
Binary files /dev/null and b/dist/images/creatures/Dagannoth Supreme#Default.png differ
diff --git a/dist/images/creatures/Dagannoth fledgeling#Default.png b/dist/images/creatures/Dagannoth fledgeling#Default.png
new file mode 100644 (file)
index 0000000..93ae190
Binary files /dev/null and b/dist/images/creatures/Dagannoth fledgeling#Default.png differ
diff --git a/dist/images/creatures/Dagannoth guardian#Default.png b/dist/images/creatures/Dagannoth guardian#Default.png
new file mode 100644 (file)
index 0000000..3d657be
Binary files /dev/null and b/dist/images/creatures/Dagannoth guardian#Default.png differ
diff --git a/dist/images/creatures/Dagannoth spawn#Default.png b/dist/images/creatures/Dagannoth spawn#Default.png
new file mode 100644 (file)
index 0000000..13af6b7
Binary files /dev/null and b/dist/images/creatures/Dagannoth spawn#Default.png differ
diff --git a/dist/images/creatures/Dark beast (elite)#Default.png b/dist/images/creatures/Dark beast (elite)#Default.png
new file mode 100644 (file)
index 0000000..a2ec825
Binary files /dev/null and b/dist/images/creatures/Dark beast (elite)#Default.png differ
diff --git a/dist/images/creatures/Dark beast#19,000 life points.png b/dist/images/creatures/Dark beast#19,000 life points.png
new file mode 100644 (file)
index 0000000..a2ec825
Binary files /dev/null and b/dist/images/creatures/Dark beast#19,000 life points.png differ
diff --git a/dist/images/creatures/Dark beast#8,500 life points.png b/dist/images/creatures/Dark beast#8,500 life points.png
new file mode 100644 (file)
index 0000000..a2ec825
Binary files /dev/null and b/dist/images/creatures/Dark beast#8,500 life points.png differ
diff --git a/dist/images/creatures/Deadly red spider#Default.png b/dist/images/creatures/Deadly red spider#Default.png
new file mode 100644 (file)
index 0000000..2ea4125
Binary files /dev/null and b/dist/images/creatures/Deadly red spider#Default.png differ
diff --git a/dist/images/creatures/Denizen of Infernus#Default.png b/dist/images/creatures/Denizen of Infernus#Default.png
new file mode 100644 (file)
index 0000000..edb72bf
Binary files /dev/null and b/dist/images/creatures/Denizen of Infernus#Default.png differ
diff --git a/dist/images/creatures/Desert Lizard#Brown.png b/dist/images/creatures/Desert Lizard#Brown.png
new file mode 100644 (file)
index 0000000..e770413
Binary files /dev/null and b/dist/images/creatures/Desert Lizard#Brown.png differ
diff --git a/dist/images/creatures/Desert Lizard#Green.png b/dist/images/creatures/Desert Lizard#Green.png
new file mode 100644 (file)
index 0000000..bfdd4d7
Binary files /dev/null and b/dist/images/creatures/Desert Lizard#Green.png differ
diff --git a/dist/images/creatures/Desert Lizard#Yellow.png b/dist/images/creatures/Desert Lizard#Yellow.png
new file mode 100644 (file)
index 0000000..6c23a72
Binary files /dev/null and b/dist/images/creatures/Desert Lizard#Yellow.png differ
diff --git a/dist/images/creatures/Desert strykewyrm#Default.png b/dist/images/creatures/Desert strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..dccc2e3
Binary files /dev/null and b/dist/images/creatures/Desert strykewyrm#Default.png differ
diff --git a/dist/images/creatures/Desert wolf#Brown.png b/dist/images/creatures/Desert wolf#Brown.png
new file mode 100644 (file)
index 0000000..9599b1e
Binary files /dev/null and b/dist/images/creatures/Desert wolf#Brown.png differ
diff --git a/dist/images/creatures/Desert wolf#Grey.png b/dist/images/creatures/Desert wolf#Grey.png
new file mode 100644 (file)
index 0000000..64f0d7b
Binary files /dev/null and b/dist/images/creatures/Desert wolf#Grey.png differ
diff --git a/dist/images/creatures/Devil's snare#Default.png b/dist/images/creatures/Devil's snare#Default.png
new file mode 100644 (file)
index 0000000..241b62e
Binary files /dev/null and b/dist/images/creatures/Devil's snare#Default.png differ
diff --git a/dist/images/creatures/Dharok the Wretched#Normal.png b/dist/images/creatures/Dharok the Wretched#Normal.png
new file mode 100644 (file)
index 0000000..4f17a4c
Binary files /dev/null and b/dist/images/creatures/Dharok the Wretched#Normal.png differ
diff --git a/dist/images/creatures/Dharok the Wretched#Rise of the Six.png b/dist/images/creatures/Dharok the Wretched#Rise of the Six.png
new file mode 100644 (file)
index 0000000..d97e246
Binary files /dev/null and b/dist/images/creatures/Dharok the Wretched#Rise of the Six.png differ
diff --git a/dist/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png b/dist/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..4f17a4c
Binary files /dev/null and b/dist/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png differ
diff --git a/dist/images/creatures/Dire Wolf#Default.png b/dist/images/creatures/Dire Wolf#Default.png
new file mode 100644 (file)
index 0000000..7a2f31c
Binary files /dev/null and b/dist/images/creatures/Dire Wolf#Default.png differ
diff --git a/dist/images/creatures/Dragith Nurn#Default.png b/dist/images/creatures/Dragith Nurn#Default.png
new file mode 100644 (file)
index 0000000..102f87c
Binary files /dev/null and b/dist/images/creatures/Dragith Nurn#Default.png differ
diff --git a/dist/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..0bc39e7
Binary files /dev/null and b/dist/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Dragonstone dragon#Default.png b/dist/images/creatures/Dragonstone dragon#Default.png
new file mode 100644 (file)
index 0000000..9573a4d
Binary files /dev/null and b/dist/images/creatures/Dragonstone dragon#Default.png differ
diff --git a/dist/images/creatures/Dried zombie#Dried.png b/dist/images/creatures/Dried zombie#Dried.png
new file mode 100644 (file)
index 0000000..70d964d
Binary files /dev/null and b/dist/images/creatures/Dried zombie#Dried.png differ
diff --git a/dist/images/creatures/Dried zombie#Parched.png b/dist/images/creatures/Dried zombie#Parched.png
new file mode 100644 (file)
index 0000000..3658e09
Binary files /dev/null and b/dist/images/creatures/Dried zombie#Parched.png differ
diff --git a/dist/images/creatures/Dried zombie#Unmoisturised.png b/dist/images/creatures/Dried zombie#Unmoisturised.png
new file mode 100644 (file)
index 0000000..1538c18
Binary files /dev/null and b/dist/images/creatures/Dried zombie#Unmoisturised.png differ
diff --git a/dist/images/creatures/Duck#Female.png b/dist/images/creatures/Duck#Female.png
new file mode 100644 (file)
index 0000000..0efe33f
Binary files /dev/null and b/dist/images/creatures/Duck#Female.png differ
diff --git a/dist/images/creatures/Duck#Land.png b/dist/images/creatures/Duck#Land.png
new file mode 100644 (file)
index 0000000..a42c11d
Binary files /dev/null and b/dist/images/creatures/Duck#Land.png differ
diff --git a/dist/images/creatures/Duck#Male.png b/dist/images/creatures/Duck#Male.png
new file mode 100644 (file)
index 0000000..c39e51e
Binary files /dev/null and b/dist/images/creatures/Duck#Male.png differ
diff --git a/dist/images/creatures/Duckling#Default.png b/dist/images/creatures/Duckling#Default.png
new file mode 100644 (file)
index 0000000..24f76de
Binary files /dev/null and b/dist/images/creatures/Duckling#Default.png differ
diff --git a/dist/images/creatures/Dungeon rat#Level 11 (1).png b/dist/images/creatures/Dungeon rat#Level 11 (1).png
new file mode 100644 (file)
index 0000000..c076261
Binary files /dev/null and b/dist/images/creatures/Dungeon rat#Level 11 (1).png differ
diff --git a/dist/images/creatures/Dungeon rat#Level 11 (2).png b/dist/images/creatures/Dungeon rat#Level 11 (2).png
new file mode 100644 (file)
index 0000000..ef8193f
Binary files /dev/null and b/dist/images/creatures/Dungeon rat#Level 11 (2).png differ
diff --git a/dist/images/creatures/Dungeon rat#Level 11 (3).png b/dist/images/creatures/Dungeon rat#Level 11 (3).png
new file mode 100644 (file)
index 0000000..355894b
Binary files /dev/null and b/dist/images/creatures/Dungeon rat#Level 11 (3).png differ
diff --git a/dist/images/creatures/Dungeon rat#Level 18 (brown).png b/dist/images/creatures/Dungeon rat#Level 18 (brown).png
new file mode 100644 (file)
index 0000000..660d10a
Binary files /dev/null and b/dist/images/creatures/Dungeon rat#Level 18 (brown).png differ
diff --git a/dist/images/creatures/Dungeon rat#Level 18 (brown, arrows).png b/dist/images/creatures/Dungeon rat#Level 18 (brown, arrows).png
new file mode 100644 (file)
index 0000000..67c5fd3
Binary files /dev/null and b/dist/images/creatures/Dungeon rat#Level 18 (brown, arrows).png differ
diff --git a/dist/images/creatures/Dungeon rat#Level 18 (grey).png b/dist/images/creatures/Dungeon rat#Level 18 (grey).png
new file mode 100644 (file)
index 0000000..fb36c35
Binary files /dev/null and b/dist/images/creatures/Dungeon rat#Level 18 (grey).png differ
diff --git a/dist/images/creatures/Dust devil (elite)#Default.png b/dist/images/creatures/Dust devil (elite)#Default.png
new file mode 100644 (file)
index 0000000..1c3590f
Binary files /dev/null and b/dist/images/creatures/Dust devil (elite)#Default.png differ
diff --git a/dist/images/creatures/Dust devil#Default.png b/dist/images/creatures/Dust devil#Default.png
new file mode 100644 (file)
index 0000000..1c3590f
Binary files /dev/null and b/dist/images/creatures/Dust devil#Default.png differ
diff --git a/dist/images/creatures/Earth warrior (elite)#Default.png b/dist/images/creatures/Earth warrior (elite)#Default.png
new file mode 100644 (file)
index 0000000..be7d624
Binary files /dev/null and b/dist/images/creatures/Earth warrior (elite)#Default.png differ
diff --git a/dist/images/creatures/Earth warrior#Default.png b/dist/images/creatures/Earth warrior#Default.png
new file mode 100644 (file)
index 0000000..be7d624
Binary files /dev/null and b/dist/images/creatures/Earth warrior#Default.png differ
diff --git a/dist/images/creatures/Edimmu (elite)#Default.png b/dist/images/creatures/Edimmu (elite)#Default.png
new file mode 100644 (file)
index 0000000..507aa45
Binary files /dev/null and b/dist/images/creatures/Edimmu (elite)#Default.png differ
diff --git a/dist/images/creatures/Edimmu#Default.png b/dist/images/creatures/Edimmu#Default.png
new file mode 100644 (file)
index 0000000..8d64ccb
Binary files /dev/null and b/dist/images/creatures/Edimmu#Default.png differ
diff --git a/dist/images/creatures/Elegorn the Celestial#Default.png b/dist/images/creatures/Elegorn the Celestial#Default.png
new file mode 100644 (file)
index 0000000..a18c825
Binary files /dev/null and b/dist/images/creatures/Elegorn the Celestial#Default.png differ
diff --git a/dist/images/creatures/Elf warrior#Melee.png b/dist/images/creatures/Elf warrior#Melee.png
new file mode 100644 (file)
index 0000000..9e0ea4a
Binary files /dev/null and b/dist/images/creatures/Elf warrior#Melee.png differ
diff --git a/dist/images/creatures/Elf warrior#Range.png b/dist/images/creatures/Elf warrior#Range.png
new file mode 100644 (file)
index 0000000..a9a6356
Binary files /dev/null and b/dist/images/creatures/Elf warrior#Range.png differ
diff --git a/dist/images/creatures/Elite rune dragon#Armoured.png b/dist/images/creatures/Elite rune dragon#Armoured.png
new file mode 100644 (file)
index 0000000..d920984
Binary files /dev/null and b/dist/images/creatures/Elite rune dragon#Armoured.png differ
diff --git a/dist/images/creatures/Elite rune dragon#Unarmoured.png b/dist/images/creatures/Elite rune dragon#Unarmoured.png
new file mode 100644 (file)
index 0000000..3bea209
Binary files /dev/null and b/dist/images/creatures/Elite rune dragon#Unarmoured.png differ
diff --git a/dist/images/creatures/Enclave guard#Default.png b/dist/images/creatures/Enclave guard#Default.png
new file mode 100644 (file)
index 0000000..ad246fc
Binary files /dev/null and b/dist/images/creatures/Enclave guard#Default.png differ
diff --git a/dist/images/creatures/Enduring glacyte#Default.png b/dist/images/creatures/Enduring glacyte#Default.png
new file mode 100644 (file)
index 0000000..95ad116
Binary files /dev/null and b/dist/images/creatures/Enduring glacyte#Default.png differ
diff --git a/dist/images/creatures/Engorged lava strykewyrm#Default.png b/dist/images/creatures/Engorged lava strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..430a8f6
Binary files /dev/null and b/dist/images/creatures/Engorged lava strykewyrm#Default.png differ
diff --git a/dist/images/creatures/Exiled Kalphite Queen#First form.png b/dist/images/creatures/Exiled Kalphite Queen#First form.png
new file mode 100644 (file)
index 0000000..e4be535
Binary files /dev/null and b/dist/images/creatures/Exiled Kalphite Queen#First form.png differ
diff --git a/dist/images/creatures/Exiled Kalphite Queen#Second form.png b/dist/images/creatures/Exiled Kalphite Queen#Second form.png
new file mode 100644 (file)
index 0000000..6445856
Binary files /dev/null and b/dist/images/creatures/Exiled Kalphite Queen#Second form.png differ
diff --git a/dist/images/creatures/Exiled kalphite guardian#Default.png b/dist/images/creatures/Exiled kalphite guardian#Default.png
new file mode 100644 (file)
index 0000000..f8b0e8e
Binary files /dev/null and b/dist/images/creatures/Exiled kalphite guardian#Default.png differ
diff --git a/dist/images/creatures/Exiled kalphite marauder#Kalphite King.png b/dist/images/creatures/Exiled kalphite marauder#Kalphite King.png
new file mode 100644 (file)
index 0000000..00335b4
Binary files /dev/null and b/dist/images/creatures/Exiled kalphite marauder#Kalphite King.png differ
diff --git a/dist/images/creatures/Exiled kalphite marauder#Normal.png b/dist/images/creatures/Exiled kalphite marauder#Normal.png
new file mode 100644 (file)
index 0000000..00335b4
Binary files /dev/null and b/dist/images/creatures/Exiled kalphite marauder#Normal.png differ
diff --git a/dist/images/creatures/Exiled kalphite paragon#Default.png b/dist/images/creatures/Exiled kalphite paragon#Default.png
new file mode 100644 (file)
index 0000000..3efdba5
Binary files /dev/null and b/dist/images/creatures/Exiled kalphite paragon#Default.png differ
diff --git a/dist/images/creatures/Exiled kalphite soldier#Default.png b/dist/images/creatures/Exiled kalphite soldier#Default.png
new file mode 100644 (file)
index 0000000..7df3604
Binary files /dev/null and b/dist/images/creatures/Exiled kalphite soldier#Default.png differ
diff --git a/dist/images/creatures/Exiled kalphite worker#Default.png b/dist/images/creatures/Exiled kalphite worker#Default.png
new file mode 100644 (file)
index 0000000..7eef506
Binary files /dev/null and b/dist/images/creatures/Exiled kalphite worker#Default.png differ
diff --git a/dist/images/creatures/Feline akh#Default.png b/dist/images/creatures/Feline akh#Default.png
new file mode 100644 (file)
index 0000000..0978dea
Binary files /dev/null and b/dist/images/creatures/Feline akh#Default.png differ
diff --git a/dist/images/creatures/Fenris wolf#Default.png b/dist/images/creatures/Fenris wolf#Default.png
new file mode 100644 (file)
index 0000000..d8de43b
Binary files /dev/null and b/dist/images/creatures/Fenris wolf#Default.png differ
diff --git a/dist/images/creatures/Feral Dinosaur#Dinosaur invasion.png b/dist/images/creatures/Feral Dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..bad669e
Binary files /dev/null and b/dist/images/creatures/Feral Dinosaur#Dinosaur invasion.png differ
diff --git a/dist/images/creatures/Feral Dinosaur#Normal.png b/dist/images/creatures/Feral Dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..bad669e
Binary files /dev/null and b/dist/images/creatures/Feral Dinosaur#Normal.png differ
diff --git a/dist/images/creatures/Feral vampyre#Spider.png b/dist/images/creatures/Feral vampyre#Spider.png
new file mode 100644 (file)
index 0000000..bd19b83
Binary files /dev/null and b/dist/images/creatures/Feral vampyre#Spider.png differ
diff --git a/dist/images/creatures/Feral vampyre#Standard.png b/dist/images/creatures/Feral vampyre#Standard.png
new file mode 100644 (file)
index 0000000..bd19b83
Binary files /dev/null and b/dist/images/creatures/Feral vampyre#Standard.png differ
diff --git a/dist/images/creatures/Fetid zombie#1.png b/dist/images/creatures/Fetid zombie#1.png
new file mode 100644 (file)
index 0000000..dd6a9f3
Binary files /dev/null and b/dist/images/creatures/Fetid zombie#1.png differ
diff --git a/dist/images/creatures/Fetid zombie#2.png b/dist/images/creatures/Fetid zombie#2.png
new file mode 100644 (file)
index 0000000..ffdac9d
Binary files /dev/null and b/dist/images/creatures/Fetid zombie#2.png differ
diff --git a/dist/images/creatures/Fever spider#Default.png b/dist/images/creatures/Fever spider#Default.png
new file mode 100644 (file)
index 0000000..2c29478
Binary files /dev/null and b/dist/images/creatures/Fever spider#Default.png differ
diff --git a/dist/images/creatures/Fire giant#Default.png b/dist/images/creatures/Fire giant#Default.png
new file mode 100644 (file)
index 0000000..cd2fc9b
Binary files /dev/null and b/dist/images/creatures/Fire giant#Default.png differ
diff --git a/dist/images/creatures/Flesh Crawler#Default.png b/dist/images/creatures/Flesh Crawler#Default.png
new file mode 100644 (file)
index 0000000..861e248
Binary files /dev/null and b/dist/images/creatures/Flesh Crawler#Default.png differ
diff --git a/dist/images/creatures/Flight Kilisa#Default.png b/dist/images/creatures/Flight Kilisa#Default.png
new file mode 100644 (file)
index 0000000..f8aec2c
Binary files /dev/null and b/dist/images/creatures/Flight Kilisa#Default.png differ
diff --git a/dist/images/creatures/Flockleader Geerin#Default.png b/dist/images/creatures/Flockleader Geerin#Default.png
new file mode 100644 (file)
index 0000000..34e17de
Binary files /dev/null and b/dist/images/creatures/Flockleader Geerin#Default.png differ
diff --git a/dist/images/creatures/Force muspah#Default.png b/dist/images/creatures/Force muspah#Default.png
new file mode 100644 (file)
index 0000000..651f5bb
Binary files /dev/null and b/dist/images/creatures/Force muspah#Default.png differ
diff --git a/dist/images/creatures/Frog#Default.png b/dist/images/creatures/Frog#Default.png
new file mode 100644 (file)
index 0000000..7f78675
Binary files /dev/null and b/dist/images/creatures/Frog#Default.png differ
diff --git a/dist/images/creatures/Frogeel#Default.png b/dist/images/creatures/Frogeel#Default.png
new file mode 100644 (file)
index 0000000..cbde221
Binary files /dev/null and b/dist/images/creatures/Frogeel#Default.png differ
diff --git a/dist/images/creatures/Frost dragon#Default.png b/dist/images/creatures/Frost dragon#Default.png
new file mode 100644 (file)
index 0000000..8c6c579
Binary files /dev/null and b/dist/images/creatures/Frost dragon#Default.png differ
diff --git a/dist/images/creatures/Fungal mage#Normal.png b/dist/images/creatures/Fungal mage#Normal.png
new file mode 100644 (file)
index 0000000..9b20fab
Binary files /dev/null and b/dist/images/creatures/Fungal mage#Normal.png differ
diff --git a/dist/images/creatures/Fungal mage#Weakened.png b/dist/images/creatures/Fungal mage#Weakened.png
new file mode 100644 (file)
index 0000000..d5b38b6
Binary files /dev/null and b/dist/images/creatures/Fungal mage#Weakened.png differ
diff --git a/dist/images/creatures/Ganodermic beast#Neem oil.png b/dist/images/creatures/Ganodermic beast#Neem oil.png
new file mode 100644 (file)
index 0000000..acae4dc
Binary files /dev/null and b/dist/images/creatures/Ganodermic beast#Neem oil.png differ
diff --git a/dist/images/creatures/Ganodermic beast#Normal.png b/dist/images/creatures/Ganodermic beast#Normal.png
new file mode 100644 (file)
index 0000000..4703238
Binary files /dev/null and b/dist/images/creatures/Ganodermic beast#Normal.png differ
diff --git a/dist/images/creatures/Ganodermic runt#Neem oil.png b/dist/images/creatures/Ganodermic runt#Neem oil.png
new file mode 100644 (file)
index 0000000..5f4ff37
Binary files /dev/null and b/dist/images/creatures/Ganodermic runt#Neem oil.png differ
diff --git a/dist/images/creatures/Ganodermic runt#Normal.png b/dist/images/creatures/Ganodermic runt#Normal.png
new file mode 100644 (file)
index 0000000..9f70a8e
Binary files /dev/null and b/dist/images/creatures/Ganodermic runt#Normal.png differ
diff --git a/dist/images/creatures/Gargoyle#Regular.png b/dist/images/creatures/Gargoyle#Regular.png
new file mode 100644 (file)
index 0000000..f2c834f
Binary files /dev/null and b/dist/images/creatures/Gargoyle#Regular.png differ
diff --git a/dist/images/creatures/Gargoyle#Wilderness.png b/dist/images/creatures/Gargoyle#Wilderness.png
new file mode 100644 (file)
index 0000000..f2c834f
Binary files /dev/null and b/dist/images/creatures/Gargoyle#Wilderness.png differ
diff --git a/dist/images/creatures/Gelatinous abomination#Default.png b/dist/images/creatures/Gelatinous abomination#Default.png
new file mode 100644 (file)
index 0000000..08f6dca
Binary files /dev/null and b/dist/images/creatures/Gelatinous abomination#Default.png differ
diff --git a/dist/images/creatures/General Graardor#Hard mode.png b/dist/images/creatures/General Graardor#Hard mode.png
new file mode 100644 (file)
index 0000000..5d4d81a
Binary files /dev/null and b/dist/images/creatures/General Graardor#Hard mode.png differ
diff --git a/dist/images/creatures/General Graardor#Normal.png b/dist/images/creatures/General Graardor#Normal.png
new file mode 100644 (file)
index 0000000..5d4d81a
Binary files /dev/null and b/dist/images/creatures/General Graardor#Normal.png differ
diff --git a/dist/images/creatures/General Graardor#The Mighty Fall.png b/dist/images/creatures/General Graardor#The Mighty Fall.png
new file mode 100644 (file)
index 0000000..e4f331e
Binary files /dev/null and b/dist/images/creatures/General Graardor#The Mighty Fall.png differ
diff --git a/dist/images/creatures/General Graardor#The World Wakes.png b/dist/images/creatures/General Graardor#The World Wakes.png
new file mode 100644 (file)
index 0000000..5d4d81a
Binary files /dev/null and b/dist/images/creatures/General Graardor#The World Wakes.png differ
diff --git a/dist/images/creatures/General malpractitioner#Default.png b/dist/images/creatures/General malpractitioner#Default.png
new file mode 100644 (file)
index 0000000..1d9266f
Binary files /dev/null and b/dist/images/creatures/General malpractitioner#Default.png differ
diff --git a/dist/images/creatures/Ghast#Regular.png b/dist/images/creatures/Ghast#Regular.png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/dist/images/creatures/Ghast#Regular.png differ
diff --git a/dist/images/creatures/Ghast#Temple Trekking (Easy Route).png b/dist/images/creatures/Ghast#Temple Trekking (Easy Route).png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/dist/images/creatures/Ghast#Temple Trekking (Easy Route).png differ
diff --git a/dist/images/creatures/Ghast#Temple Trekking (Hard Route).png b/dist/images/creatures/Ghast#Temple Trekking (Hard Route).png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/dist/images/creatures/Ghast#Temple Trekking (Hard Route).png differ
diff --git a/dist/images/creatures/Ghast#Temple Trekking (Medium Route).png b/dist/images/creatures/Ghast#Temple Trekking (Medium Route).png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/dist/images/creatures/Ghast#Temple Trekking (Medium Route).png differ
diff --git a/dist/images/creatures/Ghost (Abandoned Mine)#Default.png b/dist/images/creatures/Ghost (Abandoned Mine)#Default.png
new file mode 100644 (file)
index 0000000..e040187
Binary files /dev/null and b/dist/images/creatures/Ghost (Abandoned Mine)#Default.png differ
diff --git a/dist/images/creatures/Ghost (Stronghold of Security)#1.png b/dist/images/creatures/Ghost (Stronghold of Security)#1.png
new file mode 100644 (file)
index 0000000..1735985
Binary files /dev/null and b/dist/images/creatures/Ghost (Stronghold of Security)#1.png differ
diff --git a/dist/images/creatures/Ghost (Stronghold of Security)#2.png b/dist/images/creatures/Ghost (Stronghold of Security)#2.png
new file mode 100644 (file)
index 0000000..9b4f956
Binary files /dev/null and b/dist/images/creatures/Ghost (Stronghold of Security)#2.png differ
diff --git a/dist/images/creatures/Ghost (Stronghold of Security)#3.png b/dist/images/creatures/Ghost (Stronghold of Security)#3.png
new file mode 100644 (file)
index 0000000..534f8f2
Binary files /dev/null and b/dist/images/creatures/Ghost (Stronghold of Security)#3.png differ
diff --git a/dist/images/creatures/Ghost (Stronghold of Security)#4.png b/dist/images/creatures/Ghost (Stronghold of Security)#4.png
new file mode 100644 (file)
index 0000000..f59ae03
Binary files /dev/null and b/dist/images/creatures/Ghost (Stronghold of Security)#4.png differ
diff --git a/dist/images/creatures/Ghost (Stronghold of Security)#5.png b/dist/images/creatures/Ghost (Stronghold of Security)#5.png
new file mode 100644 (file)
index 0000000..b41186e
Binary files /dev/null and b/dist/images/creatures/Ghost (Stronghold of Security)#5.png differ
diff --git a/dist/images/creatures/Ghost#1.png b/dist/images/creatures/Ghost#1.png
new file mode 100644 (file)
index 0000000..03170a4
Binary files /dev/null and b/dist/images/creatures/Ghost#1.png differ
diff --git a/dist/images/creatures/Ghost#2.png b/dist/images/creatures/Ghost#2.png
new file mode 100644 (file)
index 0000000..7860854
Binary files /dev/null and b/dist/images/creatures/Ghost#2.png differ
diff --git a/dist/images/creatures/Ghost#3.png b/dist/images/creatures/Ghost#3.png
new file mode 100644 (file)
index 0000000..03170a4
Binary files /dev/null and b/dist/images/creatures/Ghost#3.png differ
diff --git a/dist/images/creatures/Ghost#4.png b/dist/images/creatures/Ghost#4.png
new file mode 100644 (file)
index 0000000..1155b09
Binary files /dev/null and b/dist/images/creatures/Ghost#4.png differ
diff --git a/dist/images/creatures/Ghost#5.png b/dist/images/creatures/Ghost#5.png
new file mode 100644 (file)
index 0000000..8bc47f2
Binary files /dev/null and b/dist/images/creatures/Ghost#5.png differ
diff --git a/dist/images/creatures/Ghost#6.png b/dist/images/creatures/Ghost#6.png
new file mode 100644 (file)
index 0000000..6a0b02f
Binary files /dev/null and b/dist/images/creatures/Ghost#6.png differ
diff --git a/dist/images/creatures/Ghost#7.png b/dist/images/creatures/Ghost#7.png
new file mode 100644 (file)
index 0000000..9ab5b66
Binary files /dev/null and b/dist/images/creatures/Ghost#7.png differ
diff --git a/dist/images/creatures/Ghostly troll bruiser#Default.png b/dist/images/creatures/Ghostly troll bruiser#Default.png
new file mode 100644 (file)
index 0000000..bc1b2dc
Binary files /dev/null and b/dist/images/creatures/Ghostly troll bruiser#Default.png differ
diff --git a/dist/images/creatures/Ghostly troll thrower#Default.png b/dist/images/creatures/Ghostly troll thrower#Default.png
new file mode 100644 (file)
index 0000000..0134d14
Binary files /dev/null and b/dist/images/creatures/Ghostly troll thrower#Default.png differ
diff --git a/dist/images/creatures/Ghostly warrior#Default.png b/dist/images/creatures/Ghostly warrior#Default.png
new file mode 100644 (file)
index 0000000..c834c71
Binary files /dev/null and b/dist/images/creatures/Ghostly warrior#Default.png differ
diff --git a/dist/images/creatures/Ghoul (Paterdomus)#Default.png b/dist/images/creatures/Ghoul (Paterdomus)#Default.png
new file mode 100644 (file)
index 0000000..b5653ad
Binary files /dev/null and b/dist/images/creatures/Ghoul (Paterdomus)#Default.png differ
diff --git a/dist/images/creatures/Ghoul#Blue.png b/dist/images/creatures/Ghoul#Blue.png
new file mode 100644 (file)
index 0000000..e10fc77
Binary files /dev/null and b/dist/images/creatures/Ghoul#Blue.png differ
diff --git a/dist/images/creatures/Ghoul#Brown.png b/dist/images/creatures/Ghoul#Brown.png
new file mode 100644 (file)
index 0000000..b5653ad
Binary files /dev/null and b/dist/images/creatures/Ghoul#Brown.png differ
diff --git a/dist/images/creatures/Giant bat#Brine Cavern.png b/dist/images/creatures/Giant bat#Brine Cavern.png
new file mode 100644 (file)
index 0000000..c7b5694
Binary files /dev/null and b/dist/images/creatures/Giant bat#Brine Cavern.png differ
diff --git a/dist/images/creatures/Giant bat#Normal.png b/dist/images/creatures/Giant bat#Normal.png
new file mode 100644 (file)
index 0000000..d8c406c
Binary files /dev/null and b/dist/images/creatures/Giant bat#Normal.png differ
diff --git a/dist/images/creatures/Giant crypt rat#Default.png b/dist/images/creatures/Giant crypt rat#Default.png
new file mode 100644 (file)
index 0000000..4085cb3
Binary files /dev/null and b/dist/images/creatures/Giant crypt rat#Default.png differ
diff --git a/dist/images/creatures/Giant crypt spider#Default.png b/dist/images/creatures/Giant crypt spider#Default.png
new file mode 100644 (file)
index 0000000..782a11d
Binary files /dev/null and b/dist/images/creatures/Giant crypt spider#Default.png differ
diff --git a/dist/images/creatures/Giant frog#Default.png b/dist/images/creatures/Giant frog#Default.png
new file mode 100644 (file)
index 0000000..5054b8b
Binary files /dev/null and b/dist/images/creatures/Giant frog#Default.png differ
diff --git a/dist/images/creatures/Giant mole#Hard Mode.png b/dist/images/creatures/Giant mole#Hard Mode.png
new file mode 100644 (file)
index 0000000..4c27a90
Binary files /dev/null and b/dist/images/creatures/Giant mole#Hard Mode.png differ
diff --git a/dist/images/creatures/Giant mole#Normal.png b/dist/images/creatures/Giant mole#Normal.png
new file mode 100644 (file)
index 0000000..4c27a90
Binary files /dev/null and b/dist/images/creatures/Giant mole#Normal.png differ
diff --git a/dist/images/creatures/Giant rat#Level 7 (brown).png b/dist/images/creatures/Giant rat#Level 7 (brown).png
new file mode 100644 (file)
index 0000000..8cba6e8
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 7 (brown).png differ
diff --git a/dist/images/creatures/Giant rat#Level 7 (brown, arrows).png b/dist/images/creatures/Giant rat#Level 7 (brown, arrows).png
new file mode 100644 (file)
index 0000000..841acf8
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 7 (brown, arrows).png differ
diff --git a/dist/images/creatures/Giant rat#Level 7 (grey).png b/dist/images/creatures/Giant rat#Level 7 (grey).png
new file mode 100644 (file)
index 0000000..fbdf779
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 7 (grey).png differ
diff --git a/dist/images/creatures/Giant rat#Level 7 (grey, arrows).png b/dist/images/creatures/Giant rat#Level 7 (grey, arrows).png
new file mode 100644 (file)
index 0000000..b959c9f
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 7 (grey, arrows).png differ
diff --git a/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png b/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png
new file mode 100644 (file)
index 0000000..cf539d2
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png differ
diff --git a/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png b/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png
new file mode 100644 (file)
index 0000000..8ffc2d8
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png differ
diff --git a/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png b/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png
new file mode 100644 (file)
index 0000000..69f057d
Binary files /dev/null and b/dist/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png differ
diff --git a/dist/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png b/dist/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png
new file mode 100644 (file)
index 0000000..b7d4b82
Binary files /dev/null and b/dist/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png differ
diff --git a/dist/images/creatures/Giant skeleton (Tarn's Lair)#Default.png b/dist/images/creatures/Giant skeleton (Tarn's Lair)#Default.png
new file mode 100644 (file)
index 0000000..b7d4b82
Binary files /dev/null and b/dist/images/creatures/Giant skeleton (Tarn's Lair)#Default.png differ
diff --git a/dist/images/creatures/Giant slime#Normal mode.png b/dist/images/creatures/Giant slime#Normal mode.png
new file mode 100644 (file)
index 0000000..4341deb
Binary files /dev/null and b/dist/images/creatures/Giant slime#Normal mode.png differ
diff --git a/dist/images/creatures/Giant slime#Story mode.png b/dist/images/creatures/Giant slime#Story mode.png
new file mode 100644 (file)
index 0000000..4341deb
Binary files /dev/null and b/dist/images/creatures/Giant slime#Story mode.png differ
diff --git a/dist/images/creatures/Giant spider#Level 2.png b/dist/images/creatures/Giant spider#Level 2.png
new file mode 100644 (file)
index 0000000..c822f74
Binary files /dev/null and b/dist/images/creatures/Giant spider#Level 2.png differ
diff --git a/dist/images/creatures/Giant spider#Level 29.png b/dist/images/creatures/Giant spider#Level 29.png
new file mode 100644 (file)
index 0000000..6317dd8
Binary files /dev/null and b/dist/images/creatures/Giant spider#Level 29.png differ
diff --git a/dist/images/creatures/Giant spider#Level 33.png b/dist/images/creatures/Giant spider#Level 33.png
new file mode 100644 (file)
index 0000000..c822f74
Binary files /dev/null and b/dist/images/creatures/Giant spider#Level 33.png differ
diff --git a/dist/images/creatures/Giant worm#Default.png b/dist/images/creatures/Giant worm#Default.png
new file mode 100644 (file)
index 0000000..b6bea35
Binary files /dev/null and b/dist/images/creatures/Giant worm#Default.png differ
diff --git a/dist/images/creatures/Glacor#Default.png b/dist/images/creatures/Glacor#Default.png
new file mode 100644 (file)
index 0000000..8fb2071
Binary files /dev/null and b/dist/images/creatures/Glacor#Default.png differ
diff --git a/dist/images/creatures/Glacyte (Arch-Glacor)#Magic.png b/dist/images/creatures/Glacyte (Arch-Glacor)#Magic.png
new file mode 100644 (file)
index 0000000..95d4823
Binary files /dev/null and b/dist/images/creatures/Glacyte (Arch-Glacor)#Magic.png differ
diff --git a/dist/images/creatures/Glacyte (Arch-Glacor)#Melee.png b/dist/images/creatures/Glacyte (Arch-Glacor)#Melee.png
new file mode 100644 (file)
index 0000000..743fbb5
Binary files /dev/null and b/dist/images/creatures/Glacyte (Arch-Glacor)#Melee.png differ
diff --git a/dist/images/creatures/Glacyte#Magic.png b/dist/images/creatures/Glacyte#Magic.png
new file mode 100644 (file)
index 0000000..95d4823
Binary files /dev/null and b/dist/images/creatures/Glacyte#Magic.png differ
diff --git a/dist/images/creatures/Glacyte#Melee.png b/dist/images/creatures/Glacyte#Melee.png
new file mode 100644 (file)
index 0000000..743fbb5
Binary files /dev/null and b/dist/images/creatures/Glacyte#Melee.png differ
diff --git a/dist/images/creatures/Gladius#Default.png b/dist/images/creatures/Gladius#Default.png
new file mode 100644 (file)
index 0000000..16890db
Binary files /dev/null and b/dist/images/creatures/Gladius#Default.png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Green (1).png b/dist/images/creatures/Goblin (Goblin Village)#Green (1).png
new file mode 100644 (file)
index 0000000..b66acc3
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Green (1).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Green (2).png b/dist/images/creatures/Goblin (Goblin Village)#Green (2).png
new file mode 100644 (file)
index 0000000..d89c832
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Green (2).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Green (3).png b/dist/images/creatures/Goblin (Goblin Village)#Green (3).png
new file mode 100644 (file)
index 0000000..3e86842
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Green (3).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Green (4).png b/dist/images/creatures/Goblin (Goblin Village)#Green (4).png
new file mode 100644 (file)
index 0000000..477231c
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Green (4).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Green (5).png b/dist/images/creatures/Goblin (Goblin Village)#Green (5).png
new file mode 100644 (file)
index 0000000..320dc3d
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Green (5).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Green (6).png b/dist/images/creatures/Goblin (Goblin Village)#Green (6).png
new file mode 100644 (file)
index 0000000..8fec78e
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Green (6).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Red (1).png b/dist/images/creatures/Goblin (Goblin Village)#Red (1).png
new file mode 100644 (file)
index 0000000..0a5502e
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Red (1).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Red (2).png b/dist/images/creatures/Goblin (Goblin Village)#Red (2).png
new file mode 100644 (file)
index 0000000..9b9125d
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Red (2).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Red (3).png b/dist/images/creatures/Goblin (Goblin Village)#Red (3).png
new file mode 100644 (file)
index 0000000..bbc8650
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Red (3).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Red (4).png b/dist/images/creatures/Goblin (Goblin Village)#Red (4).png
new file mode 100644 (file)
index 0000000..34b4b74
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Red (4).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Red (5).png b/dist/images/creatures/Goblin (Goblin Village)#Red (5).png
new file mode 100644 (file)
index 0000000..ea6f18b
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Red (5).png differ
diff --git a/dist/images/creatures/Goblin (Goblin Village)#Red (6).png b/dist/images/creatures/Goblin (Goblin Village)#Red (6).png
new file mode 100644 (file)
index 0000000..25cd3c8
Binary files /dev/null and b/dist/images/creatures/Goblin (Goblin Village)#Red (6).png differ
diff --git a/dist/images/creatures/Goblin (God Wars Dungeon)#Banner.png b/dist/images/creatures/Goblin (God Wars Dungeon)#Banner.png
new file mode 100644 (file)
index 0000000..ed25efc
Binary files /dev/null and b/dist/images/creatures/Goblin (God Wars Dungeon)#Banner.png differ
diff --git a/dist/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png b/dist/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png
new file mode 100644 (file)
index 0000000..daf082f
Binary files /dev/null and b/dist/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png differ
diff --git a/dist/images/creatures/Goblin (God Wars Dungeon)#Spear.png b/dist/images/creatures/Goblin (God Wars Dungeon)#Spear.png
new file mode 100644 (file)
index 0000000..3dc5536
Binary files /dev/null and b/dist/images/creatures/Goblin (God Wars Dungeon)#Spear.png differ
diff --git a/dist/images/creatures/Goblin (God Wars Dungeon)#Sword.png b/dist/images/creatures/Goblin (God Wars Dungeon)#Sword.png
new file mode 100644 (file)
index 0000000..dc9d0d5
Binary files /dev/null and b/dist/images/creatures/Goblin (God Wars Dungeon)#Sword.png differ
diff --git a/dist/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png b/dist/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png
new file mode 100644 (file)
index 0000000..a2ce0e5
Binary files /dev/null and b/dist/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png differ
diff --git a/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png
new file mode 100644 (file)
index 0000000..e67def4
Binary files /dev/null and b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png differ
diff --git a/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png
new file mode 100644 (file)
index 0000000..f725001
Binary files /dev/null and b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png differ
diff --git a/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png
new file mode 100644 (file)
index 0000000..566196c
Binary files /dev/null and b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png differ
diff --git a/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png
new file mode 100644 (file)
index 0000000..b08ec18
Binary files /dev/null and b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png differ
diff --git a/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png
new file mode 100644 (file)
index 0000000..408e631
Binary files /dev/null and b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png differ
diff --git a/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png
new file mode 100644 (file)
index 0000000..9e9f1d8
Binary files /dev/null and b/dist/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png differ
diff --git a/dist/images/creatures/Goblin#Level 1 (Slayer challenge).png b/dist/images/creatures/Goblin#Level 1 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/dist/images/creatures/Goblin#Level 1 (Slayer challenge).png differ
diff --git a/dist/images/creatures/Goblin#Level 11 (Slayer challenge).png b/dist/images/creatures/Goblin#Level 11 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/dist/images/creatures/Goblin#Level 11 (Slayer challenge).png differ
diff --git a/dist/images/creatures/Goblin#Level 11.png b/dist/images/creatures/Goblin#Level 11.png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/dist/images/creatures/Goblin#Level 11.png differ
diff --git a/dist/images/creatures/Goblin#Level 2.png b/dist/images/creatures/Goblin#Level 2.png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/dist/images/creatures/Goblin#Level 2.png differ
diff --git a/dist/images/creatures/Goblin#Level 5 (Slayer challenge).png b/dist/images/creatures/Goblin#Level 5 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/dist/images/creatures/Goblin#Level 5 (Slayer challenge).png differ
diff --git a/dist/images/creatures/Goblin#Level 5.png b/dist/images/creatures/Goblin#Level 5.png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/dist/images/creatures/Goblin#Level 5.png differ
diff --git a/dist/images/creatures/Gorak#God Wars Dungeon.png b/dist/images/creatures/Gorak#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..68c3868
Binary files /dev/null and b/dist/images/creatures/Gorak#God Wars Dungeon.png differ
diff --git a/dist/images/creatures/Gorak#Gorak Plane.png b/dist/images/creatures/Gorak#Gorak Plane.png
new file mode 100644 (file)
index 0000000..68c3868
Binary files /dev/null and b/dist/images/creatures/Gorak#Gorak Plane.png differ
diff --git a/dist/images/creatures/Gorak#The World Wakes.png b/dist/images/creatures/Gorak#The World Wakes.png
new file mode 100644 (file)
index 0000000..68c3868
Binary files /dev/null and b/dist/images/creatures/Gorak#The World Wakes.png differ
diff --git a/dist/images/creatures/Gorilla akh#Default.png b/dist/images/creatures/Gorilla akh#Default.png
new file mode 100644 (file)
index 0000000..1d5efc1
Binary files /dev/null and b/dist/images/creatures/Gorilla akh#Default.png differ
diff --git a/dist/images/creatures/Grave scorpion#Default.png b/dist/images/creatures/Grave scorpion#Default.png
new file mode 100644 (file)
index 0000000..b4a25f9
Binary files /dev/null and b/dist/images/creatures/Grave scorpion#Default.png differ
diff --git a/dist/images/creatures/Graveside Phantom#Default.png b/dist/images/creatures/Graveside Phantom#Default.png
new file mode 100644 (file)
index 0000000..f6efc25
Binary files /dev/null and b/dist/images/creatures/Graveside Phantom#Default.png differ
diff --git a/dist/images/creatures/Greater demon (elite)#Default.png b/dist/images/creatures/Greater demon (elite)#Default.png
new file mode 100644 (file)
index 0000000..d0acd38
Binary files /dev/null and b/dist/images/creatures/Greater demon (elite)#Default.png differ
diff --git a/dist/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png b/dist/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png
new file mode 100644 (file)
index 0000000..d0acd38
Binary files /dev/null and b/dist/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png differ
diff --git a/dist/images/creatures/Greater demon ash lord#Wilderness.png b/dist/images/creatures/Greater demon ash lord#Wilderness.png
new file mode 100644 (file)
index 0000000..d0acd38
Binary files /dev/null and b/dist/images/creatures/Greater demon ash lord#Wilderness.png differ
diff --git a/dist/images/creatures/Greater demon berserker#The Zamorakian Undercity.png b/dist/images/creatures/Greater demon berserker#The Zamorakian Undercity.png
new file mode 100644 (file)
index 0000000..82c4105
Binary files /dev/null and b/dist/images/creatures/Greater demon berserker#The Zamorakian Undercity.png differ
diff --git a/dist/images/creatures/Greater demon berserker#Wilderness.png b/dist/images/creatures/Greater demon berserker#Wilderness.png
new file mode 100644 (file)
index 0000000..82c4105
Binary files /dev/null and b/dist/images/creatures/Greater demon berserker#Wilderness.png differ
diff --git a/dist/images/creatures/Greater demon brute#Default.png b/dist/images/creatures/Greater demon brute#Default.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/dist/images/creatures/Greater demon brute#Default.png differ
diff --git a/dist/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png b/dist/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png
new file mode 100644 (file)
index 0000000..469a9d3
Binary files /dev/null and b/dist/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png differ
diff --git a/dist/images/creatures/Greater demon pyromancer#Wilderness.png b/dist/images/creatures/Greater demon pyromancer#Wilderness.png
new file mode 100644 (file)
index 0000000..469a9d3
Binary files /dev/null and b/dist/images/creatures/Greater demon pyromancer#Wilderness.png differ
diff --git a/dist/images/creatures/Greater demon sage#Default.png b/dist/images/creatures/Greater demon sage#Default.png
new file mode 100644 (file)
index 0000000..6d29c16
Binary files /dev/null and b/dist/images/creatures/Greater demon sage#Default.png differ
diff --git a/dist/images/creatures/Greater demon savage#Default.png b/dist/images/creatures/Greater demon savage#Default.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/dist/images/creatures/Greater demon savage#Default.png differ
diff --git a/dist/images/creatures/Greater demon#1.png b/dist/images/creatures/Greater demon#1.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/dist/images/creatures/Greater demon#1.png differ
diff --git a/dist/images/creatures/Greater demon#2.png b/dist/images/creatures/Greater demon#2.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/dist/images/creatures/Greater demon#2.png differ
diff --git a/dist/images/creatures/Greater demon#3.png b/dist/images/creatures/Greater demon#3.png
new file mode 100644 (file)
index 0000000..82c4105
Binary files /dev/null and b/dist/images/creatures/Greater demon#3.png differ
diff --git a/dist/images/creatures/Greater demon#4.png b/dist/images/creatures/Greater demon#4.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/dist/images/creatures/Greater demon#4.png differ
diff --git a/dist/images/creatures/Greater demon#5.png b/dist/images/creatures/Greater demon#5.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/dist/images/creatures/Greater demon#5.png differ
diff --git a/dist/images/creatures/Green dragon#1.png b/dist/images/creatures/Green dragon#1.png
new file mode 100644 (file)
index 0000000..6427cdd
Binary files /dev/null and b/dist/images/creatures/Green dragon#1.png differ
diff --git a/dist/images/creatures/Green dragon#2.png b/dist/images/creatures/Green dragon#2.png
new file mode 100644 (file)
index 0000000..75da7d5
Binary files /dev/null and b/dist/images/creatures/Green dragon#2.png differ
diff --git a/dist/images/creatures/Green dragon#3.png b/dist/images/creatures/Green dragon#3.png
new file mode 100644 (file)
index 0000000..608b97a
Binary files /dev/null and b/dist/images/creatures/Green dragon#3.png differ
diff --git a/dist/images/creatures/Green dragon#4.png b/dist/images/creatures/Green dragon#4.png
new file mode 100644 (file)
index 0000000..f9d58d2
Binary files /dev/null and b/dist/images/creatures/Green dragon#4.png differ
diff --git a/dist/images/creatures/Green dragon#5.png b/dist/images/creatures/Green dragon#5.png
new file mode 100644 (file)
index 0000000..b069f74
Binary files /dev/null and b/dist/images/creatures/Green dragon#5.png differ
diff --git a/dist/images/creatures/Gregorovic#Challenge Mode.png b/dist/images/creatures/Gregorovic#Challenge Mode.png
new file mode 100644 (file)
index 0000000..0148046
Binary files /dev/null and b/dist/images/creatures/Gregorovic#Challenge Mode.png differ
diff --git a/dist/images/creatures/Gregorovic#Normal Mode.png b/dist/images/creatures/Gregorovic#Normal Mode.png
new file mode 100644 (file)
index 0000000..0148046
Binary files /dev/null and b/dist/images/creatures/Gregorovic#Normal Mode.png differ
diff --git a/dist/images/creatures/Gregorovic#Sliske's Endgame.png b/dist/images/creatures/Gregorovic#Sliske's Endgame.png
new file mode 100644 (file)
index 0000000..0148046
Binary files /dev/null and b/dist/images/creatures/Gregorovic#Sliske's Endgame.png differ
diff --git a/dist/images/creatures/Grifolapine#Neem oil.png b/dist/images/creatures/Grifolapine#Neem oil.png
new file mode 100644 (file)
index 0000000..41076a7
Binary files /dev/null and b/dist/images/creatures/Grifolapine#Neem oil.png differ
diff --git a/dist/images/creatures/Grifolapine#Normal.png b/dist/images/creatures/Grifolapine#Normal.png
new file mode 100644 (file)
index 0000000..b3b8e6e
Binary files /dev/null and b/dist/images/creatures/Grifolapine#Normal.png differ
diff --git a/dist/images/creatures/Grifolaroo#Neem oil.png b/dist/images/creatures/Grifolaroo#Neem oil.png
new file mode 100644 (file)
index 0000000..9c55e8a
Binary files /dev/null and b/dist/images/creatures/Grifolaroo#Neem oil.png differ
diff --git a/dist/images/creatures/Grifolaroo#Normal.png b/dist/images/creatures/Grifolaroo#Normal.png
new file mode 100644 (file)
index 0000000..159f5c5
Binary files /dev/null and b/dist/images/creatures/Grifolaroo#Normal.png differ
diff --git a/dist/images/creatures/Grizzly bear cub#Default.png b/dist/images/creatures/Grizzly bear cub#Default.png
new file mode 100644 (file)
index 0000000..1044909
Binary files /dev/null and b/dist/images/creatures/Grizzly bear cub#Default.png differ
diff --git a/dist/images/creatures/Grizzly bear#Standard.png b/dist/images/creatures/Grizzly bear#Standard.png
new file mode 100644 (file)
index 0000000..fc8b0f4
Binary files /dev/null and b/dist/images/creatures/Grizzly bear#Standard.png differ
diff --git a/dist/images/creatures/Grizzly bear#Tirannwn.png b/dist/images/creatures/Grizzly bear#Tirannwn.png
new file mode 100644 (file)
index 0000000..fc8b0f4
Binary files /dev/null and b/dist/images/creatures/Grizzly bear#Tirannwn.png differ
diff --git a/dist/images/creatures/Grotworm#Default.png b/dist/images/creatures/Grotworm#Default.png
new file mode 100644 (file)
index 0000000..b6bea35
Binary files /dev/null and b/dist/images/creatures/Grotworm#Default.png differ
diff --git a/dist/images/creatures/Guard (cave goblin)#Club.png b/dist/images/creatures/Guard (cave goblin)#Club.png
new file mode 100644 (file)
index 0000000..1bd53d4
Binary files /dev/null and b/dist/images/creatures/Guard (cave goblin)#Club.png differ
diff --git a/dist/images/creatures/Guard (cave goblin)#Spear.png b/dist/images/creatures/Guard (cave goblin)#Spear.png
new file mode 100644 (file)
index 0000000..d15831b
Binary files /dev/null and b/dist/images/creatures/Guard (cave goblin)#Spear.png differ
diff --git a/dist/images/creatures/Guard dog#Default.png b/dist/images/creatures/Guard dog#Default.png
new file mode 100644 (file)
index 0000000..fa5eb54
Binary files /dev/null and b/dist/images/creatures/Guard dog#Default.png differ
diff --git a/dist/images/creatures/Guthan the Infested#Normal.png b/dist/images/creatures/Guthan the Infested#Normal.png
new file mode 100644 (file)
index 0000000..99b8492
Binary files /dev/null and b/dist/images/creatures/Guthan the Infested#Normal.png differ
diff --git a/dist/images/creatures/Guthan the Infested#Rise of the Six.png b/dist/images/creatures/Guthan the Infested#Rise of the Six.png
new file mode 100644 (file)
index 0000000..aa8e456
Binary files /dev/null and b/dist/images/creatures/Guthan the Infested#Rise of the Six.png differ
diff --git a/dist/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png b/dist/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..99b8492
Binary files /dev/null and b/dist/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png differ
diff --git a/dist/images/creatures/Har-Aken#Head.png b/dist/images/creatures/Har-Aken#Head.png
new file mode 100644 (file)
index 0000000..2519191
Binary files /dev/null and b/dist/images/creatures/Har-Aken#Head.png differ
diff --git a/dist/images/creatures/Har-Aken#Magic Tentacle.png b/dist/images/creatures/Har-Aken#Magic Tentacle.png
new file mode 100644 (file)
index 0000000..a60d5dd
Binary files /dev/null and b/dist/images/creatures/Har-Aken#Magic Tentacle.png differ
diff --git a/dist/images/creatures/Har-Aken#Ranged Tentacle.png b/dist/images/creatures/Har-Aken#Ranged Tentacle.png
new file mode 100644 (file)
index 0000000..4dbdb04
Binary files /dev/null and b/dist/images/creatures/Har-Aken#Ranged Tentacle.png differ
diff --git a/dist/images/creatures/Harpie Bug Swarm (elite)#Default.png b/dist/images/creatures/Harpie Bug Swarm (elite)#Default.png
new file mode 100644 (file)
index 0000000..676de93
Binary files /dev/null and b/dist/images/creatures/Harpie Bug Swarm (elite)#Default.png differ
diff --git a/dist/images/creatures/Harpie Bug Swarm#Default.png b/dist/images/creatures/Harpie Bug Swarm#Default.png
new file mode 100644 (file)
index 0000000..676de93
Binary files /dev/null and b/dist/images/creatures/Harpie Bug Swarm#Default.png differ
diff --git a/dist/images/creatures/Hellhound (Heart of Gielinor)#Default.png b/dist/images/creatures/Hellhound (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound (Heart of Gielinor)#Default.png differ
diff --git a/dist/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png b/dist/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png differ
diff --git a/dist/images/creatures/Hellhound (summoned)#Default.png b/dist/images/creatures/Hellhound (summoned)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound (summoned)#Default.png differ
diff --git a/dist/images/creatures/Hellhound Alpha#Default.png b/dist/images/creatures/Hellhound Alpha#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound Alpha#Default.png differ
diff --git a/dist/images/creatures/Hellhound Hunter (summoned)#Default.png b/dist/images/creatures/Hellhound Hunter (summoned)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound Hunter (summoned)#Default.png differ
diff --git a/dist/images/creatures/Hellhound Hunter#Default.png b/dist/images/creatures/Hellhound Hunter#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound Hunter#Default.png differ
diff --git a/dist/images/creatures/Hellhound#God Wars Dungeon.png b/dist/images/creatures/Hellhound#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound#God Wars Dungeon.png differ
diff --git a/dist/images/creatures/Hellhound#Level 105.png b/dist/images/creatures/Hellhound#Level 105.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound#Level 105.png differ
diff --git a/dist/images/creatures/Hellhound#Normal.png b/dist/images/creatures/Hellhound#Normal.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/dist/images/creatures/Hellhound#Normal.png differ
diff --git a/dist/images/creatures/Helwyr#Challenge Mode.png b/dist/images/creatures/Helwyr#Challenge Mode.png
new file mode 100644 (file)
index 0000000..1cd8db5
Binary files /dev/null and b/dist/images/creatures/Helwyr#Challenge Mode.png differ
diff --git a/dist/images/creatures/Helwyr#Normal Mode.png b/dist/images/creatures/Helwyr#Normal Mode.png
new file mode 100644 (file)
index 0000000..1cd8db5
Binary files /dev/null and b/dist/images/creatures/Helwyr#Normal Mode.png differ
diff --git a/dist/images/creatures/Hermod, the Spirit of War#Normal.png b/dist/images/creatures/Hermod, the Spirit of War#Normal.png
new file mode 100644 (file)
index 0000000..6201526
Binary files /dev/null and b/dist/images/creatures/Hermod, the Spirit of War#Normal.png differ
diff --git a/dist/images/creatures/Hermod, the Spirit of War#Quest.png b/dist/images/creatures/Hermod, the Spirit of War#Quest.png
new file mode 100644 (file)
index 0000000..6201526
Binary files /dev/null and b/dist/images/creatures/Hermod, the Spirit of War#Quest.png differ
diff --git a/dist/images/creatures/Hill Giant#Default.png b/dist/images/creatures/Hill Giant#Default.png
new file mode 100644 (file)
index 0000000..41b2a75
Binary files /dev/null and b/dist/images/creatures/Hill Giant#Default.png differ
diff --git a/dist/images/creatures/Hobgoblin (elite)#Default.png b/dist/images/creatures/Hobgoblin (elite)#Default.png
new file mode 100644 (file)
index 0000000..b53745a
Binary files /dev/null and b/dist/images/creatures/Hobgoblin (elite)#Default.png differ
diff --git a/dist/images/creatures/Hobgoblin#Level 15.png b/dist/images/creatures/Hobgoblin#Level 15.png
new file mode 100644 (file)
index 0000000..ddd7edc
Binary files /dev/null and b/dist/images/creatures/Hobgoblin#Level 15.png differ
diff --git a/dist/images/creatures/Hobgoblin#Level 18.png b/dist/images/creatures/Hobgoblin#Level 18.png
new file mode 100644 (file)
index 0000000..ed99c04
Binary files /dev/null and b/dist/images/creatures/Hobgoblin#Level 18.png differ
diff --git a/dist/images/creatures/Hobgoblin#Level 91 (GWD).png b/dist/images/creatures/Hobgoblin#Level 91 (GWD).png
new file mode 100644 (file)
index 0000000..ae43bae
Binary files /dev/null and b/dist/images/creatures/Hobgoblin#Level 91 (GWD).png differ
diff --git a/dist/images/creatures/Huge skeleton#Normal mode.png b/dist/images/creatures/Huge skeleton#Normal mode.png
new file mode 100644 (file)
index 0000000..606c775
Binary files /dev/null and b/dist/images/creatures/Huge skeleton#Normal mode.png differ
diff --git a/dist/images/creatures/Huge skeleton#Story mode.png b/dist/images/creatures/Huge skeleton#Story mode.png
new file mode 100644 (file)
index 0000000..9434269
Binary files /dev/null and b/dist/images/creatures/Huge skeleton#Story mode.png differ
diff --git a/dist/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..a0ace31
Binary files /dev/null and b/dist/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Hydrix dragon#Default.png b/dist/images/creatures/Hydrix dragon#Default.png
new file mode 100644 (file)
index 0000000..af7dd97
Binary files /dev/null and b/dist/images/creatures/Hydrix dragon#Default.png differ
diff --git a/dist/images/creatures/Ice giant#Level 47 (1).png b/dist/images/creatures/Ice giant#Level 47 (1).png
new file mode 100644 (file)
index 0000000..d719e9c
Binary files /dev/null and b/dist/images/creatures/Ice giant#Level 47 (1).png differ
diff --git a/dist/images/creatures/Ice giant#Level 47 (2).png b/dist/images/creatures/Ice giant#Level 47 (2).png
new file mode 100644 (file)
index 0000000..8f7e437
Binary files /dev/null and b/dist/images/creatures/Ice giant#Level 47 (2).png differ
diff --git a/dist/images/creatures/Ice nihil#boss.png b/dist/images/creatures/Ice nihil#boss.png
new file mode 100644 (file)
index 0000000..ce13061
Binary files /dev/null and b/dist/images/creatures/Ice nihil#boss.png differ
diff --git a/dist/images/creatures/Ice nihil#normal.png b/dist/images/creatures/Ice nihil#normal.png
new file mode 100644 (file)
index 0000000..ce13061
Binary files /dev/null and b/dist/images/creatures/Ice nihil#normal.png differ
diff --git a/dist/images/creatures/Ice spider#Default.png b/dist/images/creatures/Ice spider#Default.png
new file mode 100644 (file)
index 0000000..33d0cae
Binary files /dev/null and b/dist/images/creatures/Ice spider#Default.png differ
diff --git a/dist/images/creatures/Ice strykewyrm#Default.png b/dist/images/creatures/Ice strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..8c920cf
Binary files /dev/null and b/dist/images/creatures/Ice strykewyrm#Default.png differ
diff --git a/dist/images/creatures/Ice troll female#Default.png b/dist/images/creatures/Ice troll female#Default.png
new file mode 100644 (file)
index 0000000..e169765
Binary files /dev/null and b/dist/images/creatures/Ice troll female#Default.png differ
diff --git a/dist/images/creatures/Ice troll grunt#Default.png b/dist/images/creatures/Ice troll grunt#Default.png
new file mode 100644 (file)
index 0000000..369d4a3
Binary files /dev/null and b/dist/images/creatures/Ice troll grunt#Default.png differ
diff --git a/dist/images/creatures/Ice troll male#Default.png b/dist/images/creatures/Ice troll male#Default.png
new file mode 100644 (file)
index 0000000..2e76436
Binary files /dev/null and b/dist/images/creatures/Ice troll male#Default.png differ
diff --git a/dist/images/creatures/Ice troll runt#Default.png b/dist/images/creatures/Ice troll runt#Default.png
new file mode 100644 (file)
index 0000000..9050799
Binary files /dev/null and b/dist/images/creatures/Ice troll runt#Default.png differ
diff --git a/dist/images/creatures/Ice troll#Desert Treasure.png b/dist/images/creatures/Ice troll#Desert Treasure.png
new file mode 100644 (file)
index 0000000..26abd33
Binary files /dev/null and b/dist/images/creatures/Ice troll#Desert Treasure.png differ
diff --git a/dist/images/creatures/Ice troll#Troll Romance.png b/dist/images/creatures/Ice troll#Troll Romance.png
new file mode 100644 (file)
index 0000000..26abd33
Binary files /dev/null and b/dist/images/creatures/Ice troll#Troll Romance.png differ
diff --git a/dist/images/creatures/Ice warrior#Ice Queen's Lair.png b/dist/images/creatures/Ice warrior#Ice Queen's Lair.png
new file mode 100644 (file)
index 0000000..25439ea
Binary files /dev/null and b/dist/images/creatures/Ice warrior#Ice Queen's Lair.png differ
diff --git a/dist/images/creatures/Ice warrior#Normal.png b/dist/images/creatures/Ice warrior#Normal.png
new file mode 100644 (file)
index 0000000..b550030
Binary files /dev/null and b/dist/images/creatures/Ice warrior#Normal.png differ
diff --git a/dist/images/creatures/Ice wolf#58.png b/dist/images/creatures/Ice wolf#58.png
new file mode 100644 (file)
index 0000000..522c837
Binary files /dev/null and b/dist/images/creatures/Ice wolf#58.png differ
diff --git a/dist/images/creatures/Ice wolf#72.png b/dist/images/creatures/Ice wolf#72.png
new file mode 100644 (file)
index 0000000..522c837
Binary files /dev/null and b/dist/images/creatures/Ice wolf#72.png differ
diff --git a/dist/images/creatures/Icefiend (Ghorrock)#Default.png b/dist/images/creatures/Icefiend (Ghorrock)#Default.png
new file mode 100644 (file)
index 0000000..5846323
Binary files /dev/null and b/dist/images/creatures/Icefiend (Ghorrock)#Default.png differ
diff --git a/dist/images/creatures/Icefiend#God Wars Dungeon.png b/dist/images/creatures/Icefiend#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..c391624
Binary files /dev/null and b/dist/images/creatures/Icefiend#God Wars Dungeon.png differ
diff --git a/dist/images/creatures/Icefiend#Ice Mountain (melting).png b/dist/images/creatures/Icefiend#Ice Mountain (melting).png
new file mode 100644 (file)
index 0000000..c391624
Binary files /dev/null and b/dist/images/creatures/Icefiend#Ice Mountain (melting).png differ
diff --git a/dist/images/creatures/Icefiend#Ice Mountain.png b/dist/images/creatures/Icefiend#Ice Mountain.png
new file mode 100644 (file)
index 0000000..c391624
Binary files /dev/null and b/dist/images/creatures/Icefiend#Ice Mountain.png differ
diff --git a/dist/images/creatures/Icelord#melee.png b/dist/images/creatures/Icelord#melee.png
new file mode 100644 (file)
index 0000000..c6d6479
Binary files /dev/null and b/dist/images/creatures/Icelord#melee.png differ
diff --git a/dist/images/creatures/Icelord#ranged.png b/dist/images/creatures/Icelord#ranged.png
new file mode 100644 (file)
index 0000000..c6d6479
Binary files /dev/null and b/dist/images/creatures/Icelord#ranged.png differ
diff --git a/dist/images/creatures/Imp scavenger#Default.png b/dist/images/creatures/Imp scavenger#Default.png
new file mode 100644 (file)
index 0000000..54d8879
Binary files /dev/null and b/dist/images/creatures/Imp scavenger#Default.png differ
diff --git a/dist/images/creatures/Imp#God Wars Dungeon.png b/dist/images/creatures/Imp#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..a967130
Binary files /dev/null and b/dist/images/creatures/Imp#God Wars Dungeon.png differ
diff --git a/dist/images/creatures/Imp#Normal.png b/dist/images/creatures/Imp#Normal.png
new file mode 100644 (file)
index 0000000..a967130
Binary files /dev/null and b/dist/images/creatures/Imp#Normal.png differ
diff --git a/dist/images/creatures/Imperial mage akh#Default.png b/dist/images/creatures/Imperial mage akh#Default.png
new file mode 100644 (file)
index 0000000..f9e3119
Binary files /dev/null and b/dist/images/creatures/Imperial mage akh#Default.png differ
diff --git a/dist/images/creatures/Imperial ranger akh#Default.png b/dist/images/creatures/Imperial ranger akh#Default.png
new file mode 100644 (file)
index 0000000..010d202
Binary files /dev/null and b/dist/images/creatures/Imperial ranger akh#Default.png differ
diff --git a/dist/images/creatures/Imperial warrior akh#Default.png b/dist/images/creatures/Imperial warrior akh#Default.png
new file mode 100644 (file)
index 0000000..faa81f6
Binary files /dev/null and b/dist/images/creatures/Imperial warrior akh#Default.png differ
diff --git a/dist/images/creatures/Infernal Mage (elite)#Default.png b/dist/images/creatures/Infernal Mage (elite)#Default.png
new file mode 100644 (file)
index 0000000..c9fe205
Binary files /dev/null and b/dist/images/creatures/Infernal Mage (elite)#Default.png differ
diff --git a/dist/images/creatures/Infernal Mage#Default.png b/dist/images/creatures/Infernal Mage#Default.png
new file mode 100644 (file)
index 0000000..c9fe205
Binary files /dev/null and b/dist/images/creatures/Infernal Mage#Default.png differ
diff --git a/dist/images/creatures/Iorwerth guard#Default.png b/dist/images/creatures/Iorwerth guard#Default.png
new file mode 100644 (file)
index 0000000..75f6659
Binary files /dev/null and b/dist/images/creatures/Iorwerth guard#Default.png differ
diff --git a/dist/images/creatures/Iorwerth scout#Default.png b/dist/images/creatures/Iorwerth scout#Default.png
new file mode 100644 (file)
index 0000000..27113b1
Binary files /dev/null and b/dist/images/creatures/Iorwerth scout#Default.png differ
diff --git a/dist/images/creatures/Iron dragon#Default.png b/dist/images/creatures/Iron dragon#Default.png
new file mode 100644 (file)
index 0000000..c206d0c
Binary files /dev/null and b/dist/images/creatures/Iron dragon#Default.png differ
diff --git a/dist/images/creatures/Jackal#Default.png b/dist/images/creatures/Jackal#Default.png
new file mode 100644 (file)
index 0000000..dc72d7a
Binary files /dev/null and b/dist/images/creatures/Jackal#Default.png differ
diff --git a/dist/images/creatures/Jelly#Default.png b/dist/images/creatures/Jelly#Default.png
new file mode 100644 (file)
index 0000000..9be0e6d
Binary files /dev/null and b/dist/images/creatures/Jelly#Default.png differ
diff --git a/dist/images/creatures/Jubbly bird#Default.png b/dist/images/creatures/Jubbly bird#Default.png
new file mode 100644 (file)
index 0000000..ee6817d
Binary files /dev/null and b/dist/images/creatures/Jubbly bird#Default.png differ
diff --git a/dist/images/creatures/Jungle Wolf#Default.png b/dist/images/creatures/Jungle Wolf#Default.png
new file mode 100644 (file)
index 0000000..7385e90
Binary files /dev/null and b/dist/images/creatures/Jungle Wolf#Default.png differ
diff --git a/dist/images/creatures/Jungle horror#Default.png b/dist/images/creatures/Jungle horror#Default.png
new file mode 100644 (file)
index 0000000..8186649
Binary files /dev/null and b/dist/images/creatures/Jungle horror#Default.png differ
diff --git a/dist/images/creatures/Jungle spider#Ape Atoll.png b/dist/images/creatures/Jungle spider#Ape Atoll.png
new file mode 100644 (file)
index 0000000..6399bfe
Binary files /dev/null and b/dist/images/creatures/Jungle spider#Ape Atoll.png differ
diff --git a/dist/images/creatures/Jungle spider#Common.png b/dist/images/creatures/Jungle spider#Common.png
new file mode 100644 (file)
index 0000000..c06eaca
Binary files /dev/null and b/dist/images/creatures/Jungle spider#Common.png differ
diff --git a/dist/images/creatures/Jungle spider#Jade Vine (level 42).png b/dist/images/creatures/Jungle spider#Jade Vine (level 42).png
new file mode 100644 (file)
index 0000000..e857446
Binary files /dev/null and b/dist/images/creatures/Jungle spider#Jade Vine (level 42).png differ
diff --git a/dist/images/creatures/Jungle spider#Jade Vine (level 49).png b/dist/images/creatures/Jungle spider#Jade Vine (level 49).png
new file mode 100644 (file)
index 0000000..e857446
Binary files /dev/null and b/dist/images/creatures/Jungle spider#Jade Vine (level 49).png differ
diff --git a/dist/images/creatures/Jungle spider#Musa Point.png b/dist/images/creatures/Jungle spider#Musa Point.png
new file mode 100644 (file)
index 0000000..c06eaca
Binary files /dev/null and b/dist/images/creatures/Jungle spider#Musa Point.png differ
diff --git a/dist/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png b/dist/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png
new file mode 100644 (file)
index 0000000..c06eaca
Binary files /dev/null and b/dist/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png differ
diff --git a/dist/images/creatures/Jungle strykewyrm#Default.png b/dist/images/creatures/Jungle strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..b8b299b
Binary files /dev/null and b/dist/images/creatures/Jungle strykewyrm#Default.png differ
diff --git a/dist/images/creatures/K'ril Tsutsaroth#Hard mode.png b/dist/images/creatures/K'ril Tsutsaroth#Hard mode.png
new file mode 100644 (file)
index 0000000..e0c330d
Binary files /dev/null and b/dist/images/creatures/K'ril Tsutsaroth#Hard mode.png differ
diff --git a/dist/images/creatures/K'ril Tsutsaroth#Normal.png b/dist/images/creatures/K'ril Tsutsaroth#Normal.png
new file mode 100644 (file)
index 0000000..e0c330d
Binary files /dev/null and b/dist/images/creatures/K'ril Tsutsaroth#Normal.png differ
diff --git a/dist/images/creatures/K'ril Tsutsaroth#The World Wakes.png b/dist/images/creatures/K'ril Tsutsaroth#The World Wakes.png
new file mode 100644 (file)
index 0000000..ec13f22
Binary files /dev/null and b/dist/images/creatures/K'ril Tsutsaroth#The World Wakes.png differ
diff --git a/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png
new file mode 100644 (file)
index 0000000..969f06b
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png differ
diff --git a/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png
new file mode 100644 (file)
index 0000000..4d805f9
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png differ
diff --git a/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png
new file mode 100644 (file)
index 0000000..51817b4
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png differ
diff --git a/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png
new file mode 100644 (file)
index 0000000..8b0456a
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png differ
diff --git a/dist/images/creatures/Kal'gerion demon#Bloodchiller.png b/dist/images/creatures/Kal'gerion demon#Bloodchiller.png
new file mode 100644 (file)
index 0000000..969f06b
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon#Bloodchiller.png differ
diff --git a/dist/images/creatures/Kal'gerion demon#Pummeller.png b/dist/images/creatures/Kal'gerion demon#Pummeller.png
new file mode 100644 (file)
index 0000000..4d805f9
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon#Pummeller.png differ
diff --git a/dist/images/creatures/Kal'gerion demon#Riftsplitter.png b/dist/images/creatures/Kal'gerion demon#Riftsplitter.png
new file mode 100644 (file)
index 0000000..51817b4
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon#Riftsplitter.png differ
diff --git a/dist/images/creatures/Kal'gerion demon#Rush of Blood.png b/dist/images/creatures/Kal'gerion demon#Rush of Blood.png
new file mode 100644 (file)
index 0000000..969f06b
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon#Rush of Blood.png differ
diff --git a/dist/images/creatures/Kal'gerion demon#Thunderous.png b/dist/images/creatures/Kal'gerion demon#Thunderous.png
new file mode 100644 (file)
index 0000000..bb63a7a
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon#Thunderous.png differ
diff --git a/dist/images/creatures/Kal'gerion demon#Warmonger.png b/dist/images/creatures/Kal'gerion demon#Warmonger.png
new file mode 100644 (file)
index 0000000..8b0456a
Binary files /dev/null and b/dist/images/creatures/Kal'gerion demon#Warmonger.png differ
diff --git a/dist/images/creatures/Kalphite Guardian#Default.png b/dist/images/creatures/Kalphite Guardian#Default.png
new file mode 100644 (file)
index 0000000..5a2aaaf
Binary files /dev/null and b/dist/images/creatures/Kalphite Guardian#Default.png differ
diff --git a/dist/images/creatures/Kalphite King#Magic.png b/dist/images/creatures/Kalphite King#Magic.png
new file mode 100644 (file)
index 0000000..958b226
Binary files /dev/null and b/dist/images/creatures/Kalphite King#Magic.png differ
diff --git a/dist/images/creatures/Kalphite King#Melee.png b/dist/images/creatures/Kalphite King#Melee.png
new file mode 100644 (file)
index 0000000..af6b812
Binary files /dev/null and b/dist/images/creatures/Kalphite King#Melee.png differ
diff --git a/dist/images/creatures/Kalphite King#Ranged.png b/dist/images/creatures/Kalphite King#Ranged.png
new file mode 100644 (file)
index 0000000..59bbfd2
Binary files /dev/null and b/dist/images/creatures/Kalphite King#Ranged.png differ
diff --git a/dist/images/creatures/Kalphite Queen#First form.png b/dist/images/creatures/Kalphite Queen#First form.png
new file mode 100644 (file)
index 0000000..fb6ea32
Binary files /dev/null and b/dist/images/creatures/Kalphite Queen#First form.png differ
diff --git a/dist/images/creatures/Kalphite Queen#Second form.png b/dist/images/creatures/Kalphite Queen#Second form.png
new file mode 100644 (file)
index 0000000..98c9a68
Binary files /dev/null and b/dist/images/creatures/Kalphite Queen#Second form.png differ
diff --git a/dist/images/creatures/Kalphite Soldier#Default.png b/dist/images/creatures/Kalphite Soldier#Default.png
new file mode 100644 (file)
index 0000000..b7e3642
Binary files /dev/null and b/dist/images/creatures/Kalphite Soldier#Default.png differ
diff --git a/dist/images/creatures/Kalphite Worker#Default.png b/dist/images/creatures/Kalphite Worker#Default.png
new file mode 100644 (file)
index 0000000..57a24ee
Binary files /dev/null and b/dist/images/creatures/Kalphite Worker#Default.png differ
diff --git a/dist/images/creatures/Karil the Tainted#Normal.png b/dist/images/creatures/Karil the Tainted#Normal.png
new file mode 100644 (file)
index 0000000..93af2f8
Binary files /dev/null and b/dist/images/creatures/Karil the Tainted#Normal.png differ
diff --git a/dist/images/creatures/Karil the Tainted#Rise of the Six.png b/dist/images/creatures/Karil the Tainted#Rise of the Six.png
new file mode 100644 (file)
index 0000000..747fd49
Binary files /dev/null and b/dist/images/creatures/Karil the Tainted#Rise of the Six.png differ
diff --git a/dist/images/creatures/Kerapac, the bound#Hard mode.png b/dist/images/creatures/Kerapac, the bound#Hard mode.png
new file mode 100644 (file)
index 0000000..036dfc0
Binary files /dev/null and b/dist/images/creatures/Kerapac, the bound#Hard mode.png differ
diff --git a/dist/images/creatures/Kerapac, the bound#Normal mode.png b/dist/images/creatures/Kerapac, the bound#Normal mode.png
new file mode 100644 (file)
index 0000000..036dfc0
Binary files /dev/null and b/dist/images/creatures/Kerapac, the bound#Normal mode.png differ
diff --git a/dist/images/creatures/Killerwatt#Default.png b/dist/images/creatures/Killerwatt#Default.png
new file mode 100644 (file)
index 0000000..7180917
Binary files /dev/null and b/dist/images/creatures/Killerwatt#Default.png differ
diff --git a/dist/images/creatures/King Black Dragon#Default.png b/dist/images/creatures/King Black Dragon#Default.png
new file mode 100644 (file)
index 0000000..0a34263
Binary files /dev/null and b/dist/images/creatures/King Black Dragon#Default.png differ
diff --git a/dist/images/creatures/King Scorpion#Default.png b/dist/images/creatures/King Scorpion#Default.png
new file mode 100644 (file)
index 0000000..a54be5a
Binary files /dev/null and b/dist/images/creatures/King Scorpion#Default.png differ
diff --git a/dist/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png b/dist/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png
new file mode 100644 (file)
index 0000000..c7bcdf1
Binary files /dev/null and b/dist/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png differ
diff --git a/dist/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png b/dist/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png
new file mode 100644 (file)
index 0000000..c7bcdf1
Binary files /dev/null and b/dist/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png differ
diff --git a/dist/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png b/dist/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/dist/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png differ
diff --git a/dist/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png b/dist/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/dist/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png differ
diff --git a/dist/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png b/dist/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/dist/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png differ
diff --git a/dist/images/creatures/Kraka#Default.png b/dist/images/creatures/Kraka#Default.png
new file mode 100644 (file)
index 0000000..1918672
Binary files /dev/null and b/dist/images/creatures/Kraka#Default.png differ
diff --git a/dist/images/creatures/Kree'arra#Hard Mode.png b/dist/images/creatures/Kree'arra#Hard Mode.png
new file mode 100644 (file)
index 0000000..1f73292
Binary files /dev/null and b/dist/images/creatures/Kree'arra#Hard Mode.png differ
diff --git a/dist/images/creatures/Kree'arra#Normal.png b/dist/images/creatures/Kree'arra#Normal.png
new file mode 100644 (file)
index 0000000..1f73292
Binary files /dev/null and b/dist/images/creatures/Kree'arra#Normal.png differ
diff --git a/dist/images/creatures/Kree'arra#The World Wakes.png b/dist/images/creatures/Kree'arra#The World Wakes.png
new file mode 100644 (file)
index 0000000..1f73292
Binary files /dev/null and b/dist/images/creatures/Kree'arra#The World Wakes.png differ
diff --git a/dist/images/creatures/Kurask#Examine #1.png b/dist/images/creatures/Kurask#Examine #1.png
new file mode 100644 (file)
index 0000000..47a0770
Binary files /dev/null and b/dist/images/creatures/Kurask#Examine #1.png differ
diff --git a/dist/images/creatures/Kurask#Examine #2.png b/dist/images/creatures/Kurask#Examine #2.png
new file mode 100644 (file)
index 0000000..47a0770
Binary files /dev/null and b/dist/images/creatures/Kurask#Examine #2.png differ
diff --git a/dist/images/creatures/La'Kalor the Unbroken#Default.png b/dist/images/creatures/La'Kalor the Unbroken#Default.png
new file mode 100644 (file)
index 0000000..6532237
Binary files /dev/null and b/dist/images/creatures/La'Kalor the Unbroken#Default.png differ
diff --git a/dist/images/creatures/Laboratory slime#Adult (normal mode).png b/dist/images/creatures/Laboratory slime#Adult (normal mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/dist/images/creatures/Laboratory slime#Adult (normal mode).png differ
diff --git a/dist/images/creatures/Laboratory slime#Adult (story mode).png b/dist/images/creatures/Laboratory slime#Adult (story mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/dist/images/creatures/Laboratory slime#Adult (story mode).png differ
diff --git a/dist/images/creatures/Laboratory slime#Spawnling (normal mode).png b/dist/images/creatures/Laboratory slime#Spawnling (normal mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/dist/images/creatures/Laboratory slime#Spawnling (normal mode).png differ
diff --git a/dist/images/creatures/Laboratory slime#Spawnling (story mode).png b/dist/images/creatures/Laboratory slime#Spawnling (story mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/dist/images/creatures/Laboratory slime#Spawnling (story mode).png differ
diff --git a/dist/images/creatures/Lampenflora#Default.png b/dist/images/creatures/Lampenflora#Default.png
new file mode 100644 (file)
index 0000000..03e5df5
Binary files /dev/null and b/dist/images/creatures/Lampenflora#Default.png differ
diff --git a/dist/images/creatures/Lava spider#Normal mode.png b/dist/images/creatures/Lava spider#Normal mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/dist/images/creatures/Lava spider#Normal mode.png differ
diff --git a/dist/images/creatures/Lava spider#Story mode.png b/dist/images/creatures/Lava spider#Story mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/dist/images/creatures/Lava spider#Story mode.png differ
diff --git a/dist/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..fabdb27
Binary files /dev/null and b/dist/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Lava strykewyrm#Default.png b/dist/images/creatures/Lava strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..fabdb27
Binary files /dev/null and b/dist/images/creatures/Lava strykewyrm#Default.png differ
diff --git a/dist/images/creatures/Legio Primus#Default.png b/dist/images/creatures/Legio Primus#Default.png
new file mode 100644 (file)
index 0000000..8207ebc
Binary files /dev/null and b/dist/images/creatures/Legio Primus#Default.png differ
diff --git a/dist/images/creatures/Legio Quartus#Default.png b/dist/images/creatures/Legio Quartus#Default.png
new file mode 100644 (file)
index 0000000..2a07560
Binary files /dev/null and b/dist/images/creatures/Legio Quartus#Default.png differ
diff --git a/dist/images/creatures/Legio Quintus#Default.png b/dist/images/creatures/Legio Quintus#Default.png
new file mode 100644 (file)
index 0000000..8182e59
Binary files /dev/null and b/dist/images/creatures/Legio Quintus#Default.png differ
diff --git a/dist/images/creatures/Legio Secundus#Default.png b/dist/images/creatures/Legio Secundus#Default.png
new file mode 100644 (file)
index 0000000..afb0612
Binary files /dev/null and b/dist/images/creatures/Legio Secundus#Default.png differ
diff --git a/dist/images/creatures/Legio Sextus#Default.png b/dist/images/creatures/Legio Sextus#Default.png
new file mode 100644 (file)
index 0000000..320a009
Binary files /dev/null and b/dist/images/creatures/Legio Sextus#Default.png differ
diff --git a/dist/images/creatures/Legio Tertius#Default.png b/dist/images/creatures/Legio Tertius#Default.png
new file mode 100644 (file)
index 0000000..f3d970a
Binary files /dev/null and b/dist/images/creatures/Legio Tertius#Default.png differ
diff --git a/dist/images/creatures/Lesser demon (Wizards' Tower)#Default.png b/dist/images/creatures/Lesser demon (Wizards' Tower)#Default.png
new file mode 100644 (file)
index 0000000..66c80fd
Binary files /dev/null and b/dist/images/creatures/Lesser demon (Wizards' Tower)#Default.png differ
diff --git a/dist/images/creatures/Lesser demon#1.png b/dist/images/creatures/Lesser demon#1.png
new file mode 100644 (file)
index 0000000..ef4f9ec
Binary files /dev/null and b/dist/images/creatures/Lesser demon#1.png differ
diff --git a/dist/images/creatures/Lesser demon#2.png b/dist/images/creatures/Lesser demon#2.png
new file mode 100644 (file)
index 0000000..bfbbc45
Binary files /dev/null and b/dist/images/creatures/Lesser demon#2.png differ
diff --git a/dist/images/creatures/Lesser demon#3.png b/dist/images/creatures/Lesser demon#3.png
new file mode 100644 (file)
index 0000000..a3bc5bf
Binary files /dev/null and b/dist/images/creatures/Lesser demon#3.png differ
diff --git a/dist/images/creatures/Lesser demon#4.png b/dist/images/creatures/Lesser demon#4.png
new file mode 100644 (file)
index 0000000..e8cdb85
Binary files /dev/null and b/dist/images/creatures/Lesser demon#4.png differ
diff --git a/dist/images/creatures/Lesser demon#5.png b/dist/images/creatures/Lesser demon#5.png
new file mode 100644 (file)
index 0000000..b164149
Binary files /dev/null and b/dist/images/creatures/Lesser demon#5.png differ
diff --git a/dist/images/creatures/Linza the Disgraced#Barrows.png b/dist/images/creatures/Linza the Disgraced#Barrows.png
new file mode 100644 (file)
index 0000000..b46a5a8
Binary files /dev/null and b/dist/images/creatures/Linza the Disgraced#Barrows.png differ
diff --git a/dist/images/creatures/Linza the Disgraced#Sliske's Endgame.png b/dist/images/creatures/Linza the Disgraced#Sliske's Endgame.png
new file mode 100644 (file)
index 0000000..b46a5a8
Binary files /dev/null and b/dist/images/creatures/Linza the Disgraced#Sliske's Endgame.png differ
diff --git a/dist/images/creatures/Liverworts#Default.png b/dist/images/creatures/Liverworts#Default.png
new file mode 100644 (file)
index 0000000..1f1ed8b
Binary files /dev/null and b/dist/images/creatures/Liverworts#Default.png differ
diff --git a/dist/images/creatures/Living rock patriarch#Default.png b/dist/images/creatures/Living rock patriarch#Default.png
new file mode 100644 (file)
index 0000000..53a3773
Binary files /dev/null and b/dist/images/creatures/Living rock patriarch#Default.png differ
diff --git a/dist/images/creatures/Living rock protector#Default.png b/dist/images/creatures/Living rock protector#Default.png
new file mode 100644 (file)
index 0000000..670832a
Binary files /dev/null and b/dist/images/creatures/Living rock protector#Default.png differ
diff --git a/dist/images/creatures/Living rock striker#Default.png b/dist/images/creatures/Living rock striker#Default.png
new file mode 100644 (file)
index 0000000..5a64dd9
Binary files /dev/null and b/dist/images/creatures/Living rock striker#Default.png differ
diff --git a/dist/images/creatures/Lizard#Default.png b/dist/images/creatures/Lizard#Default.png
new file mode 100644 (file)
index 0000000..1f60855
Binary files /dev/null and b/dist/images/creatures/Lizard#Default.png differ
diff --git a/dist/images/creatures/Locust lancer#Default.png b/dist/images/creatures/Locust lancer#Default.png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/dist/images/creatures/Locust lancer#Default.png differ
diff --git a/dist/images/creatures/Locust ranger#Default.png b/dist/images/creatures/Locust ranger#Default.png
new file mode 100644 (file)
index 0000000..865dc23
Binary files /dev/null and b/dist/images/creatures/Locust ranger#Default.png differ
diff --git a/dist/images/creatures/Locust rider#Melee (1).png b/dist/images/creatures/Locust rider#Melee (1).png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/dist/images/creatures/Locust rider#Melee (1).png differ
diff --git a/dist/images/creatures/Locust rider#Melee (2).png b/dist/images/creatures/Locust rider#Melee (2).png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/dist/images/creatures/Locust rider#Melee (2).png differ
diff --git a/dist/images/creatures/Locust rider#Melee (3).png b/dist/images/creatures/Locust rider#Melee (3).png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/dist/images/creatures/Locust rider#Melee (3).png differ
diff --git a/dist/images/creatures/Locust rider#Range (1).png b/dist/images/creatures/Locust rider#Range (1).png
new file mode 100644 (file)
index 0000000..f69ab10
Binary files /dev/null and b/dist/images/creatures/Locust rider#Range (1).png differ
diff --git a/dist/images/creatures/Locust rider#Range (2).png b/dist/images/creatures/Locust rider#Range (2).png
new file mode 100644 (file)
index 0000000..f69ab10
Binary files /dev/null and b/dist/images/creatures/Locust rider#Range (2).png differ
diff --git a/dist/images/creatures/Locust rider#Range (3).png b/dist/images/creatures/Locust rider#Range (3).png
new file mode 100644 (file)
index 0000000..f69ab10
Binary files /dev/null and b/dist/images/creatures/Locust rider#Range (3).png differ
diff --git a/dist/images/creatures/Luminous snaggler#Default.png b/dist/images/creatures/Luminous snaggler#Default.png
new file mode 100644 (file)
index 0000000..4ed5a43
Binary files /dev/null and b/dist/images/creatures/Luminous snaggler#Default.png differ
diff --git a/dist/images/creatures/Lumpnose#Default.png b/dist/images/creatures/Lumpnose#Default.png
new file mode 100644 (file)
index 0000000..08c188c
Binary files /dev/null and b/dist/images/creatures/Lumpnose#Default.png differ
diff --git a/dist/images/creatures/Maelstrom, Raging Waterfiend#Default.png b/dist/images/creatures/Maelstrom, Raging Waterfiend#Default.png
new file mode 100644 (file)
index 0000000..761076c
Binary files /dev/null and b/dist/images/creatures/Maelstrom, Raging Waterfiend#Default.png differ
diff --git a/dist/images/creatures/Magic axe#Default.png b/dist/images/creatures/Magic axe#Default.png
new file mode 100644 (file)
index 0000000..9fe8f4d
Binary files /dev/null and b/dist/images/creatures/Magic axe#Default.png differ
diff --git a/dist/images/creatures/Manifest shadow#Default.png b/dist/images/creatures/Manifest shadow#Default.png
new file mode 100644 (file)
index 0000000..6676ecb
Binary files /dev/null and b/dist/images/creatures/Manifest shadow#Default.png differ
diff --git a/dist/images/creatures/Masuta the Descended#Default.png b/dist/images/creatures/Masuta the Descended#Default.png
new file mode 100644 (file)
index 0000000..cf1b059
Binary files /dev/null and b/dist/images/creatures/Masuta the Descended#Default.png differ
diff --git a/dist/images/creatures/Mature grotworm#Default.png b/dist/images/creatures/Mature grotworm#Default.png
new file mode 100644 (file)
index 0000000..9a4adb9
Binary files /dev/null and b/dist/images/creatures/Mature grotworm#Default.png differ
diff --git a/dist/images/creatures/Mighty banshee#Default.png b/dist/images/creatures/Mighty banshee#Default.png
new file mode 100644 (file)
index 0000000..fc66b91
Binary files /dev/null and b/dist/images/creatures/Mighty banshee#Default.png differ
diff --git a/dist/images/creatures/Minotaur#Level 12.png b/dist/images/creatures/Minotaur#Level 12.png
new file mode 100644 (file)
index 0000000..398d742
Binary files /dev/null and b/dist/images/creatures/Minotaur#Level 12.png differ
diff --git a/dist/images/creatures/Minotaur#Level 15.png b/dist/images/creatures/Minotaur#Level 15.png
new file mode 100644 (file)
index 0000000..398d742
Binary files /dev/null and b/dist/images/creatures/Minotaur#Level 15.png differ
diff --git a/dist/images/creatures/Minotaur#Level 44 (Slayer challenge).png b/dist/images/creatures/Minotaur#Level 44 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..398d742
Binary files /dev/null and b/dist/images/creatures/Minotaur#Level 44 (Slayer challenge).png differ
diff --git a/dist/images/creatures/Mithril dragon#Default.png b/dist/images/creatures/Mithril dragon#Default.png
new file mode 100644 (file)
index 0000000..0c9ea82
Binary files /dev/null and b/dist/images/creatures/Mithril dragon#Default.png differ
diff --git a/dist/images/creatures/Mogre#Default.png b/dist/images/creatures/Mogre#Default.png
new file mode 100644 (file)
index 0000000..eb0c0e7
Binary files /dev/null and b/dist/images/creatures/Mogre#Default.png differ
diff --git a/dist/images/creatures/Molanisk#Default.png b/dist/images/creatures/Molanisk#Default.png
new file mode 100644 (file)
index 0000000..aea76fb
Binary files /dev/null and b/dist/images/creatures/Molanisk#Default.png differ
diff --git a/dist/images/creatures/Monkey Zombie#72.png b/dist/images/creatures/Monkey Zombie#72.png
new file mode 100644 (file)
index 0000000..dd6c556
Binary files /dev/null and b/dist/images/creatures/Monkey Zombie#72.png differ
diff --git a/dist/images/creatures/Monkey Zombie#75.png b/dist/images/creatures/Monkey Zombie#75.png
new file mode 100644 (file)
index 0000000..dd6c556
Binary files /dev/null and b/dist/images/creatures/Monkey Zombie#75.png differ
diff --git a/dist/images/creatures/Monkey Zombie#77.png b/dist/images/creatures/Monkey Zombie#77.png
new file mode 100644 (file)
index 0000000..dd6c556
Binary files /dev/null and b/dist/images/creatures/Monkey Zombie#77.png differ
diff --git a/dist/images/creatures/Moss giant#Common (1).png b/dist/images/creatures/Moss giant#Common (1).png
new file mode 100644 (file)
index 0000000..0bd5b32
Binary files /dev/null and b/dist/images/creatures/Moss giant#Common (1).png differ
diff --git a/dist/images/creatures/Moss giant#Common (2).png b/dist/images/creatures/Moss giant#Common (2).png
new file mode 100644 (file)
index 0000000..9d7d3e6
Binary files /dev/null and b/dist/images/creatures/Moss giant#Common (2).png differ
diff --git a/dist/images/creatures/Moss giant#Common (3).png b/dist/images/creatures/Moss giant#Common (3).png
new file mode 100644 (file)
index 0000000..140e2e3
Binary files /dev/null and b/dist/images/creatures/Moss giant#Common (3).png differ
diff --git a/dist/images/creatures/Moss giant#Common (4).png b/dist/images/creatures/Moss giant#Common (4).png
new file mode 100644 (file)
index 0000000..b88fe5e
Binary files /dev/null and b/dist/images/creatures/Moss giant#Common (4).png differ
diff --git a/dist/images/creatures/Moss giant#Common (5).png b/dist/images/creatures/Moss giant#Common (5).png
new file mode 100644 (file)
index 0000000..03287b7
Binary files /dev/null and b/dist/images/creatures/Moss giant#Common (5).png differ
diff --git a/dist/images/creatures/Moss giant#Glarial's Tomb.png b/dist/images/creatures/Moss giant#Glarial's Tomb.png
new file mode 100644 (file)
index 0000000..a2ad574
Binary files /dev/null and b/dist/images/creatures/Moss giant#Glarial's Tomb.png differ
diff --git a/dist/images/creatures/Moss golem#Default.png b/dist/images/creatures/Moss golem#Default.png
new file mode 100644 (file)
index 0000000..5ff905a
Binary files /dev/null and b/dist/images/creatures/Moss golem#Default.png differ
diff --git a/dist/images/creatures/Mountain troll (well)#Default.png b/dist/images/creatures/Mountain troll (well)#Default.png
new file mode 100644 (file)
index 0000000..6599dec
Binary files /dev/null and b/dist/images/creatures/Mountain troll (well)#Default.png differ
diff --git a/dist/images/creatures/Mountain troll#Default.png b/dist/images/creatures/Mountain troll#Default.png
new file mode 100644 (file)
index 0000000..6599dec
Binary files /dev/null and b/dist/images/creatures/Mountain troll#Default.png differ
diff --git a/dist/images/creatures/Mounted terrorbird gnome#Level 46.png b/dist/images/creatures/Mounted terrorbird gnome#Level 46.png
new file mode 100644 (file)
index 0000000..2889015
Binary files /dev/null and b/dist/images/creatures/Mounted terrorbird gnome#Level 46.png differ
diff --git a/dist/images/creatures/Mounted terrorbird gnome#Level 53.png b/dist/images/creatures/Mounted terrorbird gnome#Level 53.png
new file mode 100644 (file)
index 0000000..2889015
Binary files /dev/null and b/dist/images/creatures/Mounted terrorbird gnome#Level 53.png differ
diff --git a/dist/images/creatures/Mourner (Mourner Tunnels)#Default.png b/dist/images/creatures/Mourner (Mourner Tunnels)#Default.png
new file mode 100644 (file)
index 0000000..62e4a8e
Binary files /dev/null and b/dist/images/creatures/Mourner (Mourner Tunnels)#Default.png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#1.png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#1.png
new file mode 100644 (file)
index 0000000..e33c4f2
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#1.png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#2.png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#2.png
new file mode 100644 (file)
index 0000000..6c385e7
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#2.png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#3.png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#3.png
new file mode 100644 (file)
index 0000000..8cdab8b
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#3.png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#4.png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#4.png
new file mode 100644 (file)
index 0000000..4aa2b3f
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#4.png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png
new file mode 100644 (file)
index 0000000..827357d
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png differ
diff --git a/dist/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png
new file mode 100644 (file)
index 0000000..31d1e91
Binary files /dev/null and b/dist/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#1 (on fire).png b/dist/images/creatures/Mummy (Ullek)#1 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#1 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#1.png b/dist/images/creatures/Mummy (Ullek)#1.png
new file mode 100644 (file)
index 0000000..e33c4f2
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#1.png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#2 (on fire).png b/dist/images/creatures/Mummy (Ullek)#2 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#2 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#2.png b/dist/images/creatures/Mummy (Ullek)#2.png
new file mode 100644 (file)
index 0000000..6c385e7
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#2.png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#3 (on fire).png b/dist/images/creatures/Mummy (Ullek)#3 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#3 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#3.png b/dist/images/creatures/Mummy (Ullek)#3.png
new file mode 100644 (file)
index 0000000..8cdab8b
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#3.png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#4 (on fire).png b/dist/images/creatures/Mummy (Ullek)#4 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#4 (on fire).png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#4.png b/dist/images/creatures/Mummy (Ullek)#4.png
new file mode 100644 (file)
index 0000000..4aa2b3f
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#4.png differ
diff --git a/dist/images/creatures/Mummy (Ullek)#Ashes.png b/dist/images/creatures/Mummy (Ullek)#Ashes.png
new file mode 100644 (file)
index 0000000..827357d
Binary files /dev/null and b/dist/images/creatures/Mummy (Ullek)#Ashes.png differ
diff --git a/dist/images/creatures/Mutated bloodveld#A.png b/dist/images/creatures/Mutated bloodveld#A.png
new file mode 100644 (file)
index 0000000..ee6e495
Binary files /dev/null and b/dist/images/creatures/Mutated bloodveld#A.png differ
diff --git a/dist/images/creatures/Mutated bloodveld#B.png b/dist/images/creatures/Mutated bloodveld#B.png
new file mode 100644 (file)
index 0000000..031707e
Binary files /dev/null and b/dist/images/creatures/Mutated bloodveld#B.png differ
diff --git a/dist/images/creatures/Mutated jadinko baby#Default.png b/dist/images/creatures/Mutated jadinko baby#Default.png
new file mode 100644 (file)
index 0000000..8b2ca1f
Binary files /dev/null and b/dist/images/creatures/Mutated jadinko baby#Default.png differ
diff --git a/dist/images/creatures/Mutated jadinko guard#Default.png b/dist/images/creatures/Mutated jadinko guard#Default.png
new file mode 100644 (file)
index 0000000..faf8d6e
Binary files /dev/null and b/dist/images/creatures/Mutated jadinko guard#Default.png differ
diff --git a/dist/images/creatures/Mutated jadinko male#Default.png b/dist/images/creatures/Mutated jadinko male#Default.png
new file mode 100644 (file)
index 0000000..eaf6f90
Binary files /dev/null and b/dist/images/creatures/Mutated jadinko male#Default.png differ
diff --git a/dist/images/creatures/Mutated zygomite#Level 58.png b/dist/images/creatures/Mutated zygomite#Level 58.png
new file mode 100644 (file)
index 0000000..bf890c1
Binary files /dev/null and b/dist/images/creatures/Mutated zygomite#Level 58.png differ
diff --git a/dist/images/creatures/Mutated zygomite#Level 65.png b/dist/images/creatures/Mutated zygomite#Level 65.png
new file mode 100644 (file)
index 0000000..bf890c1
Binary files /dev/null and b/dist/images/creatures/Mutated zygomite#Level 65.png differ
diff --git a/dist/images/creatures/Nechryael (Heart of Gielinor)#Default.png b/dist/images/creatures/Nechryael (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..f0eb8a4
Binary files /dev/null and b/dist/images/creatures/Nechryael (Heart of Gielinor)#Default.png differ
diff --git a/dist/images/creatures/Nechryael (elite)#Default.png b/dist/images/creatures/Nechryael (elite)#Default.png
new file mode 100644 (file)
index 0000000..8b8f9ec
Binary files /dev/null and b/dist/images/creatures/Nechryael (elite)#Default.png differ
diff --git a/dist/images/creatures/Nechryael#Default.png b/dist/images/creatures/Nechryael#Default.png
new file mode 100644 (file)
index 0000000..8b8f9ec
Binary files /dev/null and b/dist/images/creatures/Nechryael#Default.png differ
diff --git a/dist/images/creatures/Nex b/dist/images/creatures/Nex
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/dist/images/creatures/Nex#Magic.png b/dist/images/creatures/Nex#Magic.png
new file mode 100644 (file)
index 0000000..e6c8d67
Binary files /dev/null and b/dist/images/creatures/Nex#Magic.png differ
diff --git a/dist/images/creatures/Nex#Melee.png b/dist/images/creatures/Nex#Melee.png
new file mode 100644 (file)
index 0000000..b57670c
Binary files /dev/null and b/dist/images/creatures/Nex#Melee.png differ
diff --git a/dist/images/creatures/Nex#Ranged.png b/dist/images/creatures/Nex#Ranged.png
new file mode 100644 (file)
index 0000000..9492dde
Binary files /dev/null and b/dist/images/creatures/Nex#Ranged.png differ
diff --git a/dist/images/creatures/Nex#Standard.png b/dist/images/creatures/Nex#Standard.png
new file mode 100644 (file)
index 0000000..cd0e5a0
Binary files /dev/null and b/dist/images/creatures/Nex#Standard.png differ
diff --git a/dist/images/creatures/Nightmare#Default.png b/dist/images/creatures/Nightmare#Default.png
new file mode 100644 (file)
index 0000000..110a416
Binary files /dev/null and b/dist/images/creatures/Nightmare#Default.png differ
diff --git a/dist/images/creatures/Nodon artificer#Default.png b/dist/images/creatures/Nodon artificer#Default.png
new file mode 100644 (file)
index 0000000..042a781
Binary files /dev/null and b/dist/images/creatures/Nodon artificer#Default.png differ
diff --git a/dist/images/creatures/Nodon enforcer#Default.png b/dist/images/creatures/Nodon enforcer#Default.png
new file mode 100644 (file)
index 0000000..69af25d
Binary files /dev/null and b/dist/images/creatures/Nodon enforcer#Default.png differ
diff --git a/dist/images/creatures/Nodon engineer#Default.png b/dist/images/creatures/Nodon engineer#Default.png
new file mode 100644 (file)
index 0000000..7f5fe76
Binary files /dev/null and b/dist/images/creatures/Nodon engineer#Default.png differ
diff --git a/dist/images/creatures/Nodon guard#Default.png b/dist/images/creatures/Nodon guard#Default.png
new file mode 100644 (file)
index 0000000..b3366b3
Binary files /dev/null and b/dist/images/creatures/Nodon guard#Default.png differ
diff --git a/dist/images/creatures/Nodon hunter#Default.png b/dist/images/creatures/Nodon hunter#Default.png
new file mode 100644 (file)
index 0000000..7d98b83
Binary files /dev/null and b/dist/images/creatures/Nodon hunter#Default.png differ
diff --git a/dist/images/creatures/Nymora, the Vengeful#Challenge Mode.png b/dist/images/creatures/Nymora, the Vengeful#Challenge Mode.png
new file mode 100644 (file)
index 0000000..33e7244
Binary files /dev/null and b/dist/images/creatures/Nymora, the Vengeful#Challenge Mode.png differ
diff --git a/dist/images/creatures/Nymora, the Vengeful#Normal Mode.png b/dist/images/creatures/Nymora, the Vengeful#Normal Mode.png
new file mode 100644 (file)
index 0000000..33e7244
Binary files /dev/null and b/dist/images/creatures/Nymora, the Vengeful#Normal Mode.png differ
diff --git a/dist/images/creatures/Ogre chieftain#Version 1.png b/dist/images/creatures/Ogre chieftain#Version 1.png
new file mode 100644 (file)
index 0000000..0d7f692
Binary files /dev/null and b/dist/images/creatures/Ogre chieftain#Version 1.png differ
diff --git a/dist/images/creatures/Ogre chieftain#Version 2.png b/dist/images/creatures/Ogre chieftain#Version 2.png
new file mode 100644 (file)
index 0000000..621cf11
Binary files /dev/null and b/dist/images/creatures/Ogre chieftain#Version 2.png differ
diff --git a/dist/images/creatures/Ogre chieftain#Version 3.png b/dist/images/creatures/Ogre chieftain#Version 3.png
new file mode 100644 (file)
index 0000000..621cf11
Binary files /dev/null and b/dist/images/creatures/Ogre chieftain#Version 3.png differ
diff --git a/dist/images/creatures/Ogre#Combat Camp(56).png b/dist/images/creatures/Ogre#Combat Camp(56).png
new file mode 100644 (file)
index 0000000..afb08ea
Binary files /dev/null and b/dist/images/creatures/Ogre#Combat Camp(56).png differ
diff --git a/dist/images/creatures/Ogre#God Wars Dungeon(86).png b/dist/images/creatures/Ogre#God Wars Dungeon(86).png
new file mode 100644 (file)
index 0000000..f0570ca
Binary files /dev/null and b/dist/images/creatures/Ogre#God Wars Dungeon(86).png differ
diff --git a/dist/images/creatures/Ogre#Kandarin(Level 67).png b/dist/images/creatures/Ogre#Kandarin(Level 67).png
new file mode 100644 (file)
index 0000000..4fd1cfa
Binary files /dev/null and b/dist/images/creatures/Ogre#Kandarin(Level 67).png differ
diff --git a/dist/images/creatures/Ogress champion#Default.png b/dist/images/creatures/Ogress champion#Default.png
new file mode 100644 (file)
index 0000000..97da5b7
Binary files /dev/null and b/dist/images/creatures/Ogress champion#Default.png differ
diff --git a/dist/images/creatures/Ogress warrior#Default.png b/dist/images/creatures/Ogress warrior#Default.png
new file mode 100644 (file)
index 0000000..e68d431
Binary files /dev/null and b/dist/images/creatures/Ogress warrior#Default.png differ
diff --git a/dist/images/creatures/Ogress#Default.png b/dist/images/creatures/Ogress#Default.png
new file mode 100644 (file)
index 0000000..5f0e961
Binary files /dev/null and b/dist/images/creatures/Ogress#Default.png differ
diff --git a/dist/images/creatures/Ol' Sawtooth#Default.png b/dist/images/creatures/Ol' Sawtooth#Default.png
new file mode 100644 (file)
index 0000000..ac25e9f
Binary files /dev/null and b/dist/images/creatures/Ol' Sawtooth#Default.png differ
diff --git a/dist/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..3fbf36d
Binary files /dev/null and b/dist/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Onyx dragon#Default.png b/dist/images/creatures/Onyx dragon#Default.png
new file mode 100644 (file)
index 0000000..3fbf36d
Binary files /dev/null and b/dist/images/creatures/Onyx dragon#Default.png differ
diff --git a/dist/images/creatures/Oomlie bird#Default.png b/dist/images/creatures/Oomlie bird#Default.png
new file mode 100644 (file)
index 0000000..4253331
Binary files /dev/null and b/dist/images/creatures/Oomlie bird#Default.png differ
diff --git a/dist/images/creatures/Oreb, the Magister#Default.png b/dist/images/creatures/Oreb, the Magister#Default.png
new file mode 100644 (file)
index 0000000..64b21a8
Binary files /dev/null and b/dist/images/creatures/Oreb, the Magister#Default.png differ
diff --git a/dist/images/creatures/Orikalka#Default.png b/dist/images/creatures/Orikalka#Default.png
new file mode 100644 (file)
index 0000000..3cf47a0
Binary files /dev/null and b/dist/images/creatures/Orikalka#Default.png differ
diff --git a/dist/images/creatures/Osseous#Default.png b/dist/images/creatures/Osseous#Default.png
new file mode 100644 (file)
index 0000000..1471e99
Binary files /dev/null and b/dist/images/creatures/Osseous#Default.png differ
diff --git a/dist/images/creatures/Otherworldly being#Default.png b/dist/images/creatures/Otherworldly being#Default.png
new file mode 100644 (file)
index 0000000..dad9d60
Binary files /dev/null and b/dist/images/creatures/Otherworldly being#Default.png differ
diff --git a/dist/images/creatures/Pee Hat#Default.png b/dist/images/creatures/Pee Hat#Default.png
new file mode 100644 (file)
index 0000000..20ccdf4
Binary files /dev/null and b/dist/images/creatures/Pee Hat#Default.png differ
diff --git a/dist/images/creatures/Pekin#Default.png b/dist/images/creatures/Pekin#Default.png
new file mode 100644 (file)
index 0000000..7fe489e
Binary files /dev/null and b/dist/images/creatures/Pekin#Default.png differ
diff --git a/dist/images/creatures/Penguin (monster)#Default.png b/dist/images/creatures/Penguin (monster)#Default.png
new file mode 100644 (file)
index 0000000..6ebc3a2
Binary files /dev/null and b/dist/images/creatures/Penguin (monster)#Default.png differ
diff --git a/dist/images/creatures/Pernicious parrot#Default.png b/dist/images/creatures/Pernicious parrot#Default.png
new file mode 100644 (file)
index 0000000..4520900
Binary files /dev/null and b/dist/images/creatures/Pernicious parrot#Default.png differ
diff --git a/dist/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png b/dist/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..9eea1e4
Binary files /dev/null and b/dist/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png differ
diff --git a/dist/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png b/dist/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png
new file mode 100644 (file)
index 0000000..f9124eb
Binary files /dev/null and b/dist/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png differ
diff --git a/dist/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png b/dist/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png
new file mode 100644 (file)
index 0000000..f9124eb
Binary files /dev/null and b/dist/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png differ
diff --git a/dist/images/creatures/Phantom wizard#1 (Ancient Awakening).png b/dist/images/creatures/Phantom wizard#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..fa7a657
Binary files /dev/null and b/dist/images/creatures/Phantom wizard#1 (Ancient Awakening).png differ
diff --git a/dist/images/creatures/Phantom wizard#1 (Ungael combat activity).png b/dist/images/creatures/Phantom wizard#1 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..fa7a657
Binary files /dev/null and b/dist/images/creatures/Phantom wizard#1 (Ungael combat activity).png differ
diff --git a/dist/images/creatures/Pit Scorpion#Default.png b/dist/images/creatures/Pit Scorpion#Default.png
new file mode 100644 (file)
index 0000000..ca4041e
Binary files /dev/null and b/dist/images/creatures/Pit Scorpion#Default.png differ
diff --git a/dist/images/creatures/Plague frog#Default.png b/dist/images/creatures/Plague frog#Default.png
new file mode 100644 (file)
index 0000000..f2e9197
Binary files /dev/null and b/dist/images/creatures/Plague frog#Default.png differ
diff --git a/dist/images/creatures/Poison Scorpion#Default.png b/dist/images/creatures/Poison Scorpion#Default.png
new file mode 100644 (file)
index 0000000..0b747b6
Binary files /dev/null and b/dist/images/creatures/Poison Scorpion#Default.png differ
diff --git a/dist/images/creatures/Poison spider#Common.png b/dist/images/creatures/Poison spider#Common.png
new file mode 100644 (file)
index 0000000..d8bf00c
Binary files /dev/null and b/dist/images/creatures/Poison spider#Common.png differ
diff --git a/dist/images/creatures/Poison spider#Observatory.png b/dist/images/creatures/Poison spider#Observatory.png
new file mode 100644 (file)
index 0000000..d8bf00c
Binary files /dev/null and b/dist/images/creatures/Poison spider#Observatory.png differ
diff --git a/dist/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png b/dist/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/dist/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png differ
diff --git a/dist/images/creatures/Possessed pickaxe#Abandoned Mine.png b/dist/images/creatures/Possessed pickaxe#Abandoned Mine.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/dist/images/creatures/Possessed pickaxe#Abandoned Mine.png differ
diff --git a/dist/images/creatures/Possessed pickaxe#Dominion Tower.png b/dist/images/creatures/Possessed pickaxe#Dominion Tower.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/dist/images/creatures/Possessed pickaxe#Dominion Tower.png differ
diff --git a/dist/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png b/dist/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/dist/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png differ
diff --git a/dist/images/creatures/Pthentraken#Default.png b/dist/images/creatures/Pthentraken#Default.png
new file mode 100644 (file)
index 0000000..3c3d02a
Binary files /dev/null and b/dist/images/creatures/Pthentraken#Default.png differ
diff --git a/dist/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png b/dist/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png
new file mode 100644 (file)
index 0000000..277cc93
Binary files /dev/null and b/dist/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png differ
diff --git a/dist/images/creatures/Pyrefiend (summoned)#Default.png b/dist/images/creatures/Pyrefiend (summoned)#Default.png
new file mode 100644 (file)
index 0000000..90e4b78
Binary files /dev/null and b/dist/images/creatures/Pyrefiend (summoned)#Default.png differ
diff --git a/dist/images/creatures/Pyrefiend#God Wars Dungeon.png b/dist/images/creatures/Pyrefiend#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/dist/images/creatures/Pyrefiend#God Wars Dungeon.png differ
diff --git a/dist/images/creatures/Pyrefiend#Level 38.png b/dist/images/creatures/Pyrefiend#Level 38.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/dist/images/creatures/Pyrefiend#Level 38.png differ
diff --git a/dist/images/creatures/Queen Black Dragon#Carapace.png b/dist/images/creatures/Queen Black Dragon#Carapace.png
new file mode 100644 (file)
index 0000000..e909655
Binary files /dev/null and b/dist/images/creatures/Queen Black Dragon#Carapace.png differ
diff --git a/dist/images/creatures/Queen Black Dragon#Crystal.png b/dist/images/creatures/Queen Black Dragon#Crystal.png
new file mode 100644 (file)
index 0000000..a54f4e6
Binary files /dev/null and b/dist/images/creatures/Queen Black Dragon#Crystal.png differ
diff --git a/dist/images/creatures/Queen Black Dragon#Normal.png b/dist/images/creatures/Queen Black Dragon#Normal.png
new file mode 100644 (file)
index 0000000..5aaee7f
Binary files /dev/null and b/dist/images/creatures/Queen Black Dragon#Normal.png differ
diff --git a/dist/images/creatures/Quetzathog#Default.png b/dist/images/creatures/Quetzathog#Default.png
new file mode 100644 (file)
index 0000000..8c5cc99
Binary files /dev/null and b/dist/images/creatures/Quetzathog#Default.png differ
diff --git a/dist/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png b/dist/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png
new file mode 100644 (file)
index 0000000..39c622c
Binary files /dev/null and b/dist/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png differ
diff --git a/dist/images/creatures/Raksha, the Shadow Colossus#During fight.png b/dist/images/creatures/Raksha, the Shadow Colossus#During fight.png
new file mode 100644 (file)
index 0000000..39c622c
Binary files /dev/null and b/dist/images/creatures/Raksha, the Shadow Colossus#During fight.png differ
diff --git a/dist/images/creatures/Raksha, the Shadow Colossus#Shackled.png b/dist/images/creatures/Raksha, the Shadow Colossus#Shackled.png
new file mode 100644 (file)
index 0000000..1b408df
Binary files /dev/null and b/dist/images/creatures/Raksha, the Shadow Colossus#Shackled.png differ
diff --git a/dist/images/creatures/Raksha, the Shadow Colossus#Subdued.png b/dist/images/creatures/Raksha, the Shadow Colossus#Subdued.png
new file mode 100644 (file)
index 0000000..bd4de47
Binary files /dev/null and b/dist/images/creatures/Raksha, the Shadow Colossus#Subdued.png differ
diff --git a/dist/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png b/dist/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png
new file mode 100644 (file)
index 0000000..8b95c2a
Binary files /dev/null and b/dist/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png differ
diff --git a/dist/images/creatures/Rasial, the First Necromancer#Normal.png b/dist/images/creatures/Rasial, the First Necromancer#Normal.png
new file mode 100644 (file)
index 0000000..8b95c2a
Binary files /dev/null and b/dist/images/creatures/Rasial, the First Necromancer#Normal.png differ
diff --git a/dist/images/creatures/Rat#Common.png b/dist/images/creatures/Rat#Common.png
new file mode 100644 (file)
index 0000000..803a17c
Binary files /dev/null and b/dist/images/creatures/Rat#Common.png differ
diff --git a/dist/images/creatures/Rat#Ratcatchers.png b/dist/images/creatures/Rat#Ratcatchers.png
new file mode 100644 (file)
index 0000000..803a17c
Binary files /dev/null and b/dist/images/creatures/Rat#Ratcatchers.png differ
diff --git a/dist/images/creatures/Rat#Stronghold of Security.png b/dist/images/creatures/Rat#Stronghold of Security.png
new file mode 100644 (file)
index 0000000..2cd7337
Binary files /dev/null and b/dist/images/creatures/Rat#Stronghold of Security.png differ
diff --git a/dist/images/creatures/Rathis#Default.png b/dist/images/creatures/Rathis#Default.png
new file mode 100644 (file)
index 0000000..7eecd86
Binary files /dev/null and b/dist/images/creatures/Rathis#Default.png differ
diff --git a/dist/images/creatures/Ravenous ghoul (Mazchna)#Default.png b/dist/images/creatures/Ravenous ghoul (Mazchna)#Default.png
new file mode 100644 (file)
index 0000000..3655789
Binary files /dev/null and b/dist/images/creatures/Ravenous ghoul (Mazchna)#Default.png differ
diff --git a/dist/images/creatures/Ravenous ghoul#Default.png b/dist/images/creatures/Ravenous ghoul#Default.png
new file mode 100644 (file)
index 0000000..9c0a459
Binary files /dev/null and b/dist/images/creatures/Ravenous ghoul#Default.png differ
diff --git a/dist/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png b/dist/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..f5ef71b
Binary files /dev/null and b/dist/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/dist/images/creatures/Red dragon#1.png b/dist/images/creatures/Red dragon#1.png
new file mode 100644 (file)
index 0000000..4d20989
Binary files /dev/null and b/dist/images/creatures/Red dragon#1.png differ
diff --git a/dist/images/creatures/Red dragon#2.png b/dist/images/creatures/Red dragon#2.png
new file mode 100644 (file)
index 0000000..08258c4
Binary files /dev/null and b/dist/images/creatures/Red dragon#2.png differ
diff --git a/dist/images/creatures/Red dragon#3.png b/dist/images/creatures/Red dragon#3.png
new file mode 100644 (file)
index 0000000..a031dd1
Binary files /dev/null and b/dist/images/creatures/Red dragon#3.png differ
diff --git a/dist/images/creatures/Red dragon#4.png b/dist/images/creatures/Red dragon#4.png
new file mode 100644 (file)
index 0000000..b9ac714
Binary files /dev/null and b/dist/images/creatures/Red dragon#4.png differ
diff --git a/dist/images/creatures/Red dragon#5.png b/dist/images/creatures/Red dragon#5.png
new file mode 100644 (file)
index 0000000..e4912e6
Binary files /dev/null and b/dist/images/creatures/Red dragon#5.png differ
diff --git a/dist/images/creatures/Revenant cyclops#Default.png b/dist/images/creatures/Revenant cyclops#Default.png
new file mode 100644 (file)
index 0000000..29b732d
Binary files /dev/null and b/dist/images/creatures/Revenant cyclops#Default.png differ
diff --git a/dist/images/creatures/Revenant dark beast#Default.png b/dist/images/creatures/Revenant dark beast#Default.png
new file mode 100644 (file)
index 0000000..c3b002b
Binary files /dev/null and b/dist/images/creatures/Revenant dark beast#Default.png differ
diff --git a/dist/images/creatures/Revenant demon#Default.png b/dist/images/creatures/Revenant demon#Default.png
new file mode 100644 (file)
index 0000000..114a3e6
Binary files /dev/null and b/dist/images/creatures/Revenant demon#Default.png differ
diff --git a/dist/images/creatures/Revenant dragon#Default.png b/dist/images/creatures/Revenant dragon#Default.png
new file mode 100644 (file)
index 0000000..eead49e
Binary files /dev/null and b/dist/images/creatures/Revenant dragon#Default.png differ
diff --git a/dist/images/creatures/Revenant goblin#16.png b/dist/images/creatures/Revenant goblin#16.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/dist/images/creatures/Revenant goblin#16.png differ
diff --git a/dist/images/creatures/Revenant goblin#19.png b/dist/images/creatures/Revenant goblin#19.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/dist/images/creatures/Revenant goblin#19.png differ
diff --git a/dist/images/creatures/Revenant goblin#22.png b/dist/images/creatures/Revenant goblin#22.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/dist/images/creatures/Revenant goblin#22.png differ
diff --git a/dist/images/creatures/Revenant goblin#28.png b/dist/images/creatures/Revenant goblin#28.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/dist/images/creatures/Revenant goblin#28.png differ
diff --git a/dist/images/creatures/Revenant hellhound#Default.png b/dist/images/creatures/Revenant hellhound#Default.png
new file mode 100644 (file)
index 0000000..515fc2c
Binary files /dev/null and b/dist/images/creatures/Revenant hellhound#Default.png differ
diff --git a/dist/images/creatures/Revenant hobgoblin#Default.png b/dist/images/creatures/Revenant hobgoblin#Default.png
new file mode 100644 (file)
index 0000000..09b447c
Binary files /dev/null and b/dist/images/creatures/Revenant hobgoblin#Default.png differ
diff --git a/dist/images/creatures/Revenant icefiend#Default.png b/dist/images/creatures/Revenant icefiend#Default.png
new file mode 100644 (file)
index 0000000..02878a1
Binary files /dev/null and b/dist/images/creatures/Revenant icefiend#Default.png differ
diff --git a/dist/images/creatures/Revenant imp#Default.png b/dist/images/creatures/Revenant imp#Default.png
new file mode 100644 (file)
index 0000000..1cf1003
Binary files /dev/null and b/dist/images/creatures/Revenant imp#Default.png differ
diff --git a/dist/images/creatures/Revenant knight#Default.png b/dist/images/creatures/Revenant knight#Default.png
new file mode 100644 (file)
index 0000000..40d75f2
Binary files /dev/null and b/dist/images/creatures/Revenant knight#Default.png differ
diff --git a/dist/images/creatures/Revenant ork#Default.png b/dist/images/creatures/Revenant ork#Default.png
new file mode 100644 (file)
index 0000000..0d8762b
Binary files /dev/null and b/dist/images/creatures/Revenant ork#Default.png differ
diff --git a/dist/images/creatures/Revenant pyrefiend#Default.png b/dist/images/creatures/Revenant pyrefiend#Default.png
new file mode 100644 (file)
index 0000000..356a29e
Binary files /dev/null and b/dist/images/creatures/Revenant pyrefiend#Default.png differ
diff --git a/dist/images/creatures/Revenant vampyre#Default.png b/dist/images/creatures/Revenant vampyre#Default.png
new file mode 100644 (file)
index 0000000..766ab2e
Binary files /dev/null and b/dist/images/creatures/Revenant vampyre#Default.png differ
diff --git a/dist/images/creatures/Revenant werewolf#Default.png b/dist/images/creatures/Revenant werewolf#Default.png
new file mode 100644 (file)
index 0000000..cf4acc5
Binary files /dev/null and b/dist/images/creatures/Revenant werewolf#Default.png differ
diff --git a/dist/images/creatures/Ripper Demon#Default.png b/dist/images/creatures/Ripper Demon#Default.png
new file mode 100644 (file)
index 0000000..2d3e248
Binary files /dev/null and b/dist/images/creatures/Ripper Demon#Default.png differ
diff --git a/dist/images/creatures/Ripper dinosaur#Dinosaur invasion.png b/dist/images/creatures/Ripper dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..9d0362b
Binary files /dev/null and b/dist/images/creatures/Ripper dinosaur#Dinosaur invasion.png differ
diff --git a/dist/images/creatures/Ripper dinosaur#Normal.png b/dist/images/creatures/Ripper dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..9d0362b
Binary files /dev/null and b/dist/images/creatures/Ripper dinosaur#Normal.png differ
diff --git a/dist/images/creatures/Risen ghost#Default.png b/dist/images/creatures/Risen ghost#Default.png
new file mode 100644 (file)
index 0000000..53220d3
Binary files /dev/null and b/dist/images/creatures/Risen ghost#Default.png differ
diff --git a/dist/images/creatures/River troll#Default.png b/dist/images/creatures/River troll#Default.png
new file mode 100644 (file)
index 0000000..4cfc7e3
Binary files /dev/null and b/dist/images/creatures/River troll#Default.png differ
diff --git a/dist/images/creatures/Rock (monster)#Default.png b/dist/images/creatures/Rock (monster)#Default.png
new file mode 100644 (file)
index 0000000..a3833fb
Binary files /dev/null and b/dist/images/creatures/Rock (monster)#Default.png differ
diff --git a/dist/images/creatures/Rock slug#Default.png b/dist/images/creatures/Rock slug#Default.png
new file mode 100644 (file)
index 0000000..f319e48
Binary files /dev/null and b/dist/images/creatures/Rock slug#Default.png differ
diff --git a/dist/images/creatures/Rooster#Default.png b/dist/images/creatures/Rooster#Default.png
new file mode 100644 (file)
index 0000000..baf2a49
Binary files /dev/null and b/dist/images/creatures/Rooster#Default.png differ
diff --git a/dist/images/creatures/Rorarius#1.png b/dist/images/creatures/Rorarius#1.png
new file mode 100644 (file)
index 0000000..333dee8
Binary files /dev/null and b/dist/images/creatures/Rorarius#1.png differ
diff --git a/dist/images/creatures/Rorarius#2.png b/dist/images/creatures/Rorarius#2.png
new file mode 100644 (file)
index 0000000..edd0ea7
Binary files /dev/null and b/dist/images/creatures/Rorarius#2.png differ
diff --git a/dist/images/creatures/Rune dragon#Armoured.png b/dist/images/creatures/Rune dragon#Armoured.png
new file mode 100644 (file)
index 0000000..a67c163
Binary files /dev/null and b/dist/images/creatures/Rune dragon#Armoured.png differ
diff --git a/dist/images/creatures/Rune dragon#Unarmoured.png b/dist/images/creatures/Rune dragon#Unarmoured.png
new file mode 100644 (file)
index 0000000..3be7130
Binary files /dev/null and b/dist/images/creatures/Rune dragon#Unarmoured.png differ
diff --git a/dist/images/creatures/Salawa akh#Default.png b/dist/images/creatures/Salawa akh#Default.png
new file mode 100644 (file)
index 0000000..6364b5c
Binary files /dev/null and b/dist/images/creatures/Salawa akh#Default.png differ
diff --git a/dist/images/creatures/Sangri the Red#Default.png b/dist/images/creatures/Sangri the Red#Default.png
new file mode 100644 (file)
index 0000000..f5ef71b
Binary files /dev/null and b/dist/images/creatures/Sangri the Red#Default.png differ
diff --git a/dist/images/creatures/Sapping glacyte#Default.png b/dist/images/creatures/Sapping glacyte#Default.png
new file mode 100644 (file)
index 0000000..602995d
Binary files /dev/null and b/dist/images/creatures/Sapping glacyte#Default.png differ
diff --git a/dist/images/creatures/Scabaras lancer#Default.png b/dist/images/creatures/Scabaras lancer#Default.png
new file mode 100644 (file)
index 0000000..a83c07c
Binary files /dev/null and b/dist/images/creatures/Scabaras lancer#Default.png differ
diff --git a/dist/images/creatures/Scabaras mage#Default.png b/dist/images/creatures/Scabaras mage#Default.png
new file mode 100644 (file)
index 0000000..ffdb509
Binary files /dev/null and b/dist/images/creatures/Scabaras mage#Default.png differ
diff --git a/dist/images/creatures/Scabaras ranger#Default.png b/dist/images/creatures/Scabaras ranger#Default.png
new file mode 100644 (file)
index 0000000..1330925
Binary files /dev/null and b/dist/images/creatures/Scabaras ranger#Default.png differ
diff --git a/dist/images/creatures/Scarab akh#Default.png b/dist/images/creatures/Scarab akh#Default.png
new file mode 100644 (file)
index 0000000..81cca1b
Binary files /dev/null and b/dist/images/creatures/Scarab akh#Default.png differ
diff --git a/dist/images/creatures/Scarab mage#Contact!.png b/dist/images/creatures/Scarab mage#Contact!.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/dist/images/creatures/Scarab mage#Contact!.png differ
diff --git a/dist/images/creatures/Scarab mage#Dominion Tower.png b/dist/images/creatures/Scarab mage#Dominion Tower.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/dist/images/creatures/Scarab mage#Dominion Tower.png differ
diff --git a/dist/images/creatures/Scarab mage#Rumble Mode.png b/dist/images/creatures/Scarab mage#Rumble Mode.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/dist/images/creatures/Scarab mage#Rumble Mode.png differ
diff --git a/dist/images/creatures/Scarab mage#Sophanem Dungeon.png b/dist/images/creatures/Scarab mage#Sophanem Dungeon.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/dist/images/creatures/Scarab mage#Sophanem Dungeon.png differ
diff --git a/dist/images/creatures/Scorpion (Ape Atoll)#Default.png b/dist/images/creatures/Scorpion (Ape Atoll)#Default.png
new file mode 100644 (file)
index 0000000..d1e3bb8
Binary files /dev/null and b/dist/images/creatures/Scorpion (Ape Atoll)#Default.png differ
diff --git a/dist/images/creatures/Scorpion#Level 14.png b/dist/images/creatures/Scorpion#Level 14.png
new file mode 100644 (file)
index 0000000..ca4041e
Binary files /dev/null and b/dist/images/creatures/Scorpion#Level 14.png differ
diff --git a/dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png b/dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png
new file mode 100644 (file)
index 0000000..ca4041e
Binary files /dev/null and b/dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png differ
diff --git a/dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png b/dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png
new file mode 100644 (file)
index 0000000..0b747b6
Binary files /dev/null and b/dist/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png differ
diff --git a/dist/images/creatures/Scutarius#1.png b/dist/images/creatures/Scutarius#1.png
new file mode 100644 (file)
index 0000000..d92f1e1
Binary files /dev/null and b/dist/images/creatures/Scutarius#1.png differ
diff --git a/dist/images/creatures/Scutarius#2.png b/dist/images/creatures/Scutarius#2.png
new file mode 100644 (file)
index 0000000..aa168a5
Binary files /dev/null and b/dist/images/creatures/Scutarius#2.png differ
diff --git a/dist/images/creatures/Sea Snake Hatchling#Default.png b/dist/images/creatures/Sea Snake Hatchling#Default.png
new file mode 100644 (file)
index 0000000..ce4be4e
Binary files /dev/null and b/dist/images/creatures/Sea Snake Hatchling#Default.png differ
diff --git a/dist/images/creatures/Sea Snake Young#Default.png b/dist/images/creatures/Sea Snake Young#Default.png
new file mode 100644 (file)
index 0000000..731e379
Binary files /dev/null and b/dist/images/creatures/Sea Snake Young#Default.png differ
diff --git a/dist/images/creatures/Sea crocodile#Normal mode.png b/dist/images/creatures/Sea crocodile#Normal mode.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/dist/images/creatures/Sea crocodile#Normal mode.png differ
diff --git a/dist/images/creatures/Sea crocodile#Story mode.png b/dist/images/creatures/Sea crocodile#Story mode.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/dist/images/creatures/Sea crocodile#Story mode.png differ
diff --git a/dist/images/creatures/Sea horror#Normal mode.png b/dist/images/creatures/Sea horror#Normal mode.png
new file mode 100644 (file)
index 0000000..8c5cc99
Binary files /dev/null and b/dist/images/creatures/Sea horror#Normal mode.png differ
diff --git a/dist/images/creatures/Sea horror#Story mode.png b/dist/images/creatures/Sea horror#Story mode.png
new file mode 100644 (file)
index 0000000..8c5cc99
Binary files /dev/null and b/dist/images/creatures/Sea horror#Story mode.png differ
diff --git a/dist/images/creatures/Seagull#Default.png b/dist/images/creatures/Seagull#Default.png
new file mode 100644 (file)
index 0000000..d31d5eb
Binary files /dev/null and b/dist/images/creatures/Seagull#Default.png differ
diff --git a/dist/images/creatures/Seeker#Default.png b/dist/images/creatures/Seeker#Default.png
new file mode 100644 (file)
index 0000000..4a85f8a
Binary files /dev/null and b/dist/images/creatures/Seeker#Default.png differ
diff --git a/dist/images/creatures/Seething Pyrefiend#Default.png b/dist/images/creatures/Seething Pyrefiend#Default.png
new file mode 100644 (file)
index 0000000..ce5e21f
Binary files /dev/null and b/dist/images/creatures/Seething Pyrefiend#Default.png differ
diff --git a/dist/images/creatures/Seiryu the Azure Serpent#Normal mode.png b/dist/images/creatures/Seiryu the Azure Serpent#Normal mode.png
new file mode 100644 (file)
index 0000000..d8488f5
Binary files /dev/null and b/dist/images/creatures/Seiryu the Azure Serpent#Normal mode.png differ
diff --git a/dist/images/creatures/Seiryu the Azure Serpent#Story mode.png b/dist/images/creatures/Seiryu the Azure Serpent#Story mode.png
new file mode 100644 (file)
index 0000000..d8488f5
Binary files /dev/null and b/dist/images/creatures/Seiryu the Azure Serpent#Story mode.png differ
diff --git a/dist/images/creatures/Seren archer#Default.png b/dist/images/creatures/Seren archer#Default.png
new file mode 100644 (file)
index 0000000..286369e
Binary files /dev/null and b/dist/images/creatures/Seren archer#Default.png differ
diff --git a/dist/images/creatures/Seren mage#Default.png b/dist/images/creatures/Seren mage#Default.png
new file mode 100644 (file)
index 0000000..237fdcc
Binary files /dev/null and b/dist/images/creatures/Seren mage#Default.png differ
diff --git a/dist/images/creatures/Seren warrior#Default.png b/dist/images/creatures/Seren warrior#Default.png
new file mode 100644 (file)
index 0000000..6206256
Binary files /dev/null and b/dist/images/creatures/Seren warrior#Default.png differ
diff --git a/dist/images/creatures/Sergeant Grimspike#Default.png b/dist/images/creatures/Sergeant Grimspike#Default.png
new file mode 100644 (file)
index 0000000..8c52c6d
Binary files /dev/null and b/dist/images/creatures/Sergeant Grimspike#Default.png differ
diff --git a/dist/images/creatures/Sergeant Steelwill#Default.png b/dist/images/creatures/Sergeant Steelwill#Default.png
new file mode 100644 (file)
index 0000000..1f4315f
Binary files /dev/null and b/dist/images/creatures/Sergeant Steelwill#Default.png differ
diff --git a/dist/images/creatures/Sergeant Strongstack#Default.png b/dist/images/creatures/Sergeant Strongstack#Default.png
new file mode 100644 (file)
index 0000000..3f63777
Binary files /dev/null and b/dist/images/creatures/Sergeant Strongstack#Default.png differ
diff --git a/dist/images/creatures/Shade#Default.png b/dist/images/creatures/Shade#Default.png
new file mode 100644 (file)
index 0000000..b728521
Binary files /dev/null and b/dist/images/creatures/Shade#Default.png differ
diff --git a/dist/images/creatures/Shadow (Temple of Light)#Default.png b/dist/images/creatures/Shadow (Temple of Light)#Default.png
new file mode 100644 (file)
index 0000000..5f9eedd
Binary files /dev/null and b/dist/images/creatures/Shadow (Temple of Light)#Default.png differ
diff --git a/dist/images/creatures/Shadow Hound#Default.png b/dist/images/creatures/Shadow Hound#Default.png
new file mode 100644 (file)
index 0000000..228c2e4
Binary files /dev/null and b/dist/images/creatures/Shadow Hound#Default.png differ
diff --git a/dist/images/creatures/Shadow nihil#boss.png b/dist/images/creatures/Shadow nihil#boss.png
new file mode 100644 (file)
index 0000000..4014b94
Binary files /dev/null and b/dist/images/creatures/Shadow nihil#boss.png differ
diff --git a/dist/images/creatures/Shadow nihil#normal.png b/dist/images/creatures/Shadow nihil#normal.png
new file mode 100644 (file)
index 0000000..4014b94
Binary files /dev/null and b/dist/images/creatures/Shadow nihil#normal.png differ
diff --git a/dist/images/creatures/Shadow spider#Default.png b/dist/images/creatures/Shadow spider#Default.png
new file mode 100644 (file)
index 0000000..b17fb9d
Binary files /dev/null and b/dist/images/creatures/Shadow spider#Default.png differ
diff --git a/dist/images/creatures/Shadow warrior#Default.png b/dist/images/creatures/Shadow warrior#Default.png
new file mode 100644 (file)
index 0000000..d9f769c
Binary files /dev/null and b/dist/images/creatures/Shadow warrior#Default.png differ
diff --git a/dist/images/creatures/Shara'Kor the Widowmaker#Default.png b/dist/images/creatures/Shara'Kor the Widowmaker#Default.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/dist/images/creatures/Shara'Kor the Widowmaker#Default.png differ
diff --git a/dist/images/creatures/Siege engine#Default.png b/dist/images/creatures/Siege engine#Default.png
new file mode 100644 (file)
index 0000000..e1eeae9
Binary files /dev/null and b/dist/images/creatures/Siege engine#Default.png differ
diff --git a/dist/images/creatures/Skeletal Wyvern#1.png b/dist/images/creatures/Skeletal Wyvern#1.png
new file mode 100644 (file)
index 0000000..7a5b794
Binary files /dev/null and b/dist/images/creatures/Skeletal Wyvern#1.png differ
diff --git a/dist/images/creatures/Skeletal Wyvern#2.png b/dist/images/creatures/Skeletal Wyvern#2.png
new file mode 100644 (file)
index 0000000..60502ad
Binary files /dev/null and b/dist/images/creatures/Skeletal Wyvern#2.png differ
diff --git a/dist/images/creatures/Skeletal Wyvern#3.png b/dist/images/creatures/Skeletal Wyvern#3.png
new file mode 100644 (file)
index 0000000..35e8741
Binary files /dev/null and b/dist/images/creatures/Skeletal Wyvern#3.png differ
diff --git a/dist/images/creatures/Skeletal Wyvern#4.png b/dist/images/creatures/Skeletal Wyvern#4.png
new file mode 100644 (file)
index 0000000..bef95a3
Binary files /dev/null and b/dist/images/creatures/Skeletal Wyvern#4.png differ
diff --git a/dist/images/creatures/Skeletal hand#Default.png b/dist/images/creatures/Skeletal hand#Default.png
new file mode 100644 (file)
index 0000000..f0a8a9d
Binary files /dev/null and b/dist/images/creatures/Skeletal hand#Default.png differ
diff --git a/dist/images/creatures/Skeletal miner#Default.png b/dist/images/creatures/Skeletal miner#Default.png
new file mode 100644 (file)
index 0000000..9407fb3
Binary files /dev/null and b/dist/images/creatures/Skeletal miner#Default.png differ
diff --git a/dist/images/creatures/Skeleton (Ape Atoll)#Default.png b/dist/images/creatures/Skeleton (Ape Atoll)#Default.png
new file mode 100644 (file)
index 0000000..3a1d323
Binary files /dev/null and b/dist/images/creatures/Skeleton (Ape Atoll)#Default.png differ
diff --git a/dist/images/creatures/Skeleton (Barrows)#86.png b/dist/images/creatures/Skeleton (Barrows)#86.png
new file mode 100644 (file)
index 0000000..5daac32
Binary files /dev/null and b/dist/images/creatures/Skeleton (Barrows)#86.png differ
diff --git a/dist/images/creatures/Skeleton (Barrows)#88.png b/dist/images/creatures/Skeleton (Barrows)#88.png
new file mode 100644 (file)
index 0000000..4851c28
Binary files /dev/null and b/dist/images/creatures/Skeleton (Barrows)#88.png differ
diff --git a/dist/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png b/dist/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png
new file mode 100644 (file)
index 0000000..2c3f678
Binary files /dev/null and b/dist/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png differ
diff --git a/dist/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png b/dist/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png
new file mode 100644 (file)
index 0000000..47b2b1d
Binary files /dev/null and b/dist/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png differ
diff --git a/dist/images/creatures/Skeleton (Heart of Gielinor)#Default.png b/dist/images/creatures/Skeleton (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..4b37510
Binary files /dev/null and b/dist/images/creatures/Skeleton (Heart of Gielinor)#Default.png differ
diff --git a/dist/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png b/dist/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png
new file mode 100644 (file)
index 0000000..19c22fe
Binary files /dev/null and b/dist/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png differ
diff --git a/dist/images/creatures/Skeleton (Tarn's Lair)#1.png b/dist/images/creatures/Skeleton (Tarn's Lair)#1.png
new file mode 100644 (file)
index 0000000..b585269
Binary files /dev/null and b/dist/images/creatures/Skeleton (Tarn's Lair)#1.png differ
diff --git a/dist/images/creatures/Skeleton (Tarn's Lair)#2.png b/dist/images/creatures/Skeleton (Tarn's Lair)#2.png
new file mode 100644 (file)
index 0000000..a320236
Binary files /dev/null and b/dist/images/creatures/Skeleton (Tarn's Lair)#2.png differ
diff --git a/dist/images/creatures/Skeleton (Tarn's Lair)#8.png b/dist/images/creatures/Skeleton (Tarn's Lair)#8.png
new file mode 100644 (file)
index 0000000..d7af462
Binary files /dev/null and b/dist/images/creatures/Skeleton (Tarn's Lair)#8.png differ
diff --git a/dist/images/creatures/Skeleton (Temple Trekking)#18.png b/dist/images/creatures/Skeleton (Temple Trekking)#18.png
new file mode 100644 (file)
index 0000000..1e04acd
Binary files /dev/null and b/dist/images/creatures/Skeleton (Temple Trekking)#18.png differ
diff --git a/dist/images/creatures/Skeleton (Temple Trekking)#Helmet.png b/dist/images/creatures/Skeleton (Temple Trekking)#Helmet.png
new file mode 100644 (file)
index 0000000..61de178
Binary files /dev/null and b/dist/images/creatures/Skeleton (Temple Trekking)#Helmet.png differ
diff --git a/dist/images/creatures/Skeleton (Temple Trekking)#No helmet.png b/dist/images/creatures/Skeleton (Temple Trekking)#No helmet.png
new file mode 100644 (file)
index 0000000..a5ac528
Binary files /dev/null and b/dist/images/creatures/Skeleton (Temple Trekking)#No helmet.png differ
diff --git a/dist/images/creatures/Skeleton (Ullek)#Axe.png b/dist/images/creatures/Skeleton (Ullek)#Axe.png
new file mode 100644 (file)
index 0000000..5bb9d71
Binary files /dev/null and b/dist/images/creatures/Skeleton (Ullek)#Axe.png differ
diff --git a/dist/images/creatures/Skeleton (Ullek)#Mace.png b/dist/images/creatures/Skeleton (Ullek)#Mace.png
new file mode 100644 (file)
index 0000000..c361019
Binary files /dev/null and b/dist/images/creatures/Skeleton (Ullek)#Mace.png differ
diff --git a/dist/images/creatures/Skeleton (Ullek)#Round shield.png b/dist/images/creatures/Skeleton (Ullek)#Round shield.png
new file mode 100644 (file)
index 0000000..2a10826
Binary files /dev/null and b/dist/images/creatures/Skeleton (Ullek)#Round shield.png differ
diff --git a/dist/images/creatures/Skeleton (Ullek)#Square shield.png b/dist/images/creatures/Skeleton (Ullek)#Square shield.png
new file mode 100644 (file)
index 0000000..36acbd4
Binary files /dev/null and b/dist/images/creatures/Skeleton (Ullek)#Square shield.png differ
diff --git a/dist/images/creatures/Skeleton (Ullek)#Warhammer.png b/dist/images/creatures/Skeleton (Ullek)#Warhammer.png
new file mode 100644 (file)
index 0000000..9d68608
Binary files /dev/null and b/dist/images/creatures/Skeleton (Ullek)#Warhammer.png differ
diff --git a/dist/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png b/dist/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png
new file mode 100644 (file)
index 0000000..956ef9f
Binary files /dev/null and b/dist/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png differ
diff --git a/dist/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png b/dist/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png
new file mode 100644 (file)
index 0000000..64521d4
Binary files /dev/null and b/dist/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png differ
diff --git a/dist/images/creatures/Skeleton (Uncharted Isles)#Ranged.png b/dist/images/creatures/Skeleton (Uncharted Isles)#Ranged.png
new file mode 100644 (file)
index 0000000..f53a5f1
Binary files /dev/null and b/dist/images/creatures/Skeleton (Uncharted Isles)#Ranged.png differ
diff --git a/dist/images/creatures/Skeleton Archer#Normal mode.png b/dist/images/creatures/Skeleton Archer#Normal mode.png
new file mode 100644 (file)
index 0000000..b6eca66
Binary files /dev/null and b/dist/images/creatures/Skeleton Archer#Normal mode.png differ
diff --git a/dist/images/creatures/Skeleton Archer#Story mode.png b/dist/images/creatures/Skeleton Archer#Story mode.png
new file mode 100644 (file)
index 0000000..569eda6
Binary files /dev/null and b/dist/images/creatures/Skeleton Archer#Story mode.png differ
diff --git a/dist/images/creatures/Skeleton Mage#Level 19.png b/dist/images/creatures/Skeleton Mage#Level 19.png
new file mode 100644 (file)
index 0000000..b585269
Binary files /dev/null and b/dist/images/creatures/Skeleton Mage#Level 19.png differ
diff --git a/dist/images/creatures/Skeleton Mage#Level 49.png b/dist/images/creatures/Skeleton Mage#Level 49.png
new file mode 100644 (file)
index 0000000..b585269
Binary files /dev/null and b/dist/images/creatures/Skeleton Mage#Level 49.png differ
diff --git a/dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png b/dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..c08b3ad
Binary files /dev/null and b/dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png differ
diff --git a/dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png b/dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..c08b3ad
Binary files /dev/null and b/dist/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png differ
diff --git a/dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png b/dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..5a19d12
Binary files /dev/null and b/dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png differ
diff --git a/dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png b/dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..8fe9759
Binary files /dev/null and b/dist/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png differ
diff --git a/dist/images/creatures/Skeleton brute#Default.png b/dist/images/creatures/Skeleton brute#Default.png
new file mode 100644 (file)
index 0000000..7df9d34
Binary files /dev/null and b/dist/images/creatures/Skeleton brute#Default.png differ
diff --git a/dist/images/creatures/Skeleton fremennik#Level 23.png b/dist/images/creatures/Skeleton fremennik#Level 23.png
new file mode 100644 (file)
index 0000000..1648cf6
Binary files /dev/null and b/dist/images/creatures/Skeleton fremennik#Level 23.png differ
diff --git a/dist/images/creatures/Skeleton fremennik#Level 28.png b/dist/images/creatures/Skeleton fremennik#Level 28.png
new file mode 100644 (file)
index 0000000..1648cf6
Binary files /dev/null and b/dist/images/creatures/Skeleton fremennik#Level 28.png differ
diff --git a/dist/images/creatures/Skeleton fremennik#Level 30.png b/dist/images/creatures/Skeleton fremennik#Level 30.png
new file mode 100644 (file)
index 0000000..1648cf6
Binary files /dev/null and b/dist/images/creatures/Skeleton fremennik#Level 30.png differ
diff --git a/dist/images/creatures/Skeleton heavy#Default.png b/dist/images/creatures/Skeleton heavy#Default.png
new file mode 100644 (file)
index 0000000..c9558bb
Binary files /dev/null and b/dist/images/creatures/Skeleton heavy#Default.png differ
diff --git a/dist/images/creatures/Skeleton hero#Default.png b/dist/images/creatures/Skeleton hero#Default.png
new file mode 100644 (file)
index 0000000..1f9c8ce
Binary files /dev/null and b/dist/images/creatures/Skeleton hero#Default.png differ
diff --git a/dist/images/creatures/Skeleton knight#Ancient Awakening.png b/dist/images/creatures/Skeleton knight#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..65c8648
Binary files /dev/null and b/dist/images/creatures/Skeleton knight#Ancient Awakening.png differ
diff --git a/dist/images/creatures/Skeleton knight#Ungael combat activity (hard).png b/dist/images/creatures/Skeleton knight#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..65c8648
Binary files /dev/null and b/dist/images/creatures/Skeleton knight#Ungael combat activity (hard).png differ
diff --git a/dist/images/creatures/Skeleton knight#Ungael combat activity (standard).png b/dist/images/creatures/Skeleton knight#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..65c8648
Binary files /dev/null and b/dist/images/creatures/Skeleton knight#Ungael combat activity (standard).png differ
diff --git a/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png b/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..f2ad3a0
Binary files /dev/null and b/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png differ
diff --git a/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png b/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..f2ad3a0
Binary files /dev/null and b/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png differ
diff --git a/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png b/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..f2ad3a0
Binary files /dev/null and b/dist/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png differ
diff --git a/dist/images/creatures/Skeleton thug#Default.png b/dist/images/creatures/Skeleton thug#Default.png
new file mode 100644 (file)
index 0000000..27d1817
Binary files /dev/null and b/dist/images/creatures/Skeleton thug#Default.png differ
diff --git a/dist/images/creatures/Skeleton warlord#Default.png b/dist/images/creatures/Skeleton warlord#Default.png
new file mode 100644 (file)
index 0000000..0dfbf69
Binary files /dev/null and b/dist/images/creatures/Skeleton warlord#Default.png differ
diff --git a/dist/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png b/dist/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png
new file mode 100644 (file)
index 0000000..cf5e798
Binary files /dev/null and b/dist/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png differ
diff --git a/dist/images/creatures/Skeleton#Level 15.png b/dist/images/creatures/Skeleton#Level 15.png
new file mode 100644 (file)
index 0000000..835db36
Binary files /dev/null and b/dist/images/creatures/Skeleton#Level 15.png differ
diff --git a/dist/images/creatures/Skeleton#Level 16.png b/dist/images/creatures/Skeleton#Level 16.png
new file mode 100644 (file)
index 0000000..5b19b37
Binary files /dev/null and b/dist/images/creatures/Skeleton#Level 16.png differ
diff --git a/dist/images/creatures/Skeleton#Level 32.png b/dist/images/creatures/Skeleton#Level 32.png
new file mode 100644 (file)
index 0000000..a06d8bf
Binary files /dev/null and b/dist/images/creatures/Skeleton#Level 32.png differ
diff --git a/dist/images/creatures/Skeleton#Level 46.png b/dist/images/creatures/Skeleton#Level 46.png
new file mode 100644 (file)
index 0000000..36d1992
Binary files /dev/null and b/dist/images/creatures/Skeleton#Level 46.png differ
diff --git a/dist/images/creatures/Skeleton#Level 51.png b/dist/images/creatures/Skeleton#Level 51.png
new file mode 100644 (file)
index 0000000..1a4c652
Binary files /dev/null and b/dist/images/creatures/Skeleton#Level 51.png differ
diff --git a/dist/images/creatures/Skeleton#Level 58.png b/dist/images/creatures/Skeleton#Level 58.png
new file mode 100644 (file)
index 0000000..d75c2fa
Binary files /dev/null and b/dist/images/creatures/Skeleton#Level 58.png differ
diff --git a/dist/images/creatures/Skoblin#Default.png b/dist/images/creatures/Skoblin#Default.png
new file mode 100644 (file)
index 0000000..ae08ccb
Binary files /dev/null and b/dist/images/creatures/Skoblin#Default.png differ
diff --git a/dist/images/creatures/Skogre#1.png b/dist/images/creatures/Skogre#1.png
new file mode 100644 (file)
index 0000000..d2dca13
Binary files /dev/null and b/dist/images/creatures/Skogre#1.png differ
diff --git a/dist/images/creatures/Skogre#2.png b/dist/images/creatures/Skogre#2.png
new file mode 100644 (file)
index 0000000..d2dca13
Binary files /dev/null and b/dist/images/creatures/Skogre#2.png differ
diff --git a/dist/images/creatures/Skogre#3.png b/dist/images/creatures/Skogre#3.png
new file mode 100644 (file)
index 0000000..d2dca13
Binary files /dev/null and b/dist/images/creatures/Skogre#3.png differ
diff --git a/dist/images/creatures/Slasher Demon#Default.png b/dist/images/creatures/Slasher Demon#Default.png
new file mode 100644 (file)
index 0000000..2d3e248
Binary files /dev/null and b/dist/images/creatures/Slasher Demon#Default.png differ
diff --git a/dist/images/creatures/Small Lizard#Green.png b/dist/images/creatures/Small Lizard#Green.png
new file mode 100644 (file)
index 0000000..963d4ee
Binary files /dev/null and b/dist/images/creatures/Small Lizard#Green.png differ
diff --git a/dist/images/creatures/Small Lizard#Yellow.png b/dist/images/creatures/Small Lizard#Yellow.png
new file mode 100644 (file)
index 0000000..70b5b54
Binary files /dev/null and b/dist/images/creatures/Small Lizard#Yellow.png differ
diff --git a/dist/images/creatures/Small scarab#Do No Evil.png b/dist/images/creatures/Small scarab#Do No Evil.png
new file mode 100644 (file)
index 0000000..0583c1b
Binary files /dev/null and b/dist/images/creatures/Small scarab#Do No Evil.png differ
diff --git a/dist/images/creatures/Small scarab#Uzer Mastaba.png b/dist/images/creatures/Small scarab#Uzer Mastaba.png
new file mode 100644 (file)
index 0000000..ad9064e
Binary files /dev/null and b/dist/images/creatures/Small scarab#Uzer Mastaba.png differ
diff --git a/dist/images/creatures/Small scarab#Zombie (1).png b/dist/images/creatures/Small scarab#Zombie (1).png
new file mode 100644 (file)
index 0000000..5c6ab9f
Binary files /dev/null and b/dist/images/creatures/Small scarab#Zombie (1).png differ
diff --git a/dist/images/creatures/Small scarab#Zombie (2).png b/dist/images/creatures/Small scarab#Zombie (2).png
new file mode 100644 (file)
index 0000000..d5baa3e
Binary files /dev/null and b/dist/images/creatures/Small scarab#Zombie (2).png differ
diff --git a/dist/images/creatures/Small scarab#Zombie (3).png b/dist/images/creatures/Small scarab#Zombie (3).png
new file mode 100644 (file)
index 0000000..a4f0de3
Binary files /dev/null and b/dist/images/creatures/Small scarab#Zombie (3).png differ
diff --git a/dist/images/creatures/Smoke nihil#boss.png b/dist/images/creatures/Smoke nihil#boss.png
new file mode 100644 (file)
index 0000000..e4622da
Binary files /dev/null and b/dist/images/creatures/Smoke nihil#boss.png differ
diff --git a/dist/images/creatures/Smoke nihil#normal.png b/dist/images/creatures/Smoke nihil#normal.png
new file mode 100644 (file)
index 0000000..e4622da
Binary files /dev/null and b/dist/images/creatures/Smoke nihil#normal.png differ
diff --git a/dist/images/creatures/Smoulders#Default.png b/dist/images/creatures/Smoulders#Default.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/dist/images/creatures/Smoulders#Default.png differ
diff --git a/dist/images/creatures/Smoulders, the Revenger#Default.png b/dist/images/creatures/Smoulders, the Revenger#Default.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/dist/images/creatures/Smoulders, the Revenger#Default.png differ
diff --git a/dist/images/creatures/Solak#Left arm.png b/dist/images/creatures/Solak#Left arm.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/dist/images/creatures/Solak#Left arm.png differ
diff --git a/dist/images/creatures/Solak#Left leg.png b/dist/images/creatures/Solak#Left leg.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/dist/images/creatures/Solak#Left leg.png differ
diff --git a/dist/images/creatures/Solak#Right arm.png b/dist/images/creatures/Solak#Right arm.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/dist/images/creatures/Solak#Right arm.png differ
diff --git a/dist/images/creatures/Solak#Right leg.png b/dist/images/creatures/Solak#Right leg.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/dist/images/creatures/Solak#Right leg.png differ
diff --git a/dist/images/creatures/Solak#Solak.png b/dist/images/creatures/Solak#Solak.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/dist/images/creatures/Solak#Solak.png differ
diff --git a/dist/images/creatures/Solak#Withering.png b/dist/images/creatures/Solak#Withering.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/dist/images/creatures/Solak#Withering.png differ
diff --git a/dist/images/creatures/Soulgazer (elite)#Default.png b/dist/images/creatures/Soulgazer (elite)#Default.png
new file mode 100644 (file)
index 0000000..0a7fe08
Binary files /dev/null and b/dist/images/creatures/Soulgazer (elite)#Default.png differ
diff --git a/dist/images/creatures/Soulgazer#Default.png b/dist/images/creatures/Soulgazer#Default.png
new file mode 100644 (file)
index 0000000..0a7fe08
Binary files /dev/null and b/dist/images/creatures/Soulgazer#Default.png differ
diff --git a/dist/images/creatures/Soulless armoured zombie#Default.png b/dist/images/creatures/Soulless armoured zombie#Default.png
new file mode 100644 (file)
index 0000000..fcc0b40
Binary files /dev/null and b/dist/images/creatures/Soulless armoured zombie#Default.png differ
diff --git a/dist/images/creatures/Soulless unarmoured zombie#Default.png b/dist/images/creatures/Soulless unarmoured zombie#Default.png
new file mode 100644 (file)
index 0000000..fcc0b40
Binary files /dev/null and b/dist/images/creatures/Soulless unarmoured zombie#Default.png differ
diff --git a/dist/images/creatures/Spider#Ape Atoll.png b/dist/images/creatures/Spider#Ape Atoll.png
new file mode 100644 (file)
index 0000000..f44e18a
Binary files /dev/null and b/dist/images/creatures/Spider#Ape Atoll.png differ
diff --git a/dist/images/creatures/Spider#Common.png b/dist/images/creatures/Spider#Common.png
new file mode 100644 (file)
index 0000000..ea6a406
Binary files /dev/null and b/dist/images/creatures/Spider#Common.png differ
diff --git a/dist/images/creatures/Spider#Stronghold of Security.png b/dist/images/creatures/Spider#Stronghold of Security.png
new file mode 100644 (file)
index 0000000..be650ef
Binary files /dev/null and b/dist/images/creatures/Spider#Stronghold of Security.png differ
diff --git a/dist/images/creatures/Spider#Underground Pass.png b/dist/images/creatures/Spider#Underground Pass.png
new file mode 100644 (file)
index 0000000..be650ef
Binary files /dev/null and b/dist/images/creatures/Spider#Underground Pass.png differ
diff --git a/dist/images/creatures/Spiritual mage#Armadyl.png b/dist/images/creatures/Spiritual mage#Armadyl.png
new file mode 100644 (file)
index 0000000..22e9413
Binary files /dev/null and b/dist/images/creatures/Spiritual mage#Armadyl.png differ
diff --git a/dist/images/creatures/Spiritual mage#Bandos.png b/dist/images/creatures/Spiritual mage#Bandos.png
new file mode 100644 (file)
index 0000000..bb800f4
Binary files /dev/null and b/dist/images/creatures/Spiritual mage#Bandos.png differ
diff --git a/dist/images/creatures/Spiritual mage#Saradomin.png b/dist/images/creatures/Spiritual mage#Saradomin.png
new file mode 100644 (file)
index 0000000..2ad148d
Binary files /dev/null and b/dist/images/creatures/Spiritual mage#Saradomin.png differ
diff --git a/dist/images/creatures/Spiritual mage#The World Wakes.png b/dist/images/creatures/Spiritual mage#The World Wakes.png
new file mode 100644 (file)
index 0000000..2ad148d
Binary files /dev/null and b/dist/images/creatures/Spiritual mage#The World Wakes.png differ
diff --git a/dist/images/creatures/Spiritual mage#Zamorak.png b/dist/images/creatures/Spiritual mage#Zamorak.png
new file mode 100644 (file)
index 0000000..8df06f2
Binary files /dev/null and b/dist/images/creatures/Spiritual mage#Zamorak.png differ
diff --git a/dist/images/creatures/Spiritual ranger#Armadyl.png b/dist/images/creatures/Spiritual ranger#Armadyl.png
new file mode 100644 (file)
index 0000000..49c575e
Binary files /dev/null and b/dist/images/creatures/Spiritual ranger#Armadyl.png differ
diff --git a/dist/images/creatures/Spiritual ranger#Bandos.png b/dist/images/creatures/Spiritual ranger#Bandos.png
new file mode 100644 (file)
index 0000000..365e69d
Binary files /dev/null and b/dist/images/creatures/Spiritual ranger#Bandos.png differ
diff --git a/dist/images/creatures/Spiritual ranger#Saradomin.png b/dist/images/creatures/Spiritual ranger#Saradomin.png
new file mode 100644 (file)
index 0000000..0bd03b5
Binary files /dev/null and b/dist/images/creatures/Spiritual ranger#Saradomin.png differ
diff --git a/dist/images/creatures/Spiritual ranger#The World Wakes.png b/dist/images/creatures/Spiritual ranger#The World Wakes.png
new file mode 100644 (file)
index 0000000..0bd03b5
Binary files /dev/null and b/dist/images/creatures/Spiritual ranger#The World Wakes.png differ
diff --git a/dist/images/creatures/Spiritual ranger#Zamorak.png b/dist/images/creatures/Spiritual ranger#Zamorak.png
new file mode 100644 (file)
index 0000000..042b315
Binary files /dev/null and b/dist/images/creatures/Spiritual ranger#Zamorak.png differ
diff --git a/dist/images/creatures/Spiritual warrior#Armadyl.png b/dist/images/creatures/Spiritual warrior#Armadyl.png
new file mode 100644 (file)
index 0000000..d79e1c7
Binary files /dev/null and b/dist/images/creatures/Spiritual warrior#Armadyl.png differ
diff --git a/dist/images/creatures/Spiritual warrior#Bandos.png b/dist/images/creatures/Spiritual warrior#Bandos.png
new file mode 100644 (file)
index 0000000..1e957f9
Binary files /dev/null and b/dist/images/creatures/Spiritual warrior#Bandos.png differ
diff --git a/dist/images/creatures/Spiritual warrior#Saradomin.png b/dist/images/creatures/Spiritual warrior#Saradomin.png
new file mode 100644 (file)
index 0000000..2536b63
Binary files /dev/null and b/dist/images/creatures/Spiritual warrior#Saradomin.png differ
diff --git a/dist/images/creatures/Spiritual warrior#The World Wakes.png b/dist/images/creatures/Spiritual warrior#The World Wakes.png
new file mode 100644 (file)
index 0000000..2536b63
Binary files /dev/null and b/dist/images/creatures/Spiritual warrior#The World Wakes.png differ
diff --git a/dist/images/creatures/Spiritual warrior#Zamorak.png b/dist/images/creatures/Spiritual warrior#Zamorak.png
new file mode 100644 (file)
index 0000000..b5ca763
Binary files /dev/null and b/dist/images/creatures/Spiritual warrior#Zamorak.png differ
diff --git a/dist/images/creatures/Spyndra#Normal mode.png b/dist/images/creatures/Spyndra#Normal mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/dist/images/creatures/Spyndra#Normal mode.png differ
diff --git a/dist/images/creatures/Spyndra#Story mode.png b/dist/images/creatures/Spyndra#Story mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/dist/images/creatures/Spyndra#Story mode.png differ
diff --git a/dist/images/creatures/Steel dragon#Default.png b/dist/images/creatures/Steel dragon#Default.png
new file mode 100644 (file)
index 0000000..b697fd5
Binary files /dev/null and b/dist/images/creatures/Steel dragon#Default.png differ
diff --git a/dist/images/creatures/Stick#Default.png b/dist/images/creatures/Stick#Default.png
new file mode 100644 (file)
index 0000000..4f5e5d8
Binary files /dev/null and b/dist/images/creatures/Stick#Default.png differ
diff --git a/dist/images/creatures/Stinkears#Default.png b/dist/images/creatures/Stinkears#Default.png
new file mode 100644 (file)
index 0000000..36b11ab
Binary files /dev/null and b/dist/images/creatures/Stinkears#Default.png differ
diff --git a/dist/images/creatures/Stove#Default.png b/dist/images/creatures/Stove#Default.png
new file mode 100644 (file)
index 0000000..6f073d4
Binary files /dev/null and b/dist/images/creatures/Stove#Default.png differ
diff --git a/dist/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png b/dist/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/dist/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png differ
diff --git a/dist/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png b/dist/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/dist/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png differ
diff --git a/dist/images/creatures/Summoned Zombie#Default.png b/dist/images/creatures/Summoned Zombie#Default.png
new file mode 100644 (file)
index 0000000..1b2c1ed
Binary files /dev/null and b/dist/images/creatures/Summoned Zombie#Default.png differ
diff --git a/dist/images/creatures/Summoned armoured zombie#Normal mode.png b/dist/images/creatures/Summoned armoured zombie#Normal mode.png
new file mode 100644 (file)
index 0000000..8374d31
Binary files /dev/null and b/dist/images/creatures/Summoned armoured zombie#Normal mode.png differ
diff --git a/dist/images/creatures/Summoned armoured zombie#Story mode.png b/dist/images/creatures/Summoned armoured zombie#Story mode.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/dist/images/creatures/Summoned armoured zombie#Story mode.png differ
diff --git a/dist/images/creatures/Summoned skeleton archer#Normal mode.png b/dist/images/creatures/Summoned skeleton archer#Normal mode.png
new file mode 100644 (file)
index 0000000..ec1baa0
Binary files /dev/null and b/dist/images/creatures/Summoned skeleton archer#Normal mode.png differ
diff --git a/dist/images/creatures/Summoned skeleton archer#Story mode.png b/dist/images/creatures/Summoned skeleton archer#Story mode.png
new file mode 100644 (file)
index 0000000..ec1baa0
Binary files /dev/null and b/dist/images/creatures/Summoned skeleton archer#Story mode.png differ
diff --git a/dist/images/creatures/Summoned skeleton#Normal mode.png b/dist/images/creatures/Summoned skeleton#Normal mode.png
new file mode 100644 (file)
index 0000000..51df0ec
Binary files /dev/null and b/dist/images/creatures/Summoned skeleton#Normal mode.png differ
diff --git a/dist/images/creatures/Summoned skeleton#Story mode.png b/dist/images/creatures/Summoned skeleton#Story mode.png
new file mode 100644 (file)
index 0000000..51df0ec
Binary files /dev/null and b/dist/images/creatures/Summoned skeleton#Story mode.png differ
diff --git a/dist/images/creatures/Super Cow#Default.png b/dist/images/creatures/Super Cow#Default.png
new file mode 100644 (file)
index 0000000..d7c1d2b
Binary files /dev/null and b/dist/images/creatures/Super Cow#Default.png differ
diff --git a/dist/images/creatures/Suqah#Level 73 (Dual wielding swords).png b/dist/images/creatures/Suqah#Level 73 (Dual wielding swords).png
new file mode 100644 (file)
index 0000000..f946cdc
Binary files /dev/null and b/dist/images/creatures/Suqah#Level 73 (Dual wielding swords).png differ
diff --git a/dist/images/creatures/Suqah#Level 74 (Magic).png b/dist/images/creatures/Suqah#Level 74 (Magic).png
new file mode 100644 (file)
index 0000000..58890b3
Binary files /dev/null and b/dist/images/creatures/Suqah#Level 74 (Magic).png differ
diff --git a/dist/images/creatures/Suqah#Level 74.png b/dist/images/creatures/Suqah#Level 74.png
new file mode 100644 (file)
index 0000000..58890b3
Binary files /dev/null and b/dist/images/creatures/Suqah#Level 74.png differ
diff --git a/dist/images/creatures/Suqah#Level 79.png b/dist/images/creatures/Suqah#Level 79.png
new file mode 100644 (file)
index 0000000..58890b3
Binary files /dev/null and b/dist/images/creatures/Suqah#Level 79.png differ
diff --git a/dist/images/creatures/Swamp frog#Default.png b/dist/images/creatures/Swamp frog#Default.png
new file mode 100644 (file)
index 0000000..5054b8b
Binary files /dev/null and b/dist/images/creatures/Swamp frog#Default.png differ
diff --git a/dist/images/creatures/Taraket the Necromancer#Normal mode.png b/dist/images/creatures/Taraket the Necromancer#Normal mode.png
new file mode 100644 (file)
index 0000000..bf20f57
Binary files /dev/null and b/dist/images/creatures/Taraket the Necromancer#Normal mode.png differ
diff --git a/dist/images/creatures/Taraket the Necromancer#Story mode.png b/dist/images/creatures/Taraket the Necromancer#Story mode.png
new file mode 100644 (file)
index 0000000..bf20f57
Binary files /dev/null and b/dist/images/creatures/Taraket the Necromancer#Story mode.png differ
diff --git a/dist/images/creatures/Telos, the Warden#Dormant.png b/dist/images/creatures/Telos, the Warden#Dormant.png
new file mode 100644 (file)
index 0000000..b44dffc
Binary files /dev/null and b/dist/images/creatures/Telos, the Warden#Dormant.png differ
diff --git a/dist/images/creatures/Telos, the Warden#Phase 5.png b/dist/images/creatures/Telos, the Warden#Phase 5.png
new file mode 100644 (file)
index 0000000..f85f55d
Binary files /dev/null and b/dist/images/creatures/Telos, the Warden#Phase 5.png differ
diff --git a/dist/images/creatures/Telos, the Warden#Standard.png b/dist/images/creatures/Telos, the Warden#Standard.png
new file mode 100644 (file)
index 0000000..6ef2ba6
Binary files /dev/null and b/dist/images/creatures/Telos, the Warden#Standard.png differ
diff --git a/dist/images/creatures/Tenacious toucan#Default.png b/dist/images/creatures/Tenacious toucan#Default.png
new file mode 100644 (file)
index 0000000..531785d
Binary files /dev/null and b/dist/images/creatures/Tenacious toucan#Default.png differ
diff --git a/dist/images/creatures/Terror dog#Level 61.png b/dist/images/creatures/Terror dog#Level 61.png
new file mode 100644 (file)
index 0000000..64b4982
Binary files /dev/null and b/dist/images/creatures/Terror dog#Level 61.png differ
diff --git a/dist/images/creatures/Terror dog#Level 65.png b/dist/images/creatures/Terror dog#Level 65.png
new file mode 100644 (file)
index 0000000..64b4982
Binary files /dev/null and b/dist/images/creatures/Terror dog#Level 65.png differ
diff --git a/dist/images/creatures/Terrorbird#Default.png b/dist/images/creatures/Terrorbird#Default.png
new file mode 100644 (file)
index 0000000..38b3611
Binary files /dev/null and b/dist/images/creatures/Terrorbird#Default.png differ
diff --git a/dist/images/creatures/The Ambassador#Normal mode.png b/dist/images/creatures/The Ambassador#Normal mode.png
new file mode 100644 (file)
index 0000000..019f7d0
Binary files /dev/null and b/dist/images/creatures/The Ambassador#Normal mode.png differ
diff --git a/dist/images/creatures/The Ambassador#Story mode.png b/dist/images/creatures/The Ambassador#Story mode.png
new file mode 100644 (file)
index 0000000..019f7d0
Binary files /dev/null and b/dist/images/creatures/The Ambassador#Story mode.png differ
diff --git a/dist/images/creatures/The Magister#Default.png b/dist/images/creatures/The Magister#Default.png
new file mode 100644 (file)
index 0000000..e895759
Binary files /dev/null and b/dist/images/creatures/The Magister#Default.png differ
diff --git a/dist/images/creatures/Thrower Troll#Death Plateau.png b/dist/images/creatures/Thrower Troll#Death Plateau.png
new file mode 100644 (file)
index 0000000..9145f53
Binary files /dev/null and b/dist/images/creatures/Thrower Troll#Death Plateau.png differ
diff --git a/dist/images/creatures/Thrower Troll#Trollheim.png b/dist/images/creatures/Thrower Troll#Trollheim.png
new file mode 100644 (file)
index 0000000..9145f53
Binary files /dev/null and b/dist/images/creatures/Thrower Troll#Trollheim.png differ
diff --git a/dist/images/creatures/Throwing muspah#Default.png b/dist/images/creatures/Throwing muspah#Default.png
new file mode 100644 (file)
index 0000000..99c5bfb
Binary files /dev/null and b/dist/images/creatures/Throwing muspah#Default.png differ
diff --git a/dist/images/creatures/Torag the Corrupted#Normal.png b/dist/images/creatures/Torag the Corrupted#Normal.png
new file mode 100644 (file)
index 0000000..f16bd70
Binary files /dev/null and b/dist/images/creatures/Torag the Corrupted#Normal.png differ
diff --git a/dist/images/creatures/Torag the Corrupted#Rise of the Six.png b/dist/images/creatures/Torag the Corrupted#Rise of the Six.png
new file mode 100644 (file)
index 0000000..14bfa6c
Binary files /dev/null and b/dist/images/creatures/Torag the Corrupted#Rise of the Six.png differ
diff --git a/dist/images/creatures/Tormented demon#Standard.png b/dist/images/creatures/Tormented demon#Standard.png
new file mode 100644 (file)
index 0000000..22132c2
Binary files /dev/null and b/dist/images/creatures/Tormented demon#Standard.png differ
diff --git a/dist/images/creatures/Tormented demon#While Guthix Sleeps.png b/dist/images/creatures/Tormented demon#While Guthix Sleeps.png
new file mode 100644 (file)
index 0000000..5ceb9cb
Binary files /dev/null and b/dist/images/creatures/Tormented demon#While Guthix Sleeps.png differ
diff --git a/dist/images/creatures/Tormented soul (Uncharted Isles)#Default.png b/dist/images/creatures/Tormented soul (Uncharted Isles)#Default.png
new file mode 100644 (file)
index 0000000..d9ec8ed
Binary files /dev/null and b/dist/images/creatures/Tormented soul (Uncharted Isles)#Default.png differ
diff --git a/dist/images/creatures/Tormented wraith#Default.png b/dist/images/creatures/Tormented wraith#Default.png
new file mode 100644 (file)
index 0000000..39683a0
Binary files /dev/null and b/dist/images/creatures/Tormented wraith#Default.png differ
diff --git a/dist/images/creatures/Torrential Waterfiend (summoned)#Default.png b/dist/images/creatures/Torrential Waterfiend (summoned)#Default.png
new file mode 100644 (file)
index 0000000..5572628
Binary files /dev/null and b/dist/images/creatures/Torrential Waterfiend (summoned)#Default.png differ
diff --git a/dist/images/creatures/Torrential Waterfiend#Default.png b/dist/images/creatures/Torrential Waterfiend#Default.png
new file mode 100644 (file)
index 0000000..9fff216
Binary files /dev/null and b/dist/images/creatures/Torrential Waterfiend#Default.png differ
diff --git a/dist/images/creatures/Tortured soul (Port Phasmatys)#Default.png b/dist/images/creatures/Tortured soul (Port Phasmatys)#Default.png
new file mode 100644 (file)
index 0000000..874f46c
Binary files /dev/null and b/dist/images/creatures/Tortured soul (Port Phasmatys)#Default.png differ
diff --git a/dist/images/creatures/Training dummy#Abyssal demon (magic).png b/dist/images/creatures/Training dummy#Abyssal demon (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Abyssal demon (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Abyssal demon (melee).png b/dist/images/creatures/Training dummy#Abyssal demon (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Abyssal demon (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Abyssal demon (ranged).png b/dist/images/creatures/Training dummy#Abyssal demon (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Abyssal demon (ranged).png differ
diff --git a/dist/images/creatures/Training dummy#Basilisk (magic).png b/dist/images/creatures/Training dummy#Basilisk (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Basilisk (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Basilisk (melee).png b/dist/images/creatures/Training dummy#Basilisk (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Basilisk (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Basilisk (ranged).png b/dist/images/creatures/Training dummy#Basilisk (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Basilisk (ranged).png differ
diff --git a/dist/images/creatures/Training dummy#Demon (magic).png b/dist/images/creatures/Training dummy#Demon (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Demon (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Demon (melee).png b/dist/images/creatures/Training dummy#Demon (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Demon (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Demon (ranged).png b/dist/images/creatures/Training dummy#Demon (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Demon (ranged).png differ
diff --git a/dist/images/creatures/Training dummy#Dragon (magic).png b/dist/images/creatures/Training dummy#Dragon (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Dragon (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Dragon (melee).png b/dist/images/creatures/Training dummy#Dragon (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Dragon (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Dragon (ranged).png b/dist/images/creatures/Training dummy#Dragon (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Dragon (ranged).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to arrows, medium).png b/dist/images/creatures/Training dummy#Magic (weak to arrows, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to arrows, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to arrows, strong).png b/dist/images/creatures/Training dummy#Magic (weak to arrows, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to arrows, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to arrows, weak).png b/dist/images/creatures/Training dummy#Magic (weak to arrows, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to arrows, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to bolts, medium).png b/dist/images/creatures/Training dummy#Magic (weak to bolts, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to bolts, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to bolts, strong).png b/dist/images/creatures/Training dummy#Magic (weak to bolts, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to bolts, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to bolts, weak).png b/dist/images/creatures/Training dummy#Magic (weak to bolts, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to bolts, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to nothing, medium).png b/dist/images/creatures/Training dummy#Magic (weak to nothing, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to nothing, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to nothing, strong).png b/dist/images/creatures/Training dummy#Magic (weak to nothing, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to nothing, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to nothing, weak).png b/dist/images/creatures/Training dummy#Magic (weak to nothing, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to nothing, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to thrown, medium).png b/dist/images/creatures/Training dummy#Magic (weak to thrown, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to thrown, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to thrown, strong).png b/dist/images/creatures/Training dummy#Magic (weak to thrown, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to thrown, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Magic (weak to thrown, weak).png b/dist/images/creatures/Training dummy#Magic (weak to thrown, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Magic (weak to thrown, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to air, medium).png b/dist/images/creatures/Training dummy#Melee (weak to air, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to air, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to air, strong).png b/dist/images/creatures/Training dummy#Melee (weak to air, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to air, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to air, weak).png b/dist/images/creatures/Training dummy#Melee (weak to air, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to air, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to earth, medium).png b/dist/images/creatures/Training dummy#Melee (weak to earth, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to earth, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to earth, strong).png b/dist/images/creatures/Training dummy#Melee (weak to earth, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to earth, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to earth, weak).png b/dist/images/creatures/Training dummy#Melee (weak to earth, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to earth, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to fire, medium).png b/dist/images/creatures/Training dummy#Melee (weak to fire, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to fire, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to fire, strong).png b/dist/images/creatures/Training dummy#Melee (weak to fire, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to fire, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to fire, weak).png b/dist/images/creatures/Training dummy#Melee (weak to fire, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to fire, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to nothing, medium).png b/dist/images/creatures/Training dummy#Melee (weak to nothing, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to nothing, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to nothing, strong).png b/dist/images/creatures/Training dummy#Melee (weak to nothing, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to nothing, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to nothing, weak).png b/dist/images/creatures/Training dummy#Melee (weak to nothing, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to nothing, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to water, medium).png b/dist/images/creatures/Training dummy#Melee (weak to water, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to water, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to water, strong).png b/dist/images/creatures/Training dummy#Melee (weak to water, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to water, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Melee (weak to water, weak).png b/dist/images/creatures/Training dummy#Melee (weak to water, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Melee (weak to water, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Permanent.png b/dist/images/creatures/Training dummy#Permanent.png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Permanent.png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to crush, medium).png b/dist/images/creatures/Training dummy#Ranged (weak to crush, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to crush, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to crush, strong).png b/dist/images/creatures/Training dummy#Ranged (weak to crush, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to crush, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to crush, weak).png b/dist/images/creatures/Training dummy#Ranged (weak to crush, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to crush, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to nothing, medium).png b/dist/images/creatures/Training dummy#Ranged (weak to nothing, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to nothing, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to nothing, strong).png b/dist/images/creatures/Training dummy#Ranged (weak to nothing, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to nothing, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to nothing, weak).png b/dist/images/creatures/Training dummy#Ranged (weak to nothing, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to nothing, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to slash, medium).png b/dist/images/creatures/Training dummy#Ranged (weak to slash, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to slash, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to slash, strong).png b/dist/images/creatures/Training dummy#Ranged (weak to slash, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to slash, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to slash, weak).png b/dist/images/creatures/Training dummy#Ranged (weak to slash, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to slash, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to stab, medium).png b/dist/images/creatures/Training dummy#Ranged (weak to stab, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to stab, medium).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to stab, strong).png b/dist/images/creatures/Training dummy#Ranged (weak to stab, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to stab, strong).png differ
diff --git a/dist/images/creatures/Training dummy#Ranged (weak to stab, weak).png b/dist/images/creatures/Training dummy#Ranged (weak to stab, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Ranged (weak to stab, weak).png differ
diff --git a/dist/images/creatures/Training dummy#Revenant (magic).png b/dist/images/creatures/Training dummy#Revenant (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Revenant (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Revenant (melee).png b/dist/images/creatures/Training dummy#Revenant (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Revenant (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Revenant (ranged).png b/dist/images/creatures/Training dummy#Revenant (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Revenant (ranged).png differ
diff --git a/dist/images/creatures/Training dummy#Undead (magic).png b/dist/images/creatures/Training dummy#Undead (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Undead (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Undead (melee).png b/dist/images/creatures/Training dummy#Undead (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Undead (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Undead (ranged).png b/dist/images/creatures/Training dummy#Undead (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Undead (ranged).png differ
diff --git a/dist/images/creatures/Training dummy#Wallasalki (magic).png b/dist/images/creatures/Training dummy#Wallasalki (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Wallasalki (magic).png differ
diff --git a/dist/images/creatures/Training dummy#Wallasalki (melee).png b/dist/images/creatures/Training dummy#Wallasalki (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Wallasalki (melee).png differ
diff --git a/dist/images/creatures/Training dummy#Wallasalki (ranged).png b/dist/images/creatures/Training dummy#Wallasalki (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/dist/images/creatures/Training dummy#Wallasalki (ranged).png differ
diff --git a/dist/images/creatures/Troll brute (Davendale)#Default.png b/dist/images/creatures/Troll brute (Davendale)#Default.png
new file mode 100644 (file)
index 0000000..c56d15b
Binary files /dev/null and b/dist/images/creatures/Troll brute (Davendale)#Default.png differ
diff --git a/dist/images/creatures/Troll brute#Default.png b/dist/images/creatures/Troll brute#Default.png
new file mode 100644 (file)
index 0000000..c1db093
Binary files /dev/null and b/dist/images/creatures/Troll brute#Default.png differ
diff --git a/dist/images/creatures/Troll chucker (Davendale)#Default.png b/dist/images/creatures/Troll chucker (Davendale)#Default.png
new file mode 100644 (file)
index 0000000..6494e83
Binary files /dev/null and b/dist/images/creatures/Troll chucker (Davendale)#Default.png differ
diff --git a/dist/images/creatures/Troll chucker#Default.png b/dist/images/creatures/Troll chucker#Default.png
new file mode 100644 (file)
index 0000000..c77c549
Binary files /dev/null and b/dist/images/creatures/Troll chucker#Default.png differ
diff --git a/dist/images/creatures/Troll general#Club.png b/dist/images/creatures/Troll general#Club.png
new file mode 100644 (file)
index 0000000..1f8e885
Binary files /dev/null and b/dist/images/creatures/Troll general#Club.png differ
diff --git a/dist/images/creatures/Troll general#Hammer.png b/dist/images/creatures/Troll general#Hammer.png
new file mode 100644 (file)
index 0000000..89049ef
Binary files /dev/null and b/dist/images/creatures/Troll general#Hammer.png differ
diff --git a/dist/images/creatures/Troll general#Sword.png b/dist/images/creatures/Troll general#Sword.png
new file mode 100644 (file)
index 0000000..404606e
Binary files /dev/null and b/dist/images/creatures/Troll general#Sword.png differ
diff --git a/dist/images/creatures/Troll lout#Default.png b/dist/images/creatures/Troll lout#Default.png
new file mode 100644 (file)
index 0000000..872f7b0
Binary files /dev/null and b/dist/images/creatures/Troll lout#Default.png differ
diff --git a/dist/images/creatures/Troll shaman (Davendale)#Default.png b/dist/images/creatures/Troll shaman (Davendale)#Default.png
new file mode 100644 (file)
index 0000000..f0f2997
Binary files /dev/null and b/dist/images/creatures/Troll shaman (Davendale)#Default.png differ
diff --git a/dist/images/creatures/Troll shaman#Default.png b/dist/images/creatures/Troll shaman#Default.png
new file mode 100644 (file)
index 0000000..146a547
Binary files /dev/null and b/dist/images/creatures/Troll shaman#Default.png differ
diff --git a/dist/images/creatures/Troll spectator#Default.png b/dist/images/creatures/Troll spectator#Default.png
new file mode 100644 (file)
index 0000000..d8653fa
Binary files /dev/null and b/dist/images/creatures/Troll spectator#Default.png differ
diff --git a/dist/images/creatures/Truthful shadow#Default.png b/dist/images/creatures/Truthful shadow#Default.png
new file mode 100644 (file)
index 0000000..540258b
Binary files /dev/null and b/dist/images/creatures/Truthful shadow#Default.png differ
diff --git a/dist/images/creatures/Tstanon Karlak#Default.png b/dist/images/creatures/Tstanon Karlak#Default.png
new file mode 100644 (file)
index 0000000..06fb4eb
Binary files /dev/null and b/dist/images/creatures/Tstanon Karlak#Default.png differ
diff --git a/dist/images/creatures/Turoth#60 - Large.png b/dist/images/creatures/Turoth#60 - Large.png
new file mode 100644 (file)
index 0000000..185e9cd
Binary files /dev/null and b/dist/images/creatures/Turoth#60 - Large.png differ
diff --git a/dist/images/creatures/Turoth#60 - Small.png b/dist/images/creatures/Turoth#60 - Small.png
new file mode 100644 (file)
index 0000000..f41178e
Binary files /dev/null and b/dist/images/creatures/Turoth#60 - Small.png differ
diff --git a/dist/images/creatures/Turoth#68 - Female.png b/dist/images/creatures/Turoth#68 - Female.png
new file mode 100644 (file)
index 0000000..2f2edf4
Binary files /dev/null and b/dist/images/creatures/Turoth#68 - Female.png differ
diff --git a/dist/images/creatures/Turoth#68 - Male.png b/dist/images/creatures/Turoth#68 - Male.png
new file mode 100644 (file)
index 0000000..5906714
Binary files /dev/null and b/dist/images/creatures/Turoth#68 - Male.png differ
diff --git a/dist/images/creatures/TzHaar-Hur#Level 86.png b/dist/images/creatures/TzHaar-Hur#Level 86.png
new file mode 100644 (file)
index 0000000..b4964d4
Binary files /dev/null and b/dist/images/creatures/TzHaar-Hur#Level 86.png differ
diff --git a/dist/images/creatures/TzHaar-Hur#Level 98.png b/dist/images/creatures/TzHaar-Hur#Level 98.png
new file mode 100644 (file)
index 0000000..b4964d4
Binary files /dev/null and b/dist/images/creatures/TzHaar-Hur#Level 98.png differ
diff --git a/dist/images/creatures/TzHaar-Ket#Default.png b/dist/images/creatures/TzHaar-Ket#Default.png
new file mode 100644 (file)
index 0000000..521ff05
Binary files /dev/null and b/dist/images/creatures/TzHaar-Ket#Default.png differ
diff --git a/dist/images/creatures/TzHaar-Mej#Default.png b/dist/images/creatures/TzHaar-Mej#Default.png
new file mode 100644 (file)
index 0000000..dc55057
Binary files /dev/null and b/dist/images/creatures/TzHaar-Mej#Default.png differ
diff --git a/dist/images/creatures/TzHaar-Xil#Melee.png b/dist/images/creatures/TzHaar-Xil#Melee.png
new file mode 100644 (file)
index 0000000..811c95e
Binary files /dev/null and b/dist/images/creatures/TzHaar-Xil#Melee.png differ
diff --git a/dist/images/creatures/TzHaar-Xil#Ranged.png b/dist/images/creatures/TzHaar-Xil#Ranged.png
new file mode 100644 (file)
index 0000000..811c95e
Binary files /dev/null and b/dist/images/creatures/TzHaar-Xil#Ranged.png differ
diff --git a/dist/images/creatures/TzKal-Zuk#Hard Mode.png b/dist/images/creatures/TzKal-Zuk#Hard Mode.png
new file mode 100644 (file)
index 0000000..68c5bb6
Binary files /dev/null and b/dist/images/creatures/TzKal-Zuk#Hard Mode.png differ
diff --git a/dist/images/creatures/TzKal-Zuk#Normal Mode.png b/dist/images/creatures/TzKal-Zuk#Normal Mode.png
new file mode 100644 (file)
index 0000000..68c5bb6
Binary files /dev/null and b/dist/images/creatures/TzKal-Zuk#Normal Mode.png differ
diff --git a/dist/images/creatures/TzTok-Jad#Default.png b/dist/images/creatures/TzTok-Jad#Default.png
new file mode 100644 (file)
index 0000000..ede3ebc
Binary files /dev/null and b/dist/images/creatures/TzTok-Jad#Default.png differ
diff --git a/dist/images/creatures/Ulthven Keith#Default.png b/dist/images/creatures/Ulthven Keith#Default.png
new file mode 100644 (file)
index 0000000..28bf698
Binary files /dev/null and b/dist/images/creatures/Ulthven Keith#Default.png differ
diff --git a/dist/images/creatures/Undead Witch#Normal mode.png b/dist/images/creatures/Undead Witch#Normal mode.png
new file mode 100644 (file)
index 0000000..965a080
Binary files /dev/null and b/dist/images/creatures/Undead Witch#Normal mode.png differ
diff --git a/dist/images/creatures/Undead Witch#Story mode.png b/dist/images/creatures/Undead Witch#Story mode.png
new file mode 100644 (file)
index 0000000..965a080
Binary files /dev/null and b/dist/images/creatures/Undead Witch#Story mode.png differ
diff --git a/dist/images/creatures/Undead chicken#Default.png b/dist/images/creatures/Undead chicken#Default.png
new file mode 100644 (file)
index 0000000..6206ba4
Binary files /dev/null and b/dist/images/creatures/Undead chicken#Default.png differ
diff --git a/dist/images/creatures/Undead cow#Default.png b/dist/images/creatures/Undead cow#Default.png
new file mode 100644 (file)
index 0000000..2bac17f
Binary files /dev/null and b/dist/images/creatures/Undead cow#Default.png differ
diff --git a/dist/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png b/dist/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png
new file mode 100644 (file)
index 0000000..7c5b695
Binary files /dev/null and b/dist/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png differ
diff --git a/dist/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png b/dist/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png
new file mode 100644 (file)
index 0000000..7c5b695
Binary files /dev/null and b/dist/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png differ
diff --git a/dist/images/creatures/Undead one#Skeleton (level 44).png b/dist/images/creatures/Undead one#Skeleton (level 44).png
new file mode 100644 (file)
index 0000000..be4c475
Binary files /dev/null and b/dist/images/creatures/Undead one#Skeleton (level 44).png differ
diff --git a/dist/images/creatures/Undead one#Skeleton (level 46).png b/dist/images/creatures/Undead one#Skeleton (level 46).png
new file mode 100644 (file)
index 0000000..aec16bb
Binary files /dev/null and b/dist/images/creatures/Undead one#Skeleton (level 46).png differ
diff --git a/dist/images/creatures/Undead one#Zombie (level 44).png b/dist/images/creatures/Undead one#Zombie (level 44).png
new file mode 100644 (file)
index 0000000..c069f12
Binary files /dev/null and b/dist/images/creatures/Undead one#Zombie (level 44).png differ
diff --git a/dist/images/creatures/Undead one#Zombie (level 46).png b/dist/images/creatures/Undead one#Zombie (level 46).png
new file mode 100644 (file)
index 0000000..e2dcb53
Binary files /dev/null and b/dist/images/creatures/Undead one#Zombie (level 46).png differ
diff --git a/dist/images/creatures/Undead pekin#Default.png b/dist/images/creatures/Undead pekin#Default.png
new file mode 100644 (file)
index 0000000..fb05660
Binary files /dev/null and b/dist/images/creatures/Undead pekin#Default.png differ
diff --git a/dist/images/creatures/Undead troll#Level 77.png b/dist/images/creatures/Undead troll#Level 77.png
new file mode 100644 (file)
index 0000000..ba3f5ce
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 77.png differ
diff --git a/dist/images/creatures/Undead troll#Level 81 (1).png b/dist/images/creatures/Undead troll#Level 81 (1).png
new file mode 100644 (file)
index 0000000..dd7c40d
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 81 (1).png differ
diff --git a/dist/images/creatures/Undead troll#Level 81 (2).png b/dist/images/creatures/Undead troll#Level 81 (2).png
new file mode 100644 (file)
index 0000000..bdc882f
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 81 (2).png differ
diff --git a/dist/images/creatures/Undead troll#Level 81 (3).png b/dist/images/creatures/Undead troll#Level 81 (3).png
new file mode 100644 (file)
index 0000000..ffbed19
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 81 (3).png differ
diff --git a/dist/images/creatures/Undead troll#Level 81 (4).png b/dist/images/creatures/Undead troll#Level 81 (4).png
new file mode 100644 (file)
index 0000000..6fe5b29
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 81 (4).png differ
diff --git a/dist/images/creatures/Undead troll#Level 81 (5).png b/dist/images/creatures/Undead troll#Level 81 (5).png
new file mode 100644 (file)
index 0000000..66898c6
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 81 (5).png differ
diff --git a/dist/images/creatures/Undead troll#Level 86 (1).png b/dist/images/creatures/Undead troll#Level 86 (1).png
new file mode 100644 (file)
index 0000000..166391f
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 86 (1).png differ
diff --git a/dist/images/creatures/Undead troll#Level 86 (2).png b/dist/images/creatures/Undead troll#Level 86 (2).png
new file mode 100644 (file)
index 0000000..db3a8f8
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 86 (2).png differ
diff --git a/dist/images/creatures/Undead troll#Level 86 (3).png b/dist/images/creatures/Undead troll#Level 86 (3).png
new file mode 100644 (file)
index 0000000..3570b27
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 86 (3).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (1).png b/dist/images/creatures/Undead troll#Level 95 (1).png
new file mode 100644 (file)
index 0000000..af8e88b
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (1).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (2).png b/dist/images/creatures/Undead troll#Level 95 (2).png
new file mode 100644 (file)
index 0000000..11f1b8c
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (2).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (3).png b/dist/images/creatures/Undead troll#Level 95 (3).png
new file mode 100644 (file)
index 0000000..a3d7ea5
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (3).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (4).png b/dist/images/creatures/Undead troll#Level 95 (4).png
new file mode 100644 (file)
index 0000000..f817cd9
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (4).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (5).png b/dist/images/creatures/Undead troll#Level 95 (5).png
new file mode 100644 (file)
index 0000000..7fc99c2
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (5).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (6).png b/dist/images/creatures/Undead troll#Level 95 (6).png
new file mode 100644 (file)
index 0000000..45c9caf
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (6).png differ
diff --git a/dist/images/creatures/Undead troll#Level 95 (7).png b/dist/images/creatures/Undead troll#Level 95 (7).png
new file mode 100644 (file)
index 0000000..c322ae1
Binary files /dev/null and b/dist/images/creatures/Undead troll#Level 95 (7).png differ
diff --git a/dist/images/creatures/Unspeakable horror (elite)#Default.png b/dist/images/creatures/Unspeakable horror (elite)#Default.png
new file mode 100644 (file)
index 0000000..a8da496
Binary files /dev/null and b/dist/images/creatures/Unspeakable horror (elite)#Default.png differ
diff --git a/dist/images/creatures/Unspeakable horror#Default.png b/dist/images/creatures/Unspeakable horror#Default.png
new file mode 100644 (file)
index 0000000..a8da496
Binary files /dev/null and b/dist/images/creatures/Unspeakable horror#Default.png differ
diff --git a/dist/images/creatures/Unstable glacyte#Default.png b/dist/images/creatures/Unstable glacyte#Default.png
new file mode 100644 (file)
index 0000000..5017253
Binary files /dev/null and b/dist/images/creatures/Unstable glacyte#Default.png differ
diff --git a/dist/images/creatures/Unstable zombie#Ancient Awakening.png b/dist/images/creatures/Unstable zombie#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/dist/images/creatures/Unstable zombie#Ancient Awakening.png differ
diff --git a/dist/images/creatures/Unstable zombie#Ungael combat activity (hard).png b/dist/images/creatures/Unstable zombie#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/dist/images/creatures/Unstable zombie#Ungael combat activity (hard).png differ
diff --git a/dist/images/creatures/Unstable zombie#Ungael combat activity (standard).png b/dist/images/creatures/Unstable zombie#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/dist/images/creatures/Unstable zombie#Ungael combat activity (standard).png differ
diff --git a/dist/images/creatures/Vampyre Juvenile#Burgh de Rott.png b/dist/images/creatures/Vampyre Juvenile#Burgh de Rott.png
new file mode 100644 (file)
index 0000000..3689dd7
Binary files /dev/null and b/dist/images/creatures/Vampyre Juvenile#Burgh de Rott.png differ
diff --git a/dist/images/creatures/Vampyre Juvenile#Meiyerditch.png b/dist/images/creatures/Vampyre Juvenile#Meiyerditch.png
new file mode 100644 (file)
index 0000000..4bf51af
Binary files /dev/null and b/dist/images/creatures/Vampyre Juvenile#Meiyerditch.png differ
diff --git a/dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png b/dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png differ
diff --git a/dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png b/dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/dist/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png differ
diff --git a/dist/images/creatures/Vampyre Juvinate#Darkmeyer.png b/dist/images/creatures/Vampyre Juvinate#Darkmeyer.png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/dist/images/creatures/Vampyre Juvinate#Darkmeyer.png differ
diff --git a/dist/images/creatures/Vampyre Juvinate#Meiyerditch.png b/dist/images/creatures/Vampyre Juvinate#Meiyerditch.png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/dist/images/creatures/Vampyre Juvinate#Meiyerditch.png differ
diff --git a/dist/images/creatures/Vampyre#Default.png b/dist/images/creatures/Vampyre#Default.png
new file mode 100644 (file)
index 0000000..bd19b83
Binary files /dev/null and b/dist/images/creatures/Vampyre#Default.png differ
diff --git a/dist/images/creatures/Veil-ripper Ozharakha#Default.png b/dist/images/creatures/Veil-ripper Ozharakha#Default.png
new file mode 100644 (file)
index 0000000..f16467e
Binary files /dev/null and b/dist/images/creatures/Veil-ripper Ozharakha#Default.png differ
diff --git a/dist/images/creatures/Venomous dinosaur#Dinosaur invasion.png b/dist/images/creatures/Venomous dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..52a569e
Binary files /dev/null and b/dist/images/creatures/Venomous dinosaur#Dinosaur invasion.png differ
diff --git a/dist/images/creatures/Venomous dinosaur#Normal.png b/dist/images/creatures/Venomous dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..52a569e
Binary files /dev/null and b/dist/images/creatures/Venomous dinosaur#Normal.png differ
diff --git a/dist/images/creatures/Verac the Defiled#Normal.png b/dist/images/creatures/Verac the Defiled#Normal.png
new file mode 100644 (file)
index 0000000..d6147eb
Binary files /dev/null and b/dist/images/creatures/Verac the Defiled#Normal.png differ
diff --git a/dist/images/creatures/Verac the Defiled#Rise of the Six.png b/dist/images/creatures/Verac the Defiled#Rise of the Six.png
new file mode 100644 (file)
index 0000000..3cce753
Binary files /dev/null and b/dist/images/creatures/Verac the Defiled#Rise of the Six.png differ
diff --git a/dist/images/creatures/Verak Lith#Default.png b/dist/images/creatures/Verak Lith#Default.png
new file mode 100644 (file)
index 0000000..4c6b337
Binary files /dev/null and b/dist/images/creatures/Verak Lith#Default.png differ
diff --git a/dist/images/creatures/Verak Little#Default.png b/dist/images/creatures/Verak Little#Default.png
new file mode 100644 (file)
index 0000000..6f68132
Binary files /dev/null and b/dist/images/creatures/Verak Little#Default.png differ
diff --git a/dist/images/creatures/Vindicta#Hard mode.png b/dist/images/creatures/Vindicta#Hard mode.png
new file mode 100644 (file)
index 0000000..e669391
Binary files /dev/null and b/dist/images/creatures/Vindicta#Hard mode.png differ
diff --git a/dist/images/creatures/Vindicta#Normal mode.png b/dist/images/creatures/Vindicta#Normal mode.png
new file mode 100644 (file)
index 0000000..e669391
Binary files /dev/null and b/dist/images/creatures/Vindicta#Normal mode.png differ
diff --git a/dist/images/creatures/Vinecrawler#Default.png b/dist/images/creatures/Vinecrawler#Default.png
new file mode 100644 (file)
index 0000000..bf7f3e8
Binary files /dev/null and b/dist/images/creatures/Vinecrawler#Default.png differ
diff --git a/dist/images/creatures/Vorago#Default.png b/dist/images/creatures/Vorago#Default.png
new file mode 100644 (file)
index 0000000..8eafb50
Binary files /dev/null and b/dist/images/creatures/Vorago#Default.png differ
diff --git a/dist/images/creatures/Vorkath#Hard mode.png b/dist/images/creatures/Vorkath#Hard mode.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/dist/images/creatures/Vorkath#Hard mode.png differ
diff --git a/dist/images/creatures/Vorkath#Normal mode.png b/dist/images/creatures/Vorkath#Normal mode.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/dist/images/creatures/Vorkath#Normal mode.png differ
diff --git a/dist/images/creatures/Vorkath#Requiem for a Dragon.png b/dist/images/creatures/Vorkath#Requiem for a Dragon.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/dist/images/creatures/Vorkath#Requiem for a Dragon.png differ
diff --git a/dist/images/creatures/Vorkath#Story mode.png b/dist/images/creatures/Vorkath#Story mode.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/dist/images/creatures/Vorkath#Story mode.png differ
diff --git a/dist/images/creatures/Vyrelady#1.png b/dist/images/creatures/Vyrelady#1.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/dist/images/creatures/Vyrelady#1.png differ
diff --git a/dist/images/creatures/Vyrelady#2.png b/dist/images/creatures/Vyrelady#2.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/dist/images/creatures/Vyrelady#2.png differ
diff --git a/dist/images/creatures/Vyrelady#3.png b/dist/images/creatures/Vyrelady#3.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/dist/images/creatures/Vyrelady#3.png differ
diff --git a/dist/images/creatures/Vyrelady#4.png b/dist/images/creatures/Vyrelady#4.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/dist/images/creatures/Vyrelady#4.png differ
diff --git a/dist/images/creatures/Vyrelady#5.png b/dist/images/creatures/Vyrelady#5.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/dist/images/creatures/Vyrelady#5.png differ
diff --git a/dist/images/creatures/Vyrelady#6.png b/dist/images/creatures/Vyrelady#6.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/dist/images/creatures/Vyrelady#6.png differ
diff --git a/dist/images/creatures/Vyrelord#1.png b/dist/images/creatures/Vyrelord#1.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/dist/images/creatures/Vyrelord#1.png differ
diff --git a/dist/images/creatures/Vyrelord#2.png b/dist/images/creatures/Vyrelord#2.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/dist/images/creatures/Vyrelord#2.png differ
diff --git a/dist/images/creatures/Vyrelord#3.png b/dist/images/creatures/Vyrelord#3.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/dist/images/creatures/Vyrelord#3.png differ
diff --git a/dist/images/creatures/Vyrelord#4.png b/dist/images/creatures/Vyrelord#4.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/dist/images/creatures/Vyrelord#4.png differ
diff --git a/dist/images/creatures/Vyrelord#5.png b/dist/images/creatures/Vyrelord#5.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/dist/images/creatures/Vyrelord#5.png differ
diff --git a/dist/images/creatures/Vyrelord#6.png b/dist/images/creatures/Vyrelord#6.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/dist/images/creatures/Vyrelord#6.png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png b/dist/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 70.png b/dist/images/creatures/Vyrewatch#Level 70.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 70.png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png b/dist/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 72.png b/dist/images/creatures/Vyrewatch#Level 72.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 72.png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png b/dist/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 75.png b/dist/images/creatures/Vyrewatch#Level 75.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 75.png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png b/dist/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 78.png b/dist/images/creatures/Vyrewatch#Level 78.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 78.png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 86.png b/dist/images/creatures/Vyrewatch#Level 86.png
new file mode 100644 (file)
index 0000000..56b5c12
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 86.png differ
diff --git a/dist/images/creatures/Vyrewatch#Level 91.png b/dist/images/creatures/Vyrewatch#Level 91.png
new file mode 100644 (file)
index 0000000..56b5c12
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Level 91.png differ
diff --git a/dist/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png b/dist/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png differ
diff --git a/dist/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png b/dist/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png differ
diff --git a/dist/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png b/dist/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/dist/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png differ
diff --git a/dist/images/creatures/Wall beast#Default.png b/dist/images/creatures/Wall beast#Default.png
new file mode 100644 (file)
index 0000000..deae076
Binary files /dev/null and b/dist/images/creatures/Wall beast#Default.png differ
diff --git a/dist/images/creatures/Warped bat#Default.png b/dist/images/creatures/Warped bat#Default.png
new file mode 100644 (file)
index 0000000..b955679
Binary files /dev/null and b/dist/images/creatures/Warped bat#Default.png differ
diff --git a/dist/images/creatures/Warped cockroach#Default.png b/dist/images/creatures/Warped cockroach#Default.png
new file mode 100644 (file)
index 0000000..4c39d5d
Binary files /dev/null and b/dist/images/creatures/Warped cockroach#Default.png differ
diff --git a/dist/images/creatures/Warped rat#Default.png b/dist/images/creatures/Warped rat#Default.png
new file mode 100644 (file)
index 0000000..f88c8eb
Binary files /dev/null and b/dist/images/creatures/Warped rat#Default.png differ
diff --git a/dist/images/creatures/Warped skeleton#Normal mode.png b/dist/images/creatures/Warped skeleton#Normal mode.png
new file mode 100644 (file)
index 0000000..ef2e08b
Binary files /dev/null and b/dist/images/creatures/Warped skeleton#Normal mode.png differ
diff --git a/dist/images/creatures/Warped skeleton#Story mode.png b/dist/images/creatures/Warped skeleton#Story mode.png
new file mode 100644 (file)
index 0000000..823314f
Binary files /dev/null and b/dist/images/creatures/Warped skeleton#Story mode.png differ
diff --git a/dist/images/creatures/Warped terrorbird#1 (chimed).png b/dist/images/creatures/Warped terrorbird#1 (chimed).png
new file mode 100644 (file)
index 0000000..fd3ea33
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#1 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#1.png b/dist/images/creatures/Warped terrorbird#1.png
new file mode 100644 (file)
index 0000000..c16cf3a
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#1.png differ
diff --git a/dist/images/creatures/Warped terrorbird#10 (chimed).png b/dist/images/creatures/Warped terrorbird#10 (chimed).png
new file mode 100644 (file)
index 0000000..8c385eb
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#10 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#10.png b/dist/images/creatures/Warped terrorbird#10.png
new file mode 100644 (file)
index 0000000..b8421b1
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#10.png differ
diff --git a/dist/images/creatures/Warped terrorbird#2 (chimed).png b/dist/images/creatures/Warped terrorbird#2 (chimed).png
new file mode 100644 (file)
index 0000000..573ca0b
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#2 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#2.png b/dist/images/creatures/Warped terrorbird#2.png
new file mode 100644 (file)
index 0000000..7ee382e
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#2.png differ
diff --git a/dist/images/creatures/Warped terrorbird#3 (chimed).png b/dist/images/creatures/Warped terrorbird#3 (chimed).png
new file mode 100644 (file)
index 0000000..2d9f70b
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#3 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#3.png b/dist/images/creatures/Warped terrorbird#3.png
new file mode 100644 (file)
index 0000000..3728789
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#3.png differ
diff --git a/dist/images/creatures/Warped terrorbird#4 (chimed).png b/dist/images/creatures/Warped terrorbird#4 (chimed).png
new file mode 100644 (file)
index 0000000..19bd015
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#4 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#4.png b/dist/images/creatures/Warped terrorbird#4.png
new file mode 100644 (file)
index 0000000..72c8301
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#4.png differ
diff --git a/dist/images/creatures/Warped terrorbird#5 (chimed).png b/dist/images/creatures/Warped terrorbird#5 (chimed).png
new file mode 100644 (file)
index 0000000..a2a2192
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#5 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#5.png b/dist/images/creatures/Warped terrorbird#5.png
new file mode 100644 (file)
index 0000000..181a9f5
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#5.png differ
diff --git a/dist/images/creatures/Warped terrorbird#6 (chimed).png b/dist/images/creatures/Warped terrorbird#6 (chimed).png
new file mode 100644 (file)
index 0000000..9cf1294
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#6 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#6.png b/dist/images/creatures/Warped terrorbird#6.png
new file mode 100644 (file)
index 0000000..8900e46
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#6.png differ
diff --git a/dist/images/creatures/Warped terrorbird#7 (chimed).png b/dist/images/creatures/Warped terrorbird#7 (chimed).png
new file mode 100644 (file)
index 0000000..813c887
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#7 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#7.png b/dist/images/creatures/Warped terrorbird#7.png
new file mode 100644 (file)
index 0000000..3798c3c
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#7.png differ
diff --git a/dist/images/creatures/Warped terrorbird#8 (chimed).png b/dist/images/creatures/Warped terrorbird#8 (chimed).png
new file mode 100644 (file)
index 0000000..5433465
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#8 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#8.png b/dist/images/creatures/Warped terrorbird#8.png
new file mode 100644 (file)
index 0000000..22ca145
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#8.png differ
diff --git a/dist/images/creatures/Warped terrorbird#9 (chimed).png b/dist/images/creatures/Warped terrorbird#9 (chimed).png
new file mode 100644 (file)
index 0000000..4fd501e
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#9 (chimed).png differ
diff --git a/dist/images/creatures/Warped terrorbird#9.png b/dist/images/creatures/Warped terrorbird#9.png
new file mode 100644 (file)
index 0000000..1c58a6b
Binary files /dev/null and b/dist/images/creatures/Warped terrorbird#9.png differ
diff --git a/dist/images/creatures/Warped tortoise#Immune.png b/dist/images/creatures/Warped tortoise#Immune.png
new file mode 100644 (file)
index 0000000..b1ca5b3
Binary files /dev/null and b/dist/images/creatures/Warped tortoise#Immune.png differ
diff --git a/dist/images/creatures/Warped tortoise#Vulnerable.png b/dist/images/creatures/Warped tortoise#Vulnerable.png
new file mode 100644 (file)
index 0000000..77889d5
Binary files /dev/null and b/dist/images/creatures/Warped tortoise#Vulnerable.png differ
diff --git a/dist/images/creatures/Waterfiend (Ghorrock)#102.png b/dist/images/creatures/Waterfiend (Ghorrock)#102.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/dist/images/creatures/Waterfiend (Ghorrock)#102.png differ
diff --git a/dist/images/creatures/Waterfiend (Ghorrock)#107.png b/dist/images/creatures/Waterfiend (Ghorrock)#107.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/dist/images/creatures/Waterfiend (Ghorrock)#107.png differ
diff --git a/dist/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png b/dist/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/dist/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png differ
diff --git a/dist/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png b/dist/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/dist/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png differ
diff --git a/dist/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png b/dist/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png
new file mode 100644 (file)
index 0000000..9fff216
Binary files /dev/null and b/dist/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png differ
diff --git a/dist/images/creatures/Waterfiend (elite)#Ancient Cavern.png b/dist/images/creatures/Waterfiend (elite)#Ancient Cavern.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/dist/images/creatures/Waterfiend (elite)#Ancient Cavern.png differ
diff --git a/dist/images/creatures/Waterfiend (elite)#Ghorrock.png b/dist/images/creatures/Waterfiend (elite)#Ghorrock.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/dist/images/creatures/Waterfiend (elite)#Ghorrock.png differ
diff --git a/dist/images/creatures/Waterfiend (summoned)#Default.png b/dist/images/creatures/Waterfiend (summoned)#Default.png
new file mode 100644 (file)
index 0000000..4668e88
Binary files /dev/null and b/dist/images/creatures/Waterfiend (summoned)#Default.png differ
diff --git a/dist/images/creatures/Waterfiend#Default.png b/dist/images/creatures/Waterfiend#Default.png
new file mode 100644 (file)
index 0000000..fa7e010
Binary files /dev/null and b/dist/images/creatures/Waterfiend#Default.png differ
diff --git a/dist/images/creatures/Werewolf#Alexis.png b/dist/images/creatures/Werewolf#Alexis.png
new file mode 100644 (file)
index 0000000..1bfde38
Binary files /dev/null and b/dist/images/creatures/Werewolf#Alexis.png differ
diff --git a/dist/images/creatures/Werewolf#Boris.png b/dist/images/creatures/Werewolf#Boris.png
new file mode 100644 (file)
index 0000000..d5dcd17
Binary files /dev/null and b/dist/images/creatures/Werewolf#Boris.png differ
diff --git a/dist/images/creatures/Werewolf#Eduard.png b/dist/images/creatures/Werewolf#Eduard.png
new file mode 100644 (file)
index 0000000..80239c9
Binary files /dev/null and b/dist/images/creatures/Werewolf#Eduard.png differ
diff --git a/dist/images/creatures/Werewolf#Galina.png b/dist/images/creatures/Werewolf#Galina.png
new file mode 100644 (file)
index 0000000..0ee5f6f
Binary files /dev/null and b/dist/images/creatures/Werewolf#Galina.png differ
diff --git a/dist/images/creatures/Werewolf#Georgy.png b/dist/images/creatures/Werewolf#Georgy.png
new file mode 100644 (file)
index 0000000..2567652
Binary files /dev/null and b/dist/images/creatures/Werewolf#Georgy.png differ
diff --git a/dist/images/creatures/Werewolf#God Wars Dungeon (female).png b/dist/images/creatures/Werewolf#God Wars Dungeon (female).png
new file mode 100644 (file)
index 0000000..779de01
Binary files /dev/null and b/dist/images/creatures/Werewolf#God Wars Dungeon (female).png differ
diff --git a/dist/images/creatures/Werewolf#God Wars Dungeon (male).png b/dist/images/creatures/Werewolf#God Wars Dungeon (male).png
new file mode 100644 (file)
index 0000000..3e35028
Binary files /dev/null and b/dist/images/creatures/Werewolf#God Wars Dungeon (male).png differ
diff --git a/dist/images/creatures/Werewolf#Imre.png b/dist/images/creatures/Werewolf#Imre.png
new file mode 100644 (file)
index 0000000..4884c5a
Binary files /dev/null and b/dist/images/creatures/Werewolf#Imre.png differ
diff --git a/dist/images/creatures/Werewolf#Irina.png b/dist/images/creatures/Werewolf#Irina.png
new file mode 100644 (file)
index 0000000..1a6cd97
Binary files /dev/null and b/dist/images/creatures/Werewolf#Irina.png differ
diff --git a/dist/images/creatures/Werewolf#Joseph.png b/dist/images/creatures/Werewolf#Joseph.png
new file mode 100644 (file)
index 0000000..793da70
Binary files /dev/null and b/dist/images/creatures/Werewolf#Joseph.png differ
diff --git a/dist/images/creatures/Werewolf#Ksenia.png b/dist/images/creatures/Werewolf#Ksenia.png
new file mode 100644 (file)
index 0000000..8373eaf
Binary files /dev/null and b/dist/images/creatures/Werewolf#Ksenia.png differ
diff --git a/dist/images/creatures/Werewolf#Lev.png b/dist/images/creatures/Werewolf#Lev.png
new file mode 100644 (file)
index 0000000..1df6607
Binary files /dev/null and b/dist/images/creatures/Werewolf#Lev.png differ
diff --git a/dist/images/creatures/Werewolf#Liliya.png b/dist/images/creatures/Werewolf#Liliya.png
new file mode 100644 (file)
index 0000000..8fc68bf
Binary files /dev/null and b/dist/images/creatures/Werewolf#Liliya.png differ
diff --git a/dist/images/creatures/Werewolf#Milla.png b/dist/images/creatures/Werewolf#Milla.png
new file mode 100644 (file)
index 0000000..375b31b
Binary files /dev/null and b/dist/images/creatures/Werewolf#Milla.png differ
diff --git a/dist/images/creatures/Werewolf#Nikita.png b/dist/images/creatures/Werewolf#Nikita.png
new file mode 100644 (file)
index 0000000..5a76f6b
Binary files /dev/null and b/dist/images/creatures/Werewolf#Nikita.png differ
diff --git a/dist/images/creatures/Werewolf#Nikolai.png b/dist/images/creatures/Werewolf#Nikolai.png
new file mode 100644 (file)
index 0000000..ae78e0a
Binary files /dev/null and b/dist/images/creatures/Werewolf#Nikolai.png differ
diff --git a/dist/images/creatures/Werewolf#Sofiya.png b/dist/images/creatures/Werewolf#Sofiya.png
new file mode 100644 (file)
index 0000000..c3c5df4
Binary files /dev/null and b/dist/images/creatures/Werewolf#Sofiya.png differ
diff --git a/dist/images/creatures/Werewolf#Svetlana.png b/dist/images/creatures/Werewolf#Svetlana.png
new file mode 100644 (file)
index 0000000..0775c7b
Binary files /dev/null and b/dist/images/creatures/Werewolf#Svetlana.png differ
diff --git a/dist/images/creatures/Werewolf#Vera.png b/dist/images/creatures/Werewolf#Vera.png
new file mode 100644 (file)
index 0000000..bbd61b5
Binary files /dev/null and b/dist/images/creatures/Werewolf#Vera.png differ
diff --git a/dist/images/creatures/Werewolf#Yadviga.png b/dist/images/creatures/Werewolf#Yadviga.png
new file mode 100644 (file)
index 0000000..a8cab0a
Binary files /dev/null and b/dist/images/creatures/Werewolf#Yadviga.png differ
diff --git a/dist/images/creatures/Werewolf#Yuri.png b/dist/images/creatures/Werewolf#Yuri.png
new file mode 100644 (file)
index 0000000..985c854
Binary files /dev/null and b/dist/images/creatures/Werewolf#Yuri.png differ
diff --git a/dist/images/creatures/Werewolf#Zoja.png b/dist/images/creatures/Werewolf#Zoja.png
new file mode 100644 (file)
index 0000000..b170899
Binary files /dev/null and b/dist/images/creatures/Werewolf#Zoja.png differ
diff --git a/dist/images/creatures/White wolf#Default.png b/dist/images/creatures/White wolf#Default.png
new file mode 100644 (file)
index 0000000..f4c6da2
Binary files /dev/null and b/dist/images/creatures/White wolf#Default.png differ
diff --git a/dist/images/creatures/Wight (Missing, Presumed Death)#Default.png b/dist/images/creatures/Wight (Missing, Presumed Death)#Default.png
new file mode 100644 (file)
index 0000000..1c39faa
Binary files /dev/null and b/dist/images/creatures/Wight (Missing, Presumed Death)#Default.png differ
diff --git a/dist/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png b/dist/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png
new file mode 100644 (file)
index 0000000..1df2d3a
Binary files /dev/null and b/dist/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png differ
diff --git a/dist/images/creatures/Wight ranger (Sliske's Endgame)#78.png b/dist/images/creatures/Wight ranger (Sliske's Endgame)#78.png
new file mode 100644 (file)
index 0000000..1df2d3a
Binary files /dev/null and b/dist/images/creatures/Wight ranger (Sliske's Endgame)#78.png differ
diff --git a/dist/images/creatures/Wight ranger (Sliske's Endgame)#85.png b/dist/images/creatures/Wight ranger (Sliske's Endgame)#85.png
new file mode 100644 (file)
index 0000000..1df2d3a
Binary files /dev/null and b/dist/images/creatures/Wight ranger (Sliske's Endgame)#85.png differ
diff --git a/dist/images/creatures/Wight ranger#Default.png b/dist/images/creatures/Wight ranger#Default.png
new file mode 100644 (file)
index 0000000..595f2f7
Binary files /dev/null and b/dist/images/creatures/Wight ranger#Default.png differ
diff --git a/dist/images/creatures/Wight#Default.png b/dist/images/creatures/Wight#Default.png
new file mode 100644 (file)
index 0000000..ab49025
Binary files /dev/null and b/dist/images/creatures/Wight#Default.png differ
diff --git a/dist/images/creatures/Wild dog#Default.png b/dist/images/creatures/Wild dog#Default.png
new file mode 100644 (file)
index 0000000..a36b600
Binary files /dev/null and b/dist/images/creatures/Wild dog#Default.png differ
diff --git a/dist/images/creatures/WildyWyrm (2015, historical)#Default.png b/dist/images/creatures/WildyWyrm (2015, historical)#Default.png
new file mode 100644 (file)
index 0000000..fabdb27
Binary files /dev/null and b/dist/images/creatures/WildyWyrm (2015, historical)#Default.png differ
diff --git a/dist/images/creatures/Wingman Skree#Default.png b/dist/images/creatures/Wingman Skree#Default.png
new file mode 100644 (file)
index 0000000..ec70595
Binary files /dev/null and b/dist/images/creatures/Wingman Skree#Default.png differ
diff --git a/dist/images/creatures/Wolf#Level 11 (1).png b/dist/images/creatures/Wolf#Level 11 (1).png
new file mode 100644 (file)
index 0000000..67eb414
Binary files /dev/null and b/dist/images/creatures/Wolf#Level 11 (1).png differ
diff --git a/dist/images/creatures/Wolf#Level 11 (2).png b/dist/images/creatures/Wolf#Level 11 (2).png
new file mode 100644 (file)
index 0000000..67eb414
Binary files /dev/null and b/dist/images/creatures/Wolf#Level 11 (2).png differ
diff --git a/dist/images/creatures/Wolf#Level 8 (1).png b/dist/images/creatures/Wolf#Level 8 (1).png
new file mode 100644 (file)
index 0000000..6fd684c
Binary files /dev/null and b/dist/images/creatures/Wolf#Level 8 (1).png differ
diff --git a/dist/images/creatures/Wolf#Level 8 (2).png b/dist/images/creatures/Wolf#Level 8 (2).png
new file mode 100644 (file)
index 0000000..6e87e9e
Binary files /dev/null and b/dist/images/creatures/Wolf#Level 8 (2).png differ
diff --git a/dist/images/creatures/Wyvern (elite)#Default.png b/dist/images/creatures/Wyvern (elite)#Default.png
new file mode 100644 (file)
index 0000000..60a99da
Binary files /dev/null and b/dist/images/creatures/Wyvern (elite)#Default.png differ
diff --git a/dist/images/creatures/Wyvern#Default.png b/dist/images/creatures/Wyvern#Default.png
new file mode 100644 (file)
index 0000000..60a99da
Binary files /dev/null and b/dist/images/creatures/Wyvern#Default.png differ
diff --git a/dist/images/creatures/Yor'Ger the Deceiver#Normal mode.png b/dist/images/creatures/Yor'Ger the Deceiver#Normal mode.png
new file mode 100644 (file)
index 0000000..bb63a7a
Binary files /dev/null and b/dist/images/creatures/Yor'Ger the Deceiver#Normal mode.png differ
diff --git a/dist/images/creatures/Yor'Ger the Deceiver#Story mode.png b/dist/images/creatures/Yor'Ger the Deceiver#Story mode.png
new file mode 100644 (file)
index 0000000..bb63a7a
Binary files /dev/null and b/dist/images/creatures/Yor'Ger the Deceiver#Story mode.png differ
diff --git a/dist/images/creatures/Young grotworm#Default.png b/dist/images/creatures/Young grotworm#Default.png
new file mode 100644 (file)
index 0000000..b1636e3
Binary files /dev/null and b/dist/images/creatures/Young grotworm#Default.png differ
diff --git a/dist/images/creatures/Zakl'n Gritch#Default.png b/dist/images/creatures/Zakl'n Gritch#Default.png
new file mode 100644 (file)
index 0000000..3ab51de
Binary files /dev/null and b/dist/images/creatures/Zakl'n Gritch#Default.png differ
diff --git a/dist/images/creatures/Zamorak, Lord of Chaos#Hard mode.png b/dist/images/creatures/Zamorak, Lord of Chaos#Hard mode.png
new file mode 100644 (file)
index 0000000..f16a796
Binary files /dev/null and b/dist/images/creatures/Zamorak, Lord of Chaos#Hard mode.png differ
diff --git a/dist/images/creatures/Zamorak, Lord of Chaos#Normal mode.png b/dist/images/creatures/Zamorak, Lord of Chaos#Normal mode.png
new file mode 100644 (file)
index 0000000..f16a796
Binary files /dev/null and b/dist/images/creatures/Zamorak, Lord of Chaos#Normal mode.png differ
diff --git a/dist/images/creatures/Zamorak, Lord of Chaos#Story mode.png b/dist/images/creatures/Zamorak, Lord of Chaos#Story mode.png
new file mode 100644 (file)
index 0000000..f16a796
Binary files /dev/null and b/dist/images/creatures/Zamorak, Lord of Chaos#Story mode.png differ
diff --git a/dist/images/creatures/Zemouregal#Ancient Awakening.png b/dist/images/creatures/Zemouregal#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..f3b951c
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Ancient Awakening.png differ
diff --git a/dist/images/creatures/Zemouregal#Battle of Forinthry.png b/dist/images/creatures/Zemouregal#Battle of Forinthry.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Battle of Forinthry.png differ
diff --git a/dist/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png b/dist/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png
new file mode 100644 (file)
index 0000000..299c687
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png differ
diff --git a/dist/images/creatures/Zemouregal#Children of Mah (examinable).png b/dist/images/creatures/Zemouregal#Children of Mah (examinable).png
new file mode 100644 (file)
index 0000000..65c274c
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Children of Mah (examinable).png differ
diff --git a/dist/images/creatures/Zemouregal#Children of Mah.png b/dist/images/creatures/Zemouregal#Children of Mah.png
new file mode 100644 (file)
index 0000000..7ef4ecd
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Children of Mah.png differ
diff --git a/dist/images/creatures/Zemouregal#Daughter of Chaos.png b/dist/images/creatures/Zemouregal#Daughter of Chaos.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Daughter of Chaos.png differ
diff --git a/dist/images/creatures/Zemouregal#Dead and Buried.png b/dist/images/creatures/Zemouregal#Dead and Buried.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Dead and Buried.png differ
diff --git a/dist/images/creatures/Zemouregal#Defender of Varrock (1).png b/dist/images/creatures/Zemouregal#Defender of Varrock (1).png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Defender of Varrock (1).png differ
diff --git a/dist/images/creatures/Zemouregal#Defender of Varrock (2).png b/dist/images/creatures/Zemouregal#Defender of Varrock (2).png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Defender of Varrock (2).png differ
diff --git a/dist/images/creatures/Zemouregal#Dimension of Disaster.png b/dist/images/creatures/Zemouregal#Dimension of Disaster.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Dimension of Disaster.png differ
diff --git a/dist/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png b/dist/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png differ
diff --git a/dist/images/creatures/Zemouregal#Dishonour among Thieves (lair).png b/dist/images/creatures/Zemouregal#Dishonour among Thieves (lair).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Dishonour among Thieves (lair).png differ
diff --git a/dist/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png b/dist/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png differ
diff --git a/dist/images/creatures/Zemouregal#Dishonour among Thieves.png b/dist/images/creatures/Zemouregal#Dishonour among Thieves.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Dishonour among Thieves.png differ
diff --git a/dist/images/creatures/Zemouregal#Missing, Presumed Death.png b/dist/images/creatures/Zemouregal#Missing, Presumed Death.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Missing, Presumed Death.png differ
diff --git a/dist/images/creatures/Zemouregal#Nadir.png b/dist/images/creatures/Zemouregal#Nadir.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Nadir.png differ
diff --git a/dist/images/creatures/Zemouregal#Requiem for a Dragon.png b/dist/images/creatures/Zemouregal#Requiem for a Dragon.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Requiem for a Dragon.png differ
diff --git a/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png b/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png differ
diff --git a/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png b/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png differ
diff --git a/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat.png b/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Ritual of the Mahjarrat.png differ
diff --git a/dist/images/creatures/Zemouregal#Succession (skeletal).png b/dist/images/creatures/Zemouregal#Succession (skeletal).png
new file mode 100644 (file)
index 0000000..f09cb9d
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Succession (skeletal).png differ
diff --git a/dist/images/creatures/Zemouregal#Succession.png b/dist/images/creatures/Zemouregal#Succession.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Succession.png differ
diff --git a/dist/images/creatures/Zemouregal#The World Wakes.png b/dist/images/creatures/Zemouregal#The World Wakes.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/dist/images/creatures/Zemouregal#The World Wakes.png differ
diff --git a/dist/images/creatures/Zemouregal#TzekHaar Front.png b/dist/images/creatures/Zemouregal#TzekHaar Front.png
new file mode 100644 (file)
index 0000000..04e1274
Binary files /dev/null and b/dist/images/creatures/Zemouregal#TzekHaar Front.png differ
diff --git a/dist/images/creatures/Zemouregal#Unwelcome Guests.png b/dist/images/creatures/Zemouregal#Unwelcome Guests.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/dist/images/creatures/Zemouregal#Unwelcome Guests.png differ
diff --git a/dist/images/creatures/Zogre#1.png b/dist/images/creatures/Zogre#1.png
new file mode 100644 (file)
index 0000000..8d6296f
Binary files /dev/null and b/dist/images/creatures/Zogre#1.png differ
diff --git a/dist/images/creatures/Zogre#2.png b/dist/images/creatures/Zogre#2.png
new file mode 100644 (file)
index 0000000..8502d10
Binary files /dev/null and b/dist/images/creatures/Zogre#2.png differ
diff --git a/dist/images/creatures/Zogre#3.png b/dist/images/creatures/Zogre#3.png
new file mode 100644 (file)
index 0000000..9d112c4
Binary files /dev/null and b/dist/images/creatures/Zogre#3.png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png
new file mode 100644 (file)
index 0000000..92d156d
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png
new file mode 100644 (file)
index 0000000..c5d5eef
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png
new file mode 100644 (file)
index 0000000..9f83c51
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png
new file mode 100644 (file)
index 0000000..06de319
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png
new file mode 100644 (file)
index 0000000..2ba2330
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png
new file mode 100644 (file)
index 0000000..e76e09e
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png
new file mode 100644 (file)
index 0000000..28af945
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png
new file mode 100644 (file)
index 0000000..7a96aea
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png
new file mode 100644 (file)
index 0000000..0944563
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png
new file mode 100644 (file)
index 0000000..b262592
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png
new file mode 100644 (file)
index 0000000..b303cd0
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png
new file mode 100644 (file)
index 0000000..2f34518
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png
new file mode 100644 (file)
index 0000000..f46a419
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png
new file mode 100644 (file)
index 0000000..eaf1839
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png
new file mode 100644 (file)
index 0000000..5c94a21
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png
new file mode 100644 (file)
index 0000000..9a57651
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png
new file mode 100644 (file)
index 0000000..658cc42
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png differ
diff --git a/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png
new file mode 100644 (file)
index 0000000..c25286e
Binary files /dev/null and b/dist/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png differ
diff --git a/dist/images/creatures/Zombie (New Varrock)#Default.png b/dist/images/creatures/Zombie (New Varrock)#Default.png
new file mode 100644 (file)
index 0000000..3da8c1e
Binary files /dev/null and b/dist/images/creatures/Zombie (New Varrock)#Default.png differ
diff --git a/dist/images/creatures/Zombie (Stronghold of Security)#Level 12.png b/dist/images/creatures/Zombie (Stronghold of Security)#Level 12.png
new file mode 100644 (file)
index 0000000..8169a33
Binary files /dev/null and b/dist/images/creatures/Zombie (Stronghold of Security)#Level 12.png differ
diff --git a/dist/images/creatures/Zombie (Stronghold of Security)#Level 21.png b/dist/images/creatures/Zombie (Stronghold of Security)#Level 21.png
new file mode 100644 (file)
index 0000000..ac0c282
Binary files /dev/null and b/dist/images/creatures/Zombie (Stronghold of Security)#Level 21.png differ
diff --git a/dist/images/creatures/Zombie (Temple Trekking)#Default.png b/dist/images/creatures/Zombie (Temple Trekking)#Default.png
new file mode 100644 (file)
index 0000000..da0839b
Binary files /dev/null and b/dist/images/creatures/Zombie (Temple Trekking)#Default.png differ
diff --git a/dist/images/creatures/Zombie (The Shadow Reef)#Normal mode.png b/dist/images/creatures/Zombie (The Shadow Reef)#Normal mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/dist/images/creatures/Zombie (The Shadow Reef)#Normal mode.png differ
diff --git a/dist/images/creatures/Zombie (The Shadow Reef)#Story mode.png b/dist/images/creatures/Zombie (The Shadow Reef)#Story mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/dist/images/creatures/Zombie (The Shadow Reef)#Story mode.png differ
diff --git a/dist/images/creatures/Zombie (Uncharted Isles)#Aggressive.png b/dist/images/creatures/Zombie (Uncharted Isles)#Aggressive.png
new file mode 100644 (file)
index 0000000..a324bd4
Binary files /dev/null and b/dist/images/creatures/Zombie (Uncharted Isles)#Aggressive.png differ
diff --git a/dist/images/creatures/Zombie (Uncharted Isles)#Female.png b/dist/images/creatures/Zombie (Uncharted Isles)#Female.png
new file mode 100644 (file)
index 0000000..7712fc5
Binary files /dev/null and b/dist/images/creatures/Zombie (Uncharted Isles)#Female.png differ
diff --git a/dist/images/creatures/Zombie (Uncharted Isles)#Male.png b/dist/images/creatures/Zombie (Uncharted Isles)#Male.png
new file mode 100644 (file)
index 0000000..a324bd4
Binary files /dev/null and b/dist/images/creatures/Zombie (Uncharted Isles)#Male.png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 22 (1).png b/dist/images/creatures/Zombie (Wilderness)#Level 22 (1).png
new file mode 100644 (file)
index 0000000..3a677a2
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 22 (1).png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 22 (2).png b/dist/images/creatures/Zombie (Wilderness)#Level 22 (2).png
new file mode 100644 (file)
index 0000000..ab4f2ae
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 22 (2).png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 22 (3).png b/dist/images/creatures/Zombie (Wilderness)#Level 22 (3).png
new file mode 100644 (file)
index 0000000..48d9847
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 22 (3).png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 29 (1).png b/dist/images/creatures/Zombie (Wilderness)#Level 29 (1).png
new file mode 100644 (file)
index 0000000..b630977
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 29 (1).png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 29 (2).png b/dist/images/creatures/Zombie (Wilderness)#Level 29 (2).png
new file mode 100644 (file)
index 0000000..1408a39
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 29 (2).png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 29 (3).png b/dist/images/creatures/Zombie (Wilderness)#Level 29 (3).png
new file mode 100644 (file)
index 0000000..b417efa
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 29 (3).png differ
diff --git a/dist/images/creatures/Zombie (Wilderness)#Level 29 (4).png b/dist/images/creatures/Zombie (Wilderness)#Level 29 (4).png
new file mode 100644 (file)
index 0000000..6d3556f
Binary files /dev/null and b/dist/images/creatures/Zombie (Wilderness)#Level 29 (4).png differ
diff --git a/dist/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png b/dist/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png
new file mode 100644 (file)
index 0000000..8c8d2eb
Binary files /dev/null and b/dist/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png differ
diff --git a/dist/images/creatures/Zombie cow (New Varrock)#Boss.png b/dist/images/creatures/Zombie cow (New Varrock)#Boss.png
new file mode 100644 (file)
index 0000000..16be64c
Binary files /dev/null and b/dist/images/creatures/Zombie cow (New Varrock)#Boss.png differ
diff --git a/dist/images/creatures/Zombie cow (New Varrock)#Regular.png b/dist/images/creatures/Zombie cow (New Varrock)#Regular.png
new file mode 100644 (file)
index 0000000..16be64c
Binary files /dev/null and b/dist/images/creatures/Zombie cow (New Varrock)#Regular.png differ
diff --git a/dist/images/creatures/Zombie hand#Default.png b/dist/images/creatures/Zombie hand#Default.png
new file mode 100644 (file)
index 0000000..d73e640
Binary files /dev/null and b/dist/images/creatures/Zombie hand#Default.png differ
diff --git a/dist/images/creatures/Zombie knight#Ancient Awakening.png b/dist/images/creatures/Zombie knight#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..16e760b
Binary files /dev/null and b/dist/images/creatures/Zombie knight#Ancient Awakening.png differ
diff --git a/dist/images/creatures/Zombie knight#Ungael combat activity (hard).png b/dist/images/creatures/Zombie knight#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..16e760b
Binary files /dev/null and b/dist/images/creatures/Zombie knight#Ungael combat activity (hard).png differ
diff --git a/dist/images/creatures/Zombie knight#Ungael combat activity (standard).png b/dist/images/creatures/Zombie knight#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..16e760b
Binary files /dev/null and b/dist/images/creatures/Zombie knight#Ungael combat activity (standard).png differ
diff --git a/dist/images/creatures/Zombie pirate#Level 49.png b/dist/images/creatures/Zombie pirate#Level 49.png
new file mode 100644 (file)
index 0000000..c418c5b
Binary files /dev/null and b/dist/images/creatures/Zombie pirate#Level 49.png differ
diff --git a/dist/images/creatures/Zombie pirate#Level 50.png b/dist/images/creatures/Zombie pirate#Level 50.png
new file mode 100644 (file)
index 0000000..6aa5b68
Binary files /dev/null and b/dist/images/creatures/Zombie pirate#Level 50.png differ
diff --git a/dist/images/creatures/Zombie pirate#Pieces of Hate.png b/dist/images/creatures/Zombie pirate#Pieces of Hate.png
new file mode 100644 (file)
index 0000000..c418c5b
Binary files /dev/null and b/dist/images/creatures/Zombie pirate#Pieces of Hate.png differ
diff --git a/dist/images/creatures/Zombie swab#Default.png b/dist/images/creatures/Zombie swab#Default.png
new file mode 100644 (file)
index 0000000..c3902ed
Binary files /dev/null and b/dist/images/creatures/Zombie swab#Default.png differ
diff --git a/dist/images/creatures/Zombie warrior#1 (Ancient Awakening).png b/dist/images/creatures/Zombie warrior#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..1d81fb1
Binary files /dev/null and b/dist/images/creatures/Zombie warrior#1 (Ancient Awakening).png differ
diff --git a/dist/images/creatures/Zombie warrior#1 (Ungael combat activity).png b/dist/images/creatures/Zombie warrior#1 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..1d81fb1
Binary files /dev/null and b/dist/images/creatures/Zombie warrior#1 (Ungael combat activity).png differ
diff --git a/dist/images/creatures/Zombie warrior#2 (Ancient Awakening).png b/dist/images/creatures/Zombie warrior#2 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/dist/images/creatures/Zombie warrior#2 (Ancient Awakening).png differ
diff --git a/dist/images/creatures/Zombie warrior#2 (Ungael combat activity).png b/dist/images/creatures/Zombie warrior#2 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/dist/images/creatures/Zombie warrior#2 (Ungael combat activity).png differ
diff --git a/dist/images/creatures/Zombie#Level 12.png b/dist/images/creatures/Zombie#Level 12.png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/dist/images/creatures/Zombie#Level 12.png differ
diff --git a/dist/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png b/dist/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/dist/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png differ
diff --git a/dist/images/creatures/Zombie#Level 22.png b/dist/images/creatures/Zombie#Level 22.png
new file mode 100644 (file)
index 0000000..8f662b8
Binary files /dev/null and b/dist/images/creatures/Zombie#Level 22.png differ
diff --git a/dist/images/creatures/Zombie#Level 29 (Entrana).png b/dist/images/creatures/Zombie#Level 29 (Entrana).png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/dist/images/creatures/Zombie#Level 29 (Entrana).png differ
diff --git a/dist/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png b/dist/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/dist/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png differ
diff --git a/dist/images/creatures/Zombie#Level 29.png b/dist/images/creatures/Zombie#Level 29.png
new file mode 100644 (file)
index 0000000..b630977
Binary files /dev/null and b/dist/images/creatures/Zombie#Level 29.png differ
diff --git a/dist/images/icon.png b/dist/images/icon.png
new file mode 100644 (file)
index 0000000..f603f85
Binary files /dev/null and b/dist/images/icon.png differ
diff --git a/dist/images/masters/Chaeldar.png b/dist/images/masters/Chaeldar.png
new file mode 100644 (file)
index 0000000..f2923a2
Binary files /dev/null and b/dist/images/masters/Chaeldar.png differ
diff --git a/dist/images/masters/Duradel.png b/dist/images/masters/Duradel.png
new file mode 100644 (file)
index 0000000..8a015e3
Binary files /dev/null and b/dist/images/masters/Duradel.png differ
diff --git a/dist/images/masters/Jacquelyn.png b/dist/images/masters/Jacquelyn.png
new file mode 100644 (file)
index 0000000..385405e
Binary files /dev/null and b/dist/images/masters/Jacquelyn.png differ
diff --git a/dist/images/masters/Kuradal.png b/dist/images/masters/Kuradal.png
new file mode 100644 (file)
index 0000000..efc6507
Binary files /dev/null and b/dist/images/masters/Kuradal.png differ
diff --git a/dist/images/masters/Laniakea.png b/dist/images/masters/Laniakea.png
new file mode 100644 (file)
index 0000000..da9cd2f
Binary files /dev/null and b/dist/images/masters/Laniakea.png differ
diff --git a/dist/images/masters/Mandrith.png b/dist/images/masters/Mandrith.png
new file mode 100644 (file)
index 0000000..ab75bfb
Binary files /dev/null and b/dist/images/masters/Mandrith.png differ
diff --git a/dist/images/masters/Mazchna.png b/dist/images/masters/Mazchna.png
new file mode 100644 (file)
index 0000000..5385ad4
Binary files /dev/null and b/dist/images/masters/Mazchna.png differ
diff --git a/dist/images/masters/Morvran.png b/dist/images/masters/Morvran.png
new file mode 100644 (file)
index 0000000..92bb8c2
Binary files /dev/null and b/dist/images/masters/Morvran.png differ
diff --git a/dist/images/masters/Sumona.png b/dist/images/masters/Sumona.png
new file mode 100644 (file)
index 0000000..f126916
Binary files /dev/null and b/dist/images/masters/Sumona.png differ
diff --git a/dist/images/masters/The Raptor.png b/dist/images/masters/The Raptor.png
new file mode 100644 (file)
index 0000000..d7984f9
Binary files /dev/null and b/dist/images/masters/The Raptor.png differ
diff --git a/dist/images/masters/Turael.png b/dist/images/masters/Turael.png
new file mode 100644 (file)
index 0000000..3efbf40
Binary files /dev/null and b/dist/images/masters/Turael.png differ
diff --git a/dist/images/masters/Vannaka.png b/dist/images/masters/Vannaka.png
new file mode 100644 (file)
index 0000000..b337aeb
Binary files /dev/null and b/dist/images/masters/Vannaka.png differ
diff --git a/dist/images/misc/combat.png b/dist/images/misc/combat.png
new file mode 100644 (file)
index 0000000..e1def8b
Binary files /dev/null and b/dist/images/misc/combat.png differ
diff --git a/dist/images/misc/defence.png b/dist/images/misc/defence.png
new file mode 100644 (file)
index 0000000..e91d7c8
Binary files /dev/null and b/dist/images/misc/defence.png differ
diff --git a/dist/images/misc/lifepoints.png b/dist/images/misc/lifepoints.png
new file mode 100644 (file)
index 0000000..bf7de60
Binary files /dev/null and b/dist/images/misc/lifepoints.png differ
diff --git a/dist/images/misc/magic.png b/dist/images/misc/magic.png
new file mode 100644 (file)
index 0000000..aa48a5a
Binary files /dev/null and b/dist/images/misc/magic.png differ
diff --git a/dist/images/misc/melee.png b/dist/images/misc/melee.png
new file mode 100644 (file)
index 0000000..4a2671c
Binary files /dev/null and b/dist/images/misc/melee.png differ
diff --git a/dist/images/misc/necromancy.png b/dist/images/misc/necromancy.png
new file mode 100644 (file)
index 0000000..d4e8d5f
Binary files /dev/null and b/dist/images/misc/necromancy.png differ
diff --git a/dist/images/misc/ranged.png b/dist/images/misc/ranged.png
new file mode 100644 (file)
index 0000000..9718ffe
Binary files /dev/null and b/dist/images/misc/ranged.png differ
diff --git a/dist/images/misc/slayer.png b/dist/images/misc/slayer.png
new file mode 100644 (file)
index 0000000..e8c1db9
Binary files /dev/null and b/dist/images/misc/slayer.png differ
diff --git a/dist/images/misc/spec.png b/dist/images/misc/spec.png
new file mode 100644 (file)
index 0000000..7dae6ab
Binary files /dev/null and b/dist/images/misc/spec.png differ
diff --git a/dist/images/preview/SlayerAssistant.png b/dist/images/preview/SlayerAssistant.png
new file mode 100644 (file)
index 0000000..568fe3d
Binary files /dev/null and b/dist/images/preview/SlayerAssistant.png differ
diff --git a/dist/images/preview/SlayerAssistantNewLookNFeel.png b/dist/images/preview/SlayerAssistantNewLookNFeel.png
new file mode 100644 (file)
index 0000000..7c09432
Binary files /dev/null and b/dist/images/preview/SlayerAssistantNewLookNFeel.png differ
diff --git a/dist/images/preview/SlayerAssistantUpdate20240611.png b/dist/images/preview/SlayerAssistantUpdate20240611.png
new file mode 100644 (file)
index 0000000..f4f50b2
Binary files /dev/null and b/dist/images/preview/SlayerAssistantUpdate20240611.png differ
diff --git a/dist/images/preview/SlayerAssistantUpdate20240615.png b/dist/images/preview/SlayerAssistantUpdate20240615.png
new file mode 100644 (file)
index 0000000..07b0984
Binary files /dev/null and b/dist/images/preview/SlayerAssistantUpdate20240615.png differ
diff --git a/dist/images/susceptible/Abyssal_head.png b/dist/images/susceptible/Abyssal_head.png
new file mode 100644 (file)
index 0000000..29d077f
Binary files /dev/null and b/dist/images/susceptible/Abyssal_head.png differ
diff --git a/dist/images/susceptible/Balmung.png b/dist/images/susceptible/Balmung.png
new file mode 100644 (file)
index 0000000..4b0544c
Binary files /dev/null and b/dist/images/susceptible/Balmung.png differ
diff --git a/dist/images/susceptible/Basilisk_head.png b/dist/images/susceptible/Basilisk_head.png
new file mode 100644 (file)
index 0000000..8470f40
Binary files /dev/null and b/dist/images/susceptible/Basilisk_head.png differ
diff --git a/dist/images/susceptible/Blisterwood_staff.png b/dist/images/susceptible/Blisterwood_staff.png
new file mode 100644 (file)
index 0000000..1f44692
Binary files /dev/null and b/dist/images/susceptible/Blisterwood_staff.png differ
diff --git a/dist/images/susceptible/Corrupt_Vesta's_longsword.png b/dist/images/susceptible/Corrupt_Vesta's_longsword.png
new file mode 100644 (file)
index 0000000..1fa62a5
Binary files /dev/null and b/dist/images/susceptible/Corrupt_Vesta's_longsword.png differ
diff --git a/dist/images/susceptible/Demon_Slayer_(perk).png b/dist/images/susceptible/Demon_Slayer_(perk).png
new file mode 100644 (file)
index 0000000..f010ce4
Binary files /dev/null and b/dist/images/susceptible/Demon_Slayer_(perk).png differ
diff --git a/dist/images/susceptible/Dragon_Slayer_(perk).png b/dist/images/susceptible/Dragon_Slayer_(perk).png
new file mode 100644 (file)
index 0000000..863f821
Binary files /dev/null and b/dist/images/susceptible/Dragon_Slayer_(perk).png differ
diff --git a/dist/images/susceptible/Ghost_hunter_backpack.png b/dist/images/susceptible/Ghost_hunter_backpack.png
new file mode 100644 (file)
index 0000000..5dc8178
Binary files /dev/null and b/dist/images/susceptible/Ghost_hunter_backpack.png differ
diff --git a/dist/images/susceptible/Hexhunter_bow.png b/dist/images/susceptible/Hexhunter_bow.png
new file mode 100644 (file)
index 0000000..bfe434a
Binary files /dev/null and b/dist/images/susceptible/Hexhunter_bow.png differ
diff --git a/dist/images/susceptible/Ice_Barrage_icon.png b/dist/images/susceptible/Ice_Barrage_icon.png
new file mode 100644 (file)
index 0000000..44b35ab
Binary files /dev/null and b/dist/images/susceptible/Ice_Barrage_icon.png differ
diff --git a/dist/images/susceptible/Inquisitor_staff.png b/dist/images/susceptible/Inquisitor_staff.png
new file mode 100644 (file)
index 0000000..667af4b
Binary files /dev/null and b/dist/images/susceptible/Inquisitor_staff.png differ
diff --git a/dist/images/susceptible/Keris.png b/dist/images/susceptible/Keris.png
new file mode 100644 (file)
index 0000000..4880e9b
Binary files /dev/null and b/dist/images/susceptible/Keris.png differ
diff --git a/dist/images/susceptible/Necklace_of_Salamancy.png b/dist/images/susceptible/Necklace_of_Salamancy.png
new file mode 100644 (file)
index 0000000..9c20c04
Binary files /dev/null and b/dist/images/susceptible/Necklace_of_Salamancy.png differ
diff --git a/dist/images/susceptible/Steel_brutal_2.png b/dist/images/susceptible/Steel_brutal_2.png
new file mode 100644 (file)
index 0000000..566ab3d
Binary files /dev/null and b/dist/images/susceptible/Steel_brutal_2.png differ
diff --git a/dist/images/susceptible/Terrasaur_maul.png b/dist/images/susceptible/Terrasaur_maul.png
new file mode 100644 (file)
index 0000000..b79334d
Binary files /dev/null and b/dist/images/susceptible/Terrasaur_maul.png differ
diff --git a/dist/images/susceptible/Undead_Slayer.png b/dist/images/susceptible/Undead_Slayer.png
new file mode 100644 (file)
index 0000000..a35289f
Binary files /dev/null and b/dist/images/susceptible/Undead_Slayer.png differ
diff --git a/dist/images/ui/default/about/Reaper_counter.png b/dist/images/ui/default/about/Reaper_counter.png
new file mode 100644 (file)
index 0000000..7a57927
Binary files /dev/null and b/dist/images/ui/default/about/Reaper_counter.png differ
diff --git a/dist/images/ui/default/about/Reaper_counter_expanded.png b/dist/images/ui/default/about/Reaper_counter_expanded.png
new file mode 100644 (file)
index 0000000..d498e4c
Binary files /dev/null and b/dist/images/ui/default/about/Reaper_counter_expanded.png differ
diff --git a/dist/images/ui/default/about/Reaper_task_interface.png b/dist/images/ui/default/about/Reaper_task_interface.png
new file mode 100644 (file)
index 0000000..54b28bf
Binary files /dev/null and b/dist/images/ui/default/about/Reaper_task_interface.png differ
diff --git a/dist/images/ui/default/about/Right_click_interface.png b/dist/images/ui/default/about/Right_click_interface.png
new file mode 100644 (file)
index 0000000..493ad62
Binary files /dev/null and b/dist/images/ui/default/about/Right_click_interface.png differ
diff --git a/dist/images/ui/default/about/Select_your_own_task.png b/dist/images/ui/default/about/Select_your_own_task.png
new file mode 100644 (file)
index 0000000..d0c8542
Binary files /dev/null and b/dist/images/ui/default/about/Select_your_own_task.png differ
diff --git a/dist/images/ui/default/about/Slayer_assistant_interface.png b/dist/images/ui/default/about/Slayer_assistant_interface.png
new file mode 100644 (file)
index 0000000..6269b5f
Binary files /dev/null and b/dist/images/ui/default/about/Slayer_assistant_interface.png differ
diff --git a/dist/images/ui/default/about/Slayer_assistant_interface.xcf b/dist/images/ui/default/about/Slayer_assistant_interface.xcf
new file mode 100644 (file)
index 0000000..341698a
Binary files /dev/null and b/dist/images/ui/default/about/Slayer_assistant_interface.xcf differ
diff --git a/dist/images/ui/default/about/Slayer_counter.png b/dist/images/ui/default/about/Slayer_counter.png
new file mode 100644 (file)
index 0000000..807332e
Binary files /dev/null and b/dist/images/ui/default/about/Slayer_counter.png differ
diff --git a/dist/images/ui/default/about/Slayer_counter_expanded.png b/dist/images/ui/default/about/Slayer_counter_expanded.png
new file mode 100644 (file)
index 0000000..b5353bc
Binary files /dev/null and b/dist/images/ui/default/about/Slayer_counter_expanded.png differ
diff --git a/dist/images/ui/default/about/Slayer_task_interface.png b/dist/images/ui/default/about/Slayer_task_interface.png
new file mode 100644 (file)
index 0000000..51123c9
Binary files /dev/null and b/dist/images/ui/default/about/Slayer_task_interface.png differ
diff --git a/dist/images/ui/default/about/VIP_ticket_interface.png b/dist/images/ui/default/about/VIP_ticket_interface.png
new file mode 100644 (file)
index 0000000..89d3626
Binary files /dev/null and b/dist/images/ui/default/about/VIP_ticket_interface.png differ
diff --git a/dist/images/ui/default/back.png b/dist/images/ui/default/back.png
new file mode 100644 (file)
index 0000000..9d23646
Binary files /dev/null and b/dist/images/ui/default/back.png differ
diff --git a/dist/images/ui/default/background.png b/dist/images/ui/default/background.png
new file mode 100644 (file)
index 0000000..d6ef4bb
Binary files /dev/null and b/dist/images/ui/default/background.png differ
diff --git a/dist/images/ui/default/donate.png b/dist/images/ui/default/donate.png
new file mode 100644 (file)
index 0000000..46dde21
Binary files /dev/null and b/dist/images/ui/default/donate.png differ
diff --git a/dist/images/ui/default/forward.png b/dist/images/ui/default/forward.png
new file mode 100644 (file)
index 0000000..b8907f9
Binary files /dev/null and b/dist/images/ui/default/forward.png differ
diff --git a/dist/images/ui/default/infoicon.png b/dist/images/ui/default/infoicon.png
new file mode 100644 (file)
index 0000000..7177084
Binary files /dev/null and b/dist/images/ui/default/infoicon.png differ
diff --git a/dist/images/ui/default/nisbutton.png b/dist/images/ui/default/nisbutton.png
new file mode 100644 (file)
index 0000000..496b8e7
Binary files /dev/null and b/dist/images/ui/default/nisbutton.png differ
diff --git a/dist/images/ui/default/settingscog.png b/dist/images/ui/default/settingscog.png
new file mode 100644 (file)
index 0000000..96265cf
Binary files /dev/null and b/dist/images/ui/default/settingscog.png differ
diff --git a/dist/images/ui/default/wikipedia.png b/dist/images/ui/default/wikipedia.png
new file mode 100644 (file)
index 0000000..1f9a7a7
Binary files /dev/null and b/dist/images/ui/default/wikipedia.png differ
diff --git a/dist/images/weakness/Air_weakness_icon.png b/dist/images/weakness/Air_weakness_icon.png
new file mode 100644 (file)
index 0000000..20244ce
Binary files /dev/null and b/dist/images/weakness/Air_weakness_icon.png differ
diff --git a/dist/images/weakness/Arrow_weakness_icon.png b/dist/images/weakness/Arrow_weakness_icon.png
new file mode 100644 (file)
index 0000000..7a996ab
Binary files /dev/null and b/dist/images/weakness/Arrow_weakness_icon.png differ
diff --git a/dist/images/weakness/Bolt_weakness_icon.png b/dist/images/weakness/Bolt_weakness_icon.png
new file mode 100644 (file)
index 0000000..5e9ef1b
Binary files /dev/null and b/dist/images/weakness/Bolt_weakness_icon.png differ
diff --git a/dist/images/weakness/Crush_weakness_icon.png b/dist/images/weakness/Crush_weakness_icon.png
new file mode 100644 (file)
index 0000000..4bf250e
Binary files /dev/null and b/dist/images/weakness/Crush_weakness_icon.png differ
diff --git a/dist/images/weakness/Earth_weakness_icon.png b/dist/images/weakness/Earth_weakness_icon.png
new file mode 100644 (file)
index 0000000..fd407bd
Binary files /dev/null and b/dist/images/weakness/Earth_weakness_icon.png differ
diff --git a/dist/images/weakness/Fire_weakness_icon.png b/dist/images/weakness/Fire_weakness_icon.png
new file mode 100644 (file)
index 0000000..bf25460
Binary files /dev/null and b/dist/images/weakness/Fire_weakness_icon.png differ
diff --git a/dist/images/weakness/Magic_weakness_icon.png b/dist/images/weakness/Magic_weakness_icon.png
new file mode 100644 (file)
index 0000000..5bc4bf0
Binary files /dev/null and b/dist/images/weakness/Magic_weakness_icon.png differ
diff --git a/dist/images/weakness/Melee_weakness_icon.png b/dist/images/weakness/Melee_weakness_icon.png
new file mode 100644 (file)
index 0000000..e7c6dfb
Binary files /dev/null and b/dist/images/weakness/Melee_weakness_icon.png differ
diff --git a/dist/images/weakness/Necromancy-icon.png b/dist/images/weakness/Necromancy-icon.png
new file mode 100644 (file)
index 0000000..6c7e50c
Binary files /dev/null and b/dist/images/weakness/Necromancy-icon.png differ
diff --git a/dist/images/weakness/Ranged_weakness_icon.png b/dist/images/weakness/Ranged_weakness_icon.png
new file mode 100644 (file)
index 0000000..3349fbc
Binary files /dev/null and b/dist/images/weakness/Ranged_weakness_icon.png differ
diff --git a/dist/images/weakness/Slash_weakness_icon.png b/dist/images/weakness/Slash_weakness_icon.png
new file mode 100644 (file)
index 0000000..b627f15
Binary files /dev/null and b/dist/images/weakness/Slash_weakness_icon.png differ
diff --git a/dist/images/weakness/Stab_weakness_icon.png b/dist/images/weakness/Stab_weakness_icon.png
new file mode 100644 (file)
index 0000000..a65ba88
Binary files /dev/null and b/dist/images/weakness/Stab_weakness_icon.png differ
diff --git a/dist/images/weakness/Thrown_weakness_icon.png b/dist/images/weakness/Thrown_weakness_icon.png
new file mode 100644 (file)
index 0000000..85d069e
Binary files /dev/null and b/dist/images/weakness/Thrown_weakness_icon.png differ
diff --git a/dist/images/weakness/Water_weakness_icon.png b/dist/images/weakness/Water_weakness_icon.png
new file mode 100644 (file)
index 0000000..840989c
Binary files /dev/null and b/dist/images/weakness/Water_weakness_icon.png differ
diff --git a/dist/images/weakness/Zero_weakness_icon.png b/dist/images/weakness/Zero_weakness_icon.png
new file mode 100644 (file)
index 0000000..384a6dc
Binary files /dev/null and b/dist/images/weakness/Zero_weakness_icon.png differ
diff --git a/dist/index.html b/dist/index.html
new file mode 100644 (file)
index 0000000..92a2173
--- /dev/null
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+       <title>Slayer Assistant</title>
+       <link rel="icon" href="./images/icon.png" type="image/png">
+       <link rel="stylesheet" href="./styles/default/index.css">
+</head>
+
+<body id="nis" class="nis">
+</body>
+<script src="./main.js"></script>
+</html>
\ No newline at end of file
diff --git a/dist/main.js b/dist/main.js
new file mode 100644 (file)
index 0000000..3862de8
--- /dev/null
@@ -0,0 +1,6950 @@
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(typeof exports === 'object' && typeof module === 'object')
+               module.exports = factory((function webpackLoadOptionalExternalModule() { try { return require("sharp"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("canvas"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("electron/common"); } catch(e) {} }()));
+       else if(typeof define === 'function' && define.amd)
+               define(["sharp", "canvas", "electron/common"], factory);
+       else if(typeof exports === 'object')
+               exports["SlayerAssistant"] = factory((function webpackLoadOptionalExternalModule() { try { return require("sharp"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("canvas"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("electron/common"); } catch(e) {} }()));
+       else
+               root["SlayerAssistant"] = factory(root["sharp"], root["canvas"], root["electron/common"]);
+})(self, (__WEBPACK_EXTERNAL_MODULE_sharp__, __WEBPACK_EXTERNAL_MODULE_canvas__, __WEBPACK_EXTERNAL_MODULE_electron_common__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       var __webpack_modules__ = ({
+
+/***/ "./images/data/reaper_collapsed_OSL.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/reaper_collapsed_OSL.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAVXG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKrnKwAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAElUlEQVRYw92YTWgcZRjHfzsz+5HdzczuJumuJS3VSkI/AlaFgmK1PVStIJTSQy9FELy0gqIgIhYlUFHpQQ9tQZFCKWLVQ/FQ60GFUtAG0dqvNG0sRtc07WZ3Z3Zmdmd2Z8bDdiabTWJjipD4v8z7Mc/H+/m8zz/06p5dHrchdyYA0CoGvSt60coltIoBQMOt06h7JJJJACzLwK7VEMQosWiETFcGVdMBUOQkplmlVq1imhVy2Vygc+TK5aAudybu2O77oFVMnnwsyQPrN6KW4yB0MifcCiF7iND+fXu8H88OkU5349o1VENHFMM4Th0lkUSIxCiVCswX85X1/5urvV3Pb9d/55N3t2DWltHwVkEoMrcTng32JSR/tjVNDYzJsjI10Jo1p47ZJsTXoRo6GPqcsrKszDpwv32GDyEw1Bs4ngjh9JRAKAahKHgWeLWWAVaR/LLj1BkbywMwNpanI9bcotWaEfxv2XZQjkYiXL12nWhk5gwqioKqqli2Pa2/te7bmqu93Qe77nDu/BDr+w28RnNSQkIExCwISXB1cCbw3KaPIa+IpMjJaVvk50v5EHeNPP8Fdr8BZz4qeAe/tPn1WhzPq/H23g2sWrmai1eGGTx0HkVR6O8t88L2BIJpVpFlhXS6G0VRWOw49UOVc6NZUqkcHYleTnz/F43aCF99e4munpWsXf8Q48YAZ87pCLVqlVKp0NzfqrroB/fUth1YtonjuFh2nQ0DywlHQqy7z2OyWMYydAqTt3h4IIdgmpXgAmg9U4sVXekI772coSMRYuvm+xm4Z4TXD/zC4w92sPVRhZJe4YPBZ0kIfyDlsjny4zcRxfCsl8Niw9Gjx3j6kQTvv7QJt6Fx+DOH4TGZL04rPL+9j7pVoFE8wqmzIoIfpGeLOYsR3/y0mlc+dLlw4TSm/idqxcbDYdJIoZcvMjxymdcOCYzXn0HqXdHL1dFRlgpi0TCuu4J3jqq8uCPP3p1J9uIBo1wY0fn45HKW53pYt7YfSSuXAkE/rix2CIKAnExy4FOLG4Uqoijguh49mTir700gigJauYTkb8t0uptbN8tLZgU9z+G7z3czdL7AeAEycp2+zq8ZPBYP3seSf1tqmjrtNbLYIYph3hw8zM7NFhuzMFGEgycl6o5AWALTrCD19a8hP34Tx6kviVDgIyyJXBtfxVtH6jQcF0kU0E2N/r5mf1//mulnbimEgumrJxDviAZ1x50qa+VSMxSIYnjGw3gpwvdfFMNoFQMh05UJ8qeltnLtiEYiQRKQ6cog+PncUgnid0KQT2o6Av9jCH4+93+CKIZR5CRScbIYpPYdsQT79+3xipNFapaN61hEYjGW9WTnRf60EkrzJYzaSahlPVkWav/48RMBVVGcLBJ6btc2DyCb7cHQdXSjCjCD37gToaMkmqxYKym0EJl0unvB9uV0mkQyycTELQCkVCpOuWwyPHz5H1mqVsWtDvg3rWrogbPth/vfyMw1qPnoUm8TUul0N6lUHKlR9zg7NDQjiPukTfsXQFV1bKtBWStNk2knlRYiczf2p2LddbY8sYm/ATWM+pwqaFlsAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./images/data/reaper_collapsed_RS3.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/reaper_collapsed_RS3.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAXKm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcQRroAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAFsUlEQVRYw9WYXYglRxXHf11d3dX39p3vnZ3sRtZ8sZF86K4JRo2oD+JDFGEhYlDfonnOQ4jowz7qg/omq0YQCYgo+CCDUUEkGgzCIOaDXU1wY3CdZDc7M3vvnXvvVHV9tA99u2auIaJvMweaunWr6lT/65w+dc4/+cwXHqt3rl9FpCkAaSppxXvHQQnek+UKAFuZ+Ptgv229d9R1QMocAOcq6lDPzDnYAjO6236rx1nHE48scuaeBxj0uyDmeEcJuyTVBvLvr1ziX69fRgiBSFOctYTgWVhawWiNsxUyywnBI0RzAJXRAMgsI1cKPZngnCVXBUKkOFsBUHS7OLt/QJXRcZ/2sBo9eRyTWT6zJ0CnWzLc2eJ95x9hPBxAssR/lURRJ8sIgFwVhBDIlSJXBVJmDG5sIzMZN2tfztmKbq8XwU5GI5yzFJ0ygm5FTyYNiOlLdns9RJoiRPOEEAghxINyzlIZjcxyVFEQfLPH7qAPwHhwFae3IQzAX2+esAt11bTxvwHUe0gpGzcUQuCsQxVFfIzWpKmMfQDnPd5aTt12mvFoNDMmM4kqStI0wU2t4q0FQBUFznvyokOCIE2TGX0A8wuLhANrllePY7RGFQWpELz48gb33DmmdluNgUQO6RqIHoQR+GvUoTFEUu+Q3HX/R+qrm/8keE85N8/m5b8mHGL54w969YWfV/zhJUUnM3zj8fu45dTtXHzlb5y/cAnrEj5+xvLYubJxSyFSRJpGCxxmeeb5CesbS+y6OW74k/zi2Tdw+lXWf3eJ0L2VvWSF9Y0lfv/nYQMOwE1d4bDLpz79MGk9oQ41lTacvfckWZ5w9201zlbYyqDSwAfPnkRIKamMJlfFkQC3spTzw/M3cf975vnyZ+/i3hOv8tVvv8DH3t/h3IdrPvTeE/zsu5+jFFeQzrlptPRHAtzTT/+Yhx4s+ebjHyW4Id/7qefZl3LueG6ZR8+dxpot3M6PeOZPgnhjC5FitD704J767btZf/4qT3z+OW551wqD3Yr5Mmd7vMiof5F/XNnhWz9xaHUfydkHP1Ffef0yldEcW7uJ1y7+5VBHy8XjN9eJENR2wtcfHXL37b04dvHyiK98v0NeLnPq1juQxmhkJoHiSFiuTRGtTfnaUzm7ozGJENR1YHmppFN2EXmGMbpxS2cdldFH4ipor6xQjXjhl19i4+Ut3tyC5XnL6blf89CTGmebHFUqVcRoeRTAAewO+qSp4snzF/jiJy0PrMG1HfjOrxSORZzRKFU0lgvBx/zx0FtOpAjhSWXG+sYiv3lRIURCZSpWjq8RwnaM/M03J7OmIvCH/zpovasymk63SeC99yRCEKZuKwFjNEKpImbq/ghkKUZr9N64qSKm3iazPCbpMZVUBcIYjRDpkQkozlYUnTLWlvvuKlBFMa0L08ZyHFFpC9pcqWnNGN7+fZa9eSqjmVtYPDL33EEw7TUmswyjGxyV0ZS9+f1KfG8yJs2yQw9KZvmUIchmKv9OtyTNMvYm41gEyPFouM9x6D3uPPOB2k4DS9Ep0Xvjt7XZ9BDSKfnjXYW1lt7cPKPdYVzrXUUq8zhedMqZ+W2/1WmtjW2r4+D8LMtIZY7eG7N8bC3qb9cP+jcilvFo2Fzirf9WxnDtjU1CCAghprxKwbDfn3Im/Th33z08wXuKbpe33tyk6JQ4WxFCoNvrURkTSaNWX5s09He2Yx15sDLJlaIyhspsRivkSjEaDiLgnetvUXS7TEajmIAc3CtGS+fsTHrTslAHy6CG0PGRqZKZJARPZTQhhBmWq33Z0XAw4zrdXg9nK/LpgQbvp4yZiGE9eB+JpRZIZRouR4gm9WrnOuuYW1gEYHBjez/YONvklsdWV/8/n5cS5xwtseSc+5/XvJN4V9Et55lMRjO86X/qWFldwznHwtIKShWRVx3tDjh+4uaZ+cdWV/k3rAQo1Oy03j4AAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/reaper_expanded_OSL.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/reaper_expanded_OSL.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAa4G5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3ePXqQAAAYVub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqIw0NAAANGG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+dZ7WgAAAAZub1BFAAAAAAAA7Gu72AAAAAlub1BFAAAAAAAAAAAAoYpy1QAAAAdub1BFAAAAAAAAAFrm3tAAAAh/SURBVHja7ZxvbBt3Gcc/vnNsJ3Z8sZM0aedMZR0J7VqgA2looMGKNHXrNGma9mIgjaIheNEiDRWpmvivakyA9gJerEUgNFQNhIAXE0JjvABENQGtEGXr2qysILUN6R8n9p3vj3323fHCvYu9JKV/k3P3fKQo9tm/ex4/9/j8u+f33Dfx5V1PBFwiP5gFwKhZlCZKGNUKRs0CoOU3aTUDsrkcAI2GhVuvo6hpMukUxeEiumECoOVz2LZD3XGw7RrjY+PRPk++dSJ6nh/M/t/tK+nDzbQlcb28LcvxeOSTRT64+R706gAogyyLXyPhHiHx7a/vCv52+AiFwgi+W0e3TFS1D89romVzKKkMlUqZK+VKx4bvW277SvqwErau9r3vtrhWqhY/+c427PoaWsF6SKSWdyRwwT1OMvxGGYYefeh8XltI5Hpj2X0slfDhPnTLBMtcdmw+ry35YcLtK+nDStiSuF7eVrPhY+nn8AIV+goLLyYykEhD0ICg3pHADom9T38mmJ4+AcDp0zPRa/2Z9hTCqVvRtobrRo/TqRQN1yWdWvwN0TQNXdcXvb7c+5fbvpI+rJQtievSthIJlb07M2ye2kSQKLbzVkmBOgZKDnwTvPMEfntsIpgnqeVzXT81/zg+k+C6mWH1mbkFbd3acX3yK/Daj8rBC792ef3tAYKgzrd2b2X97Rt4861p9u1/A03TmCpV+fyjWRTbdsjnNQqFETRNQxBWk1f/6vD6v9cyNDROf7bEy3/6L636SX7zh+MMj97Ops0fYtbawmv/NFHqjkOlUm7PTXRdoiesKtsfeox6w8TzfBpuk61b1tGXSnDXHQFz81Ualkl57iIf3jKOYtu1aBLeORcRhNVguJDiu18q0p9N8MD9d7Jl7Umeef4oH7+7nwc+qlExa3x/3yNklTMkx8fGmZm9gKr2LTnhFoSV5ODBl3jw3izfe/o+/JbBgV94TJ/O86tDGk89OkmzUaY1/yKvHlZRwuLxUrVBQVhpfv/3Dez5gc+xY4ewzbPoNZcAjzlrCLP6JtMnT7B3v8JscwfJ0kSJf506JVETYkEm3YfvT/DcQZ0vPjbD7sdz7CYATnHspMmPX1nHuvFR7to0RdKoVqKBYU1OEFYTRVHI53I8//MG58oOqqrg+wGjxQE2vCeLqioY1QrJcNpQKIxw8UJVIifEgiDw+OMvn+TIG2Vmy1DMN5kc/B37XhoA2n0iybDaYBh61yqIIKwmqtrH1/Yd4PH7G9wzBufn4YVXkjQ9hb4k2HaN5OTURmZmL+B5TSmVCbGhL6ny9ux6vvlik5bnk1QVTNtgarL9+uTUxu45r5TKhHidfRUG+tPRc89feGxUK+1Smar2AciZV4g1YX6qah9GzUIpDhej3ks58wpxJp1KRU1kxeEiStjPK4sUQi8Q9RQbJoqEQ+hVlLCfVxB650KuDy2fW+jnBaSfV4g1YX7m8xq27Sz08wLSzyvEmjA/K5UydcdZ6OftLEUIQhzpzE/brqGEmgJhKUIQ4kpnfo6PjXcvUghCr1ywGTULpTRRkhqv0FN4XpPSRAnFqFbQsm3pHennFeJMmJ9aNrfQ26CkMhQKIxIdIfYUCiMoqUx72pAfzEalMunnFeJMmJ+VSpn8YHbhBkzfrUt0hNgT5ml0wQaXxNMEIeaEeRpdsIXlB0GIO2GeRjdgdgrtfeFTOwIJkRBHDh89GvWeGzVrsW7DD3/2W4mSEEu2broNWKjzJsM6r26ZYR0tIWES4kh/JhtAR503mUpjXlKtllKZEGfC/DTrDZKpNMnOfl5dN4mHgLEgLEbTtGgxraufV/R5hbij6zq+W1/czyv6vELcabhuVOft6ueVW9+FuBPe+g4d/bxh+UEQ4k6Yp13Lw4LQS3QtD4P08wrxpjM/o35eQPp5hZ4gzFOjZi1UG0SfV4g7Tt3CMPSFasPk1MZoIiylMiHONFw3umCbnNrYPeeVUpkQZzrzU/R5hZ4784Lo8wo9euYVfV6hZxF9XuGWQPR5hZ5D9HmFnkP0eYWeRfR5hZ5F9HmFnkX0eYVb4oJN9HmFnkT0eYWeQ/R5hZ5G9HmFnkT0eYWeRvR5hZ5F9HmFnuWy+rz33j0ZACRV9aY5oCSW2Lfqt/977UY3P/BWNCihT9dr1/N9qoZFparz3Ofex54DJ1i7poiW68cPgmuO643y73K0vIV9x/H41yyjS593UZ03qao31fHlj7qy6om7bGCvkCAIcOou5y7qfHXnBO9f4/Dpj5U4d7GK02gSBMGq+ncl9MLxj22dd6UT90bSbHqUKzU+sjnLwx9o4lbLPDzVxx2jaeaqNVqeL7/713H8F9V546DP6wde9NerXx4/CDDtOs2mw7OfHcVzdPyWS70yx57tt2FbNk7dxQ+C2H65V+WMexXH/536vFE/b6EwsmL9vJ1Oxilhr8uXIMBttfjGU3cyWugnOThKZmQdmcIwY8UBdu14L82mB9eQvDfEv5ieXa/mM4X6vGE/bzLs59WyOXRdZzCbf1dOD67Xn0QiQbY/zbM/Pcsz+xt4HVMEVVXIDaQZKQySSCRuiXitRrxDfV7dMhkpaiShveRWqZTpz2TZ/uA25ufmqTdcfK9BKpNhzegY4Y2aWj6HbTvUHQfbrjE+No5RsyhNlDCqFcJFj+Jw8arHtPwma0bHxL7YX9L+oT//Bd0yo1aGxM4nHgoAxsZGsUwT03IAoiXjzvraUt1n4fbwok9JZaKx1zImdEzsi/13jlm3dpxsLsf58xfbc/ShoQGqVZvp6RPLFoU9r9nlRKeBsO6mW2bkTGdJ42rHLBc0sS/2z5w9E+1raGiAZKsZcPjIEaC7U73huqRTqUX/23MPE7fRompUusaEpYzwqvBaxoh9sX85++1bgf7Dtk/cx/8A/EcyrqMdMKAAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/reaper_expanded_RS3.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/reaper_expanded_RS3.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAe825vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz2Q1aAAABhW5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKojDQ0AAA0Ybm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD51ntaAAAABm5vUEUAAAAAAADsa7vYAAAACW5vUEUAAAAAAAAAAAChinLVAAAAB25vUEUAAAAAAAAAWube0AAAD3VJREFUeNrtXWuobddV/tZ8rLX24+xzzj335t7cpOmNaaJN0+ZVaDWlthCQVi0EFdGCSpUo4o/+0BZ/GPwjAR8IovUFPgoiKiI1UBVsNRSLcCmWliS2GtMm5nlfZ5+z99prPpc/5hpzz71z06Zau/e9zA8u+9y11nyNMdZcY4455hjFBz74cHf5wktgnAMAOBcgOGeRwjsHWVYAAKNV/Dv9P/06Z9F1HkKUAABrNTrfrTyT/gJYqZv+n9ZD/eFcwDkL7xwY5/H/1HejFRjnK/fT8VSDAdRiEcdEz6T9IXqk46Y20v6l46W+Ufn1OtO6v1Z767RepzH1Ix0zje9a5V8zO8ZHPniAe+56B6aHQ4Dt4DXhj1Ho8xD/+aUn8d9feRqMMTDOYY2B9w67+wdQbQtrNIQs4b0DY4HAWrUAACElyqpC2zSw1qCsajDGYY0GANTDIaxZElCrNrZDxAz1lPGekOVKmwAwGI4wPz4CgBUmW2MgpIR3DkKWyXUNxjnKqoJWKvbJe4+yquNz7WIOxni8RmNc7//6c1R/2v+qrnE8PVzpD9UjZAkhBbRSK/1mjEdapvQnujaz2VXpxThfKZvyS6v2muQfug533/EDmB9NgWIfXxNFha44AQYAZVX3jK1QVjWEkJheuQQhxQoTtArEGI7HkRjNbAZrDerBKBIlCkfTROICwHA8joRnjMN7D+99JKS1Blq1URi8C20cTw8jkegalWGM90zXPdEEvPewxqwIrpAlhuNxL8ShP2VV92N34bpz8N71wlbGvgshsbO7t1J22YdAn0UzD3X1ghuEyCeMsrDGREElIWOMrdCfMdYLpgq8kGUsFwTCw7vQX+p/yq9rlX/OGsynL8G2lwA/BdyF8M8fA50Ov/HaFOgWKN72zvd0Lzz31cjgqg6zS1XXUO1yMHTdOgdnDHb3DzCfzWCNivea+QxVPQLnBWz/Vrqe8FVdx2sFGDgvVuoDACkl/FoZ6gP9XdU1nOvAefGqe0JWsEatMID6lj7rXIcOHoLzV9XBpYztr4NLGcsIWcUxUP1cyjhmapfupf1Ix5XWuV4mpVtap3UOop/B1vufjvta4l9zfIxf/WmLu779TnTFidAOKwF+GmBjwM8A9zI6H17EoruM4s63v6t76fln4Z3DaGeC559+qkBGxobwL3847j721xqPf6HEUGo8+uH7ce6W2/DEl/4dj3zsSRhb4D33GDz80CioDTR1p29+RsYm8MnPNnjs/D5anMQri5P4xD+/ANt+GY99+kn44a1YFAd47Pw+Hv/cURBeUp4zMjaN7/2+HwTvGjhnYbXGvW89C1kWeMu3dbBGw2iFinu8896zYEIIaNWurMIzMjaFg/0Sf/TIGdx3+wg/8yN34603fhm/+Bufx3ffN8BD39XhO992I/7yd38YI/YchLU2rrgzMjaNj3/8z/D+B0b4tQ+/G94e4ff+wuHxL1Z402dO4CcfugNGXYS9/Cf45L8yRIs2Y3xldZqRsQn8wT++EX/72RfxCz/6GZy7+QDTY41RLXBpvofZ4RN45rnL+PU/t2ir+1Hc+8CD3XNfeRpatTh5+gz+64l/y9aGjI3hzLnbO6MNbDvFoz81w1tuG8d7Tzw9w0d/f4BydAK33PomCKVaCCkA1Hnmzdg4rLEoigIoJB754yEuX56hYAUKFNjfH2EwGoKVEkq1QW2wxkKrNpvKMrYC3juUJcfn/uYncP6LF/HiReDExOCOnb/H+z/SwprgQyGqqo7Whiy8GVshuFUFrYCf/6XfwY99j8U7TgMvXwZ+++8qWOzBqhZVVYeZl/b2MzI2DXJIKqsan3riJvzD5zXq4QhtM8f+wSl4f2npX6JUCyFkcG5x2VyWsVm0TRNNt0ZrjCd7WMznkGUNj+CVJkTQeVlV1dFTyOVdtoyNqw0+eAb2E6lqg/edVi2cMUtXhqoOMy/5hmadN2PzakMNayzq4RBlVaNdzHvXUImqrnu/YR5m3kyujG1CVdewRqNtGggpUA9GKKvqqs+y0XgCrVrs7O5lO2/GxrFo5sGB3hrMjqb9IQOLsqqg2iCnWrUYjSfLkxSLZh6dqTMyNoVwQsP1M27dH0XSmB1NwaWMJ1aCtaFtYqHxeJKpl7FxpO65Wql4TGk8nsQjRKptwswbzn05zGezTLmMjYLO9lV1Hc/KkUFhPpv1ZwyDPxmz1vanVPmrzn9lZGzC2kBqLB0Y3dnd6zfSVHJo1AZndNHrutlUlrF5lUFH1SBoBSWmVy6hHoyifAopIYQIzuhLPSJbGzI2CzpKH+Jk8GjXTeWTMR5m3lAgbwtnbI/aYI1Gu5jHmXbv5KkVGY2+DUKIZIquMvUyNr5gA4DxZBfH00OUVY3Z9LAP5rKUTyFEWLDp3iE9DaKRkbEpjHYmMVoP+Tl478F50YfNamGtDf68QkhYY7POm7EVasP8+KgPJeXQzGY4efoMVNv2sdcshJCJYw4Puxp5hy1j06jqGqOdSVQdvHdo5rO4A+x9iCy5dInsV3PZJTJj0zieHkYNoG0a7O4foG0a+CQmGmOJSyT5S+7uH2TqZWxcbSCLAuMci2Ye7+3uH8QdOKXaoPPSFly7mOO9P/TjXSZhxjbiq09+IcpqVdUQztkY61W1Lf7pr/40UyljK3HTbW+OdmDnLB3A9LBGk1E428sythUdRbgHQF5l2bch49qwRKTyygBAViGEvXNZ3c3YXpB8krwyzgVUs4g7GBkZ2wrOC3jvoZoFOBdB511Po5SRsa1IsxEJpdq4d5y3hzO2GSGGQ1isKdUuvcpE3hrOuAZAciqECDpvmi8sI2PbEdZnvc6b81FkXDs6bzhhEWbfmK3RZTtvxtaDUukKWQY7787uHoTIOm/GNaDz9ql0AYDNZ0cxxE5GxvYv2Eosmjnms6PezstC9susNmRsM9bzSLOqD+Sb+k1mZGwrFs08rM+iM3ofyDdHRs/YZpB8eueW8XmFLMPR4rxNnLHN+i7n/RH4cqk2WKMhZJm9yjK2Gs51IXav0aunhwHkQHsZ26029PK5cnqYopRka0PGtWBt0H0eNiZkGU1l2assY5uh2jbG7RWyBKPDl4tmnmfejK2feSmsvzU66LwAVmKiZmRsK2K4U9WC7R+cioH2MjK2HRRob//gFNiVSxdCsramyZsUGdttbXAupne9cunCahLBvEmRsdWz7pp8RlMZ4xyyzMGlM7YXsqzAOF+ayoDlSYrZ0TRTKGNrQfK5TCLYn6LI1oaMa8XaQFEiGRAyDmZ/3oxtB8koZcgUQogYIdI5mymUsbVo5rM+iXa9zMNmjQYATPb2cOLGWzprDISUsMZE/YI8z9Z/vXfwLgQCTp+P5o3+OfKfEFJGtzZql/6uh0M0SQpZxhiELNEu5qgHo5U2KaUnRVDRqo3n8MjRiIKp0I6M9x6MsXgNQKyL6ibQuOrhELOjaWzfe4/heAytVCxH9WnVQpYl9KIB93P85s/eiZ/7rafAqhFEWaGqa2iloFUb2y+rKtZP9CI6lFWYaebHR2CcR9UupTl9OYlf67/XE/+GozEuX3gl9MtaOknhk86aUCHjYIzFDQzqIOWvoLCoQQfxUZEOKebDoNYdfpYC42NdqcDMjqbw3i0V8sQ0EjLALNMOhFOkbOmLLGSsyzsXLSgxoiDny+eTnF6kQxGDKA9zOFHtYc3q16isasyOpnFsADAcj0OM47KCbhdomxl+5eFzuOeGFh967xugF3NYrdD2p1VIULVqwbmIviVEN2tsPGQ4vXIJo51J8qK4yNSr8et65t9yYvGvtjbQmzXamazMRFqpGGZd9ycvyqqODC+TvBZEiHR2IYcfIsZwPI6EJ4aQgxC9ofRMyuyyP7JEQkcDCgzxcRaguuIJkSQlqPcutqFV2+e3NXGmCJ+lqiemhFYt6sGoF4Ky17XkCiO1UglTFR68f4Lvv9tAH17EB75D4q6bB/DWAEWxMtsLIaHaNvqWCFlitDOBkAKqbdEu5vEZEpYwq5ZRUNf5db3z76rWhlTqqbPpW1RWFawxGE92ceLUDcknQy7zuEkeiVJWNbjk8S0N12Vfj0U9HEJIiXo4jLMKDS4QWUWhCp5EDGVVxQEJKWM5EryUwNQPGjQxn8rUw2FM0lwmtm6aDalfKSiRM9UrpIhlvQuJnUfC4NEP3QC3mMJbjfbKJXz0fTdDdC28dfDW9kIn4gxEzCRBodmevKfSr6LoM+LQ53SdX9cz/0i4ydrAz91x1y+//MKzYJyjKBhUu0DX+f7tNTC615GsgfcesiwxvXIZXdehYAXKqkJRhM9T0W/YWaNhrYHVvQ5VAM5aVINBZAx9QroudHgwCrNb0X/yVLsIyeQWDbx36LoOWikMRiMYreGcQ8EKcCFhtMZgNIL3HgUr4KyNguichSyr2F6qIoTPUgh3xYVAUTBQmgNrDBjn4ELAGg1ZVuFva9B1HoxztIsGzllwLuC7DvAOjz78Rtx3+wCFkNB+Am2G2N0b4/TJCc4/s4C1pq8z0PPUmbM4nh6iGtT9LN6i60IOMto0Ivp0XRfLCSlRFCz2h/jlnLtu+ceFgNFhzXD2DbeiuPPt7+peePYZCFlisreHV158fkX/oAUJvXVaqfj2pAsfimRCbxC9IeniAQAG4xHmR0cYT3ZDuaaJn4ygO1JGThkXTEQw+pSliwh6260xcSG1fM5EvYqu0SIhXQikC42Tp8/glRefj6rC+gKPXgCqO+rTBYPWLaxqYbRC13kURYGu6yCEBOMCKArsnTydqBkuqiXpl+Fq7RAdaHYl+tJCh/hFqsb1yL+Tp8/g6PAQ1micvaUX3ldefL7/xFTY3duH6TtaD0ZxpZj+yl6J5qKPqG41jDEY70wwOz6KZZ3V4KKM90n3Wf8/1WmMib+prkTPSynBxXL1SvWn5eNWYv9s2pazOt5f7/t6X9bLUpvpM1TPOo3SRQnRhOpM76VlqG/rNKB2Xosn6/SiPl+P/Lt88eVo5bnhxptQ3PvAg90z//HUitnkW2FSSt+4dWWeZohvpkmJZpB0Zktn1nS1nc5ar9eElM5YmzQBrv9ej/yzRuPW298cFmypCeNbYlIiover3rBy1pExlDT5m2FSCouPKlmdi2gOKqsa9XAYFxCpGShdeVN/aSxLm6eI92nF/PVMSLSg+f8yAV7P/IsThzVQqkXx7vc91F28cOF173IIIULG7T4otbX2dZd5LTirMRxN0DQzcC5es460vaqq447g7Hi68rkGEBdS3yi+Xl//r2W/Ufr9b8dxvfPv5KlT+B8FiFlLoxQJ6gAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./images/data/slayer_collapsed_OSL.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/slayer_collapsed_OSL.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAXWm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALW4o8EAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAFNklEQVRYw92YaWxUVRTHf/OWWTqvM53ptNOBVpaCLAo0ERqQILhEwEACiYnBxIiJ3wgJGhPBKAlI+KhGTEAxhEQxBgyRoAgRiQGRpUqlu0AFStuhU2Z5s79Z+vxQZugaKmAy8P/y3jvvnXvOefeee+75G95Zt0bnNmzFVgDCkRiVVZWEQ0HCkRgAmb40mbSOVVEA0LQYqWQSQTRhNhlxljpRw1EA7DaFeDxBMpEgHo9Q4a7Ij3np79b8s63Yelf5UB+0ZBaDKBGJxglHVDJaCoMg033zFlbXBHbu+JgPt24j/s8pDNs3r9PPna/D4XDRl0qixqKIokw2m8ZuVRCMZoLBW4wVY9XNfTeafKRxNC2NPxil0+tHNlupnjABk6WYxpYG5tUuYPsnOzn63ddcvFhPV90xpNzfDofVvDGbzX4n0KQ2aiAj/ZDcGGosCrHoqLo2m33EwHPygT4ICY1EMsX1zl6cpR72ffEWU8ZPxVxWzrnG65w9W8ezy1Zw+pej1J35Df3aCZp6+jC8u+F1va2tFYCOjq68EYu5f4kmkrG8TEul8vcmoxEtlcJkNA5z0G63o6rqsPejfT+aPOdDNB4hqCaYNH0uX21ZiS/pos+gIFiK0JH4fPceMqIZxSLS097A4RN/8PySWiS7TRm0ROpbugzcN7p40LAVK/qO91dz02+hs9eLL55ikseBWTbx2urn+PbgT5T4G6iZOZ2sfxxZSUSKxxPYbPb+paRG/xfHHgRWL1vM+ZMX2Hu8mWgoxIGt6/CKBjZs20VbUyNvrFqEUL2UL4+dprxPoPFiK0IykSAYvNW/vlWVQoXHU05LRy+vrnyRRXOfoLvIxfotu2mq/5P5s6s519iOzaLw9DSZqGxnzoyJCPF4JL8BDMypQoOvN0A4koJwF97OaxRJEgFfd38SdHrp9oUoLy3hmyNt1Hpg9iQnUoW7gi6vD1GUR0zqQsHVbj+GTAyj1ku7P8OVlhbefGUFlzv9VI1zsvSF5eza9SmlLgWpahYNfzUg5ArkSDWnkNDc3MINX4RzV25iFGBxzWwqyxWWL5yKQ0ixcdNGjLrORx+sp0RP0VzfhFBZVcnDAKtZwl1ShNcX4dq166x9bxsRNcrPh37g/JlTvL12Ga4KDwcPH0HMenl5dTVSOBQcVlcKES5HMVdvdPPkzCm0Xu7gQksbF5ovoWNgxZIadnx2kJpF81k4y0Nx1UQeaz99Z1k6HK6CnjmzScbjstF2pQPJaMLuLEPLZFEjMQ4cOc3kp+awakElPREre/d8z6Z97Ui53TIcVgedRgoNBoMBi9lEpdtJQkuRTmeZ6ClFEAwktDTHfv2dH4+fpFgpwm63MrdmKtLj02bQ5fWRzaYLuhT0BwiyLCLLFnRdB/oPUzZFx2lX8If8VE8ejyyJ1NbOG5xzhVwKRprJgfcmo0Sx1YLZJAMQUYP9OSeK8rCD8cOInP+iKBOOxBCcpc58//QwzdxIMBmN+SbAWepEyPVzhV7Ex4p8PxmOIvAIQ8j1c48SRFHGblOQAv5AvrW3mK1s37xOD/gDJLUUfVkNo9lMeZl7TOTPQDJnrITRUAKovMzNvdrfv/9QnqoI+AMY1q55SQdwu8uIRaNEYwmAYfzG3Qgdu7WfFRtICt2LTu6kdC/2bQ4HVkWhp6cXAKmkpIhQKE6ORxlNeeDAAx3I7bRqLJp3dmhy/xed0YIay1jqbULK4XBRUlKElEnrnK+rG1bEc6TN0GuOjkhpGULh4CCdoaTSvejcj/07te4qzy15hn8B0nEpIgoaSy8AAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/slayer_collapsed_RS3.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/slayer_collapsed_RS3.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAYyG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgO3bMAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAGeklEQVRYw9WYXWwcVxXHf3PnzsfOfnhjr22SNMjOR1OC6gRIS2gJX6ooRS7qAwIET0gRL6gSj+UBoZaKB4RQhVQRRKmQqBACVPEApUiABDSQNECCE7upiI1J7Nhexx+7O7s7H3dmeJid8W4lJHhbjrS6c/fee2bOOX/dc85f+8TnvpBsb64jdB0AXZdkEkWKfomjCMO0AAgDP3/un2djFCmSJEZKEwClApI4GdjTPwIDurN5v54oUsRxTBxFdNsuge+hCQ2h6WzV15iaPsx3n3+Orz3zLJ2lPyJvvrnAyvIiQgiErqPCkDiOGNk3hu95qDBAGiZxHCFE6oDA9wCQhoFpWXidDkqFmJaNEDoqDACwHQcV7jko8L38PZmzUj1mviYNc+CdAAWnSLvV7BkWEnQ7jI5VuXd6CrtQ4drCHO898xBff+47vPqzl7ALBludEAlgWjaB72E7Tv5xjZ0tSpWR1OthgND1/AOcUgm32UAIm47rEscRdqGI121jF4q5MV6nM+AYp1Qi8P3cSSoM873SMAh8jziOMS0by7Zpt5pIw6TV2IUkQQU+J45N842vnuPowWPY4xNcuvYvLl68zIc/NsuF377K5T+/RrL8Oy7fCpBSpjAUQqBChWXb+c/3PHRd5nMAFUVEYcjbD99L23UH1qQhsewiuq6helGJegZYto2KIky7gIZA17UBfQCVkSpx35nR8Ql8z8MwTUKvw8mZ+3np6Vnq3ghrOx2EV2eyWmb99jI/fPEFSgWdsLnGy39pcXD6KNqJ0+9P1ldvEUcRxXKF1cU3NIZQTKuQXH7lm3jNAiub29Q7AdP792EbFgiNH7/8K8aCOaYO3Mcvfn+F1+/KFJYZTLIIDKN85vGP8Pof/sYPfjOPu7vLT5/5Imu6xpeePc+N69f4/BNnEUce5YVfX2Ai0fEbdxHZ4X78D6McODDBwq1NPvv4Rzl7+p3ccWo8+fT3uH7lr5yZOcKla4tUCiUeOm7gGiOcPX0cIaUk8D1Myx5q4zY2t2m2AmiusrayjCMl2/U7AKyurHGnvsvEWJUfvXKDB/fDzPQoUimFadn5tTussrSyhR63Mf1NFrcUNxcWOPfpWf6xssWhA6M8+shjnD//bcZqJeSh+5m7OrcHSyF0fM8bWuPmFt7gdr3FpZvrmAI+eGqGeyZKPPbwMfaJgKe+/BRmkvCtrzxJNQmYv3Id7V0PP5LcXl4k8D1qk29jaf7KcN6WTil54MRhlv65TJQITr7jCB//wLu5eulPuN0On/rkLBcX6rSbG9xXS6i762kq2L67kee4YU0FlbHJJA4DzsxMcePmbbp+FxJBgsbsh06x9PdFTp09wwNHTcqHpogXL6SwVKHKS6phFadUBl3y2tUlNMOiXB2nG0bsNFx+8ssLHH7PSZ543z1stIq8+P2fc+75+RSWi2/OY1o2lWp1aGFZOzidZAV46PsITUMTAmkYtFtNiGMKtkEQKGJNMH3sRBq5OI7yYndYJa07I6Q0MUwLyykSJwlCN6jWJrCKJcq1/chCEWmY2E4R6fseUhppRxANdzpQYUh5pJgbaxeKaWC6AaCh6TIt1EWE73sIy7IRuo4Qel6wDqOk7VVazHvdNtIwcrRJw8yLdCF0hK5jWTbC9z2ESNuZYa4tAz/tLVUYYBeKeT28l6cFlm332jI9jRz/J5JCMO6DaNrQmlbavfev5QYXSxUC36M8Uh3qCiVrqnPKo2dMlsakYeB7qR2B71EsVdLImZZNt9NGN4zhvy0NE2nIvHPPpOAU0Q2DbqedO0G23eaeAq/L8VMPJmHvYumnDvpHo+cEvUf+RCogDENK5Qpuq5mfjVSALs18PaMg3jrPdIZhmI+Zjv79hmGgSxOv22a0Npnrz843dndyW9puE2lZdo7fwPfZuLNKHMcIIXI+o7m72+NBdvO9e/CIiKMI23Gor61iF4qoMCCO4wHOJPsv42tMy2Z3eyvvI/s7E9OyCHyfwF/No2BaFm6zkRu8vVnHdhw6rptzLv3vym9LpfZSQJoWxAD7lHUNGSxSjEviOMpJnX6WK/tYt9kYgI5TKqHCALPn0DiKeoyZyK/1OIrwOp2ByAV+yuUIoadcTG+vChXlkSoAjZ2tvctGhfi+h6yNj/9v+UZKlFJkxJJS6r8+858kUgFOsUKn4w7wpm/VMTY+iVKKkX1jWJad86puq8HE/oOD5dr4OP8GnWaF+iWIoRwAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/slayer_expanded_OSL.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/slayer_expanded_OSL.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAafG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejEs8AAABhW5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKojDQ0AAA0Ybm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD51ntaAAAABm5vUEUAAAAAAADsa7vYAAAACW5vUEUAAAAAAAAAAAChinLVAAAAB25vUEUAAAAAAAAAWube0AAACUVJREFUeNrtnX2MHHUZxz87O/t2u7dzu/fe7im0tKUIpWptKoggGilSEpqYGDDGEkn8oyFBMREMakDA/9SICUUMwSjEBEM0CEJEYsAKbZVCX0/oQWnveu3dbXdn9n12Z8c/tjO3x93VXgt7s+X5JJe7m5vfPL995tnZZ57fM9/zfW/rzTaniHdGATByBVJDKYxsBiNXAKBWr1Kr2kRjMQAqlQJmuYziDxEOBUl2J9GNPABaPEaxWKJcKlEs5hjoH3CP+dZ/D7q/xzuj/3d7K+fwYdoSv56ZrXiXxvETaXL5IorPR6VSoVIxOfTOEboGV/DwQz/nJ/fdT/GdV/A9+KOt9o6du0gkeqibZfRCHr8/gGVV0aIxlGCYTGaKM+VMxzr7zbe9lXNoha2F7vtR9GulUiWdyTM6niYYibLsYx8n3BFn7/49rFu/gQd/8TDP//H3vPnmbsZ2vYDqvKMMQ3dfdDyuTQdyuTKvsbkC3jmGXshDIT/v2Hhcm/PFONtbOYdW2BK/zm+rq6ubvGEwfHSMZPcSnvj1d7ho6QrCvX3s2Pser722iy9s3MT2vz/Prlf/iX34JfadqOP7/h3ftIeHDwJw5MiYe8BIuJFClMqF6XeGabo/h4JBKqZJKBicNRlN09B1fdbf59t/vu2tnEOrbIlfZ9sqlSsUSjUuvHgdv7v3RibKPdR9MZRIBzYqjzz6GDV/mFjEz4mRPTzz0r/54jXrUbV4bMZHze4DYz7OmTEWn7Hz0Nb569d4Z8x+6J7NHE9HGJ0cZ6JocuFggnAgxDc2X8sfnv4rXek9rL3kYqz0EizVj1oslojHtcbHgZ73iIOEjxqbN17Nzpdf5/EX95PPZnnqvq2M+33ccf82hvft5dabrkJZfh2/eWE7fXWFvW8eRCmXSmQyU43cRNfFi8KiMDjYx4Ejk9xy45e5at0nONbRw+33Psq+3f9hw5rl7Ng7QjwS44pVAfIBjctXX4BSLObcJLw5FxGEVjIxeRIjZ4IxxvjoYTpUlZMTxxqJyug4xyay9HV38eRzw6wfhDUXJlEH+gcYG5/A7w/MmXALQit491gaX61AsDLJSLrGoQMHuO1rm3h7NM3QkiTXfel6tm37Jd09MdShy9jzxh4Up3g8V21QEFrF/v0HODqRY8eh4wQVuHrtGlJ9Ma6/cgUJxeSuu+8iaNv87Ie302Wb7N+9DyU1lBLPCYtONKzS39XB+ESOw4ffY8sP7ien5/nbn//Czldf4btbNtIzMMjTzzyH3xrnq5uXoxrZjHsApyYnCK2mJ9HJu0ePceklF3Hw7SO8fmCY1/e/hY2PTdes5aFfPc3aqzZw5WWDdA5dwMdGtk+nDYlEj3hQWDTCoQCDPXGGDx1BDYbQkr1UahZ6rsBTz21n2acv56bPpjiRi/L4Y3/i7idGUJ1qg2HoM1ZBBKGV+Hw+IuEQqf4kpYpJtWpxwWA3iuKjVKnywj/+xbMvvkxnrANNi7Ju7QrUlatWMzY+gWVVpVQmLHIAQyDgJxCIYNs20FjsjcdsklqMdDbN8mVLCah+1q//zMycV0plgpeuxM0/h4IqndEI4VAAgJyeaeS8fn9jg1x5BS/jxKffH8DIFVCS3Um391KuvIKXCQWDbhNZsjuJ4vTzyiKF0A64PcVGHkXcIbQritPPKwjtgt8fQIvHUJr7eTVNE88InsWJz3hco1gsTffzAtLPK3gaJz4zmSnKpdJ0P29zKUIQWk3NsqhZ1mn3aY7PYjGH4mgKOKUIQVgsVL//tH9vjs+B/oGZixSC4NXAff8Nm5ErNPp5pcYrtBOWVSU1lEIxshm0aEN6R/p5BS/jxKcWjWFkT/U2KMGw9PMKbUEi0YMSDDfShnhn1C2VST+v4GWc+Mxkpoh3RqefpKibZfGO4HmcOHVv2OCUeJogeBwnTt0bNqf8IAhex4lTI5tBdeq8Trns27fcYIuLBC+y84033N5zI1dATQ2leHtkxN3hkSefFS8JnuSTlywFpuu8qlPn1Qt5p47mEzcJXiQSjtrQVOdVgyHyp1SrpVQmeBknPvPlCmowJPq8QvugaZq7mDajn1f0eQWvo+s6dbM8u59X9HkFr1MxTbfOO6OfVx59F7yO8+g7NPXzOuUHQfA6TpzOWB4WhHZixvIwSD+v4G2a49Pt5wXR5xXaAydOjVxhutog+ryC1ymVCxiGPl1tWLlqtZsIS6lM8DIV03Rv2FauWj0z55VSmeBlmuPTzXlFn1dolysviD6v0KZXXtHnFdoW0ecVzgtEn1doO0SfV2g7RJ9XaFtEn1doW0SfV2hbRJ9XOC9u2ESfV2hLRJ9XaDtEn1doa0SfV2hLRJ9XaGtEn1doW0SfV2hbTqvPe8WnVtqwsP+LtVAU3xzH9tcb361Go1vdtlrqFGdO52rXqtfJGgUyWZ2f3nYxd247yGBfEi0WoW7bZ+3XD2p+p6P5P1B68fznCsYMfd5ZdV7V7/9QJz7/WVcWPXDndewZYts2pbLJ8Umde7YMsaavxNc/l+L4ZJZSpYpt24s6vzOhHc6/Z+u8rQ7cD5Jq1WIqk2PDpVE2XV7FzE6xaVWAZb0h0tkcNasun/vncP5n1Xm9oM9bty33q13fPHXbJl8sU62WeODWXqySTr1mUs6kuXPjUoqFIqWySd22PfvmXpQr7gLO//v1ed1+3kSip2X9vM2T9FLAntNcbBuzVuPH37qI3kQEtbOXcM8Swolu+pMdbL1hBdWqBWcRvB/I/Dx6dV3Ia3L0eZ1+XtXp59WiMXRdpzMa/0imB+c6H5/PRzQS4oHfjnL3wxWsphTB71eIdYToSXTi8/nOC38thr8dfV69kKcnqaFCY8ktk5kiEo6y8fprOZk+SbliUrcqBMNh+nr7cR7U1OIxisUS5VKJYjHHQP8ARq5AaiiFkc3gLHoku5MLHlOrV+nr7Rf7Yn9O+6+8/Cp6Ie+2Mvi23PwVG6C/v5dCPk++UAJwl4yb62tzdZ85252bPiUYdseezRhnYmJf7L9/zJLBAaKxGCdOTDZy9K6uDrLZIsPDB+ctCltWdcYkmg04dTe9kHcn01zSWOiY+Zwm9sX+0dGj7rG6ujpQa1Wbnbt2ATM71SumSSgYnPW9kXvkMSs1skZmxhinlOHcFZ7NGLEv9k9nv/Eo0Ltce83n+R+bCm28wSXdjwAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./images/data/slayer_expanded_RS3.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/slayer_expanded_RS3.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAehm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYX5ysAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAQyklEQVR42u1da4wlx1X+uh7dfR9zZ2Zndvbh127sTWxjr53YRCaOQyxZBIMTBQmIBD8QIfIPIBL/CD9AJARZAgmiSBGOAhFIEUIyivIDQkA8xGPBD4Gdtb12FK8fa++ud2ZnZ+6de/t2V1dV86P61O17vSYOhJm7q/qk0b1zu7u66pzTp0+dOnVO9LGff7i6tPEmGOcAAM4FCMZoNGGNgYwTAECpCv+9+T99GqNRVRZCxAAArRUqW02d0/wEMNU2/d9sh/rDuYAxGtYYMM79/9T3UhVgnE8db44nabVQjMd+THROsz9Ej+a46R7N/jXHS32j62fbbLb9P91vltazNKZ+NMdM47vS+WetxXi0g1IpqCJHxCKwiOPSxgXccOQIvvylL+B3Pvd5ZC//K8RL3zmFN149DcYYGOfQZQlrDRaXV1DkOXSpIGQMaw0YcwRWRQ4AEFIiThLkWQatS8RJCsY4dKkAAGm7DV1OCKiK3N+HiOnaif0xIeOpewJAq93BaGcAAFNM1mUJISWsMRAybvyuwDhHnCRQReH7ZK1FnKT+vHw8AmPc/0ZjnO3/7HnUfrP/SZpip7891R9qR8gYQgqoopjqN2Pc07JJf6JrNhxell6M86lrm/xSRX7F8s8ag1LlyEc7WFldxrvfdRRpuoBnT53E++/5AB75wh/hW3/5NaQtic2shACAOEmhihxpu+0739/aRLe3OMUs6mC728Vw0AdjKbLhENYapK0O8vEIaaszEY4smyJcu9v1wkSdJwgpa8I7AUvSFKOdAYSMsdPfvixhSACoj0RwascJBffXCCmQZ5lnPjHLWuMZQczw2soaCCHRWehhtDPwxGeMTwmptQZxkvp7NYXS9U83hJZBFXl9f+bPT9ttp40YhyoK/7CoIoeQcqpda8zUwzThV3pF8k/lY6g8w203H8Pv/dYv4aZrjiHdv4Ynnn0Njz/+FO7/8Ydw4h++haf+499QvfqPeOqMQnT8ng9X515/zTeapI4gSZqiyHPfOfpdGwNTllhcXsFoOIQuC38sGw2RpB1wHkHXwmDqASZp6n+LwMB5NNUeAEgpYWeuoT7Q9yRNYUwFzqO3HBMygS6LqVcl9a15rjEVKlgIzt/SBpfS338WXEp/jZCJHwO1z6X0Y6b70rFmP5rjarY5e02Tbs02tTEQ9UM02//muK8U/kkpsX1xHbfffhxf++xPYj1fhY26YK02Kgh8+StfheYpui2OC6dP4ut/9ySuOXoTolvv/mD15tkzsMags9DD2dMvRAgI2EV0llYrnWd48q9/H/mghTc2LmE9Uzh6aBmpTAAW4S++/jdYUSdx5PDN+Kt/fhpPXhTObCDV3XzyAwJ2CyyK8ImH7seT//Jf+NO/fx7D7W089rlfwXke4dc+/yhefO5Z/OLH7wO78SP44789gbWKo+hfBGsazwEBewFrLQ4dXsOpMxv4uY/+GO67+4dwrr2KT3/2K3ju6f/EPcdvxBPPnkav1cUH3iMxlIu47+73gAkh/OQhIGAvoEuF9Y1LGOwoYHAW5994FW0hcGn9HADg7BvncW59G2srS/jzb76I9x8Cjh/dB6G1Rpyk3q0RELDrZgMXePnsJrgZIS42cHpT46VTp/CpTzyE776xiesO78NHHngQjz76RaysdiGuux0nnzk5MRsY41Oz04CA3ULSauOZk8/h9fUdPPHSm4gZ8KN3Hse1a108eO8xLDOFz/zGZxBXFf7gNz+NpUrh+aefQ/Teex+oXn/1NFSRY/XAQbz8/NPB2xCwq1g+cG2VDQe465Yb8Morr8FUDHfcciN+4kPvwzNP/DuG4ww/+9MP4fFT6xgNLuDm1Qrrwzedq+zSxQvQpUaSpsFVFrDr2Hfo+spoDVOMcc/xo3jxpTMYF2OgYqgQ4aEP34mXv30ad953D374phgL1x2BPX3CmQ261H7lJiBg170NxkDKGDLt4MS3XwZEjIXl/RiXBlv9IR775gm866478PEfuRYXdjr46p98A5/60vPObDj9necRJyl6S0vBbAjYdXT3rVVCuNVJRABnzAXmqKJehteIqgpJzKGUho0Yjh671S1SWGt8bEBAwK4Lb28ReZbBWot2t4tsOEScthCnbVhr0On1sLO1hYXFRfS3LsEag7TdASuKHEJIF9FkgrssYPdBgssYQ55ltevWQhU5Wu0O+pubEDJGxEUdYBWjKHKwJEl9lJUJq2wBewCK4nPRZhZCCh/lV+QuxFMVOUxZgjEOxjmSJHWal2JDQ2xDwF6BQkddWKlG2m4jTlLk4xHiJIWQEkma1mGd3GneQLaAufA4WAtrjQu9LFUdSyyQtjqIk+TyAt/p9qCKHAuLS2GFLWBPQMH2uiwxzkYuaF2XGA760KWCLjXiJEGROzlVRY5Ot+c0b5ykGGcjH0wdELDbaLU7botRvbPFady03oqkMBz0waXEOBv5IDJW5Fltc3B0u71AxYBdR7vbRX9rE1o7h0EzPFcVBbQukbY66HZ7Pva8yDOneYUUsNZgNBwGSgbsOrLh0Alnb9FvIE1St7+Q/lSRY1TvtxPS7ZBmWut6lyp/y/6vgIDd8jRMbNvUm7GqcLufFxaX6oU0t+KWDYfQWrtgdFHbusFVFrAnwss59u1fg5DC7XRmk+3xQsbob20ibXW8fAopIYRwmndiRwRvQ8BeaF6O9fNnfdIR+o1SMszKJ2PcaV4AYRdFwJ6CBHS0M/C5L/LxyGvapdX9UzJK35kQoqGik0DJgD2xeRljPp4BcME6O/1txEmKYX+7TvAykU9vNjgnsZhKohEQsJvQukS72wUAdBZ6yLOsVqguzsFaC86jOm1WDq01RJKkEEJClzrYvAF7Amtt7SZzKa5GOwO/XJwNh1g9cBBFnte51zSEkI3AHO5WNcIKW8BeYPXAQQwHfR8c1lnoedPBWoNsNPQrwNa6zJKTkMh6NhdCIgP2Auvnz4IxjsXlFez0t70FkGcZFpdXXLxvIycaY42QSIqXXFxeCZQM2IMJG0er20F/a3M63SznGGcjf97i8opfgSuK3Nm8tASXj0e4/2d+oQrkDJhHvHbqpJfVJEkhjNHQpUKcuBSU//TYnwUqBcwlrrnxFu8HNkbTBkwLXSpyCgd/WcC8oqIM9wAoqizENgTMP5qxDV54ZeI2wBkTzN2A+QXJJ8kr41ygyMZ+BSMgYF7BeQRrLYpsDM4pM/pMGaWAgHlFsxqRKIrcrx2H5eGAeYbL4eAma0WRT6LKRFgaDrgCQHIqhHA2L0lzQMCVADc/E5MiggEBV4bNyxEntc1LVRVpx2ZAwDyDSukKGTs/78LiEnx+1ICAebZ5hcTC4pLTwqPhwKfYCQiY/wlbjHE2wmg4mFTATNI0mA0Bc43ZOtIsqWuwNeMmAwLmFeNs5OZnPhi9TuQbMqMHzDNIPq0xk/y8QsZua3FYJg6YZ3uX83oLfDwxG3SpIGQcosoC5hrGVC53b6mmdw8DCIn2AubbbKjlc2r3MGUpCd6GgCvB26CK3GleIWPvKgtRZQHzjCLPfd5eIWMw2nw5zkZB8wbMvealtP66VM7mBTCVEzUgYF7h050WOdjyyn6faC8gYN5BifaWV/aDbW1uuGJtWRYWKQLm29tgjC/vurW5MV1EMCxSBMy11p2RT+8qY5xDxiG5dMD8QsYJGOcTVxkw2UkxHPQDhQLmFiSfkyKC9S6K4G0IuFK8DZQlkgGu4mCI5w2Yd5CMUoVMIYTwGSKN0YFCAXOLbDT0hQaFEBBauxSnANBbWsK+Q9dXuix9FW6yLyjybPbTWgNrXCLg5vnevVGfR/ETQkof1kb3pe9pu42sUUKWMQYhY+TjEdJWZ+qeVNKTMqioIvf78CjQiJKp0IqMtdZXnZlKYsy4b5tA40rbbQwHfX9/ay3a3S5UUfjrqD1V5JBxDDXOwO0If/jLt+JXv/gCWNKBiBMkaQpVFFBF7u8fJ4lvn+hFdIgTp2lGOwMwzr1p16Q5vTmJX7OfVxP/2p0uLm2su35pTTspbKOzpa++zRjzCxjUQapfQWlRnQ1ivSHtynC6Qc0G/EwExvq2mgIzHPRhrZkY5A3XiKsAMyk74HaRskksspC+LWuM96D4jIKcT85v1PQiG4oYRHWY3Y5qC11Ov43iJPX1EwjtbtflOI4TqHyMPBvidx8+gjvXcnzy/uugxiNoVSCvd6uQoKoiB+fCx5YQ3XSp/SbD/tYmOgu9xoNiPFMvx6+rmX8TxWLf6m2gJ6uz0JvSRKoofJp1Ve+8iJPUMzxu1LUgQjS1CwX8EDGoZJEuS88QChCiJ5TOaTI7rrcskdDRgBxDrNcC1JbfIdIoCWqt8fdQRV7Xty29pnCvpaQmpoQqcqStTi0EcW1rySlGqqJoMLXAA3f18NE7Sqjti/jYzRK3XduC1SUQRVPaXgiJIs99bImQMToLPQgpUOQ58vHIn0PC4rRq7AV1ll9XO/8u621oSj11tvkUxUkCXZbo9haxb/9a45UhJ3XcJPdEiZMUXHL/lLrfZd2ORtpuQ0iJtN32WoUG54hceKFykUQMcZL4AQkp/XUkeE0CUz9o0MR8uiZtt32R5rjh6yZtSP1qggo5U7tCCn+tNa6wc0eUeOSTazDjPqxWyLc28esPXgtR5bDawGpdC53wGoiYSYJC2p6ip5pvRVFXxKHX6Sy/rmb+kXCTt4Efefdtv33h3BkwzhFFDEU+RlXZ+uktUaraRtIlrLWQcYz+1iVUVYWIRYiTBFHkXk9RvWCnSwWtS2hV21ARYLRG0mp5xtArpKpch1sdp92i+pVX5GNXTG6cwVqDqqqgigKtTgelUjDGIGIRuJAolUKr04G1FhGLYLT2gmiMhowTf7+mieBeSy7dFRcCUcRAZQ50WYJxDi5cMWcZJ+67LlFVFoxz5OMMxmhXM7eqAGvwyMM34H3HWoiEhLI9qLKNxaUuDqz28NQrY2hd1m06eu4/eBg7/W0krdRXgKwqV4OMFo2IPlVV+euElIgi5vtD/DLGXLX840KgVG7OcPi6o4huvfuD1bkzr0DIGL2lJayfPztlf9CEhJ46VRT+6WlOfCiTCT1B9IQ0Jw8A0Op2MBoM0O0tuuuyzL8ynO1IFTmlnzARwehV1pxE0NOuy9JPpCbnld6uot9oktCcCDQnGqsHDmL9/FlvKsxO8OgBoLa9PR0xKJVDFzlKVaCqLKIoQlVVEEKCcQFEEZZWDzTMDOPNkuab4XL3ITqQdiX60kSH+EWmxtXIv9UDBzHY3oYuFQ5fXwvv+vmz9SsmweLSMsq6o2mr42eKzU9ZG9Fc1BnVtUJZlugu9DDcGfhrjVbgIvbHyfaZ/Z/aLMvSfzZtJTpfSgkuJrNXar95vV9KrM9t3sto5Y/P9n22L7PX0j2b51A7szRqTkqIJtRm81jzGurbLA3oPm/Hk1l6UZ+vRv5dunjBe3nWDl2D6L33PlC98t0Xptwmu+FSaj5xs8Y8aYgfpEuJNEhTszU1a3O23dRa79SF1NRYe+kCnP28GvmnS4Wjx25xE7amC2NXXEpE9HrW62bOyjOGiib/IFxKbvKRNGbnwruD4iRF2m77CUTTDdSceVN/aSwTn6fwx2nG/L1cSDSh+f9yAV7N/POKQ5coihzRhx78qerixsY7XuUQQriK23VSaq31O77m7WC0QrvTQ5YNwbl42zaa90uS1K8IDnf6U69rAH4i9f3ie/X1/3rt90u//+04rnb+re7fj/8GO6Pn3eR9G3UAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./modules/SearchAlgorithm.ts":
+/*!************************************!*\
+  !*** ./modules/SearchAlgorithm.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   SearchAlgorithm: () => (/* binding */ SearchAlgorithm),
+/* harmony export */   SearchData: () => (/* binding */ SearchData)
+/* harmony export */ });
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+var SearchData = /** @class */ (function () {
+    function SearchData() {
+        this.reaper = false;
+        this.task = 'Dragons';
+        this.probability = 0;
+    }
+    return SearchData;
+}());
+
+var SearchAlgorithm = /** @class */ (function () {
+    function SearchAlgorithm() {
+        this.data = new SearchData();
+    }
+    // Lookup best possible assignment based on input string
+    SearchAlgorithm.prototype.lookup = function (lookup_1) {
+        return __awaiter(this, arguments, void 0, function (lookup, skipReaper) {
+            var probabilities, reapersResponse, reapers, _i, reapers_1, a, _a, _b, b, assignmentsResponse, assignments, _c, assignments_1, a, _d, _e, b, _f, _g, b, key, aliasKeys, _h, aliasKeys_1, aliasKey, creatureKeys, _j, creatureKeys_1, creatureKey;
+            if (skipReaper === void 0) { skipReaper = false; }
+            return __generator(this, function (_k) {
+                switch (_k.label) {
+                    case 0:
+                        probabilities = {};
+                        if (!!skipReaper) return [3 /*break*/, 3];
+                        return [4 /*yield*/, fetch("./data/reapers.json")];
+                    case 1:
+                        reapersResponse = _k.sent();
+                        return [4 /*yield*/, reapersResponse.json()];
+                    case 2:
+                        reapers = _k.sent();
+                        for (_i = 0, reapers_1 = reapers; _i < reapers_1.length; _i++) {
+                            a = reapers_1[_i];
+                            probabilities[a["index"]] = {
+                                reaper: true,
+                                index: Math.round(this.similarity(a["index"], lookup) * 10000) / 100,
+                                creatures: {}
+                            };
+                            for (_a = 0, _b = a["creatures"]; _a < _b.length; _a++) {
+                                b = _b[_a];
+                                probabilities[a["index"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;
+                            }
+                        }
+                        _k.label = 3;
+                    case 3: return [4 /*yield*/, fetch("./data/assignments.json")];
+                    case 4:
+                        assignmentsResponse = _k.sent();
+                        return [4 /*yield*/, assignmentsResponse.json()];
+                    case 5:
+                        assignments = _k.sent();
+                        for (_c = 0, assignments_1 = assignments; _c < assignments_1.length; _c++) {
+                            a = assignments_1[_c];
+                            probabilities[a["index"]] = {
+                                reaper: false,
+                                index: Math.round(this.similarity(a["index"], lookup) * 10000) / 125,
+                                alias: {},
+                                creatures: {}
+                            };
+                            for (_d = 0, _e = a["alias"]; _d < _e.length; _d++) {
+                                b = _e[_d];
+                                probabilities[a["index"]].alias[b] = Math.round(this.similarity(b, lookup) * 10000) / 150;
+                            }
+                            for (_f = 0, _g = a["creatures"]; _f < _g.length; _f++) {
+                                b = _g[_f];
+                                probabilities[a["index"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;
+                            }
+                        }
+                        // Find highest likelihood of the search
+                        for (key in probabilities) {
+                            if (probabilities[key].index > this.data.probability) {
+                                this.data.task = key;
+                                this.data.reaper = probabilities[key].reaper;
+                                this.data.probability = probabilities[key].index;
+                            }
+                            if (probabilities[key].alias) {
+                                aliasKeys = Object.keys(probabilities[key].alias);
+                                for (_h = 0, aliasKeys_1 = aliasKeys; _h < aliasKeys_1.length; _h++) {
+                                    aliasKey = aliasKeys_1[_h];
+                                    if (probabilities[key].alias[aliasKey] > this.data.probability) {
+                                        this.data.task = key;
+                                        this.data.reaper = probabilities[key].reaper;
+                                        this.data.probability = probabilities[key].alias[aliasKey];
+                                    }
+                                }
+                            }
+                            if (probabilities[key].creatures) {
+                                creatureKeys = Object.keys(probabilities[key].creatures);
+                                for (_j = 0, creatureKeys_1 = creatureKeys; _j < creatureKeys_1.length; _j++) {
+                                    creatureKey = creatureKeys_1[_j];
+                                    if (probabilities[key].creatures[creatureKey] > this.data.probability) {
+                                        this.data.task = key;
+                                        this.data.reaper = probabilities[key].reaper;
+                                        this.data.probability = probabilities[key].creatures[creatureKey];
+                                    }
+                                }
+                            }
+                        }
+                        return [2 /*return*/, this.data];
+                }
+            });
+        });
+    };
+    // Check the similarity of 2 strings
+    SearchAlgorithm.prototype.similarity = function (s1, s2) {
+        var longer = s1;
+        var shorter = s2;
+        if (s1.length < s2.length) {
+            longer = s2;
+            shorter = s1;
+        }
+        var longerLength = longer.length;
+        if (longerLength === 0)
+            return 1.0;
+        return (longerLength - this.editDistance(longer, shorter)) / parseFloat('' + longerLength);
+    };
+    // Calculate the edit distance between 2 strings
+    SearchAlgorithm.prototype.editDistance = function (s1, s2) {
+        s1 = s1.toLowerCase();
+        s2 = s2.toLowerCase();
+        var costs = [];
+        for (var i = 0; i <= s1.length; i++) {
+            var lastValue = i;
+            for (var j = 0; j <= s2.length; j++) {
+                if (i === 0) {
+                    costs[j] = j;
+                }
+                else if (j > 0) {
+                    var newValue = costs[j - 1];
+                    if (s1.charAt(i - 1) !== s2.charAt(j - 1)) {
+                        newValue = Math.min(Math.min(newValue, lastValue), costs[j]) + 1;
+                    }
+                    costs[j - 1] = lastValue;
+                    lastValue = newValue;
+                }
+            }
+            if (i > 0) {
+                costs[s2.length] = lastValue;
+            }
+        }
+        return costs[s2.length];
+    };
+    return SearchAlgorithm;
+}());
+
+
+
+/***/ }),
+
+/***/ "./modules/SlayerDialogReader.ts":
+/*!***************************************!*\
+  !*** ./modules/SlayerDialogReader.ts ***!
+  \***************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   SlayerDialogReader: () => (/* binding */ SlayerDialogReader)
+/* harmony export */ });
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var alt1_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! alt1/dialog */ "../node_modules/alt1/dist/dialog/index.js");
+/* harmony import */ var alt1_dialog__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(alt1_dialog__WEBPACK_IMPORTED_MODULE_1__);
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+var SlayerData = /** @class */ (function () {
+    function SlayerData() {
+        this.selectYourOwn = false;
+        this.ticket = false;
+        this.reaper = false;
+        this.count = [];
+        this.task = [];
+    }
+    return SlayerData;
+}());
+var SlayerDialogReader = /** @class */ (function () {
+    function SlayerDialogReader() {
+    }
+    SlayerDialogReader.prototype.read = function () {
+        return __awaiter(this, arguments, void 0, function (buffer) {
+            var data, box, msg, countText, e, countText, e, i, msg, countText;
+            if (buffer === void 0) { buffer = null; }
+            return __generator(this, function (_a) {
+                if (!buffer) {
+                    buffer = alt1__WEBPACK_IMPORTED_MODULE_0__.captureHoldFullRs();
+                }
+                if (!this.dialogReader) {
+                    this.dialogReader = new (alt1_dialog__WEBPACK_IMPORTED_MODULE_1___default())();
+                }
+                this.data = new SlayerData();
+                data = this.dialogReader.find(buffer);
+                if (!data)
+                    return [2 /*return*/, null];
+                box = this.dialogReader.read(buffer);
+                if (!box)
+                    return [2 /*return*/, null];
+                if (box.text && (!box.opts || box.opts.length !== 2)) {
+                    msg = box.text.toString();
+                    // Parsing logic for various types of dialogs
+                    if (msg.toLowerCase().includes("select your own task")) {
+                        this.data.selectYourOwn = true;
+                    }
+                    if (msg.toLowerCase().includes("require you to collect")) {
+                        this.data.reaper = true;
+                        countText = msg.substring(msg.indexOf("collect ") + 8, msg.indexOf(" souls"));
+                        this.data.count[0] = parseInt(countText);
+                        this.data.task[0] = msg.substring(msg.indexOf("battle: ") + 8, msg.indexOf(". Can"));
+                    }
+                    if (msg.toLowerCase().includes("new task is to kill")) {
+                        e = msg.substring(msg.indexOf("kill ") + 5, msg.length - 1);
+                        countText = e.substring(0, e.includes(",") ? e.indexOf(",") : e.indexOf(" "));
+                        this.data.count[0] = parseInt(countText);
+                        this.data.task[0] = e.substring((e.includes(",") ? e.indexOf(",") : e.indexOf(" ")) + 1);
+                    }
+                    if (msg.toLowerCase().includes("still need to kill")) {
+                        e = msg.substring(msg.indexOf("kill ") + 5);
+                        this.data.count[0] = parseInt(e.substring(0, e.indexOf(" ")));
+                        this.data.task[0] = e.substring(e.indexOf(" ") + 1, e.includes(".") ? e.indexOf(".") : e.length - 1);
+                    }
+                    if (msg.toLowerCase().includes("still hunting")) {
+                        this.data.task[0] = msg.substring(msg.indexOf("hunting ") + 8, msg.indexOf(";"));
+                    }
+                }
+                if (box.opts && box.opts.length === 2 && (box.title && box.title.toLowerCase().includes("change your assigned slayer task"))) {
+                    this.data.ticket = true;
+                    for (i = 0; i < box.opts.length; i++) {
+                        msg = box.opts[i].text;
+                        countText = msg.substring(0, msg.indexOf(' '));
+                        this.data.count[i] = parseInt(countText);
+                        this.data.task[i] = msg.substring(msg.indexOf(' ') + 1, msg.includes('(') ? msg.indexOf('(') - 1 : msg.length);
+                    }
+                }
+                return [2 /*return*/, this.data];
+            });
+        });
+    };
+    return SlayerDialogReader;
+}());
+
+
+
+/***/ }),
+
+/***/ "./modules/UICounterReader.ts":
+/*!************************************!*\
+  !*** ./modules/UICounterReader.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   UICounterData: () => (/* binding */ UICounterData),
+/* harmony export */   UICounterReader: () => (/* binding */ UICounterReader)
+/* harmony export */ });
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var alt1_ocr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! alt1/ocr */ "../node_modules/alt1/dist/ocr/index.js");
+/* harmony import */ var alt1_ocr__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(alt1_ocr__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ "./modules/settings.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+var imgs = alt1__WEBPACK_IMPORTED_MODULE_1__.webpackImages({
+    slayer_expanded_RS3: __webpack_require__(/*! ../images/data/slayer_expanded_RS3.data.png */ "./images/data/slayer_expanded_RS3.data.png"),
+    slayer_expanded_OSL: __webpack_require__(/*! ../images/data/slayer_expanded_OSL.data.png */ "./images/data/slayer_expanded_OSL.data.png"),
+    reaper_expanded_RS3: __webpack_require__(/*! ../images/data/reaper_expanded_RS3.data.png */ "./images/data/reaper_expanded_RS3.data.png"),
+    reaper_expanded_OSL: __webpack_require__(/*! ../images/data/reaper_expanded_OSL.data.png */ "./images/data/reaper_expanded_OSL.data.png"),
+    slayer_collapsed_RS3: __webpack_require__(/*! ../images/data/slayer_collapsed_RS3.data.png */ "./images/data/slayer_collapsed_RS3.data.png"),
+    slayer_collapsed_OSL: __webpack_require__(/*! ../images/data/slayer_collapsed_OSL.data.png */ "./images/data/slayer_collapsed_OSL.data.png"),
+    reaper_collapsed_RS3: __webpack_require__(/*! ../images/data/reaper_collapsed_RS3.data.png */ "./images/data/reaper_collapsed_RS3.data.png"),
+    reaper_collapsed_OSL: __webpack_require__(/*! ../images/data/reaper_collapsed_OSL.data.png */ "./images/data/reaper_collapsed_OSL.data.png"),
+});
+var UICounterData = /** @class */ (function () {
+    function UICounterData() {
+    }
+    return UICounterData;
+}());
+
+var UICounterReader = /** @class */ (function () {
+    function UICounterReader() {
+        this.countFont = null;
+        this.taskFont = null;
+        this.data = null;
+    }
+    UICounterReader.prototype.read = function (buffer) {
+        return __awaiter(this, void 0, void 0, function () {
+            var _a, _b, width, height, _i, _c, match, countText;
+            return __generator(this, function (_d) {
+                switch (_d.label) {
+                    case 0:
+                        if (!buffer)
+                            buffer = alt1__WEBPACK_IMPORTED_MODULE_1__.captureHoldFullRs();
+                        if (!!this.countFont) return [3 /*break*/, 2];
+                        _a = this;
+                        return [4 /*yield*/, fetch(__webpack_require__(/*! ../fonts/aa_10px_mono.fontmeta.json */ "./fonts/aa_10px_mono.fontmeta.json")).then(function (r) { return r.json(); })];
+                    case 1:
+                        _a.countFont = _d.sent();
+                        _d.label = 2;
+                    case 2:
+                        if (!!this.taskFont) return [3 /*break*/, 4];
+                        _b = this;
+                        return [4 /*yield*/, fetch(__webpack_require__(/*! ../fonts/aa_8px_mono.fontmeta.json */ "./fonts/aa_8px_mono.fontmeta.json")).then(function (r) { return r.json(); })];
+                    case 3:
+                        _b.taskFont = _d.sent();
+                        _d.label = 4;
+                    case 4:
+                        // Reset data for next search
+                        this.pos = [];
+                        this.data = null;
+                        // Look for all UI Elements until we find one, then the rest will get skipped
+                        this.findUIElement(buffer, imgs.slayer_collapsed_OSL, { reaper: false, collapsed: true, OS: true });
+                        this.findUIElement(buffer, imgs.slayer_expanded_OSL, { reaper: false, collapsed: false, OS: true });
+                        this.findUIElement(buffer, imgs.slayer_collapsed_RS3, { reaper: false, collapsed: true, OS: false });
+                        this.findUIElement(buffer, imgs.slayer_expanded_RS3, { reaper: false, collapsed: false, OS: false });
+                        this.findUIElement(buffer, imgs.reaper_collapsed_OSL, { reaper: true, collapsed: true, OS: true });
+                        this.findUIElement(buffer, imgs.reaper_expanded_OSL, { reaper: true, collapsed: false, OS: true });
+                        this.findUIElement(buffer, imgs.reaper_collapsed_RS3, { reaper: true, collapsed: true, OS: false });
+                        this.findUIElement(buffer, imgs.reaper_expanded_RS3, { reaper: true, collapsed: false, OS: false });
+                        // If we don't find any data or we found too many matches then return
+                        if (!this.data && this.pos.length == 0)
+                            return [2 /*return*/, null];
+                        width = this.data.collapsed ? imgs.slayer_collapsed_OSL.width : imgs.slayer_expanded_OSL.width;
+                        height = this.data.collapsed ? imgs.slayer_collapsed_OSL.height : imgs.slayer_expanded_OSL.height;
+                        // Loop the results and return the data we find
+                        for (_i = 0, _c = this.pos; _i < _c.length; _i++) {
+                            match = _c[_i];
+                            // Overlay a rectangle around the matched area on screen if we're running in alt1
+                            if (window.alt1 && alt1.permissionOverlay && _settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.counter)
+                                alt1.overLayRect(alt1__WEBPACK_IMPORTED_MODULE_1__.mixColor(255, 255, 255), match.x, match.y, width, height, 500, 3);
+                            // Get the pixel data for the matched area
+                            this.data.img = buffer.toData(match.x, match.y, width, height);
+                            countText = alt1_ocr__WEBPACK_IMPORTED_MODULE_2__.findReadLine(this.data.img, this.countFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], this.data.collapsed ? 10 : 72, 15, 30, 3);
+                            this.data.count = parseInt(countText.text);
+                            if (!this.data.collapsed)
+                                this.data.task = alt1_ocr__WEBPACK_IMPORTED_MODULE_2__.findReadLine(this.data.img, this.taskFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], 9, 28, 156, 3).text;
+                        }
+                        return [2 /*return*/, (!this.pos || this.pos.length == 0) ? null : this.data];
+                }
+            });
+        });
+    };
+    UICounterReader.prototype.findUIElement = function (buffer, img, mode) {
+        if (!this.data && this.pos.length == 0)
+            this.pos = buffer.findSubimage(img);
+        if (!this.data && this.pos.length > 0)
+            this.data = { reaper: mode.reaper, collapsed: mode.collapsed, OS: mode.OS, img: null, count: -1, task: null };
+    };
+    return UICounterReader;
+}());
+
+
+
+/***/ }),
+
+/***/ "./modules/data/assignnments.ts":
+/*!**************************************!*\
+  !*** ./modules/data/assignnments.ts ***!
+  \**************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get),
+/* harmony export */   getIndexList: () => (/* binding */ getIndexList)
+/* harmony export */ });
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Fetch a single assignment based on the index or alias
+function get(assignment) {
+    return __awaiter(this, void 0, void 0, function () {
+        var response, data, _i, data_1, a, _a, _b, b, error_1;
+        return __generator(this, function (_c) {
+            switch (_c.label) {
+                case 0:
+                    _c.trys.push([0, 3, , 4]);
+                    return [4 /*yield*/, fetch("./data/assignments.json")];
+                case 1:
+                    response = _c.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _c.sent();
+                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {
+                        a = data_1[_i];
+                        if (a["index"].toLowerCase() === assignment.toLowerCase()) {
+                            return [2 /*return*/, a];
+                        }
+                        for (_a = 0, _b = a["alias"]; _a < _b.length; _a++) {
+                            b = _b[_a];
+                            if (b.toLowerCase() === assignment.toLowerCase()) {
+                                return [2 /*return*/, a];
+                            }
+                        }
+                    }
+                    return [2 /*return*/, null];
+                case 3:
+                    error_1 = _c.sent();
+                    console.error("Error fetching data:", error_1);
+                    return [2 /*return*/, null];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+// Get an array of the index
+function getIndexList() {
+    return __awaiter(this, void 0, void 0, function () {
+        var dataList, response, data, _i, data_2, a, error_2;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    _a.trys.push([0, 3, , 4]);
+                    dataList = "";
+                    return [4 /*yield*/, fetch("./data/assignments.json")];
+                case 1:
+                    response = _a.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _a.sent();
+                    for (_i = 0, data_2 = data; _i < data_2.length; _i++) {
+                        a = data_2[_i];
+                        dataList += "<option>".concat(a["index"], "</option>\n\r");
+                    }
+                    return [2 /*return*/, dataList];
+                case 3:
+                    error_2 = _a.sent();
+                    console.error("Error fetching data:", error_2);
+                    return [2 /*return*/, ""];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/creatures.ts":
+/*!***********************************!*\
+  !*** ./modules/data/creatures.ts ***!
+  \***********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get)
+/* harmony export */ });
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Assuming decodeHtml function is defined or imported elsewhere
+
+// Fetch a single creature based on the name
+function get(creature) {
+    return __awaiter(this, void 0, void 0, function () {
+        var response, data, _i, data_1, a, error_1;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    _a.trys.push([0, 3, , 4]);
+                    return [4 /*yield*/, fetch("./data/creatures.json")];
+                case 1:
+                    response = _a.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _a.sent();
+                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {
+                        a = data_1[_i];
+                        if ((0,_extrafuncs__WEBPACK_IMPORTED_MODULE_0__.decodeHtml)(a["name"].toLowerCase()) === creature.toLowerCase()) {
+                            return [2 /*return*/, a];
+                        }
+                    }
+                    return [2 /*return*/, null];
+                case 3:
+                    error_1 = _a.sent();
+                    console.error("Error fetching data:", error_1);
+                    return [2 /*return*/, null];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/masters.ts":
+/*!*********************************!*\
+  !*** ./modules/data/masters.ts ***!
+  \*********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get)
+/* harmony export */ });
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Assuming decodeHtml function is defined or imported elsewhere
+
+// Fetch a single master based on the name
+function get(master) {
+    return __awaiter(this, void 0, void 0, function () {
+        var response, data, _i, data_1, a, error_1;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    _a.trys.push([0, 3, , 4]);
+                    return [4 /*yield*/, fetch("./data/masters.json")];
+                case 1:
+                    response = _a.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _a.sent();
+                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {
+                        a = data_1[_i];
+                        if ((0,_extrafuncs__WEBPACK_IMPORTED_MODULE_0__.decodeHtml)(a["name"].toLowerCase()) === master.toLowerCase()) {
+                            return [2 /*return*/, a];
+                        }
+                    }
+                    return [2 /*return*/, null];
+                case 3:
+                    error_1 = _a.sent();
+                    console.error("Error fetching data:", error_1);
+                    return [2 /*return*/, null];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/reapers.ts":
+/*!*********************************!*\
+  !*** ./modules/data/reapers.ts ***!
+  \*********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get),
+/* harmony export */   getIndexList: () => (/* binding */ getIndexList)
+/* harmony export */ });
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Fetch a single reaper based on the index or alias
+function get(reaper) {
+    return __awaiter(this, void 0, void 0, function () {
+        var response, data, _i, data_1, a, error_1;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    _a.trys.push([0, 3, , 4]);
+                    return [4 /*yield*/, fetch("./data/reapers.json")];
+                case 1:
+                    response = _a.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _a.sent();
+                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {
+                        a = data_1[_i];
+                        if (a["index"].toLowerCase() === reaper.toLowerCase()) {
+                            return [2 /*return*/, a];
+                        }
+                    }
+                    return [2 /*return*/, null];
+                case 3:
+                    error_1 = _a.sent();
+                    console.error("Error fetching data:", error_1);
+                    return [2 /*return*/, null];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+// Get an array of the index as HTML option elements
+function getIndexList() {
+    return __awaiter(this, void 0, void 0, function () {
+        var dataList, response, data, _i, data_2, a, error_2;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    _a.trys.push([0, 3, , 4]);
+                    dataList = "";
+                    return [4 /*yield*/, fetch("./data/reapers.json")];
+                case 1:
+                    response = _a.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _a.sent();
+                    for (_i = 0, data_2 = data; _i < data_2.length; _i++) {
+                        a = data_2[_i];
+                        dataList += "<option>".concat(a["index"], "</option>\n\r");
+                    }
+                    return [2 /*return*/, dataList];
+                case 3:
+                    error_2 = _a.sent();
+                    console.error("Error fetching data:", error_2);
+                    return [2 /*return*/, ""];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/variants.ts":
+/*!**********************************!*\
+  !*** ./modules/data/variants.ts ***!
+  \**********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get)
+/* harmony export */ });
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Import the decodeHtml function
+
+// Fetch a single variant based on the creature name and variant name
+function get(creature, variant) {
+    return __awaiter(this, void 0, void 0, function () {
+        var response, data, _i, data_1, a, _a, _b, b, error_1;
+        return __generator(this, function (_c) {
+            switch (_c.label) {
+                case 0:
+                    _c.trys.push([0, 3, , 4]);
+                    return [4 /*yield*/, fetch("./data/creatures.json")];
+                case 1:
+                    response = _c.sent();
+                    return [4 /*yield*/, response.json()];
+                case 2:
+                    data = _c.sent();
+                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {
+                        a = data_1[_i];
+                        if ((0,_extrafuncs__WEBPACK_IMPORTED_MODULE_0__.decodeHtml)(a["name"].toLowerCase()) === creature.toLowerCase()) {
+                            for (_a = 0, _b = a["variants"]; _a < _b.length; _a++) {
+                                b = _b[_a];
+                                if (b["name"].toLowerCase() === variant.toLowerCase()) {
+                                    return [2 /*return*/, b];
+                                }
+                            }
+                        }
+                    }
+                    return [2 /*return*/, null];
+                case 3:
+                    error_1 = _c.sent();
+                    console.error("Error fetching data:", error_1);
+                    return [2 /*return*/, null];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler.ts":
+/*!*******************************!*\
+  !*** ./modules/dochandler.ts ***!
+  \*******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   animate: () => (/* reexport module object */ _dochandler_animate__WEBPACK_IMPORTED_MODULE_1__),
+/* harmony export */   change: () => (/* reexport module object */ _dochandler_change__WEBPACK_IMPORTED_MODULE_2__),
+/* harmony export */   getSide: () => (/* binding */ getSide),
+/* harmony export */   hide: () => (/* reexport module object */ _dochandler_hide__WEBPACK_IMPORTED_MODULE_3__),
+/* harmony export */   hover: () => (/* reexport module object */ _dochandler_hover__WEBPACK_IMPORTED_MODULE_4__),
+/* harmony export */   main: () => (/* reexport module object */ _dochandler_main__WEBPACK_IMPORTED_MODULE_0__),
+/* harmony export */   open: () => (/* reexport module object */ _dochandler_open__WEBPACK_IMPORTED_MODULE_6__),
+/* harmony export */   show: () => (/* reexport module object */ _dochandler_show__WEBPACK_IMPORTED_MODULE_5__)
+/* harmony export */ });
+/* harmony import */ var _dochandler_main__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dochandler/main */ "./modules/dochandler/main.ts");
+/* harmony import */ var _dochandler_animate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dochandler/animate */ "./modules/dochandler/animate.ts");
+/* harmony import */ var _dochandler_change__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dochandler/change */ "./modules/dochandler/change.ts");
+/* harmony import */ var _dochandler_hide__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dochandler/hide */ "./modules/dochandler/hide.ts");
+/* harmony import */ var _dochandler_hover__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dochandler/hover */ "./modules/dochandler/hover.ts");
+/* harmony import */ var _dochandler_show__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dochandler/show */ "./modules/dochandler/show.ts");
+/* harmony import */ var _dochandler_open__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dochandler/open */ "./modules/dochandler/open.ts");
+// Import required modules
+
+// Export required modules
+
+
+
+
+
+
+
+// Function to get the side element based on the index
+function getSide(i) {
+    var base = _dochandler_main__WEBPACK_IMPORTED_MODULE_0__.get.elid("base");
+    var side = _dochandler_main__WEBPACK_IMPORTED_MODULE_0__.get.elc(i === 0 ? "left" : "right", base);
+    if (!side) {
+        side = _dochandler_main__WEBPACK_IMPORTED_MODULE_0__.get.elc("single", base);
+    }
+    return side;
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/animate.ts":
+/*!***************************************!*\
+  !*** ./modules/dochandler/animate.ts ***!
+  \***************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   loading: () => (/* binding */ loading),
+/* harmony export */   loadingStop: () => (/* binding */ loadingStop)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+// Import required modules
+
+// Function to show the loading bar
+function loading() {
+    var loadingBar = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("loading-bar");
+    if (loadingBar) {
+        loadingBar.style.visibility = "visible";
+    }
+}
+// Function to hide the loading bar
+function loadingStop() {
+    var loadingBar = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("loading-bar");
+    if (loadingBar) {
+        loadingBar.style.visibility = "hidden";
+    }
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/change.ts":
+/*!**************************************!*\
+  !*** ./modules/dochandler/change.ts ***!
+  \**************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignment: () => (/* binding */ assignment),
+/* harmony export */   creature: () => (/* binding */ creature),
+/* harmony export */   reaper: () => (/* binding */ reaper),
+/* harmony export */   variant: () => (/* binding */ variant)
+/* harmony export */ });
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+/* harmony import */ var _data_masters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/masters */ "./modules/data/masters.ts");
+/* harmony import */ var _data_reapers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/reapers */ "./modules/data/reapers.ts");
+/* harmony import */ var _data_assignnments__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/assignnments */ "./modules/data/assignnments.ts");
+/* harmony import */ var _data_creatures__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/creatures */ "./modules/data/creatures.ts");
+/* harmony import */ var _data_variants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../data/variants */ "./modules/data/variants.ts");
+/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../logger */ "./modules/logger.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Import all modules as namespaces
+
+
+
+
+
+
+
+
+
+// Update the Creature variant shown
+function variant(i_1) {
+    return __awaiter(this, arguments, void 0, function (i, creature, variant) {
+        var side, data, imageContainer, imageElement, newSize, kills;
+        if (creature === void 0) { creature = null; }
+        if (variant === void 0) { variant = null; }
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    // Start loading animation
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    side = _dochandler__WEBPACK_IMPORTED_MODULE_1__.getSide(i);
+                    // Return early if UI is limited or data is not available
+                    if ((_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited || _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) && (!creature || !variant)) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                        return [2 /*return*/];
+                    }
+                    // Fetch creature and variant from UI elements if not provided
+                    if (!creature) {
+                        creature = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).value;
+                    }
+                    if (!variant) {
+                        variant = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("variants", side).value;
+                    }
+                    _logger__WEBPACK_IMPORTED_MODULE_8__.log("Change variant to: ".concat(creature, "#").concat(variant));
+                    return [4 /*yield*/, _data_variants__WEBPACK_IMPORTED_MODULE_7__.get(creature, variant)];
+                case 1:
+                    data = _a.sent();
+                    if (data) {
+                        // Update UI if not limited
+                        if (!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) {
+                            imageContainer = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("image-container", side);
+                            imageContainer.innerHTML = data["image"].replace("#", "%23");
+                            imageElement = imageContainer.firstElementChild;
+                            newSize = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.calculateAspectRatioFit(parseInt(imageElement.getAttribute("width")), parseInt(imageElement.getAttribute("height")), imageContainer.offsetWidth, imageContainer.offsetHeight);
+                            imageElement.style.maxWidth = "".concat(newSize.width, "px");
+                            imageElement.style.maxHeight = "".concat(newSize.height, "px");
+                            // Update stats
+                            updateStats(side, data);
+                        }
+                        kills = parseInt(_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("kills", side).innerHTML, 10);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("total-slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas((data["slayer-exp"] * kills).toFixed(2));
+                    }
+                    // Stop loading animation
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+// Helper function to update stats
+function updateStats(side, data) {
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("level", side).innerHTML = data["level"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("slayer-level", side).innerHTML = data["slayer-level"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("lifepoints", side).innerHTML = data["lifepoints"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("defence", side).innerHTML = data["defence"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-melee", side).innerHTML = data["max-melee"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-ranged", side).innerHTML = data["max-ranged"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-magic", side).innerHTML = data["max-magic"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-necromancy", side).innerHTML = data["max-necromancy"];
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-spec", side).innerHTML = data["max-spec"];
+    // Update weakness and susceptibility
+    var weaknessElem = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("weaknessBox", side);
+    weaknessElem.innerHTML = "<p id=\"weakness-text\">Weakness</p>" + data["weakness"].join("");
+    var susceptibleElem = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("susceptibleBox", side);
+    susceptibleElem.innerHTML = "<p id=\"susceptible-text\">Susceptible</p>" + data["susceptible"].join("");
+    // Update experience values
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("combat-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(data["experience"].toFixed(2));
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("lifepoints-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(data["lifepoint-exp"].toFixed(2));
+    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(data["slayer-exp"].toFixed(2));
+}
+// Update the Creature shown
+function creature(i_1) {
+    return __awaiter(this, arguments, void 0, function (i, creature, variant) {
+        var side, data, variantsElem_1;
+        if (creature === void 0) { creature = null; }
+        if (variant === void 0) { variant = null; }
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    // Start loading animation
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    side = _dochandler__WEBPACK_IMPORTED_MODULE_1__.getSide(i);
+                    // Return early if UI is limited and no creature is provided
+                    if ((_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited || _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) && !creature) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                        return [2 /*return*/];
+                    }
+                    // Fetch creature from UI elements if not provided
+                    if (!creature) {
+                        creature = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).value;
+                    }
+                    _logger__WEBPACK_IMPORTED_MODULE_8__.log("Change Creature to: ".concat(creature).concat(variant ? "#".concat(variant) : ''));
+                    return [4 /*yield*/, _data_creatures__WEBPACK_IMPORTED_MODULE_6__.get(creature)];
+                case 1:
+                    data = _a.sent();
+                    if (data) {
+                        // Update variants if available
+                        if (data["variants"] && !_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) {
+                            variantsElem_1 = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("variants", side);
+                            variantsElem_1.innerHTML = "";
+                            data["variants"].forEach(function (a) {
+                                variantsElem_1.innerHTML += "<option value=\"".concat(a["name"], "\"").concat(variant && _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(a["name"]) === _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(variant) ? " selected" : "", ">").concat(a["name"], "</option>");
+                            });
+                            if (!variant) {
+                                variant = data["variants"][0]["name"];
+                            }
+                        }
+                        // Update the variant to reflect changes
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.change.variant(i, creature, variant);
+                    }
+                    // Stop loading animation
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+// Update the reaper assignment data
+function reaper(task, count) {
+    return __awaiter(this, void 0, void 0, function () {
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0: return [4 /*yield*/, assignment(2, task, count)];
+                case 1: return [2 /*return*/, _a.sent()];
+            }
+        });
+    });
+}
+// Update the entire Assignment data
+function assignment(i, task, count) {
+    return __awaiter(this, void 0, void 0, function () {
+        var side, nameElement, slayer_exp, slayxp, data, total_exp, j, img, masterData, kills, _loop_1, j, j, j, j, j, _i, _a, a, defaultCreature, _b, creature_1, variant_1;
+        var _c;
+        return __generator(this, function (_d) {
+            switch (_d.label) {
+                case 0:
+                    // Ensure correct task loading conditions
+                    if (i === 1 && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.doubleLoaded) {
+                        console.error("Cannot load double slayer task if only 1 is displayed!");
+                        return [2 /*return*/];
+                    }
+                    if (i === 2 && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.reaperLoaded) {
+                        console.error("Cannot load reaper task if 2 are displayed!");
+                        return [2 /*return*/];
+                    }
+                    // Show loading animation
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    side = _dochandler__WEBPACK_IMPORTED_MODULE_1__.getSide(i);
+                    nameElement = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side);
+                    if (!nameElement)
+                        return [2 /*return*/];
+                    // Check if the current task is the same as the new one
+                    if ((task == null && nameElement.innerHTML !== "???") || nameElement.innerHTML.toLowerCase() === task.toLowerCase()) {
+                        _logger__WEBPACK_IMPORTED_MODULE_8__.log("Update task: [".concat(count, "] ").concat(task, " ").concat(i === 0 ? "(Default)" : (i === 2 ? "(Reaper)" : "(1 Slayer Token)")));
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("kills", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(count);
+                        slayer_exp = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("slayer-exp", side);
+                        if (slayer_exp && slayer_exp.innerHTML !== "") {
+                            slayxp = parseInt(slayer_exp.innerHTML);
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("total-slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas((slayxp * count).toFixed(2));
+                        }
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                        return [2 /*return*/];
+                    }
+                    // Load new task data
+                    _logger__WEBPACK_IMPORTED_MODULE_8__.log("Load task: [".concat(count, "] ").concat(task, " ").concat(i === 0 ? "(Default)" : (i === 2 ? "(Reaper)" : "(1 Slayer Token)")));
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("type", side).innerHTML = i === 0 ? "(Default)" : (i === 2 ? "(Reaper)" : "(1 Slayer Token)");
+                    if (i === 2)
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("type", side).id = "type-reaper";
+                    return [4 /*yield*/, (i === 2 ? _data_reapers__WEBPACK_IMPORTED_MODULE_4__.get(task) : _data_assignnments__WEBPACK_IMPORTED_MODULE_5__.get(task))];
+                case 1:
+                    data = _d.sent();
+                    if (!data) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                        return [2 /*return*/];
+                    }
+                    // Update UI elements with the new data
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side).innerHTML = data["index"];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side).title = data["index"];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("kills", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(count);
+                    if (_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) {
+                        total_exp = 0;
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("total-slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(total_exp);
+                    }
+                    if (!(!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded)) return [3 /*break*/, 6];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("masters", side).innerHTML = "<div class=\"nistext masterTitle\">Assignment Range</div>";
+                    j = 0;
+                    _d.label = 2;
+                case 2:
+                    if (!(j < data["masters"].length)) return [3 /*break*/, 5];
+                    img = "<img id=\"masterImage".concat(j, "\" alt=\"").concat(data["masters"][j], "\" src=\"./images/masters/").concat(data["masters"][j], ".png\" title=\"").concat(data["masters"][j], "\"></img>");
+                    return [4 /*yield*/, _data_masters__WEBPACK_IMPORTED_MODULE_3__.get(data["masters"][j])];
+                case 3:
+                    masterData = _d.sent();
+                    kills = masterData["task-counts"][data["index"]];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("masters", side).innerHTML += "<div class=\"nistext masterInfo".concat(j, "\">").concat(img, " Kills: ").concat(kills, "</div>");
+                    _d.label = 4;
+                case 4:
+                    j++;
+                    return [3 /*break*/, 2];
+                case 5:
+                    _loop_1 = function (j) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("masterInfo".concat(j), side).addEventListener('click', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_1__.open.wiki.master(i, j); });
+                    };
+                    for (j = 0; j < data["masters"].length; j++) {
+                        _loop_1(j);
+                    }
+                    // Update equipment data
+                    if (data["equipment"]) {
+                        for (j = 0; j < 3; j++) {
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipInfo".concat(j + 1), side).innerHTML = j === 0 ? "None" : "";
+                        }
+                        for (j = 0; j < data["equipment"].length; j++) {
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipInfo".concat(j + 1), side).innerHTML = data["equipment"][j] || "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Empty</span>";
+                        }
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipMore", side).style.visibility = data["equipment"].length < 3 ? "hidden" : "visible";
+                    }
+                    else {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipMore", side).style.visibility = "hidden";
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipInfo1", side).innerHTML = "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Missing</span>";
+                    }
+                    // Update locations data
+                    if (data["locations"]) {
+                        for (j = 0; j < 3; j++) {
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationInfo".concat(j + 1), side).innerHTML = j === 0 ? "None" : "";
+                        }
+                        for (j = 0; j < data["locations"].length; j++) {
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationInfo".concat(j + 1), side).innerHTML = data["locations"][j] || "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Empty</span>";
+                        }
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationMore", side).style.visibility = data["locations"].length < 3 ? "hidden" : "visible";
+                    }
+                    else {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationMore", side).style.visibility = "hidden";
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationInfo1", side).innerHTML = "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Missing</span>";
+                    }
+                    // Update creatures data
+                    if (data["creatures"]) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).innerHTML = "";
+                        for (_i = 0, _a = data["creatures"]; _i < _a.length; _i++) {
+                            a = _a[_i];
+                            if (!_extrafuncs__WEBPACK_IMPORTED_MODULE_2__.listContains(data["hidden-creatures"], a)) {
+                                defaultCreature = ((_c = data["default-creature"]) === null || _c === void 0 ? void 0 : _c.split("#")[0]) || "";
+                                _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).innerHTML += "<option value=\"".concat(a, "\" ").concat(_extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(a) === _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(defaultCreature) ? "selected" : "", ">").concat(a, "</option>");
+                            }
+                        }
+                    }
+                    // Set default creature and variant
+                    if (data["default-creature"]) {
+                        _b = data["default-creature"].split("#"), creature_1 = _b[0], variant_1 = _b[1];
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.change.creature(i, creature_1, variant_1);
+                    }
+                    else {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.change.creature(i);
+                    }
+                    _d.label = 6;
+                case 6:
+                    // Stop loading animation
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/hide.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/hide.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignmentWikiPreview: () => (/* binding */ assignmentWikiPreview),
+/* harmony export */   creatureWikiPreview: () => (/* binding */ creatureWikiPreview),
+/* harmony export */   moreEquip: () => (/* binding */ moreEquip),
+/* harmony export */   moreLocations: () => (/* binding */ moreLocations)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+function assignmentWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).style.visibility = "hidden";
+}
+function creatureWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).style.visibility = "hidden";
+}
+function moreEquip(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).style.visibility = "hidden";
+}
+function moreLocations(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).style.visibility = "hidden";
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/hover.ts":
+/*!*************************************!*\
+  !*** ./modules/dochandler/hover.ts ***!
+  \*************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignmentWiki: () => (/* binding */ assignmentWiki),
+/* harmony export */   creatureWiki: () => (/* binding */ creatureWiki),
+/* harmony export */   moreEquip: () => (/* binding */ moreEquip),
+/* harmony export */   moreLocations: () => (/* binding */ moreLocations)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+function assignmentWiki(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer;
+    var hideTimer = null;
+    showTimer = setTimeout(function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.assignmentWikiPreview(i); }, 500);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).onmouseleave = function () {
+        hideTimer = setTimeout(function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.assignmentWikiPreview(i); }, 200);
+        clearTimeout(showTimer);
+    };
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).onmouseenter = function () {
+        if (hideTimer !== null)
+            clearTimeout(hideTimer);
+    };
+}
+function creatureWiki(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer;
+    var hideTimer = null;
+    showTimer = setTimeout(function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.creatureWikiPreview(i); }, 500);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).onmouseleave = function () {
+        hideTimer = setTimeout(function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.creatureWikiPreview(i); }, 200);
+        clearTimeout(showTimer);
+    };
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).onmouseenter = function () {
+        if (hideTimer !== null)
+            clearTimeout(hideTimer);
+    };
+}
+function moreEquip(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer = setTimeout(function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.moreEquip(i); }, 500);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipMore", side).onmouseleave = function () {
+        clearTimeout(showTimer);
+    };
+}
+function moreLocations(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer = setTimeout(function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.moreLocations(i); }, 500);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationMore", side).onmouseleave = function () {
+        clearTimeout(showTimer);
+    };
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/main.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/main.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   doubleLoaded: () => (/* binding */ doubleLoaded),
+/* harmony export */   get: () => (/* binding */ get),
+/* harmony export */   limitedLoaded: () => (/* binding */ limitedLoaded),
+/* harmony export */   reaperLoaded: () => (/* binding */ reaperLoaded),
+/* harmony export */   reset: () => (/* binding */ reset),
+/* harmony export */   set: () => (/* binding */ set),
+/* harmony export */   setup: () => (/* binding */ setup),
+/* harmony export */   singleLoaded: () => (/* binding */ singleLoaded),
+/* harmony export */   suggestedLoaded: () => (/* binding */ suggestedLoaded),
+/* harmony export */   toggle: () => (/* binding */ toggle)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _data_reapers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/reapers */ "./modules/data/reapers.ts");
+/* harmony import */ var _data_assignnments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/assignnments */ "./modules/data/assignnments.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+/* harmony import */ var _slayer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../slayer */ "./modules/slayer.ts");
+/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../logger */ "./modules/logger.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+
+
+// Define variables
+var doubleLoaded = false;
+var singleLoaded = false;
+var reaperLoaded = false;
+var suggestedLoaded = false;
+var limitedLoaded = false;
+var get;
+(function (get) {
+    function elc(id, base) {
+        return base.getElementsByClassName(id)[0];
+    }
+    get.elc = elc;
+    function elid(id) {
+        return document.getElementById(id);
+    }
+    get.elid = elid;
+    function searchInput() {
+        return document.querySelector("input[name='search-info']").value;
+    }
+    get.searchInput = searchInput;
+})(get || (get = {}));
+var reset;
+(function (reset) {
+    function single() {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (!singleLoaded)
+                            return [2 /*return*/];
+                        return [4 /*yield*/, get.elid("base")];
+                    case 1:
+                        baseElement = _a.sent();
+                        baseElement.innerHTML = "";
+                        singleLoaded = false;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    reset.single = single;
+    function double() {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (!doubleLoaded)
+                            return [2 /*return*/];
+                        return [4 /*yield*/, get.elid("base")];
+                    case 1:
+                        baseElement = _a.sent();
+                        baseElement.innerHTML = "";
+                        doubleLoaded = false;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    reset.double = double;
+    function reaper() {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (!reaperLoaded)
+                            return [2 /*return*/];
+                        return [4 /*yield*/, get.elid("base")];
+                    case 1:
+                        baseElement = _a.sent();
+                        baseElement.innerHTML = "";
+                        reaperLoaded = false;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    reset.reaper = reaper;
+    function suggested() {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (!suggestedLoaded)
+                            return [2 /*return*/];
+                        return [4 /*yield*/, get.elid("base")];
+                    case 1:
+                        baseElement = _a.sent();
+                        baseElement.innerHTML = "";
+                        suggestedLoaded = false;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    reset.suggested = suggested;
+    function searchBox() {
+        return __awaiter(this, void 0, void 0, function () {
+            var searchInfo;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0: return [4 /*yield*/, get.elid("search-info")];
+                    case 1:
+                        searchInfo = _a.sent();
+                        searchInfo.value = "";
+                        toggle.searchText();
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    reset.searchBox = searchBox;
+})(reset || (reset = {}));
+var set;
+(function (set) {
+    // Set to use a double document
+    function double(task0_1, task1_1) {
+        return __awaiter(this, arguments, void 0, function (task0, task1, bypass) {
+            if (bypass === void 0) { bypass = false; }
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if ((task0 == null || task1 == null) && !doubleLoaded)
+                            return [2 /*return*/];
+                        _logger__WEBPACK_IMPORTED_MODULE_5__.log("Load Double: [".concat(task0.count, "] ").concat(task0.name, " | [").concat(task1.count, "] ").concat(task1.name));
+                        // Reset all others
+                        return [4 /*yield*/, reset.single()];
+                    case 1:
+                        // Reset all others
+                        _a.sent();
+                        return [4 /*yield*/, reset.reaper()];
+                    case 2:
+                        _a.sent();
+                        return [4 /*yield*/, reset.suggested()];
+                    case 3:
+                        _a.sent();
+                        if (!!doubleLoaded) return [3 /*break*/, 5];
+                        return [4 /*yield*/, setup.doubleAssignment()];
+                    case 4:
+                        _a.sent();
+                        _a.label = 5;
+                    case 5: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.assignment(0, task0.name, task0.count)];
+                    case 6:
+                        _a.sent();
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.assignment(1, task1.name, task1.count)];
+                    case 7:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass && task0.name && task1.name) {
+                            _settings__WEBPACK_IMPORTED_MODULE_3__.change.addHistory({ type: 'double', tasks: [task0, task1] });
+                        }
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.double = double;
+    // Set to use a single document
+    function single(task_1) {
+        return __awaiter(this, arguments, void 0, function (task, bypass) {
+            if (bypass === void 0) { bypass = false; }
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (task == null && !singleLoaded)
+                            return [2 /*return*/];
+                        _logger__WEBPACK_IMPORTED_MODULE_5__.log("Load Single: [".concat(task.count, "] ").concat(task.name));
+                        // Reset all others
+                        return [4 /*yield*/, reset.double()];
+                    case 1:
+                        // Reset all others
+                        _a.sent();
+                        return [4 /*yield*/, reset.reaper()];
+                    case 2:
+                        _a.sent();
+                        return [4 /*yield*/, reset.suggested()];
+                    case 3:
+                        _a.sent();
+                        if (!!singleLoaded) return [3 /*break*/, 5];
+                        return [4 /*yield*/, setup.singleAssignment(0)];
+                    case 4:
+                        _a.sent();
+                        _a.label = 5;
+                    case 5: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.assignment(0, task.name, task.count)];
+                    case 6:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass && task.name) {
+                            _settings__WEBPACK_IMPORTED_MODULE_3__.change.addHistory({ type: 'single', tasks: [task] });
+                        }
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.single = single;
+    // Set to use reaper tasks doc
+    function reaper(task_1) {
+        return __awaiter(this, arguments, void 0, function (task, bypass) {
+            if (bypass === void 0) { bypass = false; }
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (task == null && !reaperLoaded)
+                            return [2 /*return*/];
+                        _logger__WEBPACK_IMPORTED_MODULE_5__.log("Load Reaper: [".concat(task.count, "] ").concat(task.name));
+                        // Reset all others
+                        return [4 /*yield*/, reset.single()];
+                    case 1:
+                        // Reset all others
+                        _a.sent();
+                        return [4 /*yield*/, reset.double()];
+                    case 2:
+                        _a.sent();
+                        return [4 /*yield*/, reset.suggested()];
+                    case 3:
+                        _a.sent();
+                        return [4 /*yield*/, setup.singleAssignment(2)];
+                    case 4:
+                        _a.sent();
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.reaper(task.name, task.count)];
+                    case 5:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass && task.name) {
+                            _settings__WEBPACK_IMPORTED_MODULE_3__.change.addHistory({ type: 'reaper', tasks: [task] });
+                        }
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.reaper = reaper;
+    // Set to use suggested tasks doc
+    function suggested() {
+        return __awaiter(this, arguments, void 0, function (bypass) {
+            if (bypass === void 0) { bypass = false; }
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (suggestedLoaded)
+                            return [2 /*return*/];
+                        _logger__WEBPACK_IMPORTED_MODULE_5__.log("Load Suggested!");
+                        // Reset all others
+                        return [4 /*yield*/, reset.single()];
+                    case 1:
+                        // Reset all others
+                        _a.sent();
+                        return [4 /*yield*/, reset.double()];
+                    case 2:
+                        _a.sent();
+                        return [4 /*yield*/, reset.reaper()];
+                    case 3:
+                        _a.sent();
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.setup.suggested()];
+                    case 4:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass) {
+                            _settings__WEBPACK_IMPORTED_MODULE_3__.change.addHistory({ type: 'suggestion', tasks: null });
+                        }
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.suggested = suggested;
+    // Set search button
+    function searchButtonText(s) {
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-button").innerHTML = "".concat(s, "<span style=\"visibility: hidden;\">. . .</span>");
+    }
+    set.searchButtonText = searchButtonText;
+    // Set the search input
+    function searchInput(s) {
+        if (s == null)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value = s;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.toggle.searchText();
+    }
+    set.searchInput = searchInput;
+})(set || (set = {}));
+var setup;
+(function (setup) {
+    // Setup the main document
+    function documentMain() {
+        return __awaiter(this, void 0, void 0, function () {
+            var nisElement, _a, reapersIndexList, assignmentsIndexList;
+            return __generator(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        nisElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("nis");
+                        _a = nisElement;
+                        return [4 /*yield*/, fetch("./pages/doc/body.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _b.sent();
+                        // Setup event listeners
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("infobutton").addEventListener('click', _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.aboutInfo);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("menubutton").addEventListener('click', _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.settingsPage);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("donatebutton").addEventListener('click', _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.donate);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("backbutton").addEventListener('click', _settings__WEBPACK_IMPORTED_MODULE_3__.change.goPreviousHistory);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("forwardbutton").addEventListener('click', _settings__WEBPACK_IMPORTED_MODULE_3__.change.goNextHistory);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-button").addEventListener('click', function () { _slayer__WEBPACK_IMPORTED_MODULE_4__.searchTasks(); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").addEventListener('input', _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.toggle.searchText);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").addEventListener('change', function () { _slayer__WEBPACK_IMPORTED_MODULE_4__.searchTasks(); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").addEventListener('keyup', function (event) {
+                            switch (event.key) {
+                                case "ArrowUp":
+                                    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchInput(_settings__WEBPACK_IMPORTED_MODULE_3__.search.getPreviousHistory());
+                                    break;
+                                case "ArrowDown":
+                                    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchInput(_settings__WEBPACK_IMPORTED_MODULE_3__.search.getNextHistory());
+                                    break;
+                            }
+                        });
+                        return [4 /*yield*/, _data_reapers__WEBPACK_IMPORTED_MODULE_1__.getIndexList()];
+                    case 2:
+                        reapersIndexList = _b.sent();
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info-list").innerHTML = reapersIndexList;
+                        return [4 /*yield*/, _data_assignnments__WEBPACK_IMPORTED_MODULE_2__.getIndexList()];
+                    case 3:
+                        assignmentsIndexList = _b.sent();
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info-list").innerHTML += assignmentsIndexList;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.documentMain = documentMain;
+    // Setup the base for double assignment
+    function doubleAssignment() {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement, _a, _loop_1, i;
+            return __generator(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        limitedLoaded = true;
+                        baseElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+                        _a = baseElement;
+                        return [4 /*yield*/, fetch("./pages/doc/dual.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _b.sent();
+                        _loop_1 = function (i) {
+                            var side, _c, extraInfo, _d;
+                            return __generator(this, function (_e) {
+                                switch (_e.label) {
+                                    case 0:
+                                        side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+                                        _c = side;
+                                        return [4 /*yield*/, fetch("./pages/doc/example.html").then(function (r) { return r.text(); })];
+                                    case 1:
+                                        _c.innerHTML = _e.sent();
+                                        // Setup event listeners
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('click', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.assignment(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('mouseover', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.assignmentWiki(i); });
+                                        if (!!_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.ui.limited) return [3 /*break*/, 3];
+                                        extraInfo = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("extra-info", side);
+                                        _d = extraInfo;
+                                        return [4 /*yield*/, fetch("./pages/doc/example-extra.html").then(function (r) { return r.text(); })];
+                                    case 2:
+                                        _d.innerHTML = _e.sent();
+                                        limitedLoaded = false;
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.assignmentWikiPreview(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.creatureWikiPreview(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipMore", side).addEventListener('mouseenter', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreEquip(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreEquip(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationMore", side).addEventListener('mouseenter', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreLocations(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreLocations(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('click', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.creature(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('mouseover', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.creatureWiki(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creatures", side).addEventListener('change', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.creature(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("variants", side).addEventListener('change', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.variant(i); });
+                                        _e.label = 3;
+                                    case 3: return [2 /*return*/];
+                                }
+                            });
+                        };
+                        i = 0;
+                        _b.label = 2;
+                    case 2:
+                        if (!(i < 2)) return [3 /*break*/, 5];
+                        return [5 /*yield**/, _loop_1(i)];
+                    case 3:
+                        _b.sent();
+                        _b.label = 4;
+                    case 4:
+                        i++;
+                        return [3 /*break*/, 2];
+                    case 5:
+                        // Adjust the doc for limited and full
+                        adjustForSettings();
+                        doubleLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.doubleAssignment = doubleAssignment;
+    // Setup the base for single assignment
+    function singleAssignment(i) {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement, _a, side, _b, extraInfo, _c, statusElement;
+            return __generator(this, function (_d) {
+                switch (_d.label) {
+                    case 0:
+                        limitedLoaded = true;
+                        baseElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+                        _a = baseElement;
+                        return [4 /*yield*/, fetch("./pages/doc/single.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _d.sent();
+                        side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+                        _b = side;
+                        return [4 /*yield*/, fetch("./pages/doc/example.html").then(function (r) { return r.text(); })];
+                    case 2:
+                        _b.innerHTML = _d.sent();
+                        // Setup event listeners
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('click', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.assignment(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('mouseover', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.assignmentWiki(i); });
+                        if (!!_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.ui.limited) return [3 /*break*/, 4];
+                        extraInfo = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("extra-info", side);
+                        _c = extraInfo;
+                        return [4 /*yield*/, fetch("./pages/doc/example-extra.html").then(function (r) { return r.text(); })];
+                    case 3:
+                        _c.innerHTML = _d.sent();
+                        limitedLoaded = false;
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.assignmentWikiPreview(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.creatureWikiPreview(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipMore", side).addEventListener('mouseenter', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreEquip(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreEquip(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationMore", side).addEventListener('mouseenter', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreLocations(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).addEventListener('mouseleave', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreLocations(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('click', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.creature(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('mouseover', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.creatureWiki(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creatures", side).addEventListener('change', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.creature(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("variants", side).addEventListener('change', function () { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.variant(i); });
+                        _d.label = 4;
+                    case 4:
+                        statusElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("status", side);
+                        if (_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.ui.status) {
+                            statusElement.style.visibility = "visible";
+                        }
+                        else {
+                            statusElement.style.visibility = "hidden";
+                        }
+                        // Adjust the doc for limited and full
+                        adjustForSettings();
+                        if (i === 2) {
+                            reaperLoaded = true;
+                        }
+                        else {
+                            singleLoaded = true;
+                        }
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.singleAssignment = singleAssignment;
+    // Setup the base for suggested
+    function suggested() {
+        return __awaiter(this, void 0, void 0, function () {
+            var baseElement, _a, suggestType, _loop_2, i;
+            return __generator(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        baseElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+                        _a = baseElement;
+                        return [4 /*yield*/, fetch("./pages/doc/suggested.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _b.sent();
+                        suggestType = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("type-suggest");
+                        if (suggestType) {
+                            suggestType.addEventListener('click', function () { return window.open("https://runescape.wiki/w/Slayer_training/High-levelled"); });
+                        }
+                        _loop_2 = function (i) {
+                            var element = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("suggestion-".concat(i));
+                            if (element) {
+                                element.addEventListener('click', function () { return _slayer__WEBPACK_IMPORTED_MODULE_4__.searchTasks(element.innerHTML); });
+                            }
+                        };
+                        for (i = 1; i <= 12; i++) {
+                            _loop_2(i);
+                        }
+                        suggestedLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.suggested = suggested;
+    // If limited, set the size of the base
+    function adjustForSettings() {
+        var baseElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+        var divideElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("divide");
+        var copyrightElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("copyright");
+        if (_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.ui.limited) {
+            baseElement.classList.remove("base-full");
+            if (divideElement) {
+                divideElement.classList.remove("divide-full");
+            }
+            copyrightElement.classList.remove("copyright-full");
+        }
+        else {
+            baseElement.classList.add("base-full");
+            if (divideElement) {
+                divideElement.classList.add("divide-full");
+            }
+            copyrightElement.classList.add("copyright-full");
+        }
+    }
+})(setup || (setup = {}));
+var toggle;
+(function (toggle) {
+    // Toggle if we are capturing screen or searching text
+    function searchText() {
+        var searchResult = _slayer__WEBPACK_IMPORTED_MODULE_4__.searchResult;
+        var autoCaptureEnabled = _settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.enabled;
+        var searchInput = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.searchInput();
+        if (searchResult || (!autoCaptureEnabled && searchInput === "")) {
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchButtonText("Capture");
+        }
+        else {
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchButtonText("Search");
+        }
+    }
+    toggle.searchText = searchText;
+})(toggle || (toggle = {}));
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/open.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/open.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   aboutInfo: () => (/* binding */ aboutInfo),
+/* harmony export */   donate: () => (/* binding */ donate),
+/* harmony export */   settingsPage: () => (/* binding */ settingsPage),
+/* harmony export */   wiki: () => (/* binding */ wiki)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+// Open the Donate Page (https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ)
+function donate() {
+    window.open("https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ");
+}
+// Open the about info page
+function aboutInfo() {
+    window.open("./pages/about.html", null, "width=680,height=550");
+}
+// Open the settings page
+function settingsPage() {
+    var settingsWindow = window.open("./pages/settings.html", "_blank", "width=420,height=550");
+    console.warn("Settings Opened!");
+    settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.window.console.warn("Settings Loaded!");
+    settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.addEventListener('keyup', function (e) {
+        if ((e.which || e.keyCode) === 116) {
+            // Prevent F5 key press from refreshing the page
+            e.preventDefault();
+        }
+    });
+    settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.addEventListener('beforeunload', function () {
+        // Load the new settings and apply them
+        _settings__WEBPACK_IMPORTED_MODULE_1__.controller.load();
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.toggle.searchText();
+        console.warn("Settings Closed!");
+        settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.window.console.warn("Settings Saved!");
+    });
+}
+var wiki;
+(function (wiki) {
+    // Opens the wiki page for a specific task
+    function assignment(i) {
+        var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+        var task = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("name", side).innerHTML;
+        if (task) {
+            window.open('https://runescape.wiki/' + task + '_(Slayer_assignment)');
+        }
+    }
+    wiki.assignment = assignment;
+    // Opens the wiki page for a specific creature
+    function creature(i) {
+        var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+        var creature = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creatures", side).value;
+        var variant = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("variants", side).value;
+        if (creature && variant) {
+            window.open('https://runescape.wiki/' + creature + "#" + variant);
+        }
+    }
+    wiki.creature = creature;
+    // Opens the wiki page for a specific master
+    function master(i, j) {
+        var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+        var master = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("masterImage" + j, side).alt;
+        if (master) {
+            window.open('https://runescape.wiki/' + master);
+        }
+    }
+    wiki.master = master;
+})(wiki || (wiki = {}));
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/show.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/show.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignmentWikiPreview: () => (/* binding */ assignmentWikiPreview),
+/* harmony export */   creatureWikiPreview: () => (/* binding */ creatureWikiPreview),
+/* harmony export */   moreEquip: () => (/* binding */ moreEquip),
+/* harmony export */   moreLocations: () => (/* binding */ moreLocations)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+// Show the specific Creature's preview wiki page
+function assignmentWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).style.visibility = "visible";
+}
+// Show the specific Creature's preview wiki page
+function creatureWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).style.visibility = "visible";
+}
+// Show more Equipment for task
+function moreEquip(i) {
+    var _a;
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var equipHiddenElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side);
+    if ((_a = equipHiddenElement.innerHTML) === null || _a === void 0 ? void 0 : _a.trimEnd()) {
+        equipHiddenElement.style.visibility = "visible";
+    }
+}
+// Show more Locations for task
+function moreLocations(i) {
+    var _a;
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var locationHiddenElement = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side);
+    if ((_a = locationHiddenElement.innerHTML) === null || _a === void 0 ? void 0 : _a.trimEnd()) {
+        locationHiddenElement.style.visibility = "visible";
+    }
+}
+
+
+/***/ }),
+
+/***/ "./modules/extrafuncs.ts":
+/*!*******************************!*\
+  !*** ./modules/extrafuncs.ts ***!
+  \*******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   calculateAspectRatioFit: () => (/* binding */ calculateAspectRatioFit),
+/* harmony export */   decodeHtml: () => (/* binding */ decodeHtml),
+/* harmony export */   listContains: () => (/* binding */ listContains),
+/* harmony export */   numberWithCommas: () => (/* binding */ numberWithCommas)
+/* harmony export */ });
+// Add commas into a number if its big enough
+function numberWithCommas(n) {
+    if (n == null)
+        return "<span style=\"color: red;\">Empty</span>";
+    if (n === -666)
+        return "<span style=\"color: red;\">Error</span>";
+    return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+}
+// Check if the list contains what you want to find
+function listContains(list, find) {
+    for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
+        var l = list_1[_i];
+        if (decodeHtml(l).toLowerCase() === decodeHtml(find).toLowerCase())
+            return true;
+    }
+    return false;
+}
+// Get new width and height for image based on aspect ratio
+function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) {
+    var ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
+    return { width: srcWidth * ratio, height: srcHeight * ratio };
+}
+// Decode the HTML chars that have been encoded during database downloading
+function decodeHtml(html) {
+    var txt = document.createElement("textarea");
+    txt.innerHTML = html;
+    return txt.value;
+}
+
+
+/***/ }),
+
+/***/ "./modules/logger.ts":
+/*!***************************!*\
+  !*** ./modules/logger.ts ***!
+  \***************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   debug: () => (/* binding */ debug),
+/* harmony export */   error: () => (/* binding */ error),
+/* harmony export */   log: () => (/* binding */ log),
+/* harmony export */   setDebug: () => (/* binding */ setDebug),
+/* harmony export */   setLimit: () => (/* binding */ setLimit),
+/* harmony export */   setVerbose: () => (/* binding */ setVerbose),
+/* harmony export */   verbose: () => (/* binding */ verbose),
+/* harmony export */   warn: () => (/* binding */ warn)
+/* harmony export */ });
+// Private queues and settings
+var debugQueue = [];
+var verboseQueue = [];
+var queueLimit = 50;
+var debugEnabled = false;
+var verboseEnabled = false;
+// Set the queue limit for debug and verbose
+function setLimit(limit) {
+    queueLimit = limit;
+}
+// Enable or disable debug logging
+function setDebug(enabled) {
+    debugEnabled = enabled;
+    if (enabled)
+        debug("Debug logging enabled"); // Force Flush the Queue
+}
+// Enable or disable verbose logging
+function setVerbose(enabled) {
+    verboseEnabled = enabled;
+    if (enabled)
+        verbose("Verbose logging enabled"); // Force Flush the Queue
+}
+// Public: Log to the normal queue and flush the queue
+function log() {
+    var messages = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+        messages[_i] = arguments[_i];
+    }
+    console.log.apply(console, messages);
+}
+// Public: Log to the warn queue and flush the queue
+function warn() {
+    var messages = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+        messages[_i] = arguments[_i];
+    }
+    console.warn.apply(console, messages);
+}
+// Public: Log to the error queue and flush the queue
+function error() {
+    var messages = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+        messages[_i] = arguments[_i];
+    }
+    console.error.apply(console, messages);
+}
+// Public: Log to the debug queue only if debug is enabled and flush the queue
+function debug() {
+    var messages = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+        messages[_i] = arguments[_i];
+    }
+    debugQueue.push(messages.join(' '));
+    trimQueue(debugQueue);
+    if (debugEnabled)
+        flushQueue(debugQueue, "Debug");
+}
+// Public: Log to the verbose queue only if verbose is enabled and flush the queue
+function verbose() {
+    var messages = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+        messages[_i] = arguments[_i];
+    }
+    verboseQueue.push(messages.join(' '));
+    trimQueue(verboseQueue);
+    if (verboseEnabled)
+        flushQueue(verboseQueue, "Verbose");
+}
+// Private: Trim the queue if it exceeds the limit (FIFO: remove first entry)
+function trimQueue(queue) {
+    if (queue.length > queueLimit)
+        queue.shift();
+}
+// Private: Flush and output the entire queue, emptying it afterward
+function flushQueue(queue, label) {
+    while (queue.length > 0) {
+        var message = queue.shift();
+        if (label === "Debug")
+            console.log("[".concat(label, "] ").concat(message));
+        if (label === "Verbose")
+            console.warn("[".concat(label, "] ").concat(message));
+    }
+}
+
+
+/***/ }),
+
+/***/ "./modules/settings.ts":
+/*!*****************************!*\
+  !*** ./modules/settings.ts ***!
+  \*****************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   AutoCaptureData: () => (/* binding */ AutoCaptureData),
+/* harmony export */   DefaultData: () => (/* binding */ DefaultData),
+/* harmony export */   HiddenData: () => (/* binding */ HiddenData),
+/* harmony export */   SettingsData: () => (/* binding */ SettingsData),
+/* harmony export */   SettingsDataController: () => (/* binding */ SettingsDataController),
+/* harmony export */   UIData: () => (/* binding */ UIData),
+/* harmony export */   change: () => (/* binding */ change),
+/* harmony export */   controller: () => (/* binding */ controller),
+/* harmony export */   executeDevTools: () => (/* binding */ executeDevTools),
+/* harmony export */   search: () => (/* binding */ search)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _slayer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slayer */ "./modules/slayer.ts");
+/* harmony import */ var _dochandler_main__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dochandler/main */ "./modules/dochandler/main.ts");
+/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logger */ "./modules/logger.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+// Define classes
+var AutoCaptureData = /** @class */ (function () {
+    function AutoCaptureData() {
+    }
+    return AutoCaptureData;
+}());
+
+var UIData = /** @class */ (function () {
+    function UIData() {
+    }
+    return UIData;
+}());
+
+var DefaultData = /** @class */ (function () {
+    function DefaultData() {
+    }
+    return DefaultData;
+}());
+
+var HiddenData = /** @class */ (function () {
+    function HiddenData() {
+    }
+    return HiddenData;
+}());
+
+var SettingsData = /** @class */ (function () {
+    function SettingsData() {
+    }
+    return SettingsData;
+}());
+
+// Controls all the settings data
+var SettingsDataController = /** @class */ (function () {
+    function SettingsDataController() {
+        this.configLoaded = false;
+        this.data = {
+            version: 1,
+            searchAlgorithim: "default",
+            autoCapture: {
+                enabled: true,
+                counter: true,
+                search: false,
+                loopTimer: 500,
+                counterTimer: 500,
+                dialogTimer: 5000,
+                searchTimer: 10000,
+            },
+            ui: {
+                style: "default",
+                limited: false,
+                status: true,
+                counter: false,
+                counterTimer: 500,
+                historyRetentionCount: 10,
+                lookupRetentionCount: 0,
+            },
+            showHidden: {
+                creatures: false,
+                eliteCreatures: false,
+                dragonkinCreatures: false,
+                godWarsCreatures: false,
+                ghorrockCreatures: false,
+                heartGielinorCreatures: false,
+                monsterCreatures: false,
+                newVarrockCreatures: false,
+                shadowReefCreatures: false,
+                strongholdSecurityCreatures: false,
+                summonedCreatures: false,
+                templeTrekkingCreatures: false,
+                unchartedIslesCreatures: false
+            },
+            default: {
+                taskName0: "waterfiends",
+                taskName1: "black demons",
+                taskCount0: 777,
+                taskCount1: 666
+            },
+        };
+    }
+    SettingsDataController.prototype.load = function () {
+        return __awaiter(this, void 0, void 0, function () {
+            var res;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (window.localStorage.getItem('version') != null) {
+                            this.data.version = this.decodeVersion(window.localStorage.getItem('version'));
+                        }
+                        if (this.data.version <= 5 && !this.configLoaded) {
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log("(Versioning System Missing) Setting up versioning system.");
+                            window.localStorage.removeItem('recent_task_0');
+                            window.localStorage.removeItem('recent_task_count_0');
+                            window.localStorage.removeItem('recent_task_1');
+                            window.localStorage.removeItem('recent_task_count_1');
+                            this.save();
+                        }
+                        return [4 /*yield*/, fetch("./data/version.json").then(function (r) { return r.json(); })];
+                    case 1:
+                        res = _a.sent();
+                        if (this.data.version < this.decodeVersion(res['version'])) {
+                            this.data.version = this.decodeVersion(res['version']);
+                        }
+                        controller.data.autoCapture.enabled = window.localStorage.getItem("auto-capture-enabled") === "true";
+                        controller.data.autoCapture.counter = window.localStorage.getItem("auto-capture-counter") === "true";
+                        controller.data.autoCapture.search = window.localStorage.getItem("auto-capture-search") === "true";
+                        controller.data.autoCapture.loopTimer = parseInt(window.localStorage.getItem("auto-capture-timer-loop"));
+                        controller.data.autoCapture.dialogTimer = parseInt(window.localStorage.getItem("auto-capture-timer-dialog"));
+                        controller.data.autoCapture.counterTimer = parseInt(window.localStorage.getItem("auto-capture-timer-counter"));
+                        controller.data.autoCapture.searchTimer = parseInt(window.localStorage.getItem("auto-capture-timer-search"));
+                        controller.data.ui.limited = window.localStorage.getItem("ui-limited") === "true";
+                        controller.data.ui.status = window.localStorage.getItem("ui-status") === "true";
+                        controller.data.ui.counter = window.localStorage.getItem("ui-counter") === "true";
+                        controller.data.ui.counterTimer = parseInt(window.localStorage.getItem("ui-counter-timer"));
+                        // TODO Load history here then reset the UI and load them
+                        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.single();
+                        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.double();
+                        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.reaper();
+                        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.suggested();
+                        if (!(this.data.default.taskName0 != null && this.data.default.taskName1 != null)) return [3 /*break*/, 3];
+                        return [4 /*yield*/, _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.double({ name: this.data.default.taskName0, count: this.data.default.taskCount0 }, { name: this.data.default.taskName1, count: this.data.default.taskCount1 })];
+                    case 2:
+                        _a.sent();
+                        return [3 /*break*/, 5];
+                    case 3:
+                        if (!(this.data.default.taskName0 != null && this.data.default.taskName1 == null)) return [3 /*break*/, 5];
+                        return [4 /*yield*/, _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.single({ name: this.data.default.taskName0, count: this.data.default.taskCount0 })];
+                    case 4:
+                        _a.sent();
+                        _a.label = 5;
+                    case 5:
+                        console.warn("Config Loaded");
+                        this.configLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    };
+    SettingsDataController.prototype.save = function () {
+        return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (_a) {
+                if (this.data.version > 1) {
+                    window.localStorage.setItem('version', this.encodeVersion(this.data.version));
+                }
+                window.localStorage.setItem("auto-capture-enabled", "" + controller.data.autoCapture.enabled);
+                window.localStorage.setItem("auto-capture-counter", "" + controller.data.autoCapture.counter);
+                window.localStorage.setItem("auto-capture-search", "" + controller.data.autoCapture.search);
+                window.localStorage.setItem("auto-capture-timer-loop", "" + controller.data.autoCapture.loopTimer);
+                window.localStorage.setItem("auto-capture-timer-dialog", "" + controller.data.autoCapture.dialogTimer);
+                window.localStorage.setItem("auto-capture-timer-counter", "" + controller.data.autoCapture.counterTimer);
+                window.localStorage.setItem("auto-capture-timer-search", "" + controller.data.autoCapture.searchTimer);
+                window.localStorage.setItem("ui-limited", "" + controller.data.ui.limited);
+                window.localStorage.setItem("ui-status", "" + controller.data.ui.status);
+                window.localStorage.setItem("ui-counter", "" + controller.data.ui.counter);
+                window.localStorage.setItem("ui-counter-timer", "" + controller.data.ui.counterTimer);
+                console.warn("Config Saved");
+                return [2 /*return*/];
+            });
+        });
+    };
+    SettingsDataController.prototype.decodeVersion = function (version) {
+        var versionSplit = version.split(".");
+        var versionUpper = versionSplit.length > 2 ? parseInt(versionSplit[0]) : 0;
+        var versionLower = parseInt(versionSplit.length > 2 ? versionSplit[1] : versionSplit[0]);
+        var versionPatch = parseInt(versionSplit.length > 2 ? versionSplit[2] : versionSplit[1]);
+        return ((versionUpper * 256 * 256) + (versionLower * 256) + versionPatch);
+    };
+    SettingsDataController.prototype.encodeVersion = function (version) {
+        var versionUpper = version > 256 * 256 ? version / (256 * 256) : 0;
+        var versionLower = version > 256 ? (version - (versionUpper * 256 * 256)) / 256 : 0;
+        var versionPatch = (version - (versionUpper * 256 * 256) - (versionLower * 256));
+        return versionUpper + "." + versionLower + "." + versionPatch;
+    };
+    return SettingsDataController;
+}());
+
+var controller = new SettingsDataController();
+// Change history functions
+var change;
+(function (change) {
+    change.history = [];
+    change.index = 0;
+    function addHistory(history) {
+        if (!history || !history.tasks || !change.history[change.index])
+            return;
+        if ((history.type === "single" || history.type === "reaper") &&
+            history.tasks[0].name === change.history[change.index].tasks[0].name)
+            return;
+        if (history.type === "double" &&
+            history.tasks[0].name === change.history[change.index].tasks[0].name &&
+            history.tasks[1].name === change.history[change.index].tasks[1].name)
+            return;
+        if (history.type === "suggestion" && history.type === change.history[change.index].type)
+            return;
+        if (change.index + 1 != change.history.length) {
+            change.history = change.history.slice(0, change.index + 1);
+        }
+        change.history.push(history);
+        change.index = change.history.length - 1;
+        console.warn("Save History");
+        controller.save();
+    }
+    change.addHistory = addHistory;
+    function refreshCurrent() {
+        if (change.index < 0 || change.index >= change.history.length)
+            return;
+        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.single();
+        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.double();
+        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.reaper();
+        _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.reset.suggested();
+        var previousChange = change.history[change.index];
+        if (previousChange.type === 'double')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.double(previousChange.tasks[0], previousChange.tasks[1], true);
+        if (previousChange.type === 'single')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.single(previousChange.tasks[0], true);
+        if (previousChange.type === 'reaper')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.reaper(previousChange.tasks[0], true);
+        if (previousChange.type === 'suggestion')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.suggested(true);
+        console.warn("Save History");
+        controller.save();
+    }
+    change.refreshCurrent = refreshCurrent;
+    function goPreviousHistory() {
+        if (change.index - 1 < 0)
+            return;
+        var previousChange = change.history[--change.index];
+        if (previousChange.type === 'double')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.double(previousChange.tasks[0], previousChange.tasks[1], true);
+        if (previousChange.type === 'single')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.single(previousChange.tasks[0], true);
+        if (previousChange.type === 'reaper')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.reaper(previousChange.tasks[0], true);
+        if (previousChange.type === 'suggestion')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.suggested(true);
+        console.warn("Save History");
+        controller.save();
+    }
+    change.goPreviousHistory = goPreviousHistory;
+    function goNextHistory() {
+        if (change.index + 1 >= change.history.length)
+            return;
+        var nextChange = change.history[++change.index];
+        if (nextChange.type === 'double')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.double(nextChange.tasks[0], nextChange.tasks[1], true);
+        if (nextChange.type === 'single')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.single(nextChange.tasks[0], true);
+        if (nextChange.type === 'reaper')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.reaper(nextChange.tasks[0], true);
+        if (nextChange.type === 'suggestion')
+            _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.set.suggested(true);
+        console.warn("Save History");
+        controller.save();
+    }
+    change.goNextHistory = goNextHistory;
+})(change || (change = {}));
+var search;
+(function (search) {
+    var temp = null;
+    var history = [];
+    var index = 0;
+    function addHistory(value) {
+        if (!value)
+            return;
+        history.push(value);
+        index = history.length;
+        temp = null;
+        console.warn("Save History");
+        controller.save();
+    }
+    search.addHistory = addHistory;
+    function getPreviousHistory() {
+        tempValue();
+        console.warn("Save History");
+        controller.save();
+        if (index - 1 < 0)
+            return null;
+        if (--index === history.length)
+            return temp;
+        return history[index];
+    }
+    search.getPreviousHistory = getPreviousHistory;
+    function getNextHistory() {
+        tempValue();
+        console.warn("Save History");
+        controller.save();
+        if (index + 1 > history.length + (temp === "" ? 0 : 1))
+            return null;
+        if (++index === history.length + (temp === "" ? 0 : 1))
+            return "";
+        if (temp !== "" && index === history.length)
+            return temp;
+        return history[index];
+    }
+    search.getNextHistory = getNextHistory;
+    function tempValue() {
+        var currentValue = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value;
+        if (temp === null)
+            temp = currentValue;
+        if (index === history.length && temp !== currentValue)
+            temp = currentValue;
+        if (index === history.length + 1 && currentValue !== "") {
+            temp = currentValue;
+            --index;
+        }
+    }
+})(search || (search = {}));
+function executeDevTools(value) {
+    return __awaiter(this, void 0, void 0, function () {
+        var counterData, slayerData, a, a, pos, box, _i, _a, _b, index, option, e_1;
+        return __generator(this, function (_c) {
+            switch (_c.label) {
+                case 0:
+                    if (value === "devTools") {
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Information Opened ~~~ ");
+                        alt1.openBrowser("https://runeapps.org/forums/viewtopic.php?id=101");
+                        return [2 /*return*/];
+                    }
+                    _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Started ~~~ ");
+                    _c.label = 1;
+                case 1:
+                    _c.trys.push([1, 10, , 11]);
+                    if (!(value === "size")) return [3 /*break*/, 2];
+                    _logger__WEBPACK_IMPORTED_MODULE_3__.log("Current Size: ".concat(document.body.clientWidth, ", ").concat(document.body.clientHeight));
+                    return [3 /*break*/, 9];
+                case 2:
+                    if (!(value === "debug")) return [3 /*break*/, 3];
+                    _logger__WEBPACK_IMPORTED_MODULE_3__.setDebug(true);
+                    return [3 /*break*/, 9];
+                case 3:
+                    if (!(value === "verbose")) return [3 /*break*/, 4];
+                    _logger__WEBPACK_IMPORTED_MODULE_3__.setVerbose(true);
+                    return [3 /*break*/, 9];
+                case 4:
+                    if (!(value === "counterReader")) return [3 /*break*/, 6];
+                    return [4 /*yield*/, _slayer__WEBPACK_IMPORTED_MODULE_1__.counterReader.read()];
+                case 5:
+                    counterData = _c.sent();
+                    if (counterData) {
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Counter UI Collapsed [".concat(counterData.collapsed, "]"));
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Counter UI Old School [".concat(counterData.OS, "]"));
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Counter UI Reaper [".concat(counterData.reaper, "]"));
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Counter UI Count [".concat(counterData.count, "]"));
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Counter UI Task [".concat(counterData.task, "]"));
+                    }
+                    else {
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Error: Cannot read counter data! ~~~ ");
+                    }
+                    return [3 /*break*/, 9];
+                case 6:
+                    if (!(value === "slayerReader")) return [3 /*break*/, 8];
+                    return [4 /*yield*/, _slayer__WEBPACK_IMPORTED_MODULE_1__.slayerReader.read()];
+                case 7:
+                    slayerData = _c.sent();
+                    if (slayerData) {
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Slayer Reader Select Your Own [".concat(slayerData.selectYourOwn, "]"));
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Slayer Reader Reaper [".concat(slayerData.reaper, "]"));
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Slayer Reader Ticket [".concat(slayerData.ticket, "]"));
+                        for (a in slayerData.count) {
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Slayer Reader Count{".concat(a, "} [").concat(slayerData.count[a], "]"));
+                        }
+                        for (a in slayerData.task) {
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Slayer Reader Task{".concat(a, "} [").concat(slayerData.task[a], "]"));
+                        }
+                    }
+                    else {
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Error: Cannot read slayer data! ~~~ ");
+                    }
+                    return [3 /*break*/, 9];
+                case 8:
+                    if (value === "dialogReader") {
+                        _logger__WEBPACK_IMPORTED_MODULE_3__.log("Searching for Dialog...");
+                        pos = _slayer__WEBPACK_IMPORTED_MODULE_1__.slayerReader.dialogReader.find();
+                        if (!pos) {
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Error: Cannot find the Dialog! ~~~ ");
+                            return [2 /*return*/];
+                        }
+                        box = _slayer__WEBPACK_IMPORTED_MODULE_1__.slayerReader.dialogReader.read();
+                        if (!box) {
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Error: Cannot read the Dialog! ~~~ ");
+                            return [2 /*return*/];
+                        }
+                        if (box.title)
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Dialog Box Title [".concat(box.title, "]"));
+                        if (box.text)
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Dialog Box Text [".concat(box.text, "]"));
+                        if (box.opts) {
+                            _logger__WEBPACK_IMPORTED_MODULE_3__.log("The Dialog Box Options (".concat(box.opts.length, ") [").concat(box.opts, "]"));
+                            for (_i = 0, _a = box.opts.entries(); _i < _a.length; _i++) {
+                                _b = _a[_i], index = _b[0], option = _b[1];
+                                _logger__WEBPACK_IMPORTED_MODULE_3__.log("\t".concat(index + 1, ". ").concat(option.text));
+                            }
+                        }
+                    }
+                    _c.label = 9;
+                case 9: return [3 /*break*/, 11];
+                case 10:
+                    e_1 = _c.sent();
+                    console.error("~~~ Dev Tools ~ Error: Issue Capturing Screen! ~~~ ");
+                    return [3 /*break*/, 11];
+                case 11:
+                    _logger__WEBPACK_IMPORTED_MODULE_3__.log(" ~~~ Dev Tools ~ Finished ~~~ ");
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/slayer.ts":
+/*!***************************!*\
+  !*** ./modules/slayer.ts ***!
+  \***************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   canCaptureRunescape: () => (/* binding */ canCaptureRunescape),
+/* harmony export */   captureRunescape: () => (/* binding */ captureRunescape),
+/* harmony export */   counterReader: () => (/* binding */ counterReader),
+/* harmony export */   findTask: () => (/* binding */ findTask),
+/* harmony export */   searchAlgo: () => (/* binding */ searchAlgo),
+/* harmony export */   searchResult: () => (/* binding */ searchResult),
+/* harmony export */   searchTasks: () => (/* binding */ searchTasks),
+/* harmony export */   slayerReader: () => (/* binding */ slayerReader)
+/* harmony export */ });
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _SearchAlgorithm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SearchAlgorithm */ "./modules/SearchAlgorithm.ts");
+/* harmony import */ var _SlayerDialogReader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SlayerDialogReader */ "./modules/SlayerDialogReader.ts");
+/* harmony import */ var _UICounterReader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UICounterReader */ "./modules/UICounterReader.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./settings */ "./modules/settings.ts");
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./logger */ "./modules/logger.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+
+
+
+// Setup the readers and search algo
+var searchAlgo = new _SearchAlgorithm__WEBPACK_IMPORTED_MODULE_0__.SearchAlgorithm();
+var slayerReader = new _SlayerDialogReader__WEBPACK_IMPORTED_MODULE_1__.SlayerDialogReader();
+var counterReader = new _UICounterReader__WEBPACK_IMPORTED_MODULE_2__.UICounterReader();
+var searchResult = false;
+// Get a timer and setup vars
+var timer = function (ms) { return new Promise(function (res) { return setTimeout(res, ms); }); };
+var loopRunning = false;
+// Check if we can capture the screen
+function canCaptureRunescape() {
+    return window.alt1 && alt1.rsLinked && alt1.permissionPixel;
+}
+// Capture the screen
+function captureRunescape() {
+    if (!canCaptureRunescape())
+        return null;
+    try {
+        return alt1__WEBPACK_IMPORTED_MODULE_6__.captureHoldFullRs();
+    }
+    catch (ex) {
+        if (ex.message === "capturehold failed")
+            console.warn("Capturing screen failed! Is runescape open?");
+    }
+    return null;
+}
+// Find a task on the current screen
+function findTask(buffer) {
+    return __awaiter(this, void 0, void 0, function () {
+        var slayerData, counterData;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    if (!_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.enabled || loopRunning || searchResult)
+                        return [2 /*return*/];
+                    if (!buffer)
+                        buffer = captureRunescape();
+                    if (!buffer)
+                        return [2 /*return*/];
+                    loopRunning = true;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    return [4 /*yield*/, slayerReader.read(buffer)];
+                case 1:
+                    slayerData = _a.sent();
+                    if (!(slayerData && slayerData[0])) return [3 /*break*/, 11];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loading();
+                    if (!slayerData.selectYourOwn) return [3 /*break*/, 3];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.suggested();
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.dialogTimer)];
+                case 2:
+                    _a.sent();
+                    loopRunning = false;
+                    return [2 /*return*/];
+                case 3:
+                    if (!(slayerData.reaper && !slayerData.ticket)) return [3 /*break*/, 5];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.reaper({ name: slayerData[0].task, count: slayerData[0].count })];
+                case 4:
+                    _a.sent();
+                    return [3 /*break*/, 9];
+                case 5:
+                    if (!slayerData.ticket) return [3 /*break*/, 7];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.double({ name: slayerData[0].task, count: slayerData[0].count }, { name: slayerData[1].task, count: slayerData[1].count })];
+                case 6:
+                    _a.sent();
+                    return [3 /*break*/, 9];
+                case 7: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.single({ name: slayerData[0].task, count: slayerData[0].count })];
+                case 8:
+                    _a.sent();
+                    _a.label = 9;
+                case 9:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.dialogTimer)];
+                case 10:
+                    _a.sent();
+                    loopRunning = false;
+                    return [3 /*break*/, 21];
+                case 11:
+                    if (!_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.counter) return [3 /*break*/, 20];
+                    return [4 /*yield*/, counterReader.read(buffer)];
+                case 12:
+                    counterData = _a.sent();
+                    if (!counterData) return [3 /*break*/, 18];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loading();
+                    if (!(counterData.reaper && (_dochandler__WEBPACK_IMPORTED_MODULE_4__.main.reaperLoaded || counterData.task != null))) return [3 /*break*/, 14];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.reaper({ name: counterData.task, count: counterData.count })];
+                case 13:
+                    _a.sent();
+                    return [3 /*break*/, 16];
+                case 14:
+                    if (!(!counterData.reaper && (_dochandler__WEBPACK_IMPORTED_MODULE_4__.main.singleLoaded || counterData.task != null))) return [3 /*break*/, 16];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.single({ name: counterData.task, count: counterData.count })];
+                case 15:
+                    _a.sent();
+                    _a.label = 16;
+                case 16:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.counterTimer)];
+                case 17:
+                    _a.sent();
+                    loopRunning = false;
+                    return [3 /*break*/, 19];
+                case 18:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    loopRunning = false;
+                    _a.label = 19;
+                case 19: return [3 /*break*/, 21];
+                case 20:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    loopRunning = false;
+                    _a.label = 21;
+                case 21: return [2 /*return*/];
+            }
+        });
+    });
+}
+// Search for tasks
+function searchTasks(value) {
+    return __awaiter(this, void 0, void 0, function () {
+        var tool, lookup, tasks, _i, lookup_1, term, data;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    if (!!value) return [3 /*break*/, 2];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.get.searchInput()];
+                case 1:
+                    value = _a.sent();
+                    _a.label = 2;
+                case 2:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.reset.searchBox();
+                    _settings__WEBPACK_IMPORTED_MODULE_3__.search.addHistory(value);
+                    if (!(value.length == 0 && (searchResult || !_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.enabled))) return [3 /*break*/, 4];
+                    searchResult = false;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.toggle.searchText();
+                    return [4 /*yield*/, findTask()];
+                case 3:
+                    _a.sent();
+                    return [2 /*return*/];
+                case 4:
+                    if (value.startsWith("devTools")) {
+                        tool = value.includes(" ") ? value.substring(value.indexOf(" ") + 1) : value;
+                        _settings__WEBPACK_IMPORTED_MODULE_3__.executeDevTools(tool);
+                        return [2 /*return*/];
+                    }
+                    else if (value.toLowerCase().includes("suggest")) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.suggested();
+                        return [2 /*return*/];
+                    }
+                    _a.label = 5;
+                case 5:
+                    searchResult = true;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.toggle.searchText();
+                    lookup = value.includes("|") ?
+                        [value.substring(0, value.indexOf("|")), value.substring(value.indexOf("|") + 1)] :
+                        [value];
+                    tasks = [];
+                    _i = 0, lookup_1 = lookup;
+                    _a.label = 6;
+                case 6:
+                    if (!(_i < lookup_1.length)) return [3 /*break*/, 9];
+                    term = lookup_1[_i];
+                    return [4 /*yield*/, searchAlgo.lookup(term, lookup.length > 1)];
+                case 7:
+                    data = _a.sent();
+                    if (data) {
+                        _logger__WEBPACK_IMPORTED_MODULE_5__.log("Search for (Reaper/Slayer Assignment, Alias, or Creature): " + data.task);
+                        tasks.push({ name: data.task, reaper: data.reaper });
+                    }
+                    _a.label = 8;
+                case 8:
+                    _i++;
+                    return [3 /*break*/, 6];
+                case 9:
+                    if (!(tasks.length > 1)) return [3 /*break*/, 11];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.double({ name: tasks[0].name, count: 1 }, { name: tasks[1].name, count: 1 })];
+                case 10:
+                    _a.sent();
+                    return [3 /*break*/, 15];
+                case 11:
+                    if (!(tasks.length == 1)) return [3 /*break*/, 15];
+                    if (!tasks[0].reaper) return [3 /*break*/, 13];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.reaper({ name: tasks[0].name, count: 1 })];
+                case 12:
+                    _a.sent();
+                    return [3 /*break*/, 15];
+                case 13: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.set.single({ name: tasks[0].name, count: 1 })];
+                case 14:
+                    _a.sent();
+                    _a.label = 15;
+                case 15:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.animate.loadingStop();
+                    if (!!_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.search) return [3 /*break*/, 17];
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_3__.controller.data.autoCapture.searchTimer)];
+                case 16:
+                    _a.sent();
+                    searchResult = false;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_4__.main.toggle.searchText();
+                    _a.label = 17;
+                case 17: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./fonts/aa_10px_mono.fontmeta.json":
+/*!******************************************!*\
+  !*** ./fonts/aa_10px_mono.fontmeta.json ***!
+  \******************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+module.exports = __webpack_require__.p + "aa_10px_mono.fontmeta.json";
+
+/***/ }),
+
+/***/ "./fonts/aa_8px_mono.fontmeta.json":
+/*!*****************************************!*\
+  !*** ./fonts/aa_8px_mono.fontmeta.json ***!
+  \*****************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+module.exports = __webpack_require__.p + "aa_8px_mono.fontmeta.json";
+
+/***/ }),
+
+/***/ "./appconfig.json":
+/*!************************!*\
+  !*** ./appconfig.json ***!
+  \************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+module.exports = __webpack_require__.p + "appconfig.json";
+
+/***/ }),
+
+/***/ "./index.html":
+/*!********************!*\
+  !*** ./index.html ***!
+  \********************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+module.exports = __webpack_require__.p + "index.html";
+
+/***/ }),
+
+/***/ "canvas":
+/*!*************************!*\
+  !*** external "canvas" ***!
+  \*************************/
+/***/ ((module) => {
+
+"use strict";
+if(typeof __WEBPACK_EXTERNAL_MODULE_canvas__ === 'undefined') { var e = new Error("Cannot find module 'canvas'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_canvas__;
+
+/***/ }),
+
+/***/ "electron/common":
+/*!**********************************!*\
+  !*** external "electron/common" ***!
+  \**********************************/
+/***/ ((module) => {
+
+"use strict";
+if(typeof __WEBPACK_EXTERNAL_MODULE_electron_common__ === 'undefined') { var e = new Error("Cannot find module 'electron/common'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_electron_common__;
+
+/***/ }),
+
+/***/ "sharp":
+/*!************************!*\
+  !*** external "sharp" ***!
+  \************************/
+/***/ ((module) => {
+
+"use strict";
+if(typeof __WEBPACK_EXTERNAL_MODULE_sharp__ === 'undefined') { var e = new Error("Cannot find module 'sharp'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_sharp__;
+
+/***/ }),
+
+/***/ "../node_modules/alt1/dist/base/index.js":
+/*!***********************************************!*\
+  !*** ../node_modules/alt1/dist/base/index.js ***!
+  \***********************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(true)
+               module.exports = factory((function webpackLoadOptionalExternalModule() { try { return __webpack_require__(/*! sharp */ "sharp"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return __webpack_require__(/*! canvas */ "canvas"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return __webpack_require__(/*! electron/common */ "electron/common"); } catch(e) {} }()));
+       else {}
+})(globalThis, (__WEBPACK_EXTERNAL_MODULE_sharp__, __WEBPACK_EXTERNAL_MODULE_canvas__, __WEBPACK_EXTERNAL_MODULE_electron_common__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       "use strict";
+/******/       var __webpack_modules__ = ({
+
+/***/ "./src/base/alt1api.ts":
+/*!*****************************!*\
+  !*** ./src/base/alt1api.ts ***!
+  \*****************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+
+
+/***/ }),
+
+/***/ "./src/base/declarations.ts":
+/*!**********************************!*\
+  !*** ./src/base/declarations.ts ***!
+  \**********************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+
+
+/***/ }),
+
+/***/ "./src/base/imagedata-extensions.ts":
+/*!******************************************!*\
+  !*** ./src/base/imagedata-extensions.ts ***!
+  \******************************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_2062__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageData = void 0;
+const a1lib = __importStar(__nested_webpack_require_2062__(/*! ./index */ "./src/base/index.ts"));
+const nodeimports = __importStar(__nested_webpack_require_2062__(/*! ./nodepolyfill */ "./src/base/nodepolyfill.ts"));
+// //TODO revamp this madness a bit?
+// (function () {
+//     var globalvar = (typeof self != "undefined" ? self : (typeof (global as any) != "undefined" ? (global as any) : null)) as any;
+//     //use the node-canvas version when on node
+//     if (typeof globalvar.ImageData == "undefined") {
+//             let nodecnv = requireNodeCanvas();
+//             globalvar.ImageData = nodecnv.ImageData;
+//     }
+//     var fill = typeof globalvar.ImageData == "undefined";
+//     //should never be reach anymore
+//     var constr = function (this: any) {
+//             var i = 0;
+//             var data = (arguments[i] instanceof Uint8ClampedArray ? arguments[i++] : null);
+//             var width = arguments[i++];
+//             var height = arguments[i++];
+//             if (fill) {
+//                     if (!data) { data = new Uint8ClampedArray(width * height * 4); }
+//                     this.width = width;
+//                     this.height = height;
+//                     this.data = data;
+//             }
+//             else if (oldconstr) {
+//                     return (data ? new oldconstr(data, width, height) : new oldconstr(width, height));
+//             } else {
+//                     var canvas = document.createElement('canvas');
+//                     canvas.width = width;
+//                     canvas.height = height;
+//                     var ctx = canvas.getContext("2d")!;
+//                     var imageData = ctx.createImageData(width, height);
+//                     if (data) { imageData.data.set(data); }
+//                     return imageData;
+//             }
+//     }
+//     var oldconstr = globalvar.ImageData;
+//     if (typeof document != "undefined") {
+//             try {
+//                     new oldconstr(1, 1);
+//             } catch (e) {
+//                     //direct constructor call not allowed in ie
+//                     oldconstr = null;
+//             }
+//     }
+//     if (!fill) { constr.prototype = globalvar.ImageData.prototype; }
+//     globalvar.ImageData = constr;
+//     ImageData = constr as any;
+// })();
+(function () {
+    var globalvar = (typeof self != "undefined" ? self : (typeof __nested_webpack_require_2062__.g != "undefined" ? __nested_webpack_require_2062__.g : null));
+    var filltype = typeof globalvar.ImageData == "undefined" || typeof globalvar.document == "undefined";
+    var fillconstr = filltype;
+    if (!filltype) {
+        var oldconstr = globalvar.ImageData;
+        try {
+            let data = new Uint8ClampedArray(4);
+            data[0] = 1;
+            let a = new globalvar.ImageData(data, 1, 1);
+            fillconstr = a.data[0] != 1;
+        }
+        catch (e) {
+            fillconstr = true;
+        }
+    }
+    if (fillconstr) {
+        var constr = function ImageDataShim() {
+            var i = 0;
+            var data = (arguments[i] instanceof Uint8ClampedArray ? arguments[i++] : null);
+            var width = arguments[i++];
+            var height = arguments[i++];
+            if (filltype) {
+                if (!data) {
+                    data = new Uint8ClampedArray(width * height * 4);
+                }
+                this.width = width;
+                this.height = height;
+                this.data = data;
+            }
+            else if (fillconstr) {
+                //WARNING This branch of code does not use the same pixel data backing store
+                //(problem with wasm, however all wasm browser have a native constructor (unless asm.js is used))
+                var canvas = document.createElement('canvas');
+                canvas.width = width;
+                canvas.height = height;
+                var ctx = canvas.getContext("2d");
+                var imageData = ctx.createImageData(width, height);
+                if (data) {
+                    imageData.data.set(data);
+                }
+                return imageData;
+            }
+            // else {
+            //         //oh no...
+            //         //we need this monstrocity in order to call the native constructor with variable number of args
+            //         //when es5 transpile is enable (that strips the spread operator)
+            //         return new (Function.prototype.bind.apply(oldconstr, [null,...arguments]));
+            // }
+        };
+        if (!filltype) {
+            constr.prototype = globalvar.ImageData.prototype;
+        }
+        globalvar.ImageData = constr;
+        exports.ImageData = constr;
+    }
+    else {
+        exports.ImageData = globalvar.ImageData;
+    }
+})();
+//Recast into a drawable imagedata class on all platforms, into a normal browser ImageData on browsers or a node-canvas imagedata on nodejs
+exports.ImageData.prototype.toDrawableData = function () {
+    if (typeof document == "undefined") {
+        return nodeimports.imageDataToDrawable(this);
+    }
+    else {
+        return this;
+    }
+};
+exports.ImageData.prototype.putImageData = function (buf, cx, cy) {
+    for (var dx = 0; dx < buf.width; dx++) {
+        for (var dy = 0; dy < buf.height; dy++) {
+            var i1 = (dx + cx) * 4 + (dy + cy) * 4 * this.width;
+            var i2 = dx * 4 + dy * 4 * buf.width;
+            this.data[i1] = buf.data[i2];
+            this.data[i1 + 1] = buf.data[i2 + 1];
+            this.data[i1 + 2] = buf.data[i2 + 2];
+            this.data[i1 + 3] = buf.data[i2 + 3];
+        }
+    }
+};
+exports.ImageData.prototype.pixelOffset = function (x, y) {
+    return x * 4 + y * this.width * 4;
+};
+//creates a hash of a portion of the buffer used to check for changes
+exports.ImageData.prototype.getPixelHash = function (rect) {
+    if (!rect) {
+        rect = new a1lib.Rect(0, 0, this.width, this.height);
+    }
+    var hash = 0;
+    for (var x = rect.x; x < rect.x + rect.width; x++) {
+        for (var y = rect.y; y < rect.y + rect.height; y++) {
+            var i = x * 4 + y * 4 * this.width;
+            hash = (((hash << 5) - hash) + this.data[i]) | 0;
+            hash = (((hash << 5) - hash) + this.data[i + 1]) | 0;
+            hash = (((hash << 5) - hash) + this.data[i + 2]) | 0;
+            hash = (((hash << 5) - hash) + this.data[i + 3]) | 0;
+        }
+    }
+    return hash;
+};
+exports.ImageData.prototype.clone = function (rect) {
+    return this.toImage(rect).getContext("2d").getImageData(0, 0, rect.width, rect.height);
+};
+exports.ImageData.prototype.show = function (x = 5, y = 5, zoom = 1) {
+    if (typeof document == "undefined") {
+        console.error("need a document to show an imagedata object");
+        return;
+    }
+    var imgs = document.getElementsByClassName("debugimage");
+    while (imgs.length > exports.ImageData.prototype.show.maxImages) {
+        imgs[0].remove();
+    }
+    var el = this.toImage();
+    el.classList.add("debugimage");
+    el.style.position = "absolute";
+    el.style.zIndex = "1000";
+    el.style.left = x / zoom + "px";
+    el.style.top = y / zoom + "px";
+    el.style.background = "purple";
+    el.style.cursor = "pointer";
+    el.style.imageRendering = "pixelated";
+    el.style.outline = "1px solid #0f0";
+    el.style.width = (this.width == 1 ? 100 : this.width) * zoom + "px";
+    el.style.height = (this.height == 1 ? 100 : this.height) * zoom + "px";
+    el.onclick = function () { el.remove(); };
+    document.body.appendChild(el);
+    return el;
+};
+exports.ImageData.prototype.show.maxImages = 10;
+exports.ImageData.prototype.toImage = function (rect) {
+    if (!rect) {
+        rect = new a1lib.Rect(0, 0, this.width, this.height);
+    }
+    if (typeof document != "undefined") {
+        var el = document.createElement("canvas");
+        el.width = rect.width;
+        el.height = rect.height;
+    }
+    else {
+        el = nodeimports.createCanvas(rect.width, rect.height);
+    }
+    var ctx = el.getContext("2d");
+    ctx.putImageData(this.toDrawableData(), -rect.x, -rect.y);
+    return el;
+};
+exports.ImageData.prototype.getPixel = function (x, y) {
+    var i = x * 4 + y * 4 * this.width;
+    return [this.data[i], this.data[i + 1], this.data[i + 2], this.data[i + 3]];
+};
+exports.ImageData.prototype.getPixelValueSum = function (x, y) {
+    var i = x * 4 + y * 4 * this.width;
+    return this.data[i] + this.data[i + 1] + this.data[i + 2];
+};
+exports.ImageData.prototype.getPixelInt = function (x, y) {
+    var i = x * 4 + y * 4 * this.width;
+    return (this.data[i + 3] << 24) + (this.data[i + 0] << 16) + (this.data[i + 1] << 8) + (this.data[i + 2] << 0);
+};
+exports.ImageData.prototype.getColorDifference = function (x, y, r, g, b, a = 255) {
+    var i = x * 4 + y * 4 * this.width;
+    return Math.abs(this.data[i] - r) + Math.abs(this.data[i + 1] - g) + Math.abs(this.data[i + 2] - b) * a / 255;
+};
+exports.ImageData.prototype.setPixel = function (x, y, ...color) {
+    var r, g, b, a;
+    var [r, g, b, a] = (Array.isArray(color[0]) ? color[0] : color);
+    var i = x * 4 + y * 4 * this.width;
+    this.data[i] = r;
+    this.data[i + 1] = g;
+    this.data[i + 2] = b;
+    this.data[i + 3] = a == undefined ? 255 : a;
+};
+exports.ImageData.prototype.setPixelInt = function (x, y, color) {
+    var i = x * 4 + y * 4 * this.width;
+    this.data[i] = (color >> 24) & 0xff;
+    this.data[i + 1] = (color >> 16) & 0xff;
+    this.data[i + 2] = (color >> 8) & 0xff;
+    this.data[i + 3] = (color >> 0) & 0xff;
+};
+exports.ImageData.prototype.toFileBytes = function (format, quality) {
+    if (typeof HTMLCanvasElement != "undefined") {
+        return new Promise(d => this.toImage().toBlob(b => {
+            var r = new FileReader();
+            r.readAsArrayBuffer(b);
+            r.onload = () => d(new Uint8Array(r.result));
+        }, format, quality));
+    }
+    else {
+        return nodeimports.imageDataToFileBytes(this, format, quality);
+    }
+};
+exports.ImageData.prototype.toPngBase64 = function () {
+    if (typeof HTMLCanvasElement != "undefined") {
+        var str = this.toImage().toDataURL("image/png");
+        return str.slice(str.indexOf(",") + 1);
+    }
+    else {
+        throw new Error("synchronous image conversion not supported in nodejs, try using ImageData.prototype.toFileBytes");
+    }
+};
+exports.ImageData.prototype.pixelCompare = function (buf, x = 0, y = 0, max) {
+    return a1lib.ImageDetect.simpleCompare(this, buf, x, y, max);
+};
+exports.ImageData.prototype.copyTo = function (target, sourcex, sourcey, width, height, targetx, targety) {
+    //convince v8 that these are 31bit uints
+    const targetwidth = target.width | 0;
+    const thiswidth = this.width | 0;
+    const copywidth = width | 0;
+    const fastwidth = Math.floor(width / 4) * 4;
+    const thisdata = new Int32Array(this.data.buffer, this.data.byteOffset, this.data.byteLength / 4);
+    const targetdata = new Int32Array(target.data.buffer, target.data.byteOffset, target.data.byteLength / 4);
+    for (let cy = 0; cy < height; cy++) {
+        let cx = 0;
+        let it = (cx + targetx) + (cy + targety) * targetwidth;
+        let is = (cx + sourcex) + (cy + sourcey) * thiswidth;
+        //copy 4 pixels per iter (xmm)
+        for (; cx < fastwidth; cx += 4) {
+            targetdata[it] = thisdata[is];
+            targetdata[it + 1] = thisdata[is + 1];
+            targetdata[it + 2] = thisdata[is + 2];
+            targetdata[it + 3] = thisdata[is + 3];
+            it += 4;
+            is += 4;
+        }
+        //copy remainder per pixel
+        for (; cx < copywidth; cx++) {
+            targetdata[it] = thisdata[is];
+            it += 1;
+            is += 1;
+        }
+    }
+};
+if (typeof HTMLImageElement != "undefined") {
+    HTMLImageElement.prototype.toBuffer = function (x = 0, y = 0, w = this.width, h = this.height) {
+        var cnv = document.createElement("canvas");
+        cnv.width = w;
+        cnv.height = h;
+        var ctx = cnv.getContext("2d");
+        ctx.drawImage(this, -x, -y);
+        return ctx.getImageData(0, 0, w, h);
+    };
+    HTMLImageElement.prototype.toCanvas = function (x = 0, y = 0, w = this.width, h = this.height) {
+        var cnv = document.createElement("canvas");
+        cnv.width = w;
+        cnv.height = h;
+        var ctx = cnv.getContext("2d");
+        ctx.drawImage(this, -x, -y);
+        return cnv;
+    };
+}
+
+
+/***/ }),
+
+/***/ "./src/base/imagedetect.ts":
+/*!*********************************!*\
+  !*** ./src/base/imagedetect.ts ***!
+  \*********************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_15248__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageDataSet = exports.webpackImages = exports.asyncMap = exports.coldif = exports.simpleCompareRMSE = exports.simpleCompare = exports.findSubbuffer = exports.findSubimage = exports.clearPngColorspace = exports.isPngBuffer = exports.imageDataFromFileBuffer = exports.imageDataFromBase64 = exports.imageDataFromUrl = void 0;
+const imgref_1 = __nested_webpack_require_15248__(/*! ./imgref */ "./src/base/imgref.ts");
+const wapper = __importStar(__nested_webpack_require_15248__(/*! ./wrapper */ "./src/base/wrapper.ts"));
+const nodeimports = __importStar(__nested_webpack_require_15248__(/*! ./nodepolyfill */ "./src/base/nodepolyfill.ts"));
+const _1 = __nested_webpack_require_15248__(/*! . */ "./src/base/index.ts");
+/**
+* Downloads an image and returns the ImageData
+* Make sure the png image does not have a sRGB chunk or the resulting pixels will differ for different users!!!
+* @param url http(s) or data url to the image
+*/
+async function imageDataFromUrl(url) {
+    if (typeof Image != "undefined") {
+        var img = new Image();
+        img.crossOrigin = "crossorigin";
+        return await new Promise((done, fail) => {
+            img.onload = function () { done(img.toBuffer()); };
+            img.onerror = fail;
+            img.src = url;
+        });
+    }
+    else {
+        var hdr = "data:image/png;base64,";
+        if (url.startsWith(hdr)) {
+            return imageDataFromBase64(url.slice(hdr.length));
+        }
+        throw new Error("loading remote images in nodejs has been disabled, load the raw bytes and use imageDataFromNodeBuffer instead");
+    }
+}
+exports.imageDataFromUrl = imageDataFromUrl;
+/**
+* Loads an ImageData object from a base64 encoded png image
+* Make sure the png image does not have a sRGB chunk or the resulting pixels will differ for different users!!!
+* @param data a base64 encoded png image
+*/
+async function imageDataFromBase64(data) {
+    if (typeof Image != "undefined") {
+        return imageDataFromUrl("data:image/png;base64," + data);
+    }
+    else {
+        return nodeimports.imageDataFromBase64(data);
+    }
+}
+exports.imageDataFromBase64 = imageDataFromBase64;
+/**
+ * Loads an ImageData object directly from a png encoded file buffer
+ * This method ensures that png color space headers are taken care off
+ * @param data The bytes of a png file
+ */
+async function imageDataFromFileBuffer(data) {
+    clearPngColorspace(data);
+    if (typeof Image != "undefined") {
+        let blob = new Blob([data], { type: "image/png" });
+        let url = URL.createObjectURL(blob);
+        let r = await imageDataFromUrl(url);
+        URL.revokeObjectURL(url);
+        return r;
+    }
+    else {
+        return nodeimports.imageDataFromBuffer(data);
+    }
+}
+exports.imageDataFromFileBuffer = imageDataFromFileBuffer;
+/**
+* Checks if a given byte array is a png file (by checking for ?PNG as first 4 bytes)
+* @param bytes Raw bytes of the png file
+*/
+function isPngBuffer(bytes) {
+    return bytes[0] == 137 && bytes[1] == 80 && bytes[2] == 78 && bytes[3] == 71;
+}
+exports.isPngBuffer = isPngBuffer;
+/**
+* Resets the colorspace data in the png file.
+* This makes sure the browser renders the exact colors in the file instead of filtering it in order to obtain the best real life representation of
+* what it looked like on the authors screen. (this feature is often broken and not supported)
+* For example a round trip printscreen -> open in browser results in different colors than the original
+* @param data Raw bytes of the png file
+*/
+function clearPngColorspace(data) {
+    if (!isPngBuffer(data)) {
+        throw new Error("non-png image received");
+    }
+    var i = 8;
+    while (i < data.length) {
+        var length = data[i++] * 0x1000000 + data[i++] * 0x10000 + data[i++] * 0x100 + data[i++];
+        var ancillary = !!((data[i] >> 5) & 1);
+        var chunkname = String.fromCharCode(data[i], data[i + 1], data[i + 2], data[i + 3]);
+        var chunkid = chunkname.toLowerCase();
+        if (chunkid != "trns" && ancillary) {
+            data[i + 0] = "n".charCodeAt(0);
+            data[i + 1] = "o".charCodeAt(0);
+            data[i + 2] = "P".charCodeAt(0);
+            data[i + 3] = "E".charCodeAt(0);
+            //calculate new chunk checksum
+            //http://www.libpng.org/pub/png/spec/1.2/PNG-CRCAppendix.html
+            var end = i + 4 + length;
+            var crc = 0xffffffff;
+            //should be fast enough like this
+            var bitcrc = function (bit) {
+                for (var k = 0; k < 8; k++) {
+                    if (bit & 1) {
+                        bit = 0xedb88320 ^ (bit >>> 1);
+                    }
+                    else {
+                        bit = bit >>> 1;
+                    }
+                }
+                return bit;
+            };
+            for (var a = i; a < end; a++) {
+                if (a >= i + 4) {
+                    data[a] = 0;
+                }
+                var bit = data[a];
+                crc = bitcrc((crc ^ bit) & 0xff) ^ (crc >>> 8);
+            }
+            crc = crc ^ 0xffffffff;
+            //new chunk checksum
+            data[i + 4 + length + 0] = (crc >> 24) & 0xff;
+            data[i + 4 + length + 1] = (crc >> 16) & 0xff;
+            data[i + 4 + length + 2] = (crc >> 8) & 0xff;
+            data[i + 4 + length + 3] = (crc >> 0) & 0xff;
+        }
+        if (chunkname == "IEND") {
+            break;
+        }
+        i += 4; //type
+        i += length; //data
+        i += 4; //crc
+    }
+}
+exports.clearPngColorspace = clearPngColorspace;
+/**
+* finds the given needle ImageBuffer in the given haystack ImgRef this function uses the best optimized available
+* code depending on the type of the haystack. It will use fast c# searching if the haystack is an ImgRefBind, js searching
+* is used otherwise.
+* the checklist argument is no longer used and should ignored or null/undefined
+* The optional sx,sy,sw,sh arguments indicate a bounding rectangle in which to search the needle. The rectangle should be bigger than the needle
+* @returns An array of points where the needle is found. The array is empty if none are found
+*/
+function findSubimage(haystackImgref, needleBuffer, sx = 0, sy = 0, sw = haystackImgref.width, sh = haystackImgref.height) {
+    if (!haystackImgref) {
+        throw new TypeError();
+    }
+    if (!needleBuffer) {
+        throw new TypeError();
+    }
+    var max = 30;
+    //check if we can do this in alt1
+    if (haystackImgref instanceof imgref_1.ImgRefBind && wapper.hasAlt1 && alt1.bindFindSubImg) {
+        var needlestr = wapper.encodeImageString(needleBuffer);
+        var r = alt1.bindFindSubImg(haystackImgref.handle, needlestr, needleBuffer.width, sx, sy, sw, sh);
+        if (!r) {
+            throw new wapper.Alt1Error();
+        }
+        return JSON.parse(r);
+    }
+    return findSubbuffer(haystackImgref.read(), needleBuffer, sx, sy, sw, sh);
+}
+exports.findSubimage = findSubimage;
+/**
+* Uses js to find the given needle ImageBuffer in the given haystack ImageBuffer. It is better to use the alt1.bind- functions in
+* combination with a1nxt.findsubimg.
+* the optional sx,sy,sw,sh arguments indicate a bounding rectangle in which to search.
+* @returns An array of points where the needle is found. The array is empty if none are found
+*/
+function findSubbuffer(haystack, needle, sx = 0, sy = 0, sw = haystack.width, sh = haystack.height) {
+    var r = [];
+    var maxdif = 30;
+    var maxresults = 50;
+    var needlestride = needle.width * 4;
+    var heystackstride = haystack.width * 4;
+    //built list of non trans pixel to check
+    var checkList = [];
+    for (var y = 0; y < needle.height; y++) {
+        for (var x = 0; x < needle.width; x++) {
+            var i = x * 4 + y * needlestride;
+            if (needle.data[i + 3] == 255) {
+                checkList.push({ x: x, y: y });
+            }
+            if (checkList.length == 10) {
+                break;
+            }
+        }
+        if (checkList.length == 10) {
+            break;
+        }
+    }
+    var cw = (sx + sw) - needle.width;
+    var ch = (sy + sh) - needle.height;
+    var checklength = checkList.length;
+    for (var y = sy; y <= ch; y++) {
+        outer: for (var x = sx; x <= cw; x++) {
+            for (var a = 0; a < checklength; a++) {
+                var i1 = (x + checkList[a].x) * 4 + (y + checkList[a].y) * heystackstride;
+                var i2 = checkList[a].x * 4 + checkList[a].y * needlestride;
+                var d = 0;
+                d = d + Math.abs(haystack.data[i1 + 0] - needle.data[i2 + 0]) | 0;
+                d = d + Math.abs(haystack.data[i1 + 1] - needle.data[i2 + 1]) | 0;
+                d = d + Math.abs(haystack.data[i1 + 2] - needle.data[i2 + 2]) | 0;
+                d *= 255 / needle.data[i2 + 3];
+                if (d > maxdif) {
+                    continue outer;
+                }
+            }
+            if (simpleCompare(haystack, needle, x, y, maxdif) != Infinity) {
+                r.push({ x, y });
+                if (r.length > maxresults) {
+                    return r;
+                }
+            }
+        }
+    }
+    return r;
+}
+exports.findSubbuffer = findSubbuffer;
+/**
+* Compares two images and returns the average color difference per pixel between them
+* @param max The max color difference at any point in the image before short circuiting the function and returning Infinity. set to -1 to always continue.
+* @returns The average color difference per pixel or Infinity if the difference is more than max at any point in the image
+*/
+function simpleCompare(bigbuf, checkbuf, x, y, max = 30) {
+    if (x < 0 || y < 0) {
+        throw new RangeError();
+    }
+    if (x + checkbuf.width > bigbuf.width || y + checkbuf.height > bigbuf.height) {
+        throw new RangeError();
+    }
+    if (max == -1) {
+        max = 255 * 4;
+    }
+    var dif = 0;
+    for (var step = 8; step >= 1; step /= 2) {
+        for (var cx = 0; cx < checkbuf.width; cx += step) {
+            for (var cy = 0; cy < checkbuf.height; cy += step) {
+                var i1 = (x + cx) * 4 + (y + cy) * bigbuf.width * 4;
+                var i2 = cx * 4 + cy * checkbuf.width * 4;
+                var d = 0;
+                d = d + Math.abs(bigbuf.data[i1 + 0] - checkbuf.data[i2 + 0]) | 0;
+                d = d + Math.abs(bigbuf.data[i1 + 1] - checkbuf.data[i2 + 1]) | 0;
+                d = d + Math.abs(bigbuf.data[i1 + 2] - checkbuf.data[i2 + 2]) | 0;
+                d *= checkbuf.data[i2 + 3] / 255;
+                if (step == 1) {
+                    dif += d;
+                }
+                if (d > max) {
+                    return Infinity;
+                }
+            }
+        }
+    }
+    return dif / checkbuf.width / checkbuf.height;
+}
+exports.simpleCompare = simpleCompare;
+/**
+* Calculates the root mean square error between the two buffers at the given coordinate, this method can be used in situations with significant blur or
+* transparency, it does not bail early on non-matching images like simpleCompare does so it can be expected to be much slower when called often.
+* @returns The root mean square error beteen the images, high single pixel errors are penalized more than consisten low errors. return of 0 means perfect match.
+*/
+function simpleCompareRMSE(bigbuf, checkbuf, x, y) {
+    if (x < 0 || y < 0) {
+        throw new RangeError();
+    }
+    if (x + checkbuf.width > bigbuf.width || y + checkbuf.height > bigbuf.height) {
+        throw new RangeError();
+    }
+    var dif = 0;
+    var numpix = 0;
+    for (var cx = 0; cx < checkbuf.width; cx++) {
+        for (var cy = 0; cy < checkbuf.height; cy++) {
+            var i1 = (x + cx) * 4 + (y + cy) * bigbuf.width * 4;
+            var i2 = cx * 4 + cy * checkbuf.width * 4;
+            var d = 0;
+            d = d + Math.abs(bigbuf.data[i1 + 0] - checkbuf.data[i2 + 0]) | 0;
+            d = d + Math.abs(bigbuf.data[i1 + 1] - checkbuf.data[i2 + 1]) | 0;
+            d = d + Math.abs(bigbuf.data[i1 + 2] - checkbuf.data[i2 + 2]) | 0;
+            var weight = checkbuf.data[i2 + 3] / 255;
+            numpix += weight;
+            dif += d * d * weight;
+        }
+    }
+    return Math.sqrt(dif / numpix);
+}
+exports.simpleCompareRMSE = simpleCompareRMSE;
+/**
+* Returns the difference between two colors (scaled to the alpha of the second color)
+*/
+function coldif(r1, g1, b1, r2, g2, b2, a2) {
+    return (Math.abs(r1 - r2) + Math.abs(g1 - g2) + Math.abs(b1 - b2)) * a2 / 255; //only applies alpha for 2nd buffer!
+}
+exports.coldif = coldif;
+/**
+ * Turns map of promises into a map that contains the resolved values after loading.
+ * @param input
+ */
+function asyncMap(input) {
+    var raw = {};
+    var promises = [];
+    for (var a in input) {
+        if (input.hasOwnProperty(a)) {
+            raw[a] = null;
+            promises.push(input[a].then(function (a, i) { raw[a] = i; r[a] = i; }.bind(null, a)));
+        }
+    }
+    var r = {};
+    var promise = Promise.all(promises).then(() => { r.loaded = true; return r; });
+    Object.defineProperty(r, "loaded", { enumerable: false, value: false, writable: true });
+    Object.defineProperty(r, "promise", { enumerable: false, value: promise });
+    Object.defineProperty(r, "raw", { enumerable: false, value: raw });
+    return Object.assign(r, raw);
+}
+exports.asyncMap = asyncMap;
+/**
+* Same as asyncMap, but casts the properties to ImageData in typescript
+*/
+function webpackImages(input) {
+    return asyncMap(input);
+}
+exports.webpackImages = webpackImages;
+class ImageDataSet {
+    constructor() {
+        this.buffers = [];
+    }
+    matchBest(img, x, y, max) {
+        let best = null;
+        let bestscore = max;
+        for (let a = 0; a < this.buffers.length; a++) {
+            let score = img.pixelCompare(this.buffers[a], x, y, bestscore);
+            if (isFinite(score) && (bestscore == undefined || score < bestscore)) {
+                bestscore = score;
+                best = a;
+            }
+        }
+        if (best == null) {
+            return null;
+        }
+        return { index: best, score: bestscore };
+    }
+    static fromFilmStrip(baseimg, width) {
+        if ((baseimg.width % width) != 0) {
+            throw new Error("slice size does not fit in base img");
+        }
+        let r = new ImageDataSet();
+        for (let x = 0; x < baseimg.width; x += width) {
+            r.buffers.push(baseimg.clone(new _1.Rect(x, 0, width, baseimg.height)));
+        }
+        return r;
+    }
+    static fromFilmStripUneven(baseimg, widths) {
+        let r = new ImageDataSet();
+        let x = 0;
+        for (let w of widths) {
+            r.buffers.push(baseimg.clone(new _1.Rect(x, 0, w, baseimg.height)));
+            x += w;
+            if (x > baseimg.width) {
+                throw new Error("sampling filmstrip outside bounds");
+            }
+        }
+        if (x != baseimg.width) {
+            throw new Error("unconsumed pixels left in film strip imagedata");
+        }
+        return r;
+    }
+    static fromAtlas(baseimg, slices) {
+        let r = new ImageDataSet();
+        for (let slice of slices) {
+            r.buffers.push(baseimg.clone(slice));
+        }
+        return r;
+    }
+}
+exports.ImageDataSet = ImageDataSet;
+
+
+/***/ }),
+
+/***/ "./src/base/imgref.ts":
+/*!****************************!*\
+  !*** ./src/base/imgref.ts ***!
+  \****************************/
+/***/ ((__unused_webpack_module, exports, __nested_webpack_require_31629__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImgRefData = exports.ImgRefBind = exports.ImgRefCtx = exports.ImgRef = void 0;
+const index_1 = __nested_webpack_require_31629__(/*! ./index */ "./src/base/index.ts");
+/**
+ * Represents an image that might be in different types of memory
+ * This is mostly used to represent images still in Alt1 memory that have
+ * not been transfered to js yet. Various a1lib api's use this type and
+ * choose the most efficient approach based on the memory type
+ */
+class ImgRef {
+    constructor(x, y, w, h) {
+        this.t = "none";
+        this.x = x;
+        this.y = y;
+        this.width = w;
+        this.height = h;
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        throw new Error("This imgref (" + this.t + ") does not support toData");
+    }
+    findSubimage(needle, sx = 0, sy = 0, w = this.width, h = this.height) {
+        return index_1.ImageDetect.findSubimage(this, needle, sx, sy, w, h);
+    }
+    toData(x = this.x, y = this.y, w = this.width, h = this.height) {
+        return this.read(x - this.x, y - this.y, w, h);
+    }
+    ;
+    containsArea(rect) {
+        return this.x <= rect.x && this.y <= rect.y && this.x + this.width >= rect.x + rect.width && this.y + this.height >= rect.y + rect.height;
+    }
+}
+exports.ImgRef = ImgRef;
+/**
+ * Represents an image in js render memory (canvas/image tag)
+ */
+class ImgRefCtx extends ImgRef {
+    constructor(img, x = 0, y = 0) {
+        if (img instanceof CanvasRenderingContext2D) {
+            super(x, y, img.canvas.width, img.canvas.height);
+            this.ctx = img;
+        }
+        else {
+            super(x, y, img.width, img.height);
+            var cnv = (img instanceof HTMLCanvasElement ? img : img.toCanvas());
+            this.ctx = cnv.getContext("2d");
+        }
+        this.t = "ctx";
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        return this.ctx.getImageData(x, y, w, h);
+    }
+}
+exports.ImgRefCtx = ImgRefCtx;
+/**
+ * Represents in image in Alt1 memory, This type of image can be searched for subimages
+ * very efficiently and transfering the full image to js can be avoided this way
+ */
+class ImgRefBind extends ImgRef {
+    constructor(handle, x = 0, y = 0, w = 0, h = 0) {
+        super(x, y, w, h);
+        this.handle = handle;
+        this.t = "bind";
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        return (0, index_1.transferImageData)(this.handle, x, y, w, h);
+    }
+}
+exports.ImgRefBind = ImgRefBind;
+/**
+ * Represents an image in js memory
+ */
+class ImgRefData extends ImgRef {
+    constructor(buf, x = 0, y = 0) {
+        super(x, y, buf.width, buf.height);
+        this.buf = buf;
+        this.t = "data";
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        if (x == 0 && y == 0 && w == this.width && h == this.height) {
+            return this.buf;
+        }
+        var r = new ImageData(w, h);
+        for (var b = y; b < y + h; b++) {
+            for (var a = x; a < x + w; a++) {
+                var i1 = (a - x) * 4 + (b - y) * w * 4;
+                var i2 = a * 4 + b * 4 * this.buf.width;
+                r.data[i1] = this.buf.data[i2];
+                r.data[i1 + 1] = this.buf.data[i2 + 1];
+                r.data[i1 + 2] = this.buf.data[i2 + 2];
+                r.data[i1 + 3] = this.buf.data[i2 + 3];
+            }
+        }
+        return r;
+    }
+}
+exports.ImgRefData = ImgRefData;
+
+
+/***/ }),
+
+/***/ "./src/base/index.ts":
+/*!***************************!*\
+  !*** ./src/base/index.ts ***!
+  \***************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_35283__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageDataSet = exports.findSubbuffer = exports.simpleCompare = exports.findSubimage = exports.webpackImages = exports.NodePolyfill = exports.ImageData = exports.Rect = exports.PasteInput = exports.ImageDetect = void 0;
+__nested_webpack_require_35283__(/*! ./declarations */ "./src/base/declarations.ts");
+exports.ImageDetect = __importStar(__nested_webpack_require_35283__(/*! ./imagedetect */ "./src/base/imagedetect.ts"));
+exports.PasteInput = __importStar(__nested_webpack_require_35283__(/*! ./pasteinput */ "./src/base/pasteinput.ts"));
+var rect_1 = __nested_webpack_require_35283__(/*! ./rect */ "./src/base/rect.ts");
+Object.defineProperty(exports, "Rect", ({ enumerable: true, get: function () { return __importDefault(rect_1).default; } }));
+var imagedata_extensions_1 = __nested_webpack_require_35283__(/*! ./imagedata-extensions */ "./src/base/imagedata-extensions.ts");
+Object.defineProperty(exports, "ImageData", ({ enumerable: true, get: function () { return imagedata_extensions_1.ImageData; } }));
+exports.NodePolyfill = __importStar(__nested_webpack_require_35283__(/*! ./nodepolyfill */ "./src/base/nodepolyfill.ts"));
+__exportStar(__nested_webpack_require_35283__(/*! ./imgref */ "./src/base/imgref.ts"), exports);
+__exportStar(__nested_webpack_require_35283__(/*! ./wrapper */ "./src/base/wrapper.ts"), exports);
+var imagedetect_1 = __nested_webpack_require_35283__(/*! ./imagedetect */ "./src/base/imagedetect.ts");
+Object.defineProperty(exports, "webpackImages", ({ enumerable: true, get: function () { return imagedetect_1.webpackImages; } }));
+Object.defineProperty(exports, "findSubimage", ({ enumerable: true, get: function () { return imagedetect_1.findSubimage; } }));
+Object.defineProperty(exports, "simpleCompare", ({ enumerable: true, get: function () { return imagedetect_1.simpleCompare; } }));
+Object.defineProperty(exports, "findSubbuffer", ({ enumerable: true, get: function () { return imagedetect_1.findSubbuffer; } }));
+Object.defineProperty(exports, "ImageDataSet", ({ enumerable: true, get: function () { return imagedetect_1.ImageDataSet; } }));
+
+
+/***/ }),
+
+/***/ "./src/base/nodepolyfill.ts":
+/*!**********************************!*\
+  !*** ./src/base/nodepolyfill.ts ***!
+  \**********************************/
+/***/ ((__unused_webpack_module, exports, __nested_webpack_require_38931__) => {
+
+
+//nodejs and electron polyfills for web api's
+//commented out type info as that breaks webpack with optional dependencies
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.imageDataFromBuffer = exports.imageDataFromBase64 = exports.imageDataToFileBytes = exports.createCanvas = exports.imageDataToDrawable = exports.requireElectronCommon = exports.requireNodeCanvas = exports.requireSharp = exports.polyfillRequire = void 0;
+const index_1 = __nested_webpack_require_38931__(/*! ./index */ "./src/base/index.ts");
+const imagedetect_1 = __nested_webpack_require_38931__(/*! ./imagedetect */ "./src/base/imagedetect.ts");
+var requirefunction = null;
+/**
+ * Call this function to let the libs require extra dependencies on nodejs in order
+ * to polyfill some browser api's (mostly image compression/decompression)
+ * `NodePolifill.polyfillRequire(require);` should solve most cases
+ */
+function polyfillRequire(requirefn) {
+    requirefunction = requirefn;
+}
+exports.polyfillRequire = polyfillRequire;
+function requireSharp() {
+    try {
+        if (requirefunction) {
+            return requirefunction("sharp");
+        }
+        else {
+            return __nested_webpack_require_38931__(/* webpackIgnore: true */ /*! sharp */ "sharp"); // as typeof import("sharp");
+        }
+    }
+    catch (e) { }
+    return null;
+}
+exports.requireSharp = requireSharp;
+function requireNodeCanvas() {
+    //attempt to require sharp first, after loading canvas the module sharp fails to load
+    requireSharp();
+    try {
+        if (requirefunction) {
+            return requirefunction("canvas");
+        }
+        else {
+            return __nested_webpack_require_38931__(/* webpackIgnore: true */ /*! canvas */ "canvas"); // as typeof import("sharp");
+        }
+    }
+    catch (e) { }
+    return null;
+}
+exports.requireNodeCanvas = requireNodeCanvas;
+function requireElectronCommon() {
+    try {
+        if (requirefunction) {
+            return requirefunction("electron/common");
+        }
+        else {
+            return __nested_webpack_require_38931__(/* webpackIgnore: true */ /*! electron/common */ "electron/common");
+        }
+    }
+    catch (e) { }
+    return null;
+}
+exports.requireElectronCommon = requireElectronCommon;
+function imageDataToDrawable(buf) {
+    let nodecnv = requireNodeCanvas();
+    if (!nodecnv) {
+        throw new Error("couldn't find built-in canvas or the module 'canvas'");
+    }
+    return new nodecnv.ImageData(buf.data, buf.width, buf.height);
+}
+exports.imageDataToDrawable = imageDataToDrawable;
+function createCanvas(w, h) {
+    let nodecnv = requireNodeCanvas();
+    if (!nodecnv) {
+        throw new Error("couldn't find built-in canvas or the module 'canvas'");
+    }
+    return nodecnv.createCanvas(w, h);
+}
+exports.createCanvas = createCanvas;
+function flipBGRAtoRGBA(data) {
+    for (let i = 0; i < data.length; i += 4) {
+        let tmp = data[i + 2];
+        data[i + 2] = data[i + 0];
+        data[i + 0] = tmp;
+    }
+}
+async function imageDataToFileBytes(buf, format, quality) {
+    //use the electron API if we're in electron
+    var electronCommon;
+    var sharp;
+    if (electronCommon = requireElectronCommon()) {
+        let nativeImage = electronCommon.nativeImage;
+        //need to copy the buffer in order to flip it without destroying the original
+        let bufcpy = Buffer.from(buf.data.slice(buf.data.byteOffset, buf.data.byteLength));
+        flipBGRAtoRGBA(bufcpy);
+        let nativeimg = nativeImage.createFromBitmap(bufcpy, { width: buf.width, height: buf.height });
+        return nativeimg.toPNG();
+    }
+    else if (sharp = requireSharp()) {
+        let img = sharp(Buffer.from(buf.data.buffer), { raw: { width: buf.width, height: buf.height, channels: 4 } });
+        if (format == "image/png") {
+            img.png();
+        }
+        else if (format == "image/webp") {
+            var opts = { quality: 80 };
+            if (typeof quality == "number") {
+                opts.quality = quality * 100;
+            }
+            img.webp(opts);
+        }
+        else {
+            throw new Error("unknown image format: " + format);
+        }
+        return await img.toBuffer({ resolveWithObject: false }).buffer;
+    }
+    throw new Error("coulnd't find build-in image compression methods or the module 'electron/common' or 'sharp'");
+}
+exports.imageDataToFileBytes = imageDataToFileBytes;
+function imageDataFromBase64(base64) {
+    return imageDataFromBuffer(Buffer.from(base64, "base64"));
+}
+exports.imageDataFromBase64 = imageDataFromBase64;
+async function imageDataFromBuffer(buffer) {
+    (0, imagedetect_1.clearPngColorspace)(buffer);
+    //use the electron API if we're in electron
+    var electronCommon;
+    var nodecnv;
+    if (electronCommon = requireElectronCommon()) {
+        let nativeImage = electronCommon.nativeImage;
+        let img = nativeImage.createFromBuffer(buffer);
+        let pixels = img.toBitmap();
+        let size = img.getSize();
+        let pixbuf = new Uint8ClampedArray(pixels.buffer, pixels.byteOffset, pixels.byteLength);
+        flipBGRAtoRGBA(pixbuf);
+        return new index_1.ImageData(pixbuf, size.width, size.height);
+    }
+    else if (nodecnv = requireNodeCanvas()) {
+        return new Promise((done, err) => {
+            let img = new nodecnv.Image();
+            img.onerror = err;
+            img.onload = () => {
+                var cnv = nodecnv.createCanvas(img.naturalWidth, img.naturalHeight);
+                var ctx = cnv.getContext("2d");
+                ctx.drawImage(img, 0, 0);
+                var data = ctx.getImageData(0, 0, img.naturalWidth, img.naturalHeight);
+                //use our own class
+                done(new index_1.ImageData(data.data, data.width, data.height));
+            };
+            img.src = Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+        });
+    }
+    throw new Error("couldn't find built-in canvas, module 'electron/common' or the module 'canvas'");
+}
+exports.imageDataFromBuffer = imageDataFromBuffer;
+
+
+/***/ }),
+
+/***/ "./src/base/pasteinput.ts":
+/*!********************************!*\
+  !*** ./src/base/pasteinput.ts ***!
+  \********************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_45123__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.fileDialog = exports.start = exports.startDragNDrop = exports.triggerPaste = exports.unlisten = exports.listen = exports.lastref = void 0;
+const index_1 = __nested_webpack_require_45123__(/*! ./index */ "./src/base/index.ts");
+const ImageDetect = __importStar(__nested_webpack_require_45123__(/*! ./imagedetect */ "./src/base/imagedetect.ts"));
+var listeners = [];
+var started = false;
+var dndStarted = false;
+var pasting = false;
+exports.lastref = null;
+function listen(func, errorfunc, dragndrop) {
+    listeners.push({ cb: func, error: errorfunc });
+    if (!started) {
+        start();
+    }
+    if (dragndrop && !dndStarted) {
+        startDragNDrop();
+    }
+}
+exports.listen = listen;
+function unlisten(func) {
+    let i = listeners.findIndex(c => c.cb == func);
+    if (i != -1) {
+        listeners.splice(i, 1);
+    }
+}
+exports.unlisten = unlisten;
+/**
+ * currently used in multiple document situations (iframe), might be removed in the future
+ */
+function triggerPaste(img) {
+    exports.lastref = img;
+    for (var a in listeners) {
+        listeners[a].cb(exports.lastref);
+    }
+}
+exports.triggerPaste = triggerPaste;
+function pasted(img) {
+    pasting = false;
+    let cnv = img instanceof HTMLCanvasElement ? img : img.toCanvas();
+    triggerPaste(new index_1.ImgRefCtx(cnv));
+}
+function error(error, mes) {
+    var _a, _b;
+    pasting = false;
+    for (var a in listeners) {
+        (_b = (_a = listeners[a]).error) === null || _b === void 0 ? void 0 : _b.call(_a, mes, error);
+    }
+}
+function startDragNDrop() {
+    var getitem = function (items) {
+        var foundimage = "";
+        for (var a = 0; a < items.length; a++) {
+            var item = items[a];
+            var m = item.type.match(/^image\/(\w+)$/);
+            if (m) {
+                if (m[1] == "png") {
+                    return item;
+                }
+                else {
+                    foundimage = m[1];
+                }
+            }
+        }
+        if (foundimage) {
+            error("notpng", "The image you uploaded is not a .png image. Other image type have compression noise and can't be used for image detection.");
+        }
+        return null;
+    };
+    window.addEventListener("dragover", function (e) {
+        e.preventDefault();
+    });
+    window.addEventListener("drop", function (e) {
+        if (!e.dataTransfer) {
+            return;
+        }
+        var item = getitem(e.dataTransfer.items);
+        e.preventDefault();
+        if (!item) {
+            return;
+        }
+        fromFile(item.getAsFile());
+    });
+}
+exports.startDragNDrop = startDragNDrop;
+function start() {
+    if (started) {
+        return;
+    }
+    started = true;
+    //determine if we have a clipboard api
+    //try{a=new Event("clipboard"); a="clipboardData" in a;}
+    //catch(e){a=false;}
+    var ischrome = !!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edge/);
+    //old method breaks after chrome 41, revert to good old user agent sniffing
+    //nvm, internet explorer (edge) decided that it wants to be chrome, however fails at delivering
+    //turns out this one is interesting, edge is a hybrid between the paste api's
+    var apipasted = function (e) {
+        if (!e.clipboardData) {
+            return;
+        }
+        for (var a = 0; a < e.clipboardData.items.length; a++) { //loop all data types
+            if (e.clipboardData.items[a].type.indexOf("image") != -1) {
+                var file = e.clipboardData.items[a].getAsFile();
+                if (file) {
+                    var img = new Image();
+                    img.src = (window.URL || window.webkitURL).createObjectURL(file);
+                    if (img.width > 0) {
+                        pasted(img);
+                    }
+                    else {
+                        img.onload = function () { pasted(img); };
+                    }
+                }
+            }
+        }
+    };
+    if (ischrome) {
+        document.addEventListener("paste", apipasted);
+    }
+    else {
+        var catcher = document.createElement("div");
+        catcher.setAttribute("contenteditable", "");
+        catcher.className = "forcehidden"; //retarded ie safety/bug, cant apply styles using js//TODO i don't even know what's going on
+        catcher.onpaste = function (e) {
+            if (e.clipboardData && e.clipboardData.items) {
+                apipasted(e);
+                return;
+            }
+            setTimeout(function () {
+                var b = catcher.children[0];
+                if (!b || b.tagName != "IMG") {
+                    return;
+                }
+                var img = new Image();
+                img.src = b.src;
+                var a = img.src.match(/^data:([\w\/]+);/);
+                if (img.width > 0) {
+                    pasted(img);
+                }
+                else {
+                    img.onload = function () { pasted(img); };
+                }
+                catcher.innerHTML = "";
+            }, 1);
+        };
+        document.body.appendChild(catcher);
+    }
+    //detect if ctrl-v is pressed and focus catcher if needed
+    document.addEventListener("keydown", function (e) {
+        if (e.target.tagName == "INPUT") {
+            return;
+        }
+        if (e.keyCode != "V".charCodeAt(0) || !e.ctrlKey) {
+            return;
+        }
+        pasting = true;
+        setTimeout(function () {
+            if (pasting) {
+                error("noimg", "You pressed Ctrl+V, but no image was pasted by your browser, make sure your clipboard contains an image, and not a link to an image.");
+            }
+        }, 1000);
+        if (catcher) {
+            catcher.focus();
+        }
+    });
+}
+exports.start = start;
+function fileDialog() {
+    var fileinput = document.createElement("input");
+    fileinput.type = "file";
+    fileinput.accept = "image/png";
+    fileinput.onchange = function () { if (fileinput.files && fileinput.files[0]) {
+        fromFile(fileinput.files[0]);
+    } };
+    fileinput.click();
+    return fileinput;
+}
+exports.fileDialog = fileDialog;
+function fromFile(file) {
+    if (!file) {
+        return;
+    }
+    var reader = new FileReader();
+    reader.onload = function () {
+        var bytearray = new Uint8Array(reader.result);
+        if (ImageDetect.isPngBuffer(bytearray)) {
+            ImageDetect.clearPngColorspace(bytearray);
+        }
+        var blob = new Blob([bytearray], { type: "image/png" });
+        var img = new Image();
+        img.onerror = () => error("invalidfile", "The file you uploaded could not be opened as an image.");
+        var bloburl = URL.createObjectURL(blob);
+        img.src = bloburl;
+        if (img.width > 0) {
+            pasted(img);
+            URL.revokeObjectURL(bloburl);
+        }
+        else {
+            img.onload = function () { pasted(img); URL.revokeObjectURL(bloburl); };
+        }
+    };
+    reader.readAsArrayBuffer(file);
+}
+
+
+/***/ }),
+
+/***/ "./src/base/rect.ts":
+/*!**************************!*\
+  !*** ./src/base/rect.ts ***!
+  \**************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+
+//util class for rectangle maths
+//TODO shit this sucks can we remove it again?
+//more of a shorthand to get {x,y,width,height} than a class
+//kinda starting to like it again
+//TODO remove rant
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+;
+/**
+ * Simple rectangle class with some util functions
+ */
+class Rect {
+    constructor(x, y, w, h) {
+        this.x = x;
+        this.y = y;
+        this.width = w;
+        this.height = h;
+    }
+    static fromArgs(...args) {
+        if (typeof args[0] == "object") {
+            return new Rect(args[0].x, args[0].y, args[0].width, args[0].height);
+        }
+        else if (typeof args[0] == "number" && args.length >= 4) {
+            return new Rect(args[0], args[1], args[2], args[3]);
+        }
+        else {
+            throw new Error("invalid rect args");
+        }
+    }
+    /**
+     * Resizes this Rect to include the full size of a given second rectangle
+     */
+    union(r2) {
+        var x = Math.min(this.x, r2.x);
+        var y = Math.min(this.y, r2.y);
+        this.width = Math.max(this.x + this.width, r2.x + r2.width) - x;
+        this.height = Math.max(this.y + this.height, r2.y + r2.height) - y;
+        this.x = x;
+        this.y = y;
+        return this;
+    }
+    /**
+     * Resizes this Rect to include a given point
+     */
+    includePoint(x, y) {
+        this.union(new Rect(x, y, 0, 0));
+    }
+    /**
+     * Grows the rectangle with the given dimensions
+     */
+    inflate(w, h) {
+        this.x -= w;
+        this.y -= h;
+        this.width += 2 * w;
+        this.height += 2 * h;
+    }
+    /**
+     * Resizes this Rect to the area that overlaps a given Rect
+     * width and height will be set to 0 if the intersection does not exist
+     */
+    intersect(r2) {
+        if (this.x < r2.x) {
+            this.width -= r2.x - this.x;
+            this.x = r2.x;
+        }
+        if (this.y < r2.y) {
+            this.height -= r2.y - this.y;
+            this.y = r2.y;
+        }
+        this.width = Math.min(this.x + this.width, r2.x + r2.width) - this.x;
+        this.height = Math.min(this.y + this.height, r2.y + r2.height) - this.y;
+        if (this.width <= 0 || this.height <= 0) {
+            this.width = 0;
+            this.height = 0;
+        }
+    }
+    /**
+     * Returns wether this Rect has at least one pixel overlap with a given Rect
+     */
+    overlaps(r2) {
+        return this.x < r2.x + r2.width && this.x + this.width > r2.x && this.y < r2.y + r2.height && this.y + this.height > r2.y;
+    }
+    /**
+     * Returns wether a given Rect fits completely inside this Rect
+     * @param r2
+     */
+    contains(r2) {
+        return this.x <= r2.x && this.x + this.width >= r2.x + r2.width && this.y <= r2.y && this.y + this.height >= r2.y + r2.height;
+    }
+    /**
+     * Returns wether a given point lies inside this Rect
+     */
+    containsPoint(x, y) {
+        return this.x <= x && this.x + this.width > x && this.y <= y && this.y + this.height > y;
+    }
+}
+exports["default"] = Rect;
+
+
+/***/ }),
+
+/***/ "./src/base/wrapper.ts":
+/*!*****************************!*\
+  !*** ./src/base/wrapper.ts ***!
+  \*****************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_56486__) {
+
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.captureStream = exports.captureMultiAsync = exports.captureAsync = exports.ImageStreamReader = exports.once = exports.removeListener = exports.on = exports.addResizeElement = exports.getMousePosition = exports.hasAlt1Version = exports.resetEnvironment = exports.identifyApp = exports.unmixColor = exports.mixColor = exports.encodeImageString = exports.decodeImageString = exports.transferImageData = exports.captureHoldFullRs = exports.captureHoldScreen = exports.captureHold = exports.capture = exports.getdisplaybounds = exports.requireAlt1 = exports.openbrowser = exports.skinName = exports.hasAlt1 = exports.newestversion = exports.Alt1Error = exports.NoAlt1Error = void 0;
+const rect_1 = __importDefault(__nested_webpack_require_56486__(/*! ./rect */ "./src/base/rect.ts"));
+const imgref_1 = __nested_webpack_require_56486__(/*! ./imgref */ "./src/base/imgref.ts");
+const imagedata_extensions_1 = __nested_webpack_require_56486__(/*! ./imagedata-extensions */ "./src/base/imagedata-extensions.ts");
+__nested_webpack_require_56486__(/*! ./alt1api */ "./src/base/alt1api.ts");
+/**
+ * Thrown when a method is called that can not be used outside of Alt1
+ */
+class NoAlt1Error extends Error {
+    constructor() {
+        super();
+        this.message = "This method can not be ran outside of Alt1";
+    }
+}
+exports.NoAlt1Error = NoAlt1Error;
+;
+/**
+ * Thrown when the Alt1 API returns an invalid result
+ * Errors of a different type are throw when internal Alt1 errors occur
+ */
+class Alt1Error extends Error {
+}
+exports.Alt1Error = Alt1Error;
+/**
+ * The latest Alt1 version
+ */
+exports.newestversion = "1.5.5";
+/**
+ * Whether the Alt1 API is available
+ */
+exports.hasAlt1 = (typeof alt1 != "undefined");
+/**
+ * The name of the Alt1 interface skin. (Always "default" if running in a browser)
+ */
+exports.skinName = exports.hasAlt1 ? alt1.skinName : "default";
+/**
+ * Max number of bytes that can be sent by alt1 in one function
+ * Not completely sure why this number is different than window.alt1.maxtranfer
+ */
+var maxtransfer = 4000000;
+/**
+ * Open a link in the default browser
+ * @deprecated use window.open instead
+ */
+function openbrowser(url) {
+    if (exports.hasAlt1) {
+        alt1.openBrowser(url);
+    }
+    else {
+        window.open(url, '_blank');
+    }
+}
+exports.openbrowser = openbrowser;
+/**
+ * Throw if Alt1 API is not available
+ */
+function requireAlt1() {
+    if (!exports.hasAlt1) {
+        throw new NoAlt1Error();
+    }
+}
+exports.requireAlt1 = requireAlt1;
+/**
+ * Returns an object with a rectangle that spans all screens
+ */
+function getdisplaybounds() {
+    if (!exports.hasAlt1) {
+        return false;
+    }
+    return new rect_1.default(alt1.screenX, alt1.screenY, alt1.screenWidth, alt1.screenHeight);
+}
+exports.getdisplaybounds = getdisplaybounds;
+/**
+ * gets an imagebuffer with pixel data about the requested region
+ */
+function capture(...args) {
+    //TODO change null return on error into throw instead (x3)
+    if (!exports.hasAlt1) {
+        throw new NoAlt1Error();
+    }
+    var rect = rect_1.default.fromArgs(...args);
+    if (alt1.capture) {
+        return new imagedata_extensions_1.ImageData(alt1.capture(rect.x, rect.y, rect.width, rect.height), rect.width, rect.height);
+    }
+    var buf = new imagedata_extensions_1.ImageData(rect.width, rect.height);
+    if (rect.width * rect.height * 4 <= maxtransfer) {
+        var data = alt1.getRegion(rect.x, rect.y, rect.width, rect.height);
+        if (!data) {
+            return null;
+        }
+        decodeImageString(data, buf, 0, 0, rect.width, rect.height);
+    }
+    else {
+        //split up the request to to exceed the single transfer limit (for now)
+        var x1 = rect.x;
+        var ref = alt1.bindRegion(rect.x, rect.y, rect.width, rect.height);
+        if (ref <= 0) {
+            return null;
+        }
+        while (x1 < rect.x + rect.width) {
+            var x2 = Math.min(rect.x + rect.width, Math.floor(x1 + (maxtransfer / 4 / rect.height)));
+            var data = alt1.bindGetRegion(ref, x1, rect.y, x2 - x1, rect.height);
+            if (!data) {
+                return null;
+            }
+            decodeImageString(data, buf, x1 - rect.x, 0, x2 - x1, rect.height);
+            x1 = x2;
+        }
+    }
+    return buf;
+}
+exports.capture = capture;
+/**
+ * Makes alt1 bind an area of the rs client in memory without sending it to the js client
+ * returns an imgref object which can be used to get pixel data using the imgreftobuf function
+ * currently only one bind can exist per app and the ref in (v) will always be 1
+ */
+function captureHold(x, y, w, h) {
+    x = Math.round(x);
+    y = Math.round(y);
+    w = Math.round(w);
+    h = Math.round(h);
+    requireAlt1();
+    var r = alt1.bindRegion(x, y, w, h);
+    if (r <= 0) {
+        throw new Alt1Error("capturehold failed");
+    }
+    return new imgref_1.ImgRefBind(r, x, y, w, h);
+}
+exports.captureHold = captureHold;
+/**
+ * Same as captureHoldRegion, but captures the screen instead of the rs client. it also uses screen coordinates instead and can capture outside of the rs client
+ */
+function captureHoldScreen(x, y, w, h) {
+    x = Math.round(x);
+    y = Math.round(y);
+    w = Math.round(w);
+    h = Math.round(h);
+    requireAlt1();
+    var r = alt1.bindScreenRegion(x, y, w, h);
+    if (r <= 0) {
+        return false;
+    }
+    return new imgref_1.ImgRefBind(r, x, y, w, h);
+}
+exports.captureHoldScreen = captureHoldScreen;
+/**
+ * bind the full rs window if the rs window can be detected by alt1, otherwise return the full screen
+ */
+function captureHoldFullRs() {
+    return captureHold(0, 0, alt1.rsWidth, alt1.rsHeight);
+}
+exports.captureHoldFullRs = captureHoldFullRs;
+/**
+ * returns a subregion from a bound image
+ * used internally in imgreftobuf if imgref is a bound image
+ * @deprecated This should be handled internall by the imgrefbind.toData method
+ */
+function transferImageData(handle, x, y, w, h) {
+    x = Math.round(x);
+    y = Math.round(y);
+    w = Math.round(w);
+    h = Math.round(h);
+    requireAlt1();
+    if (alt1.bindGetRegionBuffer) {
+        return new imagedata_extensions_1.ImageData(alt1.bindGetRegionBuffer(handle, x, y, w, h), w, h);
+    }
+    var r = new imagedata_extensions_1.ImageData(w, h);
+    var x1 = x;
+    while (true) { //split up the request to to exceed the single transfer limit (for now)
+        var x2 = Math.min(x + w, Math.floor(x1 + (maxtransfer / 4 / h)));
+        var a = alt1.bindGetRegion(handle, x1, y, x2 - x1, h);
+        if (!a) {
+            throw new Alt1Error();
+        }
+        decodeImageString(a, r, x1 - x, 0, x2 - x1, h);
+        x1 = x2;
+        if (x1 == x + w) {
+            break;
+        }
+        ;
+    }
+    return r;
+}
+exports.transferImageData = transferImageData;
+/**
+ * decodes a returned string from alt1 to an imagebuffer
+ */
+function decodeImageString(imagestring, target, x, y, w, h) {
+    var bin = atob(imagestring);
+    var bytes = target.data;
+    w |= 0;
+    h |= 0;
+    var offset = 4 * x + 4 * y * target.width;
+    var target_width = target.width | 0;
+    for (var a = 0; a < w; a++) {
+        for (var b = 0; b < h; b++) {
+            var i1 = (offset + (a * 4 | 0) + (b * target_width * 4 | 0)) | 0;
+            var i2 = ((a * 4 | 0) + (b * 4 * w | 0)) | 0;
+            bytes[i1 + 0 | 0] = bin.charCodeAt(i2 + 2 | 0); //fix weird red/blue swap in c#
+            bytes[i1 + 1 | 0] = bin.charCodeAt(i2 + 1 | 0);
+            bytes[i1 + 2 | 0] = bin.charCodeAt(i2 + 0 | 0);
+            bytes[i1 + 3 | 0] = bin.charCodeAt(i2 + 3 | 0);
+        }
+    }
+    return target;
+}
+exports.decodeImageString = decodeImageString;
+/**
+ * encodes an imagebuffer to a string
+ */
+function encodeImageString(buf, sx = 0, sy = 0, sw = buf.width, sh = buf.height) {
+    var raw = "";
+    for (var y = sy; y < sy + sh; y++) {
+        for (var x = sx; x < sx + sw; x++) {
+            var i = 4 * x + 4 * buf.width * y | 0;
+            raw += String.fromCharCode(buf.data[i + 2 | 0]);
+            raw += String.fromCharCode(buf.data[i + 1 | 0]);
+            raw += String.fromCharCode(buf.data[i + 0 | 0]);
+            raw += String.fromCharCode(buf.data[i + 3 | 0]);
+        }
+    }
+    return btoa(raw);
+}
+exports.encodeImageString = encodeImageString;
+/**
+ * mixes the given color into a single int. This format is used by alt1
+ */
+function mixColor(r, g, b, a = 255) {
+    return (b << 0) + (g << 8) + (r << 16) + (a << 24);
+}
+exports.mixColor = mixColor;
+function unmixColor(col) {
+    var r = (col >> 16) & 0xff;
+    var g = (col >> 8) & 0xff;
+    var b = (col >> 0) & 0xff;
+    return [r, g, b];
+}
+exports.unmixColor = unmixColor;
+function identifyApp(url) {
+    if (exports.hasAlt1) {
+        alt1.identifyAppUrl(url);
+    }
+}
+exports.identifyApp = identifyApp;
+function resetEnvironment() {
+    exports.hasAlt1 = (typeof alt1 != "undefined");
+    exports.skinName = exports.hasAlt1 ? alt1.skinName : "default";
+}
+exports.resetEnvironment = resetEnvironment;
+function convertAlt1Version(str) {
+    var a = str.match(/^(\d+)\.(\d+)\.(\d+)$/);
+    if (!a) {
+        throw new RangeError("Invalid version string");
+    }
+    return (+a[1]) * 1000 * 1000 + (+a[2]) * 1000 + (+a[3]) * 1;
+}
+var cachedVersionInt = -1;
+/**
+ * checks if alt1 is running and at least the given version. versionstr should be a string with the version eg: 1.3.2
+ * @param versionstr
+ */
+function hasAlt1Version(versionstr) {
+    if (!exports.hasAlt1) {
+        return false;
+    }
+    if (cachedVersionInt == -1) {
+        cachedVersionInt = alt1.versionint;
+    }
+    return cachedVersionInt >= convertAlt1Version(versionstr);
+}
+exports.hasAlt1Version = hasAlt1Version;
+/**
+ * Gets the current cursor position in the game, returns null if the rs window is not active (alt1.rsActive)
+ */
+function getMousePosition() {
+    var pos = alt1.mousePosition;
+    if (pos == -1) {
+        return null;
+    }
+    return { x: pos >>> 16, y: pos & 0xFFFF };
+}
+exports.getMousePosition = getMousePosition;
+/**
+ * Registers a given HTML element as a frame border, when this element is dragged by the user the Alt1 frame will resize accordingly
+ * Use the direction arguements to make a given direction stick to the mouse. eg. Only set left to true to make the element behave as the left border
+ * Or set all to true to move the whole window. Not all combinations are permitted
+ */
+function addResizeElement(el, left, top, right, bot) {
+    if (!exports.hasAlt1 || !alt1.userResize) {
+        return;
+    }
+    el.addEventListener("mousedown", function (e) {
+        alt1.userResize(left, top, right, bot);
+        e.preventDefault();
+    });
+}
+exports.addResizeElement = addResizeElement;
+/**
+ * Add an event listener
+ */
+function on(type, listener) {
+    if (!exports.hasAlt1) {
+        return;
+    }
+    if (!alt1.events) {
+        alt1.events = {};
+    }
+    if (!alt1.events[type]) {
+        alt1.events[type] = [];
+    }
+    alt1.events[type].push(listener);
+}
+exports.on = on;
+/**
+ * Removes an event listener
+ */
+function removeListener(type, listener) {
+    var elist = exports.hasAlt1 && alt1.events && alt1.events[type];
+    if (!elist) {
+        return;
+    }
+    var i = elist.indexOf(listener);
+    if (i == -1) {
+        return;
+    }
+    elist.splice(i, 1);
+}
+exports.removeListener = removeListener;
+/**
+ * Listens for the event to fire once and then stops listening
+ * @param event
+ * @param cb
+ */
+function once(type, listener) {
+    var fn = (e) => {
+        removeListener(type, fn);
+        listener(e);
+    };
+    on(type, fn);
+}
+exports.once = once;
+;
+/**
+ * Used to read a set of images from a binary stream returned by the Alt1 API
+ */
+class ImageStreamReader {
+    constructor(reader, ...args) {
+        this.framebuffer = null;
+        this.pos = 0;
+        this.reading = false;
+        this.closed = false;
+        //paused state
+        this.pausedindex = -1;
+        this.pausedbuffer = null;
+        this.streamreader = reader;
+        if (args[0] instanceof imagedata_extensions_1.ImageData) {
+            this.setFrameBuffer(args[0]);
+        }
+        else if (typeof args[0] == "number") {
+            this.setFrameBuffer(new imagedata_extensions_1.ImageData(args[0], args[1]));
+        }
+    }
+    /**
+     *
+     */
+    setFrameBuffer(buffer) {
+        if (this.reading) {
+            throw new Error("can't change framebuffer while reading");
+        }
+        this.framebuffer = buffer;
+    }
+    /**
+     * Closes the underlying stream and ends reading
+     */
+    close() {
+        this.streamreader.cancel();
+    }
+    /**
+     * Reads a single image from the stream
+     */
+    async nextImage() {
+        if (this.reading) {
+            throw new Error("already reading from this stream");
+        }
+        if (!this.framebuffer) {
+            throw new Error("framebuffer not set");
+        }
+        this.reading = true;
+        var synctime = -Date.now();
+        var starttime = Date.now();
+        var r = false;
+        while (!r) {
+            if (this.pausedindex != -1 && this.pausedbuffer) {
+                r = this.readChunk(this.pausedindex, this.framebuffer.data, this.pausedbuffer);
+            }
+            else {
+                synctime += Date.now();
+                var res = await this.streamreader.read();
+                synctime -= Date.now();
+                if (res.done) {
+                    throw new Error("Stream closed while reading");
+                }
+                var data = res.value;
+                r = this.readChunk(0, this.framebuffer.data, data);
+            }
+        }
+        synctime += Date.now();
+        //console.log("Decoded async image, " + this.framebuffer.width + "x" + this.framebuffer.height + " time: " + (Date.now() - starttime) + "ms (" + synctime + "ms main thread)");
+        this.reading = false;
+        return this.framebuffer;
+    }
+    readChunk(i, framedata, buffer) {
+        //very hot code, explicit int32 casting with |0 speeds it up by ~ x2
+        i = i | 0;
+        var framesize = framedata.length | 0;
+        var pos = this.pos;
+        var datalen = buffer.length | 0;
+        //var data32 = new Float64Array(buffer.buffer);
+        //var framedata32 = new Float64Array(framedata.buffer);
+        //fix possible buffer misalignment
+        //align to 16 for extra loop unrolling
+        while (i < datalen) {
+            //slow loop, fix alignment and other issues
+            while (i < datalen && pos < framesize && (pos % 16 != 0 || !((i + 16 | 0) <= datalen && (pos + 16 | 0) <= framesize))) {
+                var rel = pos;
+                if (pos % 4 == 0) {
+                    rel = rel + 2 | 0;
+                }
+                if (pos % 4 == 2) {
+                    rel = rel - 2 | 0;
+                }
+                framedata[rel | 0] = buffer[i | 0];
+                i = i + 1 | 0;
+                pos = pos + 1 | 0;
+            }
+            //fast unrolled loop for large chunks i wish js had some sort of memcpy
+            if (pos % 16 == 0) {
+                while ((i + 16 | 0) <= datalen && (pos + 16 | 0) <= framesize) {
+                    framedata[pos + 0 | 0] = buffer[i + 2 | 0];
+                    framedata[pos + 1 | 0] = buffer[i + 1 | 0];
+                    framedata[pos + 2 | 0] = buffer[i + 0 | 0];
+                    framedata[pos + 3 | 0] = buffer[i + 3 | 0];
+                    framedata[pos + 4 | 0] = buffer[i + 6 | 0];
+                    framedata[pos + 5 | 0] = buffer[i + 5 | 0];
+                    framedata[pos + 6 | 0] = buffer[i + 4 | 0];
+                    framedata[pos + 7 | 0] = buffer[i + 7 | 0];
+                    framedata[pos + 8 | 0] = buffer[i + 10 | 0];
+                    framedata[pos + 9 | 0] = buffer[i + 9 | 0];
+                    framedata[pos + 10 | 0] = buffer[i + 8 | 0];
+                    framedata[pos + 11 | 0] = buffer[i + 11 | 0];
+                    framedata[pos + 12 | 0] = buffer[i + 14 | 0];
+                    framedata[pos + 13 | 0] = buffer[i + 13 | 0];
+                    framedata[pos + 14 | 0] = buffer[i + 12 | 0];
+                    framedata[pos + 15 | 0] = buffer[i + 15 | 0];
+                    //could speed it up another x2 but wouldn't be able to swap r/b swap and possible alignment issues
+                    //framedata32[pos / 8 + 0 | 0] = data32[i / 8 + 0 | 0];
+                    //framedata32[pos / 8 + 1 | 0] = data32[i / 8 + 1 | 0];
+                    //framedata32[pos / 4 + 2 | 0] = data32[i / 4 + 2 | 0];
+                    //framedata32[pos / 4 + 3 | 0] = data32[i / 4 + 3 | 0];
+                    pos = pos + 16 | 0;
+                    i = i + 16 | 0;
+                }
+            }
+            if (pos >= framesize) {
+                this.pausedbuffer = null;
+                this.pausedindex = -1;
+                this.pos = 0;
+                if (i != buffer.length - 1) {
+                    this.pausedbuffer = buffer;
+                    this.pausedindex = i;
+                }
+                return true;
+            }
+        }
+        this.pos = pos;
+        this.pausedbuffer = null;
+        this.pausedindex = -1;
+        return false;
+    }
+}
+exports.ImageStreamReader = ImageStreamReader;
+/**
+ * Asynchronously captures a section of the game screen
+ */
+async function captureAsync(...args) {
+    requireAlt1();
+    var rect = rect_1.default.fromArgs(...args);
+    if (alt1.captureAsync) {
+        let img = await alt1.captureAsync(rect.x, rect.y, rect.width, rect.height);
+        return new imagedata_extensions_1.ImageData(img, rect.width, rect.height);
+    }
+    if (!hasAlt1Version("1.4.6")) {
+        return capture(rect.x, rect.y, rect.width, rect.height);
+    }
+    var url = "https://alt1api/pixel/getregion/" + encodeURIComponent(JSON.stringify(Object.assign(Object.assign({}, rect), { format: "raw", quality: 1 })));
+    var res = await fetch(url);
+    var imgreader = new ImageStreamReader(res.body.getReader(), rect.width, rect.height);
+    return imgreader.nextImage();
+}
+exports.captureAsync = captureAsync;
+/**
+ * Asynchronously captures multple area's. This method captures the images in the same render frame if possible
+ * @param areas
+ */
+async function captureMultiAsync(areas) {
+    requireAlt1();
+    var r = {};
+    if (alt1.captureMultiAsync) {
+        let bufs = await alt1.captureMultiAsync(areas);
+        for (let a in areas) {
+            if (!bufs[a]) {
+                r[a] = null;
+            }
+            r[a] = new imagedata_extensions_1.ImageData(bufs[a], areas[a].width, areas[a].height);
+        }
+        return r;
+    }
+    var capts = [];
+    var captids = [];
+    for (var id in areas) {
+        if (areas[id]) {
+            capts.push(areas[id]);
+            captids.push(id);
+        }
+        else {
+            r[id] = null;
+        }
+    }
+    if (capts.length == 0) {
+        return r;
+    }
+    if (!hasAlt1Version("1.5.1")) {
+        var proms = [];
+        for (var a = 0; a < capts.length; a++) {
+            proms.push(captureAsync(capts[a]));
+        }
+        var results = await Promise.all(proms);
+        for (var a = 0; a < capts.length; a++) {
+            r[captids[a]] = results[a];
+        }
+    }
+    else {
+        var res = await fetch("https://alt1api/pixel/getregionmulti/" + encodeURIComponent(JSON.stringify({ areas: capts, format: "raw", quality: 1 })));
+        var imgreader = new ImageStreamReader(res.body.getReader());
+        for (var a = 0; a < capts.length; a++) {
+            var capt = capts[a];
+            imgreader.setFrameBuffer(new imagedata_extensions_1.ImageData(capt.width, capt.height));
+            r[captids[a]] = await imgreader.nextImage();
+        }
+    }
+    return r;
+}
+exports.captureMultiAsync = captureMultiAsync;
+/**
+ * Starts capturing a realtime stream of the game. Make sure you keep reading the stream and close it when you're done or Alt1 WILL crash
+ * @param framecb Called whenever a new frame is decoded
+ * @param errorcb Called whenever an error occurs, the error is rethrown if not defined
+ * @param fps Maximum fps of the stream
+ */
+function captureStream(x, y, width, height, fps, framecb, errorcb) {
+    requireAlt1();
+    if (!hasAlt1Version("1.4.6")) {
+        throw new Alt1Error("This function is not supported in this version of Alt1");
+    }
+    var url = "https://alt1api/pixel/streamregion/" + encodeURIComponent(JSON.stringify({ x, y, width, height, fps, format: "raw" }));
+    var res = fetch(url).then(async (res) => {
+        var reader = new ImageStreamReader(res.body.getReader(), width, height);
+        try {
+            while (!reader.closed && !state.closed) {
+                var img = await reader.nextImage();
+                if (!state.closed) {
+                    framecb(img);
+                    state.framenr++;
+                }
+            }
+        }
+        catch (e) {
+            if (!state.closed) {
+                reader.close();
+                if (errorcb) {
+                    errorcb(e);
+                }
+                else {
+                    throw e;
+                }
+            }
+        }
+        if (!reader.closed && state.closed) {
+            reader.close();
+        }
+    });
+    var state = {
+        x, y, width, height,
+        framenr: 0,
+        close: () => { state.closed = true; },
+        closed: false,
+    };
+    return state;
+}
+exports.captureStream = captureStream;
+
+
+/***/ }),
+
+/***/ "canvas":
+/*!*************************!*\
+  !*** external "canvas" ***!
+  \*************************/
+/***/ ((module) => {
+
+if(typeof __WEBPACK_EXTERNAL_MODULE_canvas__ === 'undefined') { var e = new Error("Cannot find module 'canvas'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_canvas__;
+
+/***/ }),
+
+/***/ "electron/common":
+/*!**********************************!*\
+  !*** external "electron/common" ***!
+  \**********************************/
+/***/ ((module) => {
+
+if(typeof __WEBPACK_EXTERNAL_MODULE_electron_common__ === 'undefined') { var e = new Error("Cannot find module 'electron/common'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_electron_common__;
+
+/***/ }),
+
+/***/ "sharp":
+/*!************************!*\
+  !*** external "sharp" ***!
+  \************************/
+/***/ ((module) => {
+
+if(typeof __WEBPACK_EXTERNAL_MODULE_sharp__ === 'undefined') { var e = new Error("Cannot find module 'sharp'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_sharp__;
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __nested_webpack_require_79245__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_79245__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       /* webpack/runtime/global */
+/******/       (() => {
+/******/               __nested_webpack_require_79245__.g = (function() {
+/******/                       if (typeof globalThis === 'object') return globalThis;
+/******/                       try {
+/******/                               return this || new Function('return this')();
+/******/                       } catch (e) {
+/******/                               if (typeof window === 'object') return window;
+/******/                       }
+/******/               })();
+/******/       })();
+/******/       
+/************************************************************************/
+/******/       
+/******/       // startup
+/******/       // Load entry module and return exports
+/******/       // This entry module is referenced by other modules so it can't be inlined
+/******/       var __nested_webpack_exports__ = __nested_webpack_require_79245__("./src/base/index.ts");
+/******/       
+/******/       return __nested_webpack_exports__;
+/******/ })()
+;
+});
+
+/***/ }),
+
+/***/ "../node_modules/alt1/dist/dialog/index.js":
+/*!*************************************************!*\
+  !*** ../node_modules/alt1/dist/dialog/index.js ***!
+  \*************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(true)
+               module.exports = factory(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js"), __webpack_require__(/*! alt1/ocr */ "../node_modules/alt1/dist/ocr/index.js"));
+       else {}
+})(globalThis, (__WEBPACK_EXTERNAL_MODULE_alt1_base__, __WEBPACK_EXTERNAL_MODULE_alt1_ocr__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       var __webpack_modules__ = ({
+
+/***/ "./src/dialog/imgs/boxtl.data.png":
+/*!****************************************!*\
+  !*** ./src/dialog/imgs/boxtl.data.png ***!
+  \****************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_871__) => {
+
+module.exports=(__nested_webpack_require_871__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAx0lEQVQ4T5VRywrCMBBMaytYyMFHDw16CNWDBg8WoWAFpTf//4ecsGENMQ0UhmVmO5PdNEKZru0GVCLEL/cnS/MYwU3/Jo+AFiKbgevrE7bSmArksgk6DumVsrIKOmJ/G8JWGrMvjUBkbgLBhFzufBkB7uBPQKDcKJYR4C39ALhUuqj15J7/KwHIVIfztjWoZXOkmYuVtB4OQAM4GAFUh+UabmelZ0GANXdh+mW83eyoUz/ykeQm0G4g/j+wnC9NNQAl+VNR6y/yyxm6AFlANgAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/boxtl_leg.data.png":
+/*!********************************************!*\
+  !*** ./src/dialog/imgs/boxtl_leg.data.png ***!
+  \********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_1594__) => {
+
+module.exports=(__nested_webpack_require_1594__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAE0SURBVDhPjZFNTsMwEIVtJ45D05YmLVKBJRISsOIILNiw5QosOXpIKcpPHduFl0wINAHEJ+tpPB6/Gcv8+emRHZIX1TQ6QuBLbs37QNnVxQlj/P+L31yuH+7vZrNptt2QhxSy0vXe6SAMlYrQqshzyiPmt9fny2WslMqyrQr4+vQsTV8m0eTtdRNN582IjGmtob4nrNsLiqBJcjxfxKhGXBblIk6cNVL68AKwQDUCUVuHCsJZR8egrCpkdq0SSEIbb89vhoOZ53vNSYv0JeVpHni16fYCYYztsz10hzDWQEXQulI7Aq266BD0hHYdqC+BVl30CXlDUUZv+Bp9DIrIG4pBxE7XdPAb/bTkK0IVjN/6I1QmVquE9mMGo2KLJdI06xIjBOff72CLn/rr0YOfwVZr/QEeBH9rQlJ0YgAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/boxtr.data.png":
+/*!****************************************!*\
+  !*** ./src/dialog/imgs/boxtr.data.png ***!
+  \****************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_2513__) => {
+
+module.exports=(__nested_webpack_require_2513__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA3UlEQVQ4T6WTwQrCMBBEk9oKigEVFSweLOLF6sFehOYgePP/P2jNrE1ZcJFUD68J2cwkO23NofF0vD0IY1k3VLfveXVu+jWMALVYxzowxtjw+A2YGVtM1WIKl/szjEohlb8NuAWtkMru6sMYJplbkR0vKF9XH5s0kBs0fYgxyJRAM7clV1YMGxB9R4pxAG6J04tlOdwAIm63uzVnoIkk2unRAF+kKpJEg9HEcdAwQA59iJpIEg2kEEa4QbIBNkMYM0Arg0NEC1KM14i/WBVJuPcutHy+YQMw259CiJ5egv+YzBEq3jQAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/boxtr_leg.data.png":
+/*!********************************************!*\
+  !*** ./src/dialog/imgs/boxtr_leg.data.png ***!
+  \********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_3264__) => {
+
+module.exports=(__nested_webpack_require_3264__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAFgSURBVDhPnZO9TsMwFIWPHZuUpo2g6hswsbMzsbEgMfAKiIUnYOWNWBh4F1CFhFKKojatmx/jY+E2RRWK+KSrm9ycHF//iceHO7tal5hM3tGLDyAkIIVAY+0maxUBjYApDYSwOOgdulqMxXwOAbjKPzk9GUPc315bLTWWZo2mNs69hzhOvIAjKC3A72Q4HOAj+9zUnp5fIG6uzm2WTdFP+si/ZkgGqRcTY4zPKpKo6sbnfjJAsZj79+l0BsmfSbEocHQ8Ql2V0Fq5LmIfNKaYz8x5nvsckEHIKJZLX1z95AC/kTRNN1rpullXNdyab9FKI3JBQvu1EwVCjVBLdgwCwSRQumm1aRsJ6/b5Ly4vzvYKInc23l4n+zv4DTtoj0pUpHzuZMD5hoUMBMNOBmx3Hyt3+DoZhJ3g+Wib8e507oBRltXOto7Ho24GvJVcNHbACGTuXnQy4MhcNGbGdhrAN5b0ly21yuFfAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimg.data.png":
+/*!******************************************!*\
+  !*** ./src/dialog/imgs/chatimg.data.png ***!
+  \******************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_4247__) => {
+
+module.exports=(__nested_webpack_require_4247__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAAwUlEQVQYV2OYPGlSV1dXcnJyRmqSqbUdQ3VNNRB5uTkJCwuLKqgxtLS0ACVVFGQ4eQUFpRUZgBxHWytOHl4oX0tLS1lZGaiYkZOXW1CUQVXXGChkbGwsJSUFFGI4YM+fqycmpahqoG8AVMVwxJipUptPUFIOqEtEkJdBT4JPSVYSqBgoCTSSQUVLG8QCms/DCzI/OjrK0syEgYERaDiI7+3lHRwcDNQC5bu6ukKEgLp4RKUZsjPSgEJAfrC/t7GhHgChFSifluVS6gAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimg_leg.data.png":
+/*!**********************************************!*\
+  !*** ./src/dialog/imgs/chatimg_leg.data.png ***!
+  \**********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_4970__) => {
+
+module.exports=(__nested_webpack_require_4970__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEOSURBVChTVY+7SgNBFIZnZ3aTWdCYddVcRBIVREEC2gcsFnwMO9/JxsrGzkbQB1AkleArWJjLXhRhJnNbf9ltcviL/3z/nDMzXjI+Hx0PDoadh6dJI6DGOUKIT6kPenZ6eHv/fDTo7vbbRSF5GCCjoDd3j/v9rThel0sLKoWG2DzN97rxdrwhlFHaCqGNdRAF7e1EUhlrHIQl1sAbGjb/N1aFXgqptYEoD3nx/Yu+QvURXI6+tqtFPcpru1os3my5oBX6tgaEaOtcWbKmTywJGF+rMlA8Cgm9vkry+ed0luXLxo9Q+I12JcSGvc7F+ORt8oE5a32pvEositqeI5fJ6OX1/Ws2TbNFUWR5nv4B2LeYEU2WizoAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimgactive.data.png":
+/*!************************************************!*\
+  !*** ./src/dialog/imgs/chatimgactive.data.png ***!
+  \************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_5869__) => {
+
+module.exports=(__nested_webpack_require_5869__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAApklEQVQYV2Po6upqaWmJjo4CIk1dQ4ZiMLCzNGVgYGQRkGCorqmOjggTEeQF8hm4BRmCg4ONDfVAHAhfWVlZWFgYygciKUVVSVkFoCgnD1jLHkOGZHlWbkFRoBCIf0CdIV+GgZGTF6pLnoNBkJcLqhiIBCXloCwgAprv7eWtraGG4FtZWXq5OQG1QPnGxsaurq5AIRCfhYshKTYKqASoy83RRkVBBgAFhh2w1olrrAAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimgactive_leg.data.png":
+/*!****************************************************!*\
+  !*** ./src/dialog/imgs/chatimgactive_leg.data.png ***!
+  \****************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_6580__) => {
+
+module.exports=(__nested_webpack_require_6580__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEESURBVChTPY4xTgMxEEXtmfFmE1hpRSQECqIIVRBCEanpuABnyImo09FzASokjgAVVUQBURpCSMiKHdt8ZwVf1mj8/veM7dXlxbBfnvTad4/vmSMNwRgjRAJ6fno4uX3IssA5k5KV5BHozeQedK9s5bm0dwmVmfh1OisLAa3rEJV8DCFE7wOBFjsO1AbGBAg0jerkDNTQSL6hyRDrfIjN5f8RRPpjmCw6NEhgjakdKknWJGCnhFj8yKDSfK7IQla2/p+46LBRaTkiNlETwvoYDY2vBx/V6m2x2u5IpxH3j4+Gg4Pnl1mluvSi335TBRwuu/vO+NFZ72m6+FxvlnW99v5L9ReDbXkhpJVqYwAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimghover.data.png":
+/*!***********************************************!*\
+  !*** ./src/dialog/imgs/chatimghover.data.png ***!
+  \***********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_7463__) => {
+
+module.exports=(__nested_webpack_require_7463__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAAz0lEQVQYV2M4dfLEjp07W1pamhrrnL38GFavXr10yeKk2ChhYWEpFW2GLVu2dLQ1a2uocfIKiipoMABVRoaFcPLwcguKiiqoMVhZWRob6kmKCgGFBMSkGUztnU2t7VxdXZWVlYFCDP9DhSfbyaloaQMVSklJMfz3YF1sJSylqKqlpQW0gsFOQVhLTRnC4RGVZjAyBymDma/BUF1T7e3lzcDACJQUlFZkSE5OLsjNAmoByoP4YZGR2RlpQCGgLpD+Sb2d0dFR2dnZQC8Y6WkBAPN1NR2AAHfmAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimghover_leg.data.png":
+/*!***************************************************!*\
+  !*** ./src/dialog/imgs/chatimghover_leg.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_8222__) => {
+
+module.exports=(__nested_webpack_require_8222__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEjSURBVChTVc89SwNBEIDh2727fChqFosQLExMY4gIsbOIBLT0B9joX9RKTCOksLESSa1Y5TSa+8rdze7s7jl4lfAUw7sMy7CL8cnx4f5Bt3338FzzubbWcRyPc4/q6Kg/nT7eXA72erurz2xHNCBXnOrt/ex01G2JjSwq6nUeh5Ci67ISR30x7DVXqQVAkmegC+BUOx3xFhilNEmTQgIS3qh79JtWOksKkudQ4TXPWyxCpXWSAQGpK3wZrmmDJqn+4VSryRgkIFXF3doUvldyVtJlf8c5gFbbkh5qa822mz5FUBYRpTJaG359dRYE3/OPKEpgncu0MBJtCMztdtqT8eDl9V0xP0cXFe05BktXiBazzvlkOHuaB8vVVxj/xOkySn4BoaPZbEW+44oAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimg.data.png":
+/*!**********************************************!*\
+  !*** ./src/dialog/imgs/continueimg.data.png ***!
+  \**********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_9141__) => {
+
+module.exports=(__nested_webpack_require_9141__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAABTklEQVRIS72PMUsDQRCFB2Jjk85KsPEPmMYmgig2gWAlKWwCIiIihIC1WIpiJZY2SpqgpLCQNDZRAjZWHqmvsVEQ1Ebl8J0D4zIXD5HdgY/lzey7fffoeVD9fFxikpfaP/jLhxLhojy+kPdRjZKokhIvBieqIC+6WcVpkfjdiz5u55P7BR6CgqDu2dbeaQdnGpoxeAcpaT0buBsD/XQ1pwwhoPde2YDX/oxbTxpir5x+sasXt8vZhm/9knL6hR5OJm0YHI2D9c1GdeWH7sG0svmF4uMJA7jbbnPW7YaR98rsC7xMHGBAttvd/pjyeIeQYcD1TtGtB42N8oSAettFBnkgR+SPEIxaytVlc5Qb4oQG7q37FSOjMiibQjwMcZIBnY0RcNiYYqFuA0GtOl0s0/laYSj4D6XdjSBLCLENdQru7W9OeUpGhsd8YGvV6Qu6U2ehlR3eegAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimg_leg.data.png":
+/*!**************************************************!*\
+  !*** ./src/dialog/imgs/continueimg_leg.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_10068__) => {
+
+module.exports=(__nested_webpack_require_10068__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAASPSURBVEhLrVZLaFxVGD7nPubeO5NMZpIQTYfaNn2RREsrbQXbuOnKR4WCiKtCV2JABF24qTvdCK5ciIWudeFCqkuLC6WKQqVmEVsMjUkTyySTec993+t37n/n5CZNShQ/Dof/db7z/efce2f4J+++PDbqsgz0sN2y9a7NYResmIKPgTVgptY26IOpwViz0cnFdur04XFrqJDw64OargZ+ODKQJPaAWr1td5zs1lq+pKpmztBzYaPWYcxvV9cN/v7sa4cr1ulzz6Oitv7As0OqBnzH6ThRr1VPfcbyxfKAqeimWRotwe1126hHGWW3Fft2jwzdyn/42U2ygatvXaAU4iAsl/KwiQTMoqK/deymbNwoY95oBiZvJwGhhAzSk7PUbr1brdZkCkoWVmzR3jOT+1p+Keita/nRRnVpYEDs1+n0YGAWHAkCvVwyXGyw3lbhbstKtBylaEbNFg4wxRc3bn19fSaf97hy5O8H9y6/9+vrLz2naoIE4Lki6skmZJmJTQZB67DCE0XxZFEKcZKdlKdAcHhIm5tfFe1V9o1hJapjrxUG4vZ8P8BsWgZmx3Z1XYMaMihFoDgMpMjFTJVBIMo0TYPxzfd3Pv/giFUq5y02NHKMOnxxZpoKABgAtiMeLKGgNAjZOGbYMGSQXMsySRKaWlmtpu3B6rS7iEpIIkC6j4JIUycDCnp++qjf/PmPj9/cPzRmjIyXZYcXzhxmqo5sTk9vcjdInj0ChNPTRxcWltXzZ6YUzpuNtud5UQZJXwEMWkBBx/U5Z4qiUFDWIEKGBLKbmkJ/ojJ87cbiC5OFKPYVtTf65LFzx/Offjk3MT7EFDWMYjlUNSUHwEDB1N8zsAQaOp2uaM80crWaeIkl3W7DdV0ehX4Y+0GIIYK+F8YctpS1RVPoszhygwjuU+Pl69/+9cYrxcDrdZvL+4+ffPrg4LWvfhcdxhGaTFYLZXJQ5L+hULAcx+XvXLnIrOFWdVlIAZKnZRvQVWrtAsMQbymBig1NdIvGkpjAj7/d/2h2Csbd+bWV9bXbS2a96Zw/dYgqBR7dGpIQ3F3YYzA2NtyoN9WTkwcCp92znfTM+tB4LA4VZ5/5lmSBWwtjRoNF6SqAsqCy/UgW/HRn8erlibxqz99tNZuL9Vb050N29sRBVeG0r6bgoe+/gaGPTUEFBi/ZnYRJSZuVu0M8nVGknjhaCYMgK4UG1KMIvJiznciRxbYURIvlUcC4gvmXuaW3Xy2xwL2/EqG3jY5+a8E4PVXhDI1FIcQmTW4eaHLnJCBLLiUlxyiQLsmcCzEggs+4aO/U5IG2GwoplMCAJiru824BVVJNfxUuD5McUdKVyCMes9W19nihttFouW4Dvf1wL4fekEWK40sV480UTSIC6fKgd4SUhBMRLt180qS48MSliO/hNDi/cmmGVv5fwNnL14nuweT2d7cfwiga4n/Z2elDIpfAiS3MKCBj8z38lyiqvpP5DyjBZy8+qxs5WGEURH76JVB0sY2q7PxbtyOwnAwiIQbp7hFy1Y4QVKrNQnEQBNRnRWrGFsGBG/wD9kSQTvgpZ/YAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimgdown.data.png":
+/*!**************************************************!*\
+  !*** ./src/dialog/imgs/continueimgdown.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_12171__) => {
+
+module.exports=(__nested_webpack_require_12171__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAABMklEQVRIS92VoU4DQRCG5wKGNyEo3gB1BtWEYGqaNAGBoQ3BoAiqKVXwDJUEgcAgCQIUBoPgVfg2/2WzGUpqdk40+XqZ3Z3u3Le32bXbQbMc2UaCmj2cbr1dWTSvl4mXC3s82+appsupDmqp3ueNRaN6s+nBaHzCU82Pa59WF9TSihJ9zex7EQgl7s/3cRPEcqNuUGkmRy2tohsIotSTIW/gcurS6f3c9QFf6a8hL+HSKoJatznzPsm7pWyu7FlL+RfmZzdS73BwtNseZ56nOyq9dv6VCerMQwSKZZS+Xj9Hi9wmw73SjSadcQdMOlr4qUYczP+fm3D5VWDapNfPvQelHjE7xyVUJ9173O66ZKNhLWUoNzcaAWqd3vsknFxSgRutjmrZvG34iE9D2zCQmrfNLxl9slarbU3QAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimgdown_leg.data.png":
+/*!******************************************************!*\
+  !*** ./src/dialog/imgs/continueimgdown_leg.data.png ***!
+  \******************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_13074__) => {
+
+module.exports=(__nested_webpack_require_13074__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAQQSURBVEhL1VW9bxxFFN/52NvbO59sEic5GZMIEHFkAiICKaRDAlGAlJKGioqShpqejn+ABiEoqFIhkIJEk44miSCRyIcSJXawfT6f7253dueD39xbz62/Ekei4ae5pzdv3rz3fm9m59jHb780N5tFu1GWttKOgDjmlXY4DgsY9nKRQkppaAqkup3JUTXZh0IViFlP3UgalTZZhexvpezyu6ePH4u73QXMc+15ltZBxpxBscNxVnhXQtpo8JkWlljccGVlJ394QpKzZSl3WaZYmjiSV69PO/j+mymMUGCHZ+eFhOwEBIek1GQJGJUCYUlHJaRQPVCwZdTrBzsq2eiVnt7phZOYb6u8HRuEoOWAEBGlkKLyPGk2SQ+AkchU8x2oTP/xoPj2m8+gt9qdR3/f/PLr395alILzJJXkQ6CYSBcShR7VU0PCk5ZI7yRNFF9f8l1Lmg8e/yOWFmfjNM1LheWssEbrPWM0NI4Jbdh4O4+YhTTaqrzAwJR8yAg3X8KEUlHosjTWOGPt6sBeXErKfOzc+MTi2UvL7e9+vjPfjIyxlY9GHEvRkI4iI2ae+yWEhU4ZyRMKLZG+PRyHJWxEqb4qFuWZ8vSSpgQ31EQeewbKrSuT+iuQPRjrU+f8jYU0pTs1w3+8+vDCa3NWS602uy8vg+H3v9ydSyxzzBgXce8Jqhi4+BTKR5zAx7QWDkcBBcFIW8lokHt60CaHsKv0A4E0lP6ZgJsu8AFV02Mtd+Xa6jtLLYbuqhEx/OHXe2COVbhhcOEj1+MTK1ggyYIrHfSnA46jceHpzXQ6w8GuNyrEreuFMigCzQ79BgGaCjl9waad3uFWWv8ezrejK9fWPnpvCXdyfWXtzLnzyy+qn35fIYYAMUSiEKGyOxdYOc3wRWJa54wLQg2iwSMhJJMxz7LS/zHMd2cHm0NUD9dGIlgZafQpjrwirDRcTep7CrCLFGzZ70z0bq1FX31+yfLW9b/+XF/Zunl/Y6DSN07teskEF/TaoIBIVO1BAZAuppkHshBghE4y1EyeeLe2+8rTQ3HErQ7KhD349ivT84OIAeD2xScXoNy7/2R9q9/rjWE5dwJ/A1N6CRfTth6UN5QEWad0GEBKnDk+I7kIBx0Ai8HvaBf9MDSUKSy73Ys+/fDVXJnV1R644Q27sWLOzk3uEm4a27nYjKNuYyOc2oE9nZbEOPbS4Yb+gC3zD6cfkYiaPFZai1dOdmod/C+Bo5PGlYxt5FFHqs3+AO83/Q2CGwF/JYEe1Q3lmfeFh45gl/W3GJRwkuCFgTVM8YXjr51dfr0rW3v/o+sXnUB3GvJ5QZ/ijSdeaq2llPXvDRey0nYQsoQaKHXQgf3l4awqrYZBlrMPzi+00IH/P/Yf0iAr/gXJh0N13Pe/YwAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/index.ts":
+/*!*****************************!*\
+  !*** ./src/dialog/index.ts ***!
+  \*****************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_14933__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const a1lib = __importStar(__nested_webpack_require_14933__(/*! alt1/base */ "alt1/base"));
+const OCR = __importStar(__nested_webpack_require_14933__(/*! alt1/ocr */ "alt1/ocr"));
+const base_1 = __nested_webpack_require_14933__(/*! alt1/base */ "alt1/base");
+var imgs_rs3 = (0, base_1.webpackImages)({
+    chatimg: __nested_webpack_require_14933__(/*! ./imgs/chatimg.data.png */ "./src/dialog/imgs/chatimg.data.png"),
+    chatimghover: __nested_webpack_require_14933__(/*! ./imgs/chatimghover.data.png */ "./src/dialog/imgs/chatimghover.data.png"),
+    chatimgactive: __nested_webpack_require_14933__(/*! ./imgs/chatimgactive.data.png */ "./src/dialog/imgs/chatimgactive.data.png"),
+    continueimg: __nested_webpack_require_14933__(/*! ./imgs/continueimg.data.png */ "./src/dialog/imgs/continueimg.data.png"),
+    continueimgdown: __nested_webpack_require_14933__(/*! ./imgs/continueimgdown.data.png */ "./src/dialog/imgs/continueimgdown.data.png"),
+    boxtl: __nested_webpack_require_14933__(/*! ./imgs/boxtl.data.png */ "./src/dialog/imgs/boxtl.data.png"),
+    boxtr: __nested_webpack_require_14933__(/*! ./imgs/boxtr.data.png */ "./src/dialog/imgs/boxtr.data.png")
+});
+var imgs_leg = (0, base_1.webpackImages)({
+    chatimg: __nested_webpack_require_14933__(/*! ./imgs/chatimg_leg.data.png */ "./src/dialog/imgs/chatimg_leg.data.png"),
+    chatimghover: __nested_webpack_require_14933__(/*! ./imgs/chatimghover_leg.data.png */ "./src/dialog/imgs/chatimghover_leg.data.png"),
+    chatimgactive: __nested_webpack_require_14933__(/*! ./imgs/chatimgactive_leg.data.png */ "./src/dialog/imgs/chatimgactive_leg.data.png"),
+    continueimg: __nested_webpack_require_14933__(/*! ./imgs/continueimg_leg.data.png */ "./src/dialog/imgs/continueimg_leg.data.png"),
+    continueimgdown: __nested_webpack_require_14933__(/*! ./imgs/continueimgdown_leg.data.png */ "./src/dialog/imgs/continueimgdown_leg.data.png"),
+    boxtl: __nested_webpack_require_14933__(/*! ./imgs/boxtl_leg.data.png */ "./src/dialog/imgs/boxtl_leg.data.png"),
+    boxtr: __nested_webpack_require_14933__(/*! ./imgs/boxtr_leg.data.png */ "./src/dialog/imgs/boxtr_leg.data.png")
+});
+var fontmono = __nested_webpack_require_14933__(/*! ../fonts/aa_8px_mono.fontmeta.json */ "./src/fonts/aa_8px_mono.fontmeta.json");
+var fontheavy = __nested_webpack_require_14933__(/*! ../fonts/aa_8px_mono_allcaps.fontmeta.json */ "./src/fonts/aa_8px_mono_allcaps.fontmeta.json");
+class DialogReader {
+    constructor() {
+        this.pos = null;
+    }
+    find(imgref) {
+        if (!imgref) {
+            imgref = a1lib.captureHoldFullRs();
+        }
+        if (!imgref) {
+            return null;
+        }
+        var boxes = [];
+        for (let imgs of [imgs_rs3, imgs_leg]) {
+            var pos = imgref.findSubimage(imgs.boxtl);
+            for (var a in pos) {
+                var p = pos[a];
+                if (imgref.findSubimage(imgs.boxtr, p.x + 492, p.y, 16, 16).length != 0) {
+                    boxes.push(Object.assign(Object.assign({}, p), { legacy: imgs == imgs_leg }));
+                }
+            }
+        }
+        if (boxes.length == 0) {
+            return false;
+        }
+        var box = boxes[0];
+        if (boxes.length > 1) {
+            console.log("More than one dialog box found");
+        }
+        this.pos = { x: box.x + 1, y: box.y + 1, width: 506, height: 130, legacy: box.legacy };
+        return this.pos;
+    }
+    ensureimg(imgref) {
+        if (!this.pos) {
+            return null;
+        }
+        if (imgref && a1lib.Rect.fromArgs(imgref).contains(this.pos)) {
+            return imgref;
+        }
+        return a1lib.captureHold(this.pos.x, this.pos.y, this.pos.width, this.pos.height);
+    }
+    read(imgref) {
+        imgref = this.ensureimg(imgref);
+        if (!imgref) {
+            return false;
+        }
+        let title = this.readTitle(imgref);
+        var r = {
+            text: null,
+            opts: null,
+            title
+        };
+        if (this.checkDialog(imgref)) {
+            r.text = this.readDialog(imgref, true);
+            return r;
+        }
+        else {
+            var opts = this.findOptions(imgref);
+            if (opts.length != 0) {
+                r.opts = this.readOptions(imgref, opts);
+                return r;
+            }
+            else {
+                return null;
+            }
+        }
+    }
+    readTitle(imgref) {
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        var buf = imgref.toData(this.pos.x, this.pos.y, this.pos.width, 32);
+        //somehow y coord can change, 19 for "choose and option:" 18 for npc names
+        var pos = OCR.findChar(buf, fontheavy, [255, 203, 5], Math.round(this.pos.width / 2) - 10, 16, 20, 4);
+        if (!pos) {
+            return "";
+        }
+        var read = OCR.readSmallCapsBackwards(buf, fontheavy, [[255, 203, 5]], Math.round(this.pos.width / 2) - 10, pos.y, 150, 1);
+        return read.text.toLowerCase(); //normalize case since we don't actually know the original
+    }
+    checkDialog(imgref) {
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        var locs = [];
+        let imgs = (this.pos.legacy ? imgs_leg : imgs_rs3);
+        locs = locs.concat(imgref.findSubimage(imgs.continueimg, this.pos.x - imgref.x, this.pos.y - imgref.y, this.pos.width, this.pos.height));
+        locs = locs.concat(imgref.findSubimage(imgs.continueimgdown, this.pos.x - imgref.x, this.pos.y - imgref.y, this.pos.width, this.pos.height));
+        return locs.length != 0;
+    }
+    readDialog(imgref, checked) {
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        imgref = this.ensureimg(imgref);
+        if (!imgref) {
+            return null;
+        }
+        if (!checked) {
+            checked = this.checkDialog(imgref);
+        }
+        if (!checked) {
+            return null;
+        }
+        var lines = [];
+        var buf = imgref.toData(this.pos.x, this.pos.y + 33, this.pos.width, 80);
+        for (var y = 0; y < buf.height; y++) {
+            var hastext = false;
+            for (var x = 200; x < 300; x++) {
+                var i = x * 4 + y * 4 * buf.width;
+                if (buf.data[i] + buf.data[i + 1] + buf.data[i + 2] < 50) {
+                    hastext = true;
+                    break;
+                }
+            }
+            if (hastext) {
+                var chr = null;
+                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 192, y + 5, 12, 3);
+                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 246, y + 5, 12, 3);
+                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 310, y + 5, 12, 3);
+                if (chr) {
+                    var read = OCR.readLine(buf, fontmono, [0, 0, 0], chr.x, chr.y, true, true);
+                    if (read.text.length >= 3) {
+                        lines.push(read.text);
+                    }
+                    y = chr.y + 5;
+                }
+            }
+        }
+        return lines;
+    }
+    findOptions(imgref) {
+        var locs = [];
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        let imgs = (this.pos.legacy ? imgs_leg : imgs_rs3);
+        var a = imgref.findSubimage(imgs.chatimg);
+        for (var b in a) {
+            locs.push({ x: a[b].x, y: a[b].y, hover: false, active: false });
+        }
+        var a = imgref.findSubimage(imgs.chatimghover);
+        for (var b in a) {
+            locs.push({ x: a[b].x, y: a[b].y, hover: true, active: false });
+        }
+        var a = imgref.findSubimage(imgs.chatimgactive);
+        for (var b in a) {
+            locs.push({ x: a[b].x, y: a[b].y, hover: false, active: true });
+        }
+        return locs;
+    }
+    readOptions(imgref, locs) {
+        imgref = this.ensureimg(imgref);
+        if (!imgref) {
+            return null;
+        }
+        if (!this.pos) {
+            throw new Error("interface not found");
+        }
+        var buf = imgref.toData();
+        if (!locs) {
+            locs = this.findOptions(imgref);
+        }
+        var bgcol = [150, 135, 105];
+        var fontcol = this.pos.legacy ? [255, 255, 255] : [174, 208, 224];
+        var r = [];
+        for (var a = 0; a < locs.length; a++) {
+            var dx = locs[a].x + 30;
+            var dy = locs[a].y + 6;
+            var checkline = imgref.toData(dx, dy, Math.min(500, imgref.width - a), 1);
+            var row = null;
+            for (var x = 0; x < checkline.width; x++) {
+                var i = x * 4;
+                if (row) {
+                    if (coldiff(checkline.data[i], checkline.data[i + 1], checkline.data[i + 2], bgcol[0], bgcol[1], bgcol[2]) < 75) {
+                        row.width = x + 20;
+                        break;
+                    }
+                }
+                else if (coldiff(checkline.data[i], checkline.data[i + 1], checkline.data[i + 2], fontcol[0], fontcol[1], fontcol[2]) < 100) {
+                    var text = "";
+                    var chr = OCR.findChar(buf, fontmono, fontcol, dx + x + 2 - imgref.x, dy + 3 - imgref.y, 30, 1);
+                    if (chr) {
+                        var read = OCR.readLine(buf, fontmono, fontcol, chr.x, chr.y, true, true);
+                        var text = read.text;
+                    }
+                    row = { text: text, x: dx + x, y: dy, width: 200, buttonx: dx - 31, hover: !!locs[a].hover, active: locs[a].active };
+                }
+            }
+            if (row) {
+                r.push(row);
+            }
+        }
+        r.sort((a, b) => a.y - b.y);
+        return r;
+    }
+}
+exports["default"] = DialogReader;
+//TODO get rid of this or make it standard
+function coldiff(r1, g1, b1, r2, g2, b2) {
+    return Math.abs(r1 - r2) + Math.abs(g1 - g2) + Math.abs(b1 - b2);
+}
+
+
+/***/ }),
+
+/***/ "alt1/base":
+/*!**************************************************************************************************!*\
+  !*** external {"root":"A1lib","commonjs2":"alt1/base","commonjs":"alt1/base","amd":"alt1/base"} ***!
+  \**************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = __WEBPACK_EXTERNAL_MODULE_alt1_base__;
+
+/***/ }),
+
+/***/ "alt1/ocr":
+/*!*********************************************************************************************!*\
+  !*** external {"root":"OCR","commonjs2":"alt1/ocr","commonjs":"alt1/ocr","amd":"alt1/ocr"} ***!
+  \*********************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = __WEBPACK_EXTERNAL_MODULE_alt1_ocr__;
+
+/***/ }),
+
+/***/ "./src/fonts/aa_8px_mono.fontmeta.json":
+/*!*********************************************!*\
+  !*** ./src/fonts/aa_8px_mono.fontmeta.json ***!
+  \*********************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = JSON.parse('{"chars":[{"width":7,"bonus":75,"chr":"a","pixels":[0,7,187,1,3,221,1,6,170,1,8,255,2,3,255,2,5,187,2,8,255,3,3,255,3,5,255,3,8,221,4,4,238,4,5,255,4,6,204,4,7,255,4,8,238],"secondary":false},{"width":7,"bonus":105,"chr":"b","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,204,1,4,170,1,7,170,1,8,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,170,4,4,170,4,7,170,5,5,187,5,6,187],"secondary":false},{"width":7,"bonus":50,"chr":"c","pixels":[0,5,170,0,6,187,1,4,187,1,7,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,221,4,8,221],"secondary":false},{"width":7,"bonus":105,"chr":"d","pixels":[0,5,187,0,6,187,1,4,170,1,7,170,1,8,170,2,3,255,2,8,255,3,3,255,3,8,255,4,3,204,4,4,170,4,7,170,4,8,187,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,221,5,7,221,5,8,204],"secondary":false},{"width":7,"bonus":75,"chr":"e","pixels":[0,5,187,0,6,170,1,4,187,1,5,255,1,7,204,2,3,255,2,5,255,2,8,255,3,3,255,3,5,255,3,8,255,4,3,187,4,5,255,4,8,221,5,5,204],"secondary":false},{"width":4,"bonus":50,"chr":"f","pixels":[0,3,204,1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204,2,1,255,2,3,255],"secondary":false},{"width":7,"bonus":115,"chr":"g","pixels":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,170,1,11,153,2,3,255,2,8,255,2,11,238,3,3,255,3,8,255,3,11,221,4,3,221,4,7,153,4,8,221,4,10,204,5,3,204,5,4,221,5,5,221,5,6,221,5,7,221,5,8,221,5,9,170],"secondary":false},{"width":7,"bonus":90,"chr":"h","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,170,1,4,204,2,3,255,3,3,255,4,3,170,4,4,221,4,5,221,4,6,221,4,7,221,4,8,204],"secondary":false},{"width":3,"bonus":35,"chr":"i","pixels":[0,1,238,0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204],"secondary":false},{"width":4,"bonus":50,"chr":"j","pixels":[0,11,153,1,11,170,2,1,204,2,3,204,2,4,221,2,5,221,2,6,221,2,7,221,2,8,221,2,9,221],"secondary":false},{"width":6,"bonus":70,"chr":"k","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,4,153,2,5,255,2,6,221,3,3,204,3,7,221],"secondary":false},{"width":3,"bonus":40,"chr":"l","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,1,8,255],"secondary":false},{"width":10,"bonus":115,"chr":"m","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,153,4,4,255,4,5,221,4,6,221,4,7,221,4,8,204,5,4,187,6,3,255,7,3,238,8,4,170,8,5,221,8,6,221,8,7,221,8,8,204],"secondary":false},{"width":7,"bonus":75,"chr":"n","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,238,5,4,170,5,5,221,5,6,221,5,7,221,5,8,204],"secondary":false},{"width":8,"bonus":70,"chr":"o","pixels":[0,5,187,0,6,170,1,4,204,1,7,221,2,3,238,2,8,238,3,3,255,3,8,255,4,3,238,4,8,255,5,4,204,5,7,221,6,5,170,6,6,170],"secondary":false},{"width":6,"bonus":90,"chr":"p","pixels":[0,3,238,0,4,255,0,5,187,0,6,204,0,7,255,0,8,221,0,9,221,0,10,221,1,3,255,1,8,238,2,3,255,2,8,255,3,3,238,3,8,238,4,4,238,4,5,255,4,6,255,4,7,238],"secondary":false},{"width":7,"bonus":90,"chr":"q","pixels":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,153,1,8,170,2,3,255,2,8,255,3,3,238,3,8,238,4,3,255,4,4,255,4,5,187,4,6,187,4,7,255,4,8,238,4,9,221,4,10,221],"secondary":false},{"width":4,"bonus":45,"chr":"r","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,187,1,4,204,2,3,255],"secondary":false},{"width":6,"bonus":50,"chr":"s","pixels":[0,4,187,1,3,255,1,5,238,1,8,255,2,3,255,2,8,255,3,3,255,3,6,238,3,8,255,4,7,187],"secondary":false},{"width":5,"bonus":45,"chr":"t","pixels":[1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,170,2,3,255,2,8,238,3,8,153],"secondary":false},{"width":6,"bonus":70,"chr":"u","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,170,1,8,238,2,8,255,3,8,204,4,3,204,4,4,221,4,5,221,4,6,204,4,7,255,4,8,221],"secondary":false},{"width":6,"bonus":50,"chr":"v","pixels":[0,3,238,1,5,238,1,6,204,2,7,255,2,8,255,3,5,153,3,6,255,3,7,153,4,3,238,4,4,204],"secondary":false},{"width":10,"bonus":95,"chr":"w","pixels":[1,3,153,1,4,238,1,5,187,2,6,153,2,7,238,2,8,187,3,6,204,3,7,238,3,8,153,4,3,170,4,4,255,5,4,221,5,5,221,6,7,255,6,8,221,7,6,238,7,7,204,8,3,238,8,4,204],"secondary":false},{"width":6,"bonus":55,"chr":"x","pixels":[0,8,170,1,3,170,1,4,204,1,7,221,2,5,255,2,6,238,3,4,255,3,6,187,3,7,187,4,3,221,4,8,255],"secondary":false},{"width":6,"bonus":65,"chr":"y","pixels":[0,3,255,0,4,153,0,11,221,1,5,204,1,6,221,1,11,187,2,7,187,2,8,255,2,9,238,3,6,238,3,7,187,4,3,204,4,4,221],"secondary":false},{"width":6,"bonus":70,"chr":"z","pixels":[0,3,153,0,8,204,1,3,255,1,7,221,1,8,255,2,3,255,2,6,255,2,8,255,3,3,255,3,4,170,3,5,170,3,8,255,4,3,255,4,8,255],"secondary":false},{"width":8,"bonus":85,"chr":"A","pixels":[0,8,153,1,6,221,1,7,238,2,3,170,2,4,255,2,5,187,2,6,255,3,1,255,3,2,255,3,6,255,4,2,255,4,3,238,4,6,255,5,5,255,5,6,255,6,7,187,6,8,255],"secondary":false},{"width":7,"bonus":125,"chr":"B","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,4,255,1,8,255,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,1,221,4,4,255,4,5,170,4,8,204,5,2,170,5,3,170,5,6,187,5,7,153],"secondary":false},{"width":9,"bonus":80,"chr":"C","pixels":[0,4,187,0,5,187,1,2,221,1,3,153,1,6,153,1,7,204,2,1,170,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,170,6,8,170],"secondary":false},{"width":8,"bonus":100,"chr":"D","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,8,255,2,1,255,2,8,255,3,1,255,3,8,255,4,1,204,4,8,204,5,2,221,5,7,221,6,4,187,6,5,187],"secondary":false},{"width":6,"bonus":95,"chr":"E","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,1,8,255,2,1,255,2,5,255,2,8,255,3,1,255,3,5,255,3,8,255,4,1,153,4,8,221],"secondary":false},{"width":6,"bonus":70,"chr":"F","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255],"secondary":false},{"width":9,"bonus":105,"chr":"G","pixels":[0,4,170,0,5,187,1,2,204,1,3,153,1,7,221,2,1,170,2,8,187,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,238,6,1,170,6,5,255,6,7,153,6,8,170,7,5,153,7,6,221,7,7,221,7,8,204],"secondary":false},{"width":8,"bonus":105,"chr":"H","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,5,255,3,5,255,4,5,255,5,5,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],"secondary":false},{"width":4,"bonus":60,"chr":"I","pixels":[0,1,192,0,8,191,1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,2,1,192,2,8,191],"secondary":false},{"width":6,"bonus":70,"chr":"J","pixels":[0,6,153,0,7,153,1,8,204,2,1,221,2,8,255,3,1,255,3,8,204,4,1,204,4,2,221,4,3,221,4,4,221,4,5,221,4,6,221,4,7,153],"secondary":false},{"width":7,"bonus":85,"chr":"K","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,255,2,4,255,3,3,221,3,5,170,3,6,204,4,1,204,4,2,153,4,7,238,4,8,153],"secondary":false},{"width":6,"bonus":60,"chr":"L","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,8,255,2,8,255,3,8,255,4,8,255],"secondary":false},{"width":9,"bonus":130,"chr":"M","pixels":[0,1,245,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,1,2,170,1,3,225,2,4,207,2,5,190,3,6,232,4,6,232,5,4,207,5,5,190,6,2,170,6,3,224,7,1,245,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255],"secondary":false},{"width":8,"bonus":110,"chr":"N","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,2,255,2,3,221,3,4,187,3,5,187,4,6,221,5,7,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],"secondary":false},{"width":10,"bonus":110,"chr":"O","pixels":[0,4,187,0,5,170,1,2,204,1,3,153,1,6,170,1,7,204,2,1,153,2,8,153,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,153,6,8,153,7,2,204,7,3,153,7,6,170,7,7,204,8,4,187,8,5,170],"secondary":false},{"width":7,"bonus":85,"chr":"P","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,4,1,187,4,5,187,5,3,221],"secondary":false},{"width":9,"bonus":100,"chr":"Q","pixels":[0,4,187,0,5,187,1,2,221,1,6,153,1,7,221,2,1,187,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,238,5,8,238,6,2,204,6,7,255,7,3,255,7,4,204,7,5,221,7,6,255,7,8,204],"secondary":false},{"width":7,"bonus":100,"chr":"R","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,3,6,187,4,2,238,4,3,204,4,4,255,4,7,238,4,8,170],"secondary":false},{"width":6,"bonus":70,"chr":"S","pixels":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,1,255,2,4,170,2,8,255,3,1,255,3,5,255,3,8,255,4,1,170,4,6,221,4,7,238],"secondary":false},{"width":8,"bonus":65,"chr":"T","pixels":[0,1,255,1,1,255,2,1,255,3,1,255,3,2,221,3,3,221,3,4,221,3,5,221,3,6,221,3,7,221,3,8,204,4,1,255,5,1,255],"secondary":false},{"width":8,"bonus":85,"chr":"U","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,187,1,7,170,2,8,255,3,8,255,4,8,221,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,255,5,7,238],"secondary":false},{"width":7,"bonus":70,"chr":"V","pixels":[0,1,255,0,2,187,1,3,153,1,4,255,1,5,153,2,6,187,2,7,238,3,7,255,3,8,204,4,4,204,4,5,238,5,1,170,5,2,255,5,3,153],"secondary":false},{"width":10,"bonus":125,"chr":"W","pixels":[0,1,255,0,2,221,1,4,187,1,5,255,1,6,204,2,7,255,2,8,255,3,3,153,3,4,238,3,5,221,4,1,255,4,2,255,4,3,153,5,3,170,5,4,238,5,5,204,6,7,255,6,8,255,7,4,153,7,5,238,7,6,238,7,7,153,8,1,238,8,2,238,8,3,153],"secondary":false},{"width":7,"bonus":75,"chr":"X","pixels":[0,8,170,1,1,187,1,2,204,1,7,238,2,3,221,2,4,153,2,5,255,2,6,153,3,4,255,3,5,238,4,2,238,4,6,204,4,7,170,5,1,204,5,8,255],"secondary":false},{"width":7,"bonus":55,"chr":"Y","pixels":[0,1,170,1,2,238,2,3,153,2,4,255,3,4,221,3,5,204,3,6,221,3,7,221,3,8,204,4,3,255,5,1,238],"secondary":false},{"width":7,"bonus":75,"chr":"Z","pixels":[0,8,187,1,1,255,1,7,221,1,8,255,2,1,255,2,5,204,2,8,255,3,1,255,3,4,204,3,8,255,4,1,255,4,2,221,4,8,255,5,1,187,5,8,153],"secondary":false},{"width":7,"bonus":90,"chr":"0","pixels":[0,2,153,0,3,221,0,4,255,0,5,255,0,6,238,0,7,170,1,1,187,1,8,204,2,1,187,2,8,187,3,1,221,3,8,204,4,2,170,4,3,255,4,4,187,4,5,187,4,6,238,4,7,170],"secondary":false},{"width":7,"bonus":50,"chr":"1","pixels":[1,8,187,2,1,204,2,2,204,2,3,187,2,4,187,2,5,187,2,6,187,2,7,187,2,8,238,3,8,204],"secondary":false},{"width":7,"bonus":55,"chr":"2","pixels":[1,8,255,2,1,187,2,6,153,2,8,187,3,1,204,3,5,153,3,8,187,4,1,187,4,2,153,4,4,204,4,8,187],"secondary":false},{"width":7,"bonus":50,"chr":"3","pixels":[0,8,204,1,1,187,1,8,187,2,1,187,2,4,187,2,8,204,3,2,221,3,3,204,3,5,204,3,7,170],"secondary":false},{"width":7,"bonus":80,"chr":"4","pixels":[0,6,238,1,4,187,1,6,187,2,3,170,2,6,187,3,1,187,3,2,153,3,6,204,4,1,187,4,2,187,4,3,187,4,4,187,4,5,187,4,6,238,4,7,187,4,8,187],"secondary":false},{"width":7,"bonus":70,"chr":"5","pixels":[1,1,238,1,2,187,1,3,187,1,4,187,1,8,204,2,1,187,2,4,187,2,8,187,3,1,187,3,4,204,3,8,204,4,5,238,4,6,187,4,7,221],"secondary":false},{"width":7,"bonus":80,"chr":"6","pixels":[0,3,170,0,4,255,0,5,255,0,6,238,0,7,153,1,2,187,1,8,187,2,1,204,2,4,187,2,8,187,3,1,187,3,4,204,3,8,187,4,5,221,4,6,255,4,7,187],"secondary":false},{"width":7,"bonus":55,"chr":"7","pixels":[0,1,187,1,1,187,1,8,204,2,1,187,2,6,238,2,7,153,3,1,187,3,3,153,3,4,221,4,1,255,4,2,187],"secondary":false},{"width":7,"bonus":95,"chr":"8","pixels":[1,2,238,1,3,221,1,6,204,1,7,221,2,1,204,2,4,204,2,5,170,2,8,221,3,1,187,3,4,170,3,8,187,4,1,221,4,4,170,4,5,204,4,8,187,5,2,170,5,3,153,5,6,238,5,7,238],"secondary":false},{"width":7,"bonus":85,"chr":"9","pixels":[1,2,221,1,3,187,1,4,238,1,8,153,2,1,204,2,5,221,2,8,187,3,1,187,3,5,187,3,8,204,4,1,187,4,7,170,5,2,153,5,3,238,5,4,255,5,5,255,5,6,187],"secondary":false},{"width":8,"bonus":75,"chr":"%","pixels":[0,3,255,0,8,255,1,2,255,1,4,255,1,7,255,2,3,255,2,6,255,3,5,255,4,4,255,4,7,255,5,3,255,5,6,255,5,8,255,6,2,255,6,7,255],"secondary":false},{"width":4,"bonus":40,"chr":"/","pixels":[0,7,153,0,8,238,0,9,221,1,4,187,1,5,238,1,6,170,2,1,221,2,2,221],"secondary":false},{"width":7,"bonus":60,"chr":"+","pixels":[0,5,221,1,5,255,2,5,255,3,2,153,3,3,221,3,4,221,3,5,255,3,6,221,3,7,221,3,8,204,4,5,255,5,5,255],"secondary":false},{"width":5,"bonus":40,"chr":"?","pixels":[0,1,170,1,1,255,1,6,221,1,8,255,2,1,255,2,5,170,3,2,255,3,3,221],"secondary":false},{"width":2,"bonus":35,"chr":"!","pixels":[0,1,170,0,2,187,0,3,187,0,4,187,0,5,187,0,6,170,0,8,255],"secondary":false},{"width":8,"bonus":130,"chr":"@","pixels":[0,4,255,0,5,255,0,6,221,0,7,255,0,8,187,1,3,221,1,9,238,2,2,221,2,5,255,2,6,238,2,7,255,2,10,153,3,2,255,3,4,255,3,8,204,3,10,187,4,2,238,4,4,255,4,8,255,5,3,238,5,4,255,5,5,221,5,6,221,5,7,221,5,8,238,6,8,221],"secondary":false},{"width":8,"bonus":120,"chr":"#","pixels":[0,6,255,1,3,255,1,6,255,1,7,170,1,8,238,2,1,170,2,2,238,2,3,255,2,4,221,2,5,170,2,6,255,3,3,255,3,6,255,4,3,255,4,4,153,4,5,204,4,6,255,4,7,238,4,8,187,5,1,255,5,2,187,5,3,255,5,6,255,6,3,255],"secondary":false},{"width":6,"bonus":70,"chr":"$","pixels":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,0,204,2,1,238,2,8,238,2,9,204,3,1,238,3,5,238,3,8,255,4,6,170,4,7,170],"secondary":false},{"width":6,"bonus":40,"chr":"^","pixels":[0,4,153,0,5,238,1,2,204,1,3,221,2,1,221,2,2,221,3,3,187,3,4,221],"secondary":false},{"width":6,"bonus":20,"chr":"~","pixels":[1,5,255,2,5,221,3,6,221,4,5,204],"secondary":false},{"width":7,"bonus":95,"chr":"&","pixels":[0,6,187,1,2,238,1,3,255,1,4,187,1,5,187,1,8,187,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,4,255,4,8,187,5,3,204,5,4,255,5,5,221,5,6,187,6,4,153],"secondary":false},{"width":6,"bonus":45,"chr":"*","pixels":[0,2,170,1,2,170,1,3,204,1,4,255,2,1,204,2,2,238,2,3,255,3,2,170,3,4,153],"secondary":false},{"width":4,"bonus":55,"chr":"(","pixels":[0,3,173,0,4,239,0,5,253,0,6,230,0,7,171,1,1,194,1,2,204,1,8,204,1,9,191,2,0,210,2,10,216],"secondary":false},{"width":4,"bonus":55,"chr":")","pixels":[1,0,211,1,10,216,2,1,194,2,2,203,2,8,203,2,9,191,3,3,174,3,4,240,3,5,253,3,6,229,3,7,171],"secondary":false},{"width":7,"bonus":30,"chr":"_","pixels":[0,9,153,1,9,255,2,9,255,3,9,255,4,9,255,5,9,255],"secondary":false},{"width":4,"bonus":15,"chr":"-","pixels":[0,5,255,1,5,255,2,5,255],"secondary":true},{"width":8,"bonus":50,"chr":"=","pixels":[0,4,255,0,6,255,1,4,255,1,6,255,2,4,255,2,6,255,3,4,255,3,6,255,4,4,255,4,6,255],"secondary":false},{"width":3,"bonus":55,"chr":"[","pixels":[0,0,204,0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,0,238,1,8,238],"secondary":false},{"width":3,"bonus":55,"chr":"]","pixels":[0,0,238,0,8,238,1,0,204,1,1,221,1,2,221,1,3,221,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204],"secondary":false},{"width":5,"bonus":50,"chr":"{","pixels":[0,5,153,1,2,170,1,3,221,1,4,221,1,5,204,1,6,255,1,7,221,1,8,170,2,1,238,2,9,238],"secondary":false},{"width":5,"bonus":50,"chr":"}","pixels":[1,1,238,1,9,238,2,2,170,2,3,221,2,4,221,2,5,204,2,6,255,2,7,221,2,8,170,3,5,153],"secondary":false},{"width":3,"bonus":10,"chr":":","pixels":[1,3,255,1,7,255],"secondary":true},{"width":3,"bonus":20,"chr":";","pixels":[0,9,201,1,3,255,1,7,241,1,8,255],"secondary":true},{"width":3,"bonus":20,"chr":"\\"","pixels":[0,1,255,0,2,255,2,1,255,2,2,255],"secondary":true},{"width":2,"bonus":10,"chr":"\'","pixels":[0,1,255,0,2,177],"secondary":true},{"width":7,"bonus":40,"chr":"<","pixels":[0,5,204,1,5,255,2,4,238,2,6,238,3,4,170,3,6,170,4,3,221,4,7,221],"secondary":false},{"width":7,"bonus":45,"chr":">","pixels":[0,3,204,0,7,204,1,7,187,2,4,238,2,6,255,3,4,170,3,5,153,3,6,204,4,5,255],"secondary":false},{"width":5,"bonus":35,"chr":"\\\\","pixels":[1,1,153,1,2,255,1,3,204,2,5,255,2,6,204,3,8,255,3,9,204],"secondary":false},{"width":2,"bonus":5,"chr":".","pixels":[0,8,255],"secondary":true},{"width":3,"bonus":15,"chr":",","pixels":[0,9,205,1,7,205,1,8,255],"secondary":true},{"width":3,"bonus":50,"chr":"|","pixels":[0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,221,0,9,221,0,10,204],"secondary":false}],"width":10,"spacewidth":3,"shadow":false,"height":12,"basey":8}');
+
+/***/ }),
+
+/***/ "./src/fonts/aa_8px_mono_allcaps.fontmeta.json":
+/*!*****************************************************!*\
+  !*** ./src/fonts/aa_8px_mono_allcaps.fontmeta.json ***!
+  \*****************************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = JSON.parse('{"chars":[{"width":3,"bonus":35,"chr":"!","pixels":[0,2,170,1,1,221,1,2,255,1,3,221,1,4,187,1,5,170,1,9,204],"secondary":false},{"width":6,"bonus":20,"chr":"\\"","pixels":[1,2,221,1,3,255,3,2,221,3,3,255],"secondary":true},{"width":8,"bonus":125,"chr":"#","pixels":[0,7,187,1,4,255,1,7,255,1,10,170,2,3,170,2,4,255,2,5,255,2,6,221,2,7,255,2,8,170,3,4,255,3,7,255,4,4,255,4,5,153,4,7,255,4,8,238,4,9,255,4,10,204,5,2,238,5,3,204,5,4,255,5,5,153,5,7,255,6,4,255,6,7,153],"secondary":false},{"width":7,"bonus":115,"chr":"$","pixels":[0,8,187,1,2,255,1,3,255,1,4,221,1,9,238,2,1,187,2,4,255,2,5,204,2,8,170,2,9,255,2,10,221,3,0,187,3,1,238,3,2,187,3,3,170,3,4,153,3,5,255,3,6,221,3,9,221,4,1,221,4,6,255,4,7,255,4,8,255],"secondary":false},{"width":12,"bonus":135,"chr":"%","pixels":[1,2,255,1,3,255,1,4,221,2,5,153,3,1,153,3,9,187,4,1,170,4,2,255,4,3,255,4,4,221,4,7,238,4,8,204,5,4,153,5,5,238,5,6,153,6,1,153,6,2,187,6,3,204,6,6,221,6,7,255,6,8,255,7,1,153,7,9,187,8,9,187,9,6,221,9,7,255,9,8,255],"secondary":false},{"width":11,"bonus":190,"chr":"&","pixels":[0,6,187,0,7,255,0,8,170,1,2,204,1,3,255,1,4,153,1,5,238,1,6,170,1,7,187,1,8,255,1,9,153,2,1,170,2,2,153,2,3,153,2,4,255,2,5,187,2,9,238,3,1,221,3,5,238,3,6,170,3,9,255,4,1,238,4,6,238,4,7,153,4,9,204,5,1,187,5,2,187,5,7,255,5,8,204,6,7,170,6,8,255,7,5,238,7,6,255,7,7,170,7,8,170,7,9,221,8,9,238,9,9,153],"secondary":false},{"width":4,"bonus":10,"chr":"\'","pixels":[1,2,204,1,3,255],"secondary":true},{"width":4,"bonus":50,"chr":"(","pixels":[0,3,170,0,4,238,0,5,255,0,6,221,0,7,153,1,1,153,1,2,221,1,3,153,1,7,170,1,8,238],"secondary":false},{"width":4,"bonus":40,"chr":")","pixels":[1,1,170,1,2,221,1,7,170,1,8,238,2,3,187,2,4,238,2,5,255,2,6,204],"secondary":false},{"width":5,"bonus":25,"chr":"*","pixels":[1,1,170,1,2,221,1,3,153,2,2,255,2,3,204],"secondary":false},{"width":8,"bonus":45,"chr":"+","pixels":[1,6,255,2,6,255,3,4,255,3,5,255,3,6,255,3,7,255,3,8,255,4,6,255,5,6,255],"secondary":false},{"width":3,"bonus":10,"chr":",","pixels":[1,8,187,1,9,221],"secondary":true},{"width":5,"bonus":20,"chr":"-","pixels":[0,7,204,1,7,255,2,7,238,3,7,187],"secondary":true},{"width":3,"bonus":5,"chr":".","pixels":[0,9,204],"secondary":true},{"width":7,"bonus":40,"chr":"/","pixels":[0,9,221,1,7,187,1,8,187,2,6,221,3,4,221,4,2,170,4,3,187,5,1,187],"secondary":false},{"width":8,"bonus":105,"chr":"0","pixels":[0,6,153,1,3,221,1,4,255,1,5,255,1,6,255,1,7,255,1,8,238,2,2,187,2,8,153,2,9,204,3,2,187,3,9,204,4,2,221,4,9,187,5,3,238,5,4,255,5,5,255,5,6,255,5,7,255,5,8,221,6,5,153],"secondary":false},{"width":6,"bonus":85,"chr":"1","pixels":[1,3,170,1,9,153,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,3,2,153,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221],"secondary":false},{"width":8,"bonus":100,"chr":"2","pixels":[1,2,187,1,3,153,1,9,255,2,2,187,2,8,221,2,9,255,3,2,221,3,7,221,3,9,255,4,2,187,4,3,238,4,4,187,4,5,238,4,6,238,4,9,255,5,3,221,5,4,255,5,5,170,5,8,153,5,9,238],"secondary":false},{"width":7,"bonus":100,"chr":"3","pixels":[0,2,170,0,8,170,0,9,204,1,2,221,1,9,238,2,2,238,2,5,221,2,9,221,3,2,221,3,3,187,3,4,204,3,5,255,3,6,153,3,9,187,4,3,238,4,4,153,4,6,255,4,7,255,4,8,255,5,7,153],"secondary":false},{"width":8,"bonus":85,"chr":"4","pixels":[0,7,153,1,6,187,1,7,255,2,5,187,2,7,255,3,4,187,3,7,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,7,255,5,9,204,6,7,221],"secondary":false},{"width":7,"bonus":95,"chr":"5","pixels":[0,8,153,0,9,221,1,2,255,1,3,187,1,4,238,1,9,221,2,2,255,2,4,187,2,5,170,2,9,204,3,2,255,3,5,255,3,9,170,4,2,255,4,5,204,4,6,255,4,7,255,4,8,238,5,7,153],"secondary":false},{"width":8,"bonus":105,"chr":"6","pixels":[0,7,153,1,4,153,1,5,255,1,6,255,1,7,255,1,8,255,2,4,204,2,9,221,3,3,170,3,5,153,3,9,204,4,2,153,4,5,187,4,9,204,5,6,238,5,7,170,5,8,187,5,9,153,6,6,187,6,7,255,6,8,170],"secondary":false},{"width":7,"bonus":75,"chr":"7","pixels":[0,2,204,0,3,187,1,2,255,1,9,187,2,2,255,2,7,238,2,8,255,2,9,170,3,2,255,3,5,221,3,6,204,4,2,255,4,3,204,4,4,170,5,2,204],"secondary":false},{"width":8,"bonus":120,"chr":"8","pixels":[1,3,221,1,4,204,1,6,187,1,7,255,1,8,255,2,2,187,2,4,204,2,5,221,2,6,153,2,9,221,3,2,153,3,5,255,3,9,187,4,2,187,4,5,238,4,6,204,4,9,204,5,2,170,5,3,255,5,4,238,5,6,238,5,7,255,5,8,255,6,7,153],"secondary":false},{"width":8,"bonus":95,"chr":"9","pixels":[0,4,153,1,3,255,1,4,255,1,5,255,2,2,187,2,6,153,3,2,204,3,6,153,3,9,153,4,2,221,4,7,153,4,8,204,5,3,255,5,4,255,5,5,255,5,6,255,5,7,187,6,4,153,6,5,153],"secondary":false},{"width":3,"bonus":10,"chr":":","pixels":[0,3,204,0,7,204],"secondary":true},{"width":3,"bonus":20,"chr":";","pixels":[0,2,204,0,6,153,0,7,187,0,8,153],"secondary":true},{"width":7,"bonus":55,"chr":"<","pixels":[0,6,187,0,7,153,1,6,221,1,7,238,2,5,153,3,5,238,3,8,238,4,5,153,4,8,187,5,4,187,5,9,153],"secondary":false},{"width":7,"bonus":60,"chr":"=","pixels":[0,5,255,0,8,255,1,5,255,1,8,255,2,5,255,2,8,255,3,5,255,3,8,255,4,5,255,4,8,255,5,5,221,5,8,221],"secondary":false},{"width":7,"bonus":50,"chr":">","pixels":[0,4,204,0,9,170,1,5,170,1,8,187,2,5,238,2,8,221,3,7,153,4,6,238,4,7,238,5,6,153],"secondary":false},{"width":6,"bonus":65,"chr":"?","pixels":[0,2,153,0,3,187,1,2,221,1,7,221,2,2,238,2,6,238,2,10,204,3,2,204,3,3,221,3,4,204,3,5,255,4,3,238,4,4,221],"secondary":false},{"width":11,"bonus":180,"chr":"@","pixels":[0,4,187,0,5,255,0,6,255,0,7,238,1,3,170,1,8,204,2,5,187,2,6,238,2,7,187,2,9,204,3,4,204,3,5,153,3,6,153,3,7,204,3,9,204,4,3,153,4,6,153,4,9,187,5,0,153,5,3,221,5,4,170,5,5,238,5,6,255,5,7,187,5,9,170,6,3,221,6,4,153,6,7,238,7,1,153,7,7,170,8,1,170,8,2,153,8,6,170,9,3,187,9,4,221,9,5,170],"secondary":false},{"width":9,"bonus":110,"chr":"A","pixels":[1,9,238,2,6,153,2,7,255,2,8,170,2,9,170,3,4,187,3,5,238,3,7,221,4,2,187,4,3,255,4,4,238,4,7,221,5,4,221,5,5,255,5,6,238,5,7,238,6,6,187,6,7,255,6,8,255,6,9,187,7,8,170,7,9,255],"secondary":false},{"width":7,"bonus":150,"chr":"B","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,255,3,2,221,3,5,221,3,9,204,4,2,187,4,3,255,4,4,255,4,5,170,4,6,255,4,7,170,4,8,187,4,9,187,5,6,153,5,7,255,5,8,204],"secondary":false},{"width":8,"bonus":120,"chr":"C","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,3,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,221,5,2,221,5,9,221,6,2,187,6,3,187,6,8,153,6,9,170],"secondary":false},{"width":10,"bonus":165,"chr":"D","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,9,221,4,2,238,4,9,221,5,2,221,5,9,204,6,2,153,6,3,238,6,8,187,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,8,5,187,8,6,170],"secondary":false},{"width":7,"bonus":110,"chr":"E","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,170,2,9,239,3,2,214,3,5,221,3,9,212,4,2,212,4,5,226,4,9,238],"secondary":false},{"width":7,"bonus":100,"chr":"F","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,2,221,3,5,221,4,2,238,4,5,238],"secondary":false},{"width":9,"bonus":135,"chr":"G","pixels":[0,4,170,0,5,238,0,6,255,0,7,187,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,238,5,2,238,5,9,221,6,2,204,6,6,255,6,7,255,6,8,255,6,9,204,7,6,204,7,7,153,7,8,153],"secondary":false},{"width":10,"bonus":175,"chr":"H","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,5,221,4,5,221,5,5,221,6,2,204,6,3,153,6,4,153,6,5,238,6,6,153,6,7,153,6,8,153,6,9,221,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255],"secondary":false},{"width":5,"bonus":80,"chr":"I","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,153,2,9,221],"secondary":false},{"width":6,"bonus":90,"chr":"J","pixels":[2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,187,3,2,204,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,153],"secondary":false},{"width":10,"bonus":140,"chr":"K","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,187,2,7,153,2,8,153,2,9,204,3,5,238,3,6,238,4,6,170,4,7,255,5,2,238,5,3,153,5,7,170,5,8,255,6,2,204,6,8,170,6,9,238,7,9,204],"secondary":false},{"width":7,"bonus":95,"chr":"L","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,9,221,4,9,221,5,9,204],"secondary":false},{"width":12,"bonus":150,"chr":"M","pixels":[1,6,170,1,7,221,1,8,255,1,9,255,2,2,170,2,3,255,2,4,255,2,5,221,3,4,204,3,5,255,3,6,238,4,6,204,4,7,255,4,8,221,5,7,187,5,8,255,6,6,221,7,4,238,7,5,204,8,2,187,8,3,255,8,4,255,8,5,255,8,6,255,8,7,238,8,8,204,8,9,187,9,7,170,9,8,204,9,9,255],"secondary":false},{"width":10,"bonus":130,"chr":"N","pixels":[1,2,204,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,3,221,2,4,238,3,4,221,3,5,238,4,5,238,4,6,238,5,6,238,5,7,238,6,7,238,6,8,238,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,204],"secondary":false},{"width":10,"bonus":155,"chr":"O","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,170,2,8,204,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,238,6,8,170,7,3,238,7,4,255,7,5,255,7,6,255,7,7,255,7,8,187,8,4,153,8,5,221,8,6,204],"secondary":false},{"width":8,"bonus":130,"chr":"P","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,1,238,2,2,153,2,3,153,2,4,153,2,5,170,2,6,153,2,7,153,2,8,153,2,9,221,3,1,204,4,1,238,4,5,187,5,1,153,5,2,255,5,3,255,5,4,255,6,3,153],"secondary":false},{"width":10,"bonus":180,"chr":"Q","pixels":[0,4,153,0,5,238,0,6,238,0,7,170,1,3,221,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,8,221,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,221,6,8,153,6,9,238,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,7,9,187,7,10,153,8,4,153,8,5,204,8,6,204,8,10,255,9,10,204],"secondary":false},{"width":7,"bonus":140,"chr":"R","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,238,2,7,153,2,8,153,2,9,221,3,2,238,3,6,238,4,2,204,4,3,204,4,4,153,4,5,204,4,6,204,4,7,255,5,3,221,5,4,221,5,8,255,6,9,238],"secondary":false},{"width":6,"bonus":115,"chr":"S","pixels":[0,3,221,0,4,238,0,8,187,0,9,187,1,2,187,1,4,204,1,5,255,1,9,238,2,2,187,2,5,255,2,6,187,2,9,221,3,2,204,3,5,153,3,6,255,3,7,170,3,8,153,3,9,170,4,2,204,4,3,153,4,6,170,4,7,255,4,8,187],"secondary":false},{"width":9,"bonus":105,"chr":"T","pixels":[1,2,238,2,2,221,3,2,238,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,2,221,6,2,221,7,2,255],"secondary":false},{"width":10,"bonus":120,"chr":"U","pixels":[1,2,204,1,3,153,1,4,153,1,5,153,1,6,153,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,3,9,221,4,9,238,5,9,221,6,9,170,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,204,8,2,153],"secondary":false},{"width":10,"bonus":90,"chr":"V","pixels":[1,2,255,1,3,153,2,2,238,2,3,255,2,4,255,2,5,187,3,5,238,3,6,255,3,7,221,4,7,221,4,8,255,4,9,187,5,6,187,5,7,204,6,4,221,6,5,187,7,2,255,7,3,170],"secondary":false},{"width":13,"bonus":165,"chr":"W","pixels":[1,2,255,1,3,221,2,2,204,2,3,221,2,4,255,2,5,255,2,6,221,3,6,187,3,7,255,3,8,255,3,9,187,4,6,153,4,7,221,5,4,221,5,5,187,6,2,187,6,3,255,6,4,255,6,5,153,7,4,170,7,5,255,7,6,255,7,7,187,8,7,255,8,8,255,8,9,187,9,5,153,9,6,221,9,7,170,10,2,221,10,3,238,10,4,187,11,2,187],"secondary":false},{"width":9,"bonus":115,"chr":"X","pixels":[1,2,221,1,9,238,2,2,255,2,3,255,2,7,153,2,8,221,2,9,153,3,3,153,3,4,255,3,5,221,3,6,204,4,5,255,4,6,255,4,7,170,5,3,187,5,4,170,5,7,255,5,8,255,5,9,153,6,2,255,6,8,204,6,9,255,7,9,170],"secondary":false},{"width":8,"bonus":95,"chr":"Y","pixels":[0,2,187,1,2,255,1,3,221,2,3,221,2,4,255,2,5,153,3,5,238,3,6,255,3,7,255,3,8,255,3,9,255,4,5,204,4,6,170,4,7,153,4,8,153,4,9,204,5,3,187,5,4,187,6,2,238],"secondary":false},{"width":8,"bonus":105,"chr":"Z","pixels":[0,9,204,1,2,238,1,7,153,1,8,255,1,9,255,2,2,221,2,6,221,2,7,255,2,9,221,3,2,221,3,4,153,3,5,255,3,6,221,3,9,221,4,2,238,4,3,221,4,4,255,4,9,221,5,2,255,5,3,204,5,9,255],"secondary":false},{"width":4,"bonus":65,"chr":"[","pixels":[0,0,255,0,1,255,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,0,9,255,0,10,187,1,0,187,1,10,170],"secondary":false},{"width":8,"bonus":40,"chr":"\\\\","pixels":[1,1,170,1,2,187,2,3,221,3,5,221,4,6,187,4,7,187,5,8,221,6,9,153],"secondary":false},{"width":5,"bonus":65,"chr":"]","pixels":[1,0,153,1,10,153,2,0,255,2,1,255,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,187],"secondary":false},{"width":7,"bonus":40,"chr":"^","pixels":[0,5,204,1,3,238,1,4,170,2,1,238,3,1,221,3,2,204,4,3,187,4,4,238],"secondary":false},{"width":7,"bonus":30,"chr":"_","pixels":[0,10,221,1,10,221,2,10,221,3,10,221,4,10,221,5,10,221],"secondary":false},{"width":9,"bonus":110,"chr":"a","pixels":[1,9,238,2,6,153,2,7,255,2,8,170,2,9,170,3,4,187,3,5,238,3,7,221,4,2,187,4,3,255,4,4,238,4,7,221,5,4,221,5,5,255,5,6,238,5,7,238,6,6,187,6,7,255,6,8,255,6,9,187,7,8,170,7,9,255],"secondary":false},{"width":7,"bonus":150,"chr":"b","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,255,3,2,221,3,5,221,3,9,204,4,2,187,4,3,255,4,4,255,4,5,170,4,6,255,4,7,170,4,8,187,4,9,187,5,6,153,5,7,255,5,8,204],"secondary":false},{"width":8,"bonus":120,"chr":"c","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,3,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,221,5,2,221,5,9,221,6,2,187,6,3,187,6,8,153,6,9,170],"secondary":false},{"width":10,"bonus":165,"chr":"d","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,9,221,4,2,238,4,9,221,5,2,221,5,9,204,6,2,153,6,3,238,6,8,187,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,8,5,187,8,6,170],"secondary":false},{"width":7,"bonus":110,"chr":"e","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,5,221,3,9,221,4,2,238,4,5,238,4,9,238],"secondary":false},{"width":7,"bonus":100,"chr":"f","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,2,221,3,5,221,4,2,238,4,5,238],"secondary":false},{"width":10,"bonus":135,"chr":"g","pixels":[0,4,170,0,5,238,0,6,255,0,7,187,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,238,5,2,238,5,9,221,6,2,204,6,6,255,6,7,255,6,8,255,6,9,204,7,6,204,7,7,153,7,8,153],"secondary":false},{"width":10,"bonus":175,"chr":"h","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,5,221,4,5,221,5,5,221,6,2,204,6,3,153,6,4,153,6,5,238,6,6,153,6,7,153,6,8,153,6,9,221,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255],"secondary":false},{"width":5,"bonus":80,"chr":"i","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,153,2,9,221],"secondary":false},{"width":5,"bonus":90,"chr":"j","pixels":[2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,187,3,2,204,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,153],"secondary":false},{"width":9,"bonus":140,"chr":"k","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,187,2,7,153,2,8,153,2,9,204,3,5,238,3,6,238,4,6,170,4,7,255,5,2,238,5,3,153,5,7,170,5,8,255,6,2,204,6,8,170,6,9,238,7,9,204],"secondary":false},{"width":7,"bonus":95,"chr":"l","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,9,221,4,9,221,5,9,204],"secondary":false},{"width":12,"bonus":150,"chr":"m","pixels":[1,6,170,1,7,221,1,8,255,1,9,255,2,2,170,2,3,255,2,4,255,2,5,221,3,4,204,3,5,255,3,6,238,4,6,204,4,7,255,4,8,221,5,7,187,5,8,255,6,6,221,7,4,238,7,5,204,8,2,187,8,3,255,8,4,255,8,5,255,8,6,255,8,7,238,8,8,204,8,9,187,9,7,170,9,8,204,9,9,255],"secondary":false},{"width":10,"bonus":130,"chr":"n","pixels":[1,2,204,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,3,221,2,4,238,3,4,221,3,5,238,4,5,238,4,6,238,5,6,238,5,7,238,6,7,238,6,8,238,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,204],"secondary":false},{"width":10,"bonus":155,"chr":"o","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,170,2,8,204,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,238,6,8,170,7,3,238,7,4,255,7,5,255,7,6,255,7,7,255,7,8,187,8,4,153,8,5,221,8,6,204],"secondary":false},{"width":7,"bonus":115,"chr":"p","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,170,2,7,153,2,8,153,2,9,221,3,2,221,4,2,221,4,3,204,4,4,153,4,5,221,5,3,221,5,4,221],"secondary":false},{"width":10,"bonus":180,"chr":"q","pixels":[0,4,153,0,5,238,0,6,238,0,7,170,1,3,221,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,8,221,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,221,6,8,153,6,9,238,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,7,9,187,7,10,153,8,4,153,8,5,204,8,6,204,8,10,255,9,10,204],"secondary":false},{"width":9,"bonus":145,"chr":"r","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,238,2,7,153,2,8,153,2,9,221,3,2,238,3,6,238,4,2,204,4,3,204,4,4,153,4,5,204,4,6,204,4,7,255,5,3,221,5,4,221,5,8,255,6,9,238,7,9,153],"secondary":false},{"width":6,"bonus":115,"chr":"s","pixels":[0,3,221,0,4,238,0,8,187,0,9,187,1,2,187,1,4,204,1,5,255,1,9,238,2,2,187,2,5,255,2,6,187,2,9,221,3,2,204,3,5,153,3,6,255,3,7,170,3,8,153,3,9,170,4,2,204,4,3,153,4,6,170,4,7,255,4,8,187],"secondary":false},{"width":9,"bonus":105,"chr":"t","pixels":[1,2,238,2,2,221,3,2,238,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,2,221,6,2,221,7,2,255],"secondary":false},{"width":10,"bonus":120,"chr":"u","pixels":[1,2,204,1,3,153,1,4,153,1,5,153,1,6,153,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,3,9,221,4,9,238,5,9,221,6,9,170,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,204,8,2,153],"secondary":false},{"width":10,"bonus":90,"chr":"v","pixels":[1,2,255,1,3,153,2,2,238,2,3,255,2,4,255,2,5,187,3,5,238,3,6,255,3,7,221,4,7,221,4,8,255,4,9,187,5,6,187,5,7,204,6,4,221,6,5,187,7,2,255,7,3,170],"secondary":false},{"width":13,"bonus":165,"chr":"w","pixels":[1,2,255,1,3,221,2,2,204,2,3,221,2,4,255,2,5,255,2,6,221,3,6,187,3,7,255,3,8,255,3,9,187,4,6,153,4,7,221,5,4,221,5,5,187,6,2,187,6,3,255,6,4,255,6,5,153,7,4,170,7,5,255,7,6,255,7,7,187,8,7,255,8,8,255,8,9,187,9,5,153,9,6,221,9,7,170,10,2,221,10,3,238,10,4,187,11,2,187],"secondary":false},{"width":9,"bonus":115,"chr":"x","pixels":[1,2,221,1,9,238,2,2,255,2,3,255,2,7,153,2,8,221,2,9,153,3,3,153,3,4,255,3,5,221,3,6,204,4,5,255,4,6,255,4,7,170,5,3,187,5,4,170,5,7,255,5,8,255,5,9,153,6,2,255,6,8,204,6,9,255,7,9,170],"secondary":false},{"width":8,"bonus":95,"chr":"y","pixels":[0,2,187,1,2,255,1,3,221,2,3,221,2,4,255,2,5,153,3,5,238,3,6,255,3,7,255,3,8,255,3,9,255,4,5,204,4,6,170,4,7,153,4,8,153,4,9,204,5,3,187,5,4,187,6,2,238],"secondary":false},{"width":8,"bonus":105,"chr":"z","pixels":[0,9,204,1,2,238,1,7,153,1,8,255,1,9,255,2,2,221,2,6,221,2,7,255,2,9,221,3,2,221,3,4,153,3,5,255,3,6,221,3,9,221,4,2,238,4,3,221,4,4,255,4,9,221,5,2,255,5,3,204,5,9,255],"secondary":false},{"width":4,"bonus":45,"chr":"{","pixels":[1,1,255,1,2,255,1,3,255,1,5,187,1,6,255,1,7,255,1,8,255,1,9,221,2,0,153],"secondary":false},{"width":2,"bonus":60,"chr":"|","pixels":[0,0,255,0,1,255,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,0,9,255,0,10,255,0,11,255],"secondary":true},{"width":4,"bonus":45,"chr":"}","pixels":[0,0,153,1,1,255,1,2,255,1,3,255,1,5,187,1,6,255,1,7,255,1,8,255,1,9,221],"secondary":false},{"width":7,"bonus":30,"chr":"~","pixels":[0,5,221,1,4,255,2,4,187,3,5,187,4,5,255,5,4,204],"secondary":false}],"width":13,"spacewidth":3,"shadow":false,"height":12,"basey":9}');
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __nested_webpack_require_63941__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_63941__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       
+/******/       // startup
+/******/       // Load entry module and return exports
+/******/       // This entry module is referenced by other modules so it can't be inlined
+/******/       var __nested_webpack_exports__ = __nested_webpack_require_63941__("./src/dialog/index.ts");
+/******/       
+/******/       return __nested_webpack_exports__;
+/******/ })()
+;
+});
+
+/***/ }),
+
+/***/ "../node_modules/alt1/dist/ocr/index.js":
+/*!**********************************************!*\
+  !*** ../node_modules/alt1/dist/ocr/index.js ***!
+  \**********************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(true)
+               module.exports = factory(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js"));
+       else {}
+})(globalThis, (__WEBPACK_EXTERNAL_MODULE_alt1_base__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       "use strict";
+/******/       var __webpack_modules__ = ({
+
+/***/ "./src/ocr/index.ts":
+/*!**************************!*\
+  !*** ./src/ocr/index.ts ***!
+  \**************************/
+/***/ ((__unused_webpack_module, exports, __nested_webpack_require_728__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.generatefont = exports.readChar = exports.readSmallCapsBackwards = exports.readLine = exports.getChatColor = exports.GetChatColorMono = exports.findReadLine = exports.findChar = exports.decompose3col = exports.decomposeblack = exports.decompose2col = exports.canblend = exports.unblendTrans = exports.unblendKnownBg = exports.unblendBlackBackground = exports.debugFont = exports.debugout = exports.debug = void 0;
+const base_1 = __nested_webpack_require_728__(/*! alt1/base */ "alt1/base");
+exports.debug = {
+    printcharscores: false,
+    trackread: false
+};
+exports.debugout = {};
+/**
+ * draws the font definition to a buffer and displays it in the dom for debugging purposes
+ * @param font
+ */
+function debugFont(font) {
+    var spacing = font.width + 2;
+    var buf = new base_1.ImageData(spacing * font.chars.length, font.height + 1);
+    for (var a = 0; a < buf.data.length; a += 4) {
+        buf.data[a] = buf.data[a + 1] = buf.data[a + 2] = 0;
+        buf.data[a + 3] = 255;
+    }
+    for (var a = 0; a < font.chars.length; a++) {
+        var bx = a * spacing;
+        var chr = font.chars[a];
+        for (var b = 0; b < chr.pixels.length; b += (font.shadow ? 4 : 3)) {
+            buf.setPixel(bx + chr.pixels[b], chr.pixels[b + 1], [chr.pixels[b + 2], chr.pixels[b + 2], chr.pixels[b + 2], 255]);
+            if (font.shadow) {
+                buf.setPixel(bx + chr.pixels[b], chr.pixels[b + 1], [chr.pixels[b + 3], 0, 0, 255]);
+            }
+        }
+    }
+    buf.show();
+}
+exports.debugFont = debugFont;
+function unblendBlackBackground(img, r, g, b) {
+    var rimg = new base_1.ImageData(img.width, img.height);
+    for (var i = 0; i < img.data.length; i += 4) {
+        var col = decomposeblack(img.data[i], img.data[i + 1], img.data[i + 2], r, g, b);
+        rimg.data[i + 0] = col[0] * 255;
+        rimg.data[i + 1] = rimg.data[i + 0];
+        rimg.data[i + 2] = rimg.data[i + 0];
+        rimg.data[i + 3] = 255;
+    }
+    return rimg;
+}
+exports.unblendBlackBackground = unblendBlackBackground;
+/**
+ * unblends a imagebuffer into match strength with given color
+ * the bgimg argument should contain a second image with pixel occluded by the font visible.
+ * @param img
+ * @param shadow detect black as second color
+ * @param bgimg optional second image to
+ */
+function unblendKnownBg(img, bgimg, shadow, r, g, b) {
+    if (bgimg && (img.width != bgimg.width || img.height != bgimg.height)) {
+        throw "bgimg size doesn't match";
+    }
+    var rimg = new base_1.ImageData(img.width, img.height);
+    var totalerror = 0;
+    for (var i = 0; i < img.data.length; i += 4) {
+        var col = decompose2col(img.data[i], img.data[i + 1], img.data[i + 2], r, g, b, bgimg.data[i + 0], bgimg.data[i + 1], bgimg.data[i + 2]);
+        if (shadow) {
+            if (col[2] > 0.01) {
+                console.log("high error component: " + (col[2] * 100).toFixed(1) + "%");
+            }
+            totalerror += col[2];
+            var m = 1 - col[1] - Math.abs(col[2]); //main color+black=100%-bg-error
+            rimg.data[i + 0] = m * 255;
+            rimg.data[i + 1] = col[0] / m * 255;
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        else {
+            rimg.data[i + 0] = col[0] * 255;
+            rimg.data[i + 1] = rimg.data[i + 0];
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        rimg.data[i + 3] = 255;
+    }
+    return rimg;
+}
+exports.unblendKnownBg = unblendKnownBg;
+/**
+ * Unblends a font image that is already conpletely isolated to the raw image used ingame. This is the easiest mode for pixel fonts where alpha is 0 or 255, or for extracted font files.
+ * @param img
+ * @param r
+ * @param g
+ * @param b
+ * @param shadow whether the font has a black shadow
+ */
+function unblendTrans(img, shadow, r, g, b) {
+    var rimg = new base_1.ImageData(img.width, img.height);
+    var pxlum = r + g + b;
+    for (var i = 0; i < img.data.length; i += 4) {
+        if (shadow) {
+            var lum = img.data[i + 0] + img.data[i + 1] + img.data[i + 2];
+            rimg.data[i + 0] = img.data[i + 3];
+            rimg.data[i + 1] = lum / pxlum * 255;
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        else {
+            rimg.data[i + 0] = img.data[i + 3];
+            rimg.data[i + 1] = rimg.data[i + 0];
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        rimg.data[i + 3] = 255;
+    }
+    return rimg;
+}
+exports.unblendTrans = unblendTrans;
+/**
+ * Determised wether color [rgb]m can be a result of a blend with color [rgb]1 that is p (0-1) of the mix
+ * It returns the number that the second color has to lie outside of the possible color ranges
+ * @param rm resulting color
+ * @param r1 first color of the mix (the other color is unknown)
+ * @param p the portion of the [rgb]1 in the mix (0-1)
+ */
+function canblend(rm, gm, bm, r1, g1, b1, p) {
+    var m = Math.min(50, p / (1 - p));
+    var r = rm + (rm - r1) * m;
+    var g = gm + (gm - g1) * m;
+    var b = bm + (bm - b1) * m;
+    return Math.max(0, -r, -g, -b, r - 255, g - 255, b - 255);
+}
+exports.canblend = canblend;
+/**
+ * decomposes a color in 2 given component colors and returns the amount of each color present
+ * also return a third (noise) component which is the the amount leftover orthagonal from the 2 given colors
+ */
+function decompose2col(rp, gp, bp, r1, g1, b1, r2, g2, b2) {
+    //get the normal of the error (cross-product of both colors)
+    var r3 = g1 * b2 - g2 * b1;
+    var g3 = b1 * r2 - b2 * r1;
+    var b3 = r1 * g2 - r2 * g1;
+    //normalize to length 255
+    var norm = 255 / Math.sqrt(r3 * r3 + g3 * g3 + b3 * b3);
+    r3 *= norm;
+    g3 *= norm;
+    b3 *= norm;
+    return decompose3col(rp, gp, bp, r1, g1, b1, r2, g2, b2, r3, g3, b3);
+}
+exports.decompose2col = decompose2col;
+/**
+ * decomposes a pixel in a given color component and black and returns what proportion of the second color it contains
+ * this is not as formal as decompose 2/3 and only give a "good enough" number
+ */
+function decomposeblack(rp, gp, bp, r1, g1, b1) {
+    var dr = Math.abs(rp - r1);
+    var dg = Math.abs(gp - g1);
+    var db = Math.abs(bp - b1);
+    var maxdif = Math.max(dr, dg, db);
+    return [1 - maxdif / 255];
+}
+exports.decomposeblack = decomposeblack;
+/**
+ * decomposes a color in 3 given component colors and returns the amount of each color present
+ */
+function decompose3col(rp, gp, bp, r1, g1, b1, r2, g2, b2, r3, g3, b3) {
+    //P=x*C1+y*C2+z*C3
+    //assemble as matrix 
+    //M*w=p
+    //get inverse of M
+    //dirty written out version of cramer's rule
+    var A = g2 * b3 - b2 * g3;
+    var B = g3 * b1 - b3 * g1;
+    var C = g1 * b2 - b1 * g2;
+    var D = b2 * r3 - r2 * b3;
+    var E = b3 * r1 - r3 * b1;
+    var F = b1 * r2 - r1 * b2;
+    var G = r2 * g3 - g2 * r3;
+    var H = r3 * g1 - g3 * r1;
+    var I = r1 * g2 - g1 * r2;
+    var det = r1 * A + g1 * D + b1 * G;
+    //M^-1*p=w
+    var x = (A * rp + D * gp + G * bp) / det;
+    var y = (B * rp + E * gp + H * bp) / det;
+    var z = (C * rp + F * gp + I * bp) / det;
+    return [x, y, z];
+}
+exports.decompose3col = decompose3col;
+/**
+ * brute force to the exact position of the text
+ */
+function findChar(buffer, font, col, x, y, w, h) {
+    if (x < 0) {
+        return null;
+    }
+    if (y - font.basey < 0) {
+        return null;
+    }
+    if (x + w + font.width > buffer.width) {
+        return null;
+    }
+    if (y + h - font.basey + font.height > buffer.height) {
+        return null;
+    }
+    var best = 1000; //TODO finetune score constants
+    var bestchar = null;
+    for (var cx = x; cx < x + w; cx++) {
+        for (var cy = y; cy < y + h; cy++) {
+            var chr = readChar(buffer, font, col, cx, cy, false, false);
+            if (chr != null && chr.sizescore < best) {
+                best = chr.sizescore;
+                bestchar = chr;
+            }
+        }
+    }
+    return bestchar;
+}
+exports.findChar = findChar;
+/**
+ * reads text with unknown exact coord or color. The given coord should be inside the text
+ * color selection not implemented yet
+ */
+function findReadLine(buffer, font, cols, x, y, w = -1, h = -1) {
+    if (w == -1) {
+        w = font.width + font.spacewidth;
+        x -= Math.ceil(w / 2);
+    }
+    if (h == -1) {
+        h = 7;
+        y -= 1;
+    }
+    var chr = null;
+    if (cols.length > 1) {
+        //TODO use getChatColor() instead for non-mono?
+        var sorted = GetChatColorMono(buffer, new base_1.Rect(x, y - font.basey, w, h), cols);
+        //loop until we have a match (max 2 cols)
+        for (var a = 0; a < 2 && a < sorted.length && chr == null; a++) {
+            chr = findChar(buffer, font, sorted[a].col, x, y, w, h);
+        }
+    }
+    else {
+        chr = findChar(buffer, font, cols[0], x, y, w, h);
+    }
+    if (chr == null) {
+        return { debugArea: { x, y, w, h }, text: "", fragments: [] };
+    }
+    return readLine(buffer, font, cols, chr.x, chr.y, true, true);
+}
+exports.findReadLine = findReadLine;
+function GetChatColorMono(buf, rect, colors) {
+    var colormap = colors.map(c => ({ col: c, score: 0 }));
+    if (rect.x < 0 || rect.y < 0 || rect.x + rect.width > buf.width || rect.y + rect.height > buf.height) {
+        return colormap;
+    }
+    var data = buf.data;
+    var maxd = 50;
+    for (var colobj of colormap) {
+        var score = 0;
+        var col = colobj.col;
+        for (var y = rect.y; y < rect.y + rect.height; y++) {
+            for (var x = rect.x; x < rect.x + rect.width; x++) {
+                var i = x * 4 + y * 4 * buf.width;
+                var d = Math.abs(data[i] - col[0]) + Math.abs(data[i + 1] - col[1]) + Math.abs(data[i + 2] - col[2]);
+                if (d < maxd) {
+                    score += maxd - d;
+                }
+            }
+        }
+        colobj.score = score;
+    }
+    return colormap.sort((a, b) => b.score - a.score);
+}
+exports.GetChatColorMono = GetChatColorMono;
+function unblend(r, g, b, R, G, B) {
+    var m = Math.sqrt(r * r + g * g + b * b);
+    var n = Math.sqrt(R * R + G * G + B * B);
+    var x = (r * R + g * G + b * B) / n;
+    var y = Math.sqrt(Math.max(0, m * m - x * x));
+    var r1 = Math.max(0, (63.75 - y) * 4);
+    var r2 = x / n * 255;
+    if (r2 > 255) //brighter than refcol
+     {
+        r1 = Math.max(0, r1 - r2 + 255);
+        r2 = 255;
+    }
+    return [r1, r2];
+}
+function getChatColor(buf, rect, colors) {
+    var bestscore = -1.0;
+    var best = null;
+    var b2 = 0.0;
+    var data = buf.data;
+    for (let col of colors) {
+        var score = 0.0;
+        for (var y = rect.y; y < rect.y + rect.height; y++) {
+            for (var x = rect.x; x < rect.x + rect.width; x++) {
+                if (x < 0 || x + 1 >= buf.width) {
+                    continue;
+                }
+                if (y < 0 || y + 1 >= buf.width) {
+                    continue;
+                }
+                let i1 = buf.pixelOffset(x, y);
+                let i2 = buf.pixelOffset(x + 1, y + 1);
+                var pixel1 = unblend(data[i1 + 0], data[i1 + 1], data[i1 + 2], col[0], col[1], col[2]);
+                var pixel2 = unblend(data[i2 + 0], data[i2 + 1], data[i2 + 2], col[0], col[1], col[2]);
+                //TODO this is from c# can simplify a bit
+                var s = (pixel1[0] / 255 * pixel1[1] / 255) * (pixel2[0] / 255 * (255.0 - pixel2[1]) / 255);
+                score += s;
+            }
+        }
+        if (score > bestscore) {
+            b2 = bestscore;
+            bestscore = score;
+            best = col;
+        }
+        else if (score > b2) {
+            b2 = score;
+        }
+    }
+    //Console.WriteLine("color: " + bestcol + " - " + (bestscore - b2));
+    //bestscore /= rect.width * rect.height;
+    return best;
+}
+exports.getChatColor = getChatColor;
+/**
+ * reads a line of text with exactly known position and color. y should be the y coord of the text base line, x should be the first pixel of a new character
+ */
+function readLine(buffer, font, colors, x, y, forward, backward = false) {
+    if (typeof colors[0] != "number" && colors.length == 1) {
+        colors = colors[0];
+    }
+    var multicol = typeof colors[0] != "number";
+    var allcolors = multicol ? colors : [colors];
+    var detectcolor = function (sx, sy, backward) {
+        var w = Math.floor(font.width * 1.5);
+        if (backward) {
+            sx -= w;
+        }
+        sy -= font.basey;
+        return getChatColor(buffer, { x: sx, y: sy, width: w, height: font.height }, allcolors);
+    };
+    var fragments = [];
+    var x1 = x;
+    var x2 = x;
+    var maxspaces = (typeof font.maxspaces == "number" ? font.maxspaces : 1);
+    let fragtext = "";
+    let fraghadprimary = false;
+    var lastcol = null;
+    let addfrag = (forward) => {
+        if (!fragtext) {
+            return;
+        }
+        let frag = {
+            text: fragtext,
+            color: lastcol,
+            index: 0,
+            xstart: x + (forward ? fragstartdx : fragenddx),
+            xend: x + (forward ? fragenddx : fragstartdx)
+        };
+        if (forward) {
+            fragments.push(frag);
+        }
+        else {
+            fragments.unshift(frag);
+        }
+        fragtext = "";
+        fragstartdx = dx;
+        fraghadprimary = false;
+    };
+    for (var dirforward of [true, false]) {
+        //init vars
+        if (dirforward && !forward) {
+            continue;
+        }
+        if (!dirforward && !backward) {
+            continue;
+        }
+        var dx = 0;
+        var fragstartdx = dx;
+        var fragenddx = dx;
+        var triedspaces = 0;
+        var triedrecol = false;
+        var col = multicol ? null : colors;
+        while (true) {
+            col = col || detectcolor(x + dx, y, !dirforward);
+            var chr = (col ? readChar(buffer, font, col, x + dx, y, !dirforward, true) : null);
+            if (col == null || chr == null) {
+                if (triedspaces < maxspaces) {
+                    dx += (dirforward ? 1 : -1) * font.spacewidth;
+                    triedspaces++;
+                    continue;
+                }
+                if (multicol && !triedrecol && fraghadprimary) {
+                    dx -= (dirforward ? 1 : -1) * triedspaces * font.spacewidth;
+                    triedspaces = 0;
+                    col = null;
+                    triedrecol = true;
+                    continue;
+                }
+                if (dirforward) {
+                    x2 = x + dx - font.spacewidth;
+                }
+                else {
+                    x1 = x + dx + font.spacewidth;
+                }
+                break;
+            }
+            else {
+                if (lastcol && (col[0] != lastcol[0] || col[1] != lastcol[1] || col[2] != lastcol[2])) {
+                    addfrag(dirforward);
+                }
+                var spaces = "";
+                for (var a = 0; a < triedspaces; a++) {
+                    spaces += " ";
+                }
+                if (dirforward) {
+                    fragtext += spaces + chr.chr;
+                }
+                else {
+                    fragtext = chr.chr + spaces + fragtext;
+                }
+                if (!chr.basechar.secondary) {
+                    fraghadprimary = true;
+                }
+                triedspaces = 0;
+                triedrecol = false;
+                dx += (dirforward ? 1 : -1) * chr.basechar.width;
+                fragenddx = dx;
+                lastcol = col;
+            }
+        }
+        if (lastcol && fraghadprimary) {
+            addfrag(dirforward);
+        }
+    }
+    fragments.forEach((f, i) => f.index = i);
+    return {
+        debugArea: { x: x1, y: y - 9, w: x2 - x1, h: 10 },
+        text: fragments.map(f => f.text).join(""),
+        fragments
+    };
+}
+exports.readLine = readLine;
+/**
+ * Reads a line of text that uses a smallcaps font, these fonts can have duplicate chars that only have a different amount of
+ * empty space after the char before the next char starts.
+ * The coordinates should be near the end of the string, or a rectangle with high 1 containing all points where the string can end.
+ */
+function readSmallCapsBackwards(buffer, font, cols, x, y, w = -1, h = -1) {
+    if (w == -1) {
+        w = font.width + font.spacewidth;
+        x -= Math.ceil(w / 2);
+    }
+    if (h == -1) {
+        h = 7;
+        y -= 1;
+    }
+    var matchedchar = null;
+    var sorted = (cols.length == 1 ? [{ col: cols[0], score: 1 }] : GetChatColorMono(buffer, new base_1.Rect(x, y - font.basey, w, h), cols));
+    //loop until we have a match (max 2 cols)
+    for (var a = 0; a < 2 && a < sorted.length && matchedchar == null; a++) {
+        for (var cx = x + w - 1; cx >= x; cx--) {
+            var best = 1000; //TODO finetune score constants
+            var bestchar = null;
+            for (var cy = y; cy < y + h; cy++) {
+                var chr = readChar(buffer, font, sorted[a].col, cx, cy, true, false);
+                if (chr != null && chr.sizescore < best) {
+                    best = chr.sizescore;
+                    bestchar = chr;
+                }
+            }
+            if (bestchar) {
+                matchedchar = bestchar;
+                break;
+            }
+        }
+    }
+    if (matchedchar == null) {
+        return { text: "", debugArea: { x, y, w, h } };
+    }
+    return readLine(buffer, font, cols, matchedchar.x, matchedchar.y, false, true);
+}
+exports.readSmallCapsBackwards = readSmallCapsBackwards;
+/**
+ * Reads a single character at the exact given location
+ * @param x exact x location of the start of the character domain (includes part of the spacing between characters)
+ * @param y exact y location of the baseline pixel of the character
+ * @param backwards read in backwards direction, the x location should be the first pixel after the character domain in that case
+ */
+function readChar(buffer, font, col, x, y, backwards, allowSecondary) {
+    y -= font.basey;
+    var shiftx = 0;
+    var shifty = font.basey;
+    var shadow = font.shadow;
+    var debugobj = null;
+    var debugimg = null;
+    if (exports.debug.trackread) {
+        var name = x + ";" + y + " " + JSON.stringify(col);
+        if (!exports.debugout[name]) {
+            exports.debugout[name] = [];
+        }
+        debugobj = exports.debugout[name];
+    }
+    //===== make sure the full domain is inside the bitmap/buffer ======
+    if (y < 0 || y + font.height >= buffer.height) {
+        return null;
+    }
+    if (!backwards) {
+        if (x < 0 || x + font.width > buffer.width) {
+            return null;
+        }
+    }
+    else {
+        if (x - font.width < 0 || x > buffer.width) {
+            return null;
+        }
+    }
+    //====== start reading the char ======
+    var scores = [];
+    for (var chr = 0; chr < font.chars.length; chr++) {
+        var chrobj = font.chars[chr];
+        if (chrobj.secondary && !allowSecondary) {
+            continue;
+        }
+        scores[chr] = { score: 0, sizescore: 0, chr: chrobj };
+        var chrx = (backwards ? x - chrobj.width : x);
+        if (exports.debug.trackread) {
+            debugimg = new base_1.ImageData(font.width, font.height);
+        }
+        for (var a = 0; a < chrobj.pixels.length;) {
+            var i = (chrx + chrobj.pixels[a]) * 4 + (y + chrobj.pixels[a + 1]) * buffer.width * 4;
+            var penalty = 0;
+            if (!shadow) {
+                penalty = canblend(buffer.data[i], buffer.data[i + 1], buffer.data[i + 2], col[0], col[1], col[2], chrobj.pixels[a + 2] / 255);
+                a += 3;
+            }
+            else {
+                var lum = chrobj.pixels[a + 3] / 255;
+                penalty = canblend(buffer.data[i], buffer.data[i + 1], buffer.data[i + 2], col[0] * lum, col[1] * lum, col[2] * lum, chrobj.pixels[a + 2] / 255);
+                a += 4;
+            }
+            scores[chr].score += Math.max(0, penalty);
+            //TODO add compiler flag to this to remove it for performance
+            if (debugimg) {
+                debugimg.setPixel(chrobj.pixels[a], chrobj.pixels[a + 1], [penalty, penalty, penalty, 255]);
+            }
+        }
+        scores[chr].sizescore = scores[chr].score - chrobj.bonus;
+        if (debugobj) {
+            debugobj.push({ chr: chrobj.chr, score: scores[chr].sizescore, rawscore: scores[chr].score, img: debugimg });
+        }
+    }
+    scores.sort((a, b) => a.sizescore - b.sizescore);
+    if (exports.debug.printcharscores) {
+        scores.slice(0, 5).forEach(q => console.log(q.chr.chr, q.score.toFixed(3), q.sizescore.toFixed(3)));
+    }
+    var winchr = scores[0];
+    if (!winchr || winchr.score > 400) {
+        return null;
+    }
+    return { chr: winchr.chr.chr, basechar: winchr.chr, x: x + shiftx, y: y + shifty, score: winchr.score, sizescore: winchr.sizescore };
+}
+exports.readChar = readChar;
+/**
+ * Generates a font json description to use in reader functions
+ * @param unblended A source image with all characters lined up. The image should be unblended into components using the unblend functions
+ * The lowest pixel line of this image is used to mark the location and size of the charecters if the red component is 255 it means there is a character on that pixel column
+ * @param chars A string containing all the characters of the image in the same order
+ * @param seconds A string with characters that are considered unlikely and should only be detected if no other character is possible.
+ * For example the period (.) character matches positive inside many other characters and should be marked as secondary
+ * @param bonusses An object that contains bonus scores for certain difficult characters to make the more likely to be red.
+ * @param basey The y position of the baseline pixel of the font
+ * @param spacewidth the number of pixels a space takes
+ * @param treshold minimal color match proportion (0-1) before a pixel is used for the font
+ * @param shadow whether this font also uses the black shadow some fonts have. The "unblended" image should be unblended correspondingly
+ * @returns a javascript object describing the font which is used as input for the different read functions
+ */
+function generatefont(unblended, chars, seconds, bonusses, basey, spacewidth, treshold, shadow) {
+    //settings vars
+    treshold *= 255;
+    //initial vars
+    var miny = unblended.height - 1;
+    var maxy = 0;
+    var font = { chars: [], width: 0, spacewidth: spacewidth, shadow: shadow, height: 0, basey: 0 };
+    var ds = false;
+    var chardata = [];
+    //index all chars
+    for (var dx = 0; dx < unblended.width; dx++) {
+        var i = 4 * dx + 4 * unblended.width * (unblended.height - 1);
+        if (unblended.data[i] == 255 && unblended.data[i + 3] == 255) {
+            if (ds === false) {
+                ds = dx;
+            }
+        }
+        else {
+            if (ds !== false) {
+                //char found, start detection
+                var de = dx;
+                var char = chars[chardata.length];
+                var chr = {
+                    ds: ds,
+                    de: de,
+                    width: de - ds,
+                    chr: char,
+                    bonus: (bonusses && bonusses[char]) || 0,
+                    secondary: seconds.indexOf(chars[chardata.length]) != -1,
+                    pixels: []
+                };
+                chardata.push(chr);
+                font.width = Math.max(font.width, chr.width);
+                for (x = 0; x < de - ds; x++) {
+                    for (y = 0; y < unblended.height - 1; y++) {
+                        var i = (x + ds) * 4 + y * unblended.width * 4;
+                        if (unblended.data[i] >= treshold) {
+                            miny = Math.min(miny, y);
+                            maxy = Math.max(maxy, y);
+                        }
+                    }
+                }
+                ds = false;
+            }
+        }
+    }
+    font.height = maxy + 1 - miny;
+    font.basey = basey - miny;
+    //detect all pixels
+    for (var a in chardata) {
+        var chr = chardata[a];
+        for (var x = 0; x < chr.width; x++) {
+            for (var y = 0; y < maxy + 1 - miny; y++) {
+                var i = (x + chr.ds) * 4 + (y + miny) * unblended.width * 4;
+                if (unblended.data[i] >= treshold) {
+                    chr.pixels.push(x, y);
+                    chr.pixels.push(unblended.data[i]);
+                    if (shadow) {
+                        chr.pixels.push(unblended.data[i + 1]);
+                    }
+                    chr.bonus += 5;
+                }
+            }
+        }
+        //prevent js from doing the thing with unnecessary output precision
+        chr.bonus = +chr.bonus.toFixed(3);
+        font.chars.push({ width: chr.width, bonus: chr.bonus, chr: chr.chr, pixels: chr.pixels, secondary: chr.secondary });
+    }
+    return font;
+}
+exports.generatefont = generatefont;
+
+
+/***/ }),
+
+/***/ "alt1/base":
+/*!**************************************************************************************************!*\
+  !*** external {"root":"A1lib","commonjs2":"alt1/base","commonjs":"alt1/base","amd":"alt1/base"} ***!
+  \**************************************************************************************************/
+/***/ ((module) => {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_alt1_base__;
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __nested_webpack_require_26177__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_26177__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       
+/******/       // startup
+/******/       // Load entry module and return exports
+/******/       // This entry module is referenced by other modules so it can't be inlined
+/******/       var __nested_webpack_exports__ = __nested_webpack_require_26177__("./src/ocr/index.ts");
+/******/       
+/******/       return __nested_webpack_exports__;
+/******/ })()
+;
+});
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __webpack_require__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       /* webpack/runtime/compat get default export */
+/******/       (() => {
+/******/               // getDefaultExport function for compatibility with non-harmony modules
+/******/               __webpack_require__.n = (module) => {
+/******/                       var getter = module && module.__esModule ?
+/******/                               () => (module['default']) :
+/******/                               () => (module);
+/******/                       __webpack_require__.d(getter, { a: getter });
+/******/                       return getter;
+/******/               };
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/define property getters */
+/******/       (() => {
+/******/               // define getter functions for harmony exports
+/******/               __webpack_require__.d = (exports, definition) => {
+/******/                       for(var key in definition) {
+/******/                               if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/                                       Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/                               }
+/******/                       }
+/******/               };
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/global */
+/******/       (() => {
+/******/               __webpack_require__.g = (function() {
+/******/                       if (typeof globalThis === 'object') return globalThis;
+/******/                       try {
+/******/                               return this || new Function('return this')();
+/******/                       } catch (e) {
+/******/                               if (typeof window === 'object') return window;
+/******/                       }
+/******/               })();
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/hasOwnProperty shorthand */
+/******/       (() => {
+/******/               __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/make namespace object */
+/******/       (() => {
+/******/               // define __esModule on exports
+/******/               __webpack_require__.r = (exports) => {
+/******/                       if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/                               Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/                       }
+/******/                       Object.defineProperty(exports, '__esModule', { value: true });
+/******/               };
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/publicPath */
+/******/       (() => {
+/******/               var scriptUrl;
+/******/               if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
+/******/               var document = __webpack_require__.g.document;
+/******/               if (!scriptUrl && document) {
+/******/                       if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')
+/******/                               scriptUrl = document.currentScript.src;
+/******/                       if (!scriptUrl) {
+/******/                               var scripts = document.getElementsByTagName("script");
+/******/                               if(scripts.length) {
+/******/                                       var i = scripts.length - 1;
+/******/                                       while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
+/******/                               }
+/******/                       }
+/******/               }
+/******/               // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
+/******/               // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
+/******/               if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
+/******/               scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
+/******/               __webpack_require__.p = scriptUrl;
+/******/       })();
+/******/       
+/************************************************************************/
+var __webpack_exports__ = {};
+// This entry need to be wrapped in an IIFE because it need to be in strict mode.
+(() => {
+"use strict";
+/*!******************!*\
+  !*** ./index.ts ***!
+  \******************/
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _modules_dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _modules_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/settings */ "./modules/settings.ts");
+/* harmony import */ var _modules_slayer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/slayer */ "./modules/slayer.ts");
+/* harmony import */ var _modules_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/logger */ "./modules/logger.ts");
+/* harmony import */ var _index_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index.html */ "./index.html");
+/* harmony import */ var _appconfig_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./appconfig.json */ "./appconfig.json");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+
+
+/* COPYRIGHT NOTICE - DO NOT REMOVE
+    2021 @ Unlishema Dragonsworn
+    I have programmed this enitre app myself; however, I must give credit where credit is due.
+    
+    The credits have been moved into their own file @ https://slayer.unlishema.org/pages/credits.html
+*/
+/*
+    ~~~ Slayer Assistant App ~~~
+    Features coming in the near future (Also my current TODO List)
+
+    ~ Before Release for Sure ~
+    Update the about page. (Will need updated again on next release)
+    Update the changelog page. (Will need updated again on next release)
+    Update the credits page. (Will need updated again on next release)
+
+    ~ Coming Next Release ~
+    Adjust where the CNAME for the app on github is located for source update (Done)
+    Upload the source of the app to github so we won't lose it again (Ready but source needs Tested First)
+    Adjust the DNS Record for https://slayer.unlishema.org to point at https://unlishema.github.io/slayerassistant/dist instead for new update because the source is the main dir
+    Add ability to load the database through a php file instead of the json (Done, except for reapers.json)
+    - We will still use a json database in the app but the php file will build the json via MySQL (Done)
+    - The php file will be creatures.json via the .htaccess file (Done)
+    - http://slayer.unlishema.org/data/creatures.json will load http://slayer.unlishema.org/data/creatures.php?q=all (Done)
+    - Add other features to the database query php even if the app don't use them yet (Coming in the future)
+    -- Example: http://slayer.unlishema.org/data/creatures.php?q=Dragon&l=10
+    -- l=100 could limit results, d could have it give extra details, q could also be setup for seaching, and so on
+    Adjust the caching of the json database files to make sure they get updated timely (use .htaccess and mode_expires.c)
+    - This may not be needed once I change over to the php file instead. (Doesn't seem to be needed anymore, more testing required)
+
+    ~ Coming Very Soon Maybe even next Release ~
+    Add in a status tracking area to keep track of xp/hr, kills/hr, and more (Needs finished)
+    Add settings into the app finally (Needs rest added)
+    Adjust histories to use sessionStorage
+    Make it show if it detects your using alt1toolkit or not and warn a users of the features they are missing without using alt1toolkit.
+    - Also add into settings ability to hide this warning. Also add setting to turn off injection of the alt1 app.
+
+    ~ Near future Release ~
+    Add support for Ushubti
+
+    ~ Settings for the app ~
+    Settings:
+    - Ability to toggle on and off Debug and Verbose mode
+    - Ability to toggle auto find task via dialog (Done)
+    - Ability to toggle auto find current task via Slayer Count RS3UI (Done)
+    - Ability to toggle extra info to make box smaller without scrollbar (Done)
+    - Ability to toggle all hidden creatures
+    -- Ability to toggle sub-classes of hidden creatures like (elite), (dragonkin lab) and such
+    - Ability to select default loading
+    -- Default Task(s) on open and adjust doc based on it (Done, Partially)
+    -- Load previous task(s) and adjust doc based on it
+    - Ability to select defaults for everything (Later On)
+    -- Select default creature per task
+    -- Select default variant per creature
+    - Ability to customize the Look N Feel of the Slayer Assistant UI (Way Later On)
+    - Ability to select how long to save search history (Way Later On)
+    - Ability to select the type of search algo for the app (Maybe Later On)
+    - Ability to toggle warnings (eg. Missing Features due to not on Alt1Toolkit, Missing Data, and so on...)
+    - Ability to turn off app injection (This will fix issues where a user can't inject into the client)
+
+*/
+if (window.alt1)
+    alt1.identifyAppUrl("./appconfig.json");
+// Initialize the JavaScript for the app
+document.addEventListener("DOMContentLoaded", function () { return __awaiter(void 0, void 0, void 0, function () {
+    var error_1;
+    return __generator(this, function (_a) {
+        switch (_a.label) {
+            case 0:
+                _a.trys.push([0, 3, , 4]);
+                // Setup the main document and load assignment index
+                return [4 /*yield*/, _modules_dochandler__WEBPACK_IMPORTED_MODULE_0__.main.setup.documentMain()];
+            case 1:
+                // Setup the main document and load assignment index
+                _a.sent();
+                // Run the Config Setup Process
+                return [4 /*yield*/, _modules_settings__WEBPACK_IMPORTED_MODULE_1__.controller.load()];
+            case 2:
+                // Run the Config Setup Process
+                _a.sent();
+                // Start the capture loop at the configured interval
+                setInterval(function () {
+                    _modules_slayer__WEBPACK_IMPORTED_MODULE_2__.findTask();
+                }, _modules_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.autoCapture.loopTimer);
+                return [3 /*break*/, 4];
+            case 3:
+                error_1 = _a.sent();
+                console.error("Initialization error:", error_1);
+                return [3 /*break*/, 4];
+            case 4: return [2 /*return*/];
+        }
+    });
+}); });
+// Save settings before closing the app
+document.addEventListener("beforeunload", function () { return __awaiter(void 0, void 0, void 0, function () {
+    var error_2;
+    return __generator(this, function (_a) {
+        switch (_a.label) {
+            case 0:
+                _a.trys.push([0, 2, , 3]);
+                return [4 /*yield*/, _modules_settings__WEBPACK_IMPORTED_MODULE_1__.controller.save()];
+            case 1:
+                _a.sent();
+                return [3 /*break*/, 3];
+            case 2:
+                error_2 = _a.sent();
+                _modules_logger__WEBPACK_IMPORTED_MODULE_3__.error("Error saving settings:", error_2);
+                return [3 /*break*/, 3];
+            case 3: return [2 /*return*/];
+        }
+    });
+}); });
+
+})();
+
+/******/       return __webpack_exports__;
+/******/ })()
+;
+});
+//# sourceMappingURL=main.js.map
\ No newline at end of file
diff --git a/dist/main.js.map b/dist/main.js.map
new file mode 100644 (file)
index 0000000..adb8612
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"main.js","mappings":"AAAA;AACA;AACA,2EAA2E,MAAM,2BAA2B,aAAa,qDAAqD,MAAM,4BAA4B,aAAa,qDAAqD,MAAM,qCAAqC,aAAa;AAC1U;AACA;AACA;AACA,uFAAuF,MAAM,2BAA2B,aAAa,qDAAqD,MAAM,4BAA4B,aAAa,qDAAqD,MAAM,qCAAqC,aAAa;AACtV;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;ACA/C,eAAe,6FAAgC;;;;;;;;;;;;;;;;ACA/C,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACqB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,uBAAuB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,2BAA2B;AAC7F;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,0DAA0D,gBAAgB;AAC1E;AACA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,yBAAyB;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,4BAA4B;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC0B;;;;;;;;;;;;;;;;;;;;ACjL3B,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AAC8B;AACS;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,6BAA6B,mDAAuB;AACpD;AACA;AACA,4CAA4C,oDAAY;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qGAAqG;AACrG;AACA;AACA;AACA;AACA,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AAC6B;;;;;;;;;;;;;;;;;;;;;;AC/G9B,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AAC8B;AACE;AACO;AACvC,WAAW,+CAAmB;AAC9B,yBAAyB,mBAAO,CAAC,+FAA6C;AAC9E,yBAAyB,mBAAO,CAAC,+FAA6C;AAC9E,yBAAyB,mBAAO,CAAC,+FAA6C;AAC9E,yBAAyB,mBAAO,CAAC,+FAA6C;AAC9E,0BAA0B,mBAAO,CAAC,iGAA8C;AAChF,0BAA0B,mBAAO,CAAC,iGAA8C;AAChF,0BAA0B,mBAAO,CAAC,iGAA8C;AAChF,0BAA0B,mBAAO,CAAC,iGAA8C;AAChF,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mDAAuB;AAC5D;AACA;AACA,mDAAmD,mBAAO,CAAC,+EAAqC,uBAAuB,kBAAkB;AACzI;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,mBAAO,CAAC,6EAAoC,uBAAuB,kBAAkB;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,0CAA0C;AAC1H,+EAA+E,2CAA2C;AAC1H,gFAAgF,2CAA2C;AAC3H,+EAA+E,4CAA4C;AAC3H,gFAAgF,yCAAyC;AACzH,+EAA+E,0CAA0C;AACzH,gFAAgF,0CAA0C;AAC1H,+EAA+E,2CAA2C;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA,yEAAyE,iDAAmB;AAC5F,iDAAiD,0CAAc;AAC/D;AACA;AACA,wCAAwC,kDAAgB;AACxD;AACA;AACA,iDAAiD,kDAAgB;AACjE;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,CAAC;AAC0B;;;;;;;;;;;;;;;;;AC9H3B,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;ACpGA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AAC2C;AAC3C;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA,4BAA4B,uDAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;ACnEA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AAC2C;AAC3C;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA,4BAA4B,uDAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;ACnEA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;AC9FA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AAC2C;AAC3C;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA,4BAA4B,uDAAU;AACtC,6DAA6D,gBAAgB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxEA;AAC0C;AAC1C;AACgD;AACF;AACJ;AACE;AACF;AACA;AACA;AAC1C;AACO;AACP,eAAe,iDAAQ;AACvB,eAAe,iDAAQ;AACvB;AACA,eAAe,iDAAQ;AACvB;AACA;AACA;;;;;;;;;;;;;;;;;;AClBA;AAC4C;AAC5C;AACO;AACP,qBAAqB,iDAAmB;AACxC;AACA;AACA;AACA;AACA;AACO;AACP,qBAAqB,iDAAmB;AACxC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACwC;AACI;AACA;AACD;AACA;AACS;AACL;AACF;AACT;AACpC;AACO;AACP;AACA;AACA,mCAAmC;AACnC,kCAAkC;AAClC;AACA;AACA;AACA;AACA,oBAAoB,wDAA0B;AAC9C,2BAA2B,gDAAkB;AAC7C;AACA,yBAAyB,iDAAmB,oBAAoB,2DAA6B;AAC7F,wBAAwB,4DAA8B;AACtD;AACA;AACA;AACA;AACA,mCAAmC,iDAAmB;AACtD;AACA;AACA,kCAAkC,iDAAmB;AACrD;AACA,oBAAoB,wCAAU;AAC9B,yCAAyC,+CAAY;AACrD;AACA;AACA;AACA;AACA,6BAA6B,iDAAmB,qBAAqB,2DAA6B;AAClG,6CAA6C,iDAAmB;AAChE;AACA;AACA,sCAAsC,gEAAkC;AACxE;AACA;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB;AAC5D,wBAAwB,iDAAmB,2CAA2C,yDAA2B;AACjH;AACA;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB,IAAI,iDAAmB;AACvB;AACA,uBAAuB,iDAAmB;AAC1C;AACA,0BAA0B,iDAAmB;AAC7C;AACA;AACA,IAAI,iDAAmB,qCAAqC,yDAA2B;AACvF,IAAI,iDAAmB,yCAAyC,yDAA2B;AAC3F,IAAI,iDAAmB,qCAAqC,yDAA2B;AACvF;AACA;AACO;AACP;AACA;AACA,mCAAmC;AACnC,kCAAkC;AAClC;AACA;AACA;AACA;AACA,oBAAoB,wDAA0B;AAC9C,2BAA2B,gDAAkB;AAC7C;AACA,yBAAyB,iDAAmB,oBAAoB,2DAA6B;AAC7F,wBAAwB,4DAA8B;AACtD;AACA;AACA;AACA;AACA,mCAAmC,iDAAmB;AACtD;AACA,oBAAoB,wCAAU;AAC9B,yCAAyC,gDAAa;AACtD;AACA;AACA;AACA;AACA,iDAAiD,iDAAmB,qBAAqB,2DAA6B;AACtH,6CAA6C,iDAAmB;AAChE;AACA;AACA,yHAAyH,mDAAqB,gBAAgB,mDAAqB;AACnL,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,wBAAwB,uDAAyB;AACjD;AACA;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,0DAA4B;AAChE;AACA;AACA;AACA,oCAAoC,0DAA4B;AAChE;AACA;AACA;AACA;AACA,oBAAoB,wDAA0B;AAC9C,2BAA2B,gDAAkB;AAC7C,kCAAkC,iDAAmB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC,wBAAwB,iDAAmB,gCAAgC,yDAA2B;AACtG,qCAAqC,iDAAmB;AACxD;AACA;AACA,4BAA4B,iDAAmB,2CAA2C,yDAA2B;AACrH;AACA,wBAAwB,4DAA8B;AACtD;AACA;AACA;AACA,oBAAoB,wCAAU;AAC9B,oBAAoB,iDAAmB;AACvC;AACA,wBAAwB,iDAAmB;AAC3C,oDAAoD,8CAAW,SAAS,mDAAe;AACvF;AACA;AACA;AACA,wBAAwB,4DAA8B;AACtD;AACA;AACA;AACA,oBAAoB,iDAAmB;AACvC,oBAAoB,iDAAmB;AACvC,oBAAoB,iDAAmB,gCAAgC,yDAA2B;AAClG,wBAAwB,2DAA6B;AACrD;AACA,wBAAwB,iDAAmB,2CAA2C,yDAA2B;AACjH;AACA,2BAA2B,iDAAmB,qBAAqB,2DAA6B;AAChG,oBAAoB,iDAAmB;AACvC;AACA;AACA;AACA;AACA;AACA,yCAAyC,8CAAW;AACpD;AACA;AACA;AACA,oBAAoB,iDAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iDAAmB,2EAA2E,OAAO,kDAAoB,gBAAgB;AACjK;AACA,gCAAgC,4BAA4B;AAC5D;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C,4BAA4B,iDAAmB;AAC/C;AACA,oCAAoC,8BAA8B;AAClE,4BAA4B,iDAAmB,oGAAoG;AACnJ;AACA,wBAAwB,iDAAmB;AAC3C;AACA;AACA,wBAAwB,iDAAmB;AAC3C,wBAAwB,iDAAmB,+DAA+D;AAC1G;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C,4BAA4B,iDAAmB;AAC/C;AACA,oCAAoC,8BAA8B;AAClE,4BAA4B,iDAAmB,uGAAuG;AACtJ;AACA,wBAAwB,iDAAmB;AAC3C;AACA;AACA,wBAAwB,iDAAmB;AAC3C,wBAAwB,iDAAmB,kEAAkE;AAC7G;AACA;AACA;AACA,wBAAwB,iDAAmB;AAC3C,6DAA6D,gBAAgB;AAC7E;AACA,iCAAiC,qDAAuB;AACxD;AACA,gCAAgC,iDAAmB,gFAAgF,mDAAqB,QAAQ,mDAAqB;AACrL;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wDAA0B;AAClD;AACA;AACA,wBAAwB,wDAA0B;AAClD;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;ACpT4C;AACJ;AACjC;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,IAAI,iDAAmB;AACvB;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,IAAI,iDAAmB;AACvB;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,IAAI,iDAAmB;AACvB;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,IAAI,iDAAmB;AACvB;;;;;;;;;;;;;;;;;;;;;ACzB4C;AACJ;AACjC;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC;AACA;AACA,yCAAyC,OAAO,mEAAqC,MAAM;AAC3F,IAAI,iDAAmB;AACvB,6CAA6C,OAAO,mEAAqC,MAAM;AAC/F;AACA;AACA,IAAI,iDAAmB;AACvB;AACA;AACA;AACA;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC;AACA;AACA,yCAAyC,OAAO,iEAAmC,MAAM;AACzF,IAAI,iDAAmB;AACvB,6CAA6C,OAAO,iEAAmC,MAAM;AAC7F;AACA;AACA,IAAI,iDAAmB;AACvB;AACA;AACA;AACA;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,6CAA6C,OAAO,uDAAyB,MAAM;AACnF,IAAI,iDAAmB;AACvB;AACA;AACA;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,6CAA6C,OAAO,2DAA6B,MAAM;AACvF,IAAI,iDAAmB;AACvB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AAC4C;AACD;AACS;AACZ;AACJ;AACA;AACpC;AACO;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB;AACZ;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC,sBAAsB;AAChB;AACP;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,0DAA4B;AAC7E;AACA;AACA,6CAA6C,0DAA4B;AACzE;AACA;AACA;AACA;AACA,4BAA4B,6CAAe,cAAc,uCAAuC;AAChG;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,0DAA4B;AAC7E;AACA;AACA;AACA;AACA,4BAA4B,6CAAe,cAAc,+BAA+B;AACxF;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,sDAAwB;AACrE;AACA;AACA;AACA;AACA,4BAA4B,6CAAe,cAAc,+BAA+B;AACxF;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAqB;AAClE;AACA;AACA;AACA;AACA,4BAA4B,6CAAe,cAAc,iCAAiC;AAC1F;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,QAAQ,iDAAmB,kFAAkF;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iDAAmB;AAC3B,QAAQ,oDAAsB;AAC9B;AACA;AACA,CAAC,kBAAkB;AACZ;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iDAAmB;AACxD;AACA,gGAAgG,kBAAkB;AAClH;AACA;AACA;AACA,wBAAwB,iDAAmB,8CAA8C,uDAAyB;AAClH,wBAAwB,iDAAmB,8CAA8C,0DAA4B;AACrH,wBAAwB,iDAAmB,gDAAgD,oDAAsB;AACjH,wBAAwB,iDAAmB,8CAA8C,6CAAe;AACxG,wBAAwB,iDAAmB,iDAAiD,6CAAe;AAC3G,wBAAwB,iDAAmB,+DAA+D,gDAAkB,KAAK;AACjI,wBAAwB,iDAAmB,+CAA+C,oDAAsB;AAChH,wBAAwB,iDAAmB,8DAA8D,gDAAkB,KAAK;AAChI,wBAAwB,iDAAmB;AAC3C;AACA;AACA,oCAAoC,iDAAmB,aAAa,6CAAe;AACnF;AACA;AACA,oCAAoC,iDAAmB,aAAa,6CAAe;AACnF;AACA;AACA,yBAAyB;AACzB,6CAA6C,uDAAoB;AACjE;AACA;AACA,wBAAwB,iDAAmB;AAC3C,6CAA6C,4DAAwB;AACrE;AACA;AACA,wBAAwB,iDAAmB;AAC3C;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iDAAmB;AACzD;AACA,gGAAgG,kBAAkB;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,gDAAkB;AACjE;AACA,mHAAmH,kBAAkB;AACrI;AACA;AACA;AACA,wCAAwC,iDAAmB,gEAAgE,OAAO,kDAAoB,iBAAiB;AACvK,wCAAwC,iDAAmB,oEAAoE,OAAO,6DAA+B,MAAM;AAC3K,8CAA8C,iDAAmB;AACjE,oDAAoD,iDAAmB;AACvE;AACA,yHAAyH,kBAAkB;AAC3I;AACA;AACA;AACA,wCAAwC,iDAAmB,6EAA6E,OAAO,mEAAqC,MAAM;AAC1L,wCAAwC,iDAAmB,iFAAiF,OAAO,iEAAmC,MAAM;AAC5L,wCAAwC,iDAAmB,qEAAqE,OAAO,wDAA0B,MAAM;AACvK,wCAAwC,iDAAmB,uEAAuE,OAAO,uDAAyB,MAAM;AACxK,wCAAwC,iDAAmB,wEAAwE,OAAO,4DAA8B,MAAM;AAC9K,wCAAwC,iDAAmB,0EAA0E,OAAO,2DAA6B,MAAM;AAC/K,wCAAwC,iDAAmB,oEAAoE,OAAO,kDAAoB,eAAe;AACzK,wCAAwC,iDAAmB,wEAAwE,OAAO,2DAA6B,MAAM;AAC7K,wCAAwC,iDAAmB,iEAAiE,OAAO,wDAA0B,MAAM;AACnK,wCAAwC,iDAAmB,gEAAgE,OAAO,uDAAyB,MAAM;AACjK;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iDAAmB;AACzD;AACA,kGAAkG,kBAAkB;AACpH;AACA;AACA,+BAA+B,gDAAkB;AACjD;AACA,mGAAmG,kBAAkB;AACrH;AACA;AACA;AACA,wBAAwB,iDAAmB,gEAAgE,OAAO,kDAAoB,iBAAiB;AACvJ,wBAAwB,iDAAmB,oEAAoE,OAAO,6DAA+B,MAAM;AAC3J,8BAA8B,iDAAmB;AACjD,oCAAoC,iDAAmB;AACvD;AACA,yGAAyG,kBAAkB;AAC3H;AACA;AACA;AACA,wBAAwB,iDAAmB,6EAA6E,OAAO,mEAAqC,MAAM;AAC1K,wBAAwB,iDAAmB,iFAAiF,OAAO,iEAAmC,MAAM;AAC5K,wBAAwB,iDAAmB,qEAAqE,OAAO,wDAA0B,MAAM;AACvJ,wBAAwB,iDAAmB,uEAAuE,OAAO,uDAAyB,MAAM;AACxJ,wBAAwB,iDAAmB,wEAAwE,OAAO,4DAA8B,MAAM;AAC9J,wBAAwB,iDAAmB,0EAA0E,OAAO,2DAA6B,MAAM;AAC/J,wBAAwB,iDAAmB,oEAAoE,OAAO,kDAAoB,eAAe;AACzJ,wBAAwB,iDAAmB,wEAAwE,OAAO,2DAA6B,MAAM;AAC7J,wBAAwB,iDAAmB,iEAAiE,OAAO,wDAA0B,MAAM;AACnJ,wBAAwB,iDAAmB,gEAAgE,OAAO,uDAAyB,MAAM;AACjJ;AACA;AACA,wCAAwC,iDAAmB;AAC3D,4BAA4B,iDAAmB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iDAAmB;AACzD;AACA,qGAAqG,kBAAkB;AACvH;AACA;AACA,sCAAsC,iDAAmB;AACzD;AACA,gFAAgF,+EAA+E;AAC/J;AACA;AACA,0CAA0C,iDAAmB;AAC7D;AACA,gFAAgF,OAAO,gDAAkB,sBAAsB;AAC/H;AACA;AACA,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,0BAA0B,iDAAmB;AAC7C,4BAA4B,iDAAmB;AAC/C,+BAA+B,iDAAmB;AAClD,YAAY,iDAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AAChB;AACP;AACA;AACA;AACA,2BAA2B,iDAAmB;AAC9C,iCAAiC,iDAAmB;AACpD,0BAA0B,iDAAmB;AAC7C;AACA,YAAY,iDAAmB;AAC/B;AACA;AACA,YAAY,iDAAmB;AAC/B;AACA;AACA;AACA,CAAC,wBAAwB;;;;;;;;;;;;;;;;;;;;;AC3jBmB;AACJ;AACxC;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,QAAQ,iDAAmB;AAC3B,QAAQ,oDAAsB;AAC9B;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA,mBAAmB,gDAAkB;AACrC,mBAAmB,iDAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gDAAkB;AACrC,uBAAuB,iDAAmB;AAC1C,sBAAsB,iDAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gDAAkB;AACrC,qBAAqB,iDAAmB;AACxC;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;AC3DuB;AACJ;AACxC;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,IAAI,iDAAmB;AACvB;AACA;AACO;AACP,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,IAAI,iDAAmB;AACvB;AACA;AACO;AACP;AACA,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,6BAA6B,iDAAmB;AAChD;AACA;AACA;AACA;AACA;AACO;AACP;AACA,QAAQ,iDAAmB;AAC3B;AACA,eAAe,gDAAkB;AACjC,gCAAgC,iDAAmB;AACnD;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrCA;AACO;AACP;AACA,yCAAyC;AACzC;AACA,yCAAyC;AACzC,0CAA0C,EAAE;AAC5C;AACA;AACO;AACP,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,wCAAwC;AACxC;AACA;AACO;AACP;AACA;AACA,4CAA4C;AAC5C;AACA;AACO;AACP;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACO;AACP;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACO;AACP;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACO;AACP;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClFA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AAC2C;AACR;AACO;AACP;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC;AAC0B;AAC3B;AACA;AACA;AACA;AACA,CAAC;AACiB;AAClB;AACA;AACA;AACA;AACA,CAAC;AACsB;AACvB;AACA;AACA;AACA;AACA,CAAC;AACqB;AACtB;AACA;AACA;AACA;AACA,CAAC;AACuB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,wCAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F,kBAAkB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAU;AAClC,wBAAwB,mDAAU;AAClC,wBAAwB,mDAAU;AAClC,wBAAwB,mDAAU;AAClC;AACA,6CAA6C,iDAAQ,UAAU,wEAAwE,IAAI,wEAAwE;AACnN;AACA;AACA;AACA;AACA;AACA,6CAA6C,iDAAQ,UAAU,wEAAwE;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACiC;AAC3B;AACP;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAU;AAClB,QAAQ,mDAAU;AAClB,QAAQ,mDAAU;AAClB,QAAQ,mDAAU;AAClB;AACA;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA,YAAY,iDAAQ;AACpB;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AAClB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iDAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AAClB;AACP;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA,oBAAoB,wCAAU;AAC9B;AACA;AACA;AACA;AACA,oBAAoB,wCAAU;AAC9B;AACA;AACA;AACA,oBAAoB,6CAAe;AACnC;AACA;AACA;AACA,oBAAoB,+CAAiB;AACrC;AACA;AACA;AACA,yCAAyC,kDAAoB;AAC7D;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC,wBAAwB,wCAAU;AAClC,wBAAwB,wCAAU;AAClC,wBAAwB,wCAAU;AAClC,wBAAwB,wCAAU;AAClC;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB;AAC5D;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC,wBAAwB,wCAAU;AAClC,wBAAwB,wCAAU;AAClC;AACA,4BAA4B,wCAAU,0BAA0B,eAAe;AAC/E;AACA;AACA,4BAA4B,wCAAU,yBAAyB,eAAe;AAC9E;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC,8BAA8B,iDAAmB;AACjD;AACA,4BAA4B,wCAAU;AACtC;AACA;AACA,8BAA8B,iDAAmB;AACjD;AACA,4BAA4B,wCAAU;AACtC;AACA;AACA;AACA,4BAA4B,wCAAU;AACtC;AACA,4BAA4B,wCAAU;AACtC;AACA,4BAA4B,wCAAU;AACtC,kEAAkE,gBAAgB;AAClF;AACA,gCAAgC,wCAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wCAAU;AAC9B;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7bA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AAC8B;AACsB;AACM;AACN;AACb;AACI;AACR;AACnC;AACO,qBAAqB,6DAAe;AACpC,uBAAuB,mEAAkB;AACzC,wBAAwB,6DAAe;AACvC;AACP;AACA,4BAA4B,oCAAoC,6BAA6B;AAC7F;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA,eAAe,mDAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,yBAAyB,iDAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA;AACA;AACA,oBAAoB,wDAA0B;AAC9C;AACA,oBAAoB,iDAAmB;AACvC,oBAAoB,4DAA8B;AAClD,+CAA+C,iDAAmB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB,UAAU,sDAAsD;AAC5H;AACA;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB,UAAU,sDAAsD,IAAI,sDAAsD;AACtL;AACA;AACA;AACA,6CAA6C,iDAAmB,UAAU,sDAAsD;AAChI;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD,+CAA+C,iDAAmB;AAClE;AACA;AACA;AACA;AACA;AACA,yBAAyB,iDAAmB;AAC5C;AACA;AACA;AACA;AACA,oBAAoB,wDAA0B;AAC9C,iDAAiD,0DAA4B;AAC7E,yCAAyC,iDAAmB,UAAU,kDAAkD;AACxH;AACA;AACA;AACA;AACA,kDAAkD,0DAA4B;AAC9E,yCAAyC,iDAAmB,UAAU,kDAAkD;AACxH;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD,+CAA+C,iDAAmB;AAClE;AACA;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB;AAC5D;AACA;AACA;AACA;AACA,oBAAoB,mDAAqB;AACzC,oBAAoB,6CAAe;AACnC,iEAAiE,iDAAmB;AACpF;AACA,oBAAoB,oDAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sDAAwB;AAChD;AACA;AACA;AACA,wBAAwB,iDAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA,oBAAoB,oDAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAU;AAClC,qCAAqC,sCAAsC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB,UAAU,+BAA+B,IAAI,+BAA+B;AACxI;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iDAAmB,UAAU,+BAA+B;AACrG;AACA;AACA;AACA,8CAA8C,iDAAmB,UAAU,+BAA+B;AAC1G;AACA;AACA;AACA;AACA,oBAAoB,4DAA8B;AAClD,0BAA0B,iDAAmB;AAC7C,+CAA+C,iDAAmB;AAClE;AACA;AACA;AACA,oBAAoB,oDAAsB;AAC1C;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpPA,gEAAgE,kDAAkD,6BAA6B;;AAE/I;;;;;;;;;;;ACFA,yEAAyE,2DAA2D,6BAA6B;;AAEjK;;;;;;;;;;;ACFA,+DAA+D,iDAAiD,6BAA6B;;AAE7I;;;;;;;;;;ACFA;AACA,IAAI,IAAyD;AAC7D,2EAA2E,MAAM,OAAO,mBAAO,CAAC,oBAAO,KAAK,aAAa,qDAAqD,MAAM,OAAO,mBAAO,CAAC,sBAAQ,KAAK,aAAa,qDAAqD,MAAM,OAAO,mBAAO,CAAC,wCAAiB,KAAK,aAAa;AAC1U,MAAM,EAK4E;AAClF,CAAC;AACD,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,gDAAgD,aAAa;;;AAG7D,OAAO;;AAEP;AACA;AACA;AACA;AACA;;;AAGA,gDAAgD,aAAa;;;AAG7D,OAAO;;AAEP;AACA;AACA;AACA;AACA,kDAAkD,+BAAmB;;;AAGrE;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;AAC7D;AACA,2BAA2B,+BAAmB;AAC9C,iCAAiC,+BAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,IAAI;AACJ;AACA,iEAAiE,+BAAmB,oBAAoB,+BAAmB;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA,kDAAkD,gCAAmB;;;AAGrE;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;AAC7D;AACA,iBAAiB,gCAAmB;AACpC,4BAA4B,gCAAmB;AAC/C,iCAAiC,gCAAmB;AACpD,WAAW,gCAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,qBAAqB;AACrB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC,wBAAwB,kBAAkB;AAC1C;AACA;AACA,iCAAiC,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,gCAAgC,SAAS;AACzC,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,MAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC,yBAAyB,qBAAqB;AAC9C,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,YAAY,WAAW;AACjF;AACA;AACA;AACA,qDAAqD,iBAAiB,WAAW;AACjF,yCAAyC,iDAAiD;AAC1F,0CAA0C,mCAAmC;AAC7E,sCAAsC,+BAA+B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,gCAAmB;;;AAG7D,gDAAgD,aAAa;AAC7D;AACA,gBAAgB,gCAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW;AACnC,4BAA4B,WAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA,kDAAkD,gCAAmB;;;AAGrE;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,gDAAgD,aAAa;AAC7D;AACA,gCAAmB;AACnB,mCAAmC,gCAAmB;AACtD,kCAAkC,gCAAmB;AACrD,aAAa,gCAAmB;AAChC,0CAA0C,qCAAqC,2CAA2C;AAC1H,6BAA6B,gCAAmB;AAChD,+CAA+C,qCAAqC,4CAA4C;AAChI,oCAAoC,gCAAmB;AACvD,aAAa,gCAAmB;AAChC,aAAa,gCAAmB;AAChC,oBAAoB,gCAAmB;AACvC,mDAAmD,qCAAqC,uCAAuC;AAC/H,kDAAkD,qCAAqC,sCAAsC;AAC7H,mDAAmD,qCAAqC,uCAAuC;AAC/H,mDAAmD,qCAAqC,uCAAuC;AAC/H,kDAAkD,qCAAqC,sCAAsC;;;AAG7H,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,gCAAmB;;;AAG7D;AACA;AACA,gDAAgD,aAAa;AAC7D;AACA,gBAAgB,gCAAmB;AACnC,sBAAsB,gCAAmB;AACzC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB,kDAAkD;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB,oDAAoD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,sCAAsC;AACrG;AACA;AACA;AACA,wDAAwD,OAAO,qDAAqD;AACpH;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,0BAA0B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA,kDAAkD,gCAAmB;;;AAGrE;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;AAC7D;AACA,gBAAgB,gCAAmB;AACnC,iCAAiC,gCAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,0BAA0B;AACpC,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kCAAkC,OAAO;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mBAAmB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,aAAa;AACpD;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,8BAA8B,kBAAkB;AAChD;AACA;AACA,gDAAgD,aAAa;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA,kDAAkD,gCAAmB;;;AAGrE;AACA,6CAA6C;AAC7C;AACA,gDAAgD,aAAa;AAC7D;AACA,+BAA+B,gCAAmB;AAClD,iBAAiB,gCAAmB;AACpC,+BAA+B,gCAAmB;AAClD,gCAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,wBAAwB,OAAO;AAC/B;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,aAAa;AAClC,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH,WAAW,2BAA2B;AACzJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA,4GAA4G,yCAAyC;AACrJ;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,yCAAyC;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA,gEAAgE,kDAAkD,6BAA6B;;AAE/I;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA,yEAAyE,2DAA2D,6BAA6B;;AAEjK;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA,+DAA+D,iDAAiD,6BAA6B;;AAE7I;;AAEA,OAAO;;AAEP,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,gCAAmB;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gCAAmB;AAC9B;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,YAAY;AACZ,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0BAAmB,GAAG,gCAAmB;AACvD;AACA,iBAAiB,0BAAmB;AACpC,UAAU;AACV;AACA,CAAC;;;;;;;;;;AClmED;AACA,IAAI,IAAyD;AAC7D,2BAA2B,mBAAO,CAAC,0DAAW,GAAG,mBAAO,CAAC,wDAAU;AACnE,MAAM,EAKiD;AACvD,CAAC;AACD,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA,0CAA0C,8BAAmB;;AAE7D,gBAAgB,8BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,+BAAmB;;AAE7D,gBAAgB,+BAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,gCAAmB;;AAE7D,gBAAgB,gCAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,gCAAmB;;AAE7D,gBAAgB,gCAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,0CAA0C,gCAAmB;;AAE7D,gBAAgB,gCAAmB;;AAEnC,OAAO;;AAEP;AACA;AACA;AACA;AACA,kDAAkD,gCAAmB;;AAErE;;AAEA;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;AAC7D,2BAA2B,gCAAmB;AAC9C,yBAAyB,gCAAmB;AAC5C,eAAe,gCAAmB;AAClC;AACA,aAAa,gCAAmB;AAChC,kBAAkB,gCAAmB;AACrC,mBAAmB,gCAAmB;AACtC,iBAAiB,gCAAmB;AACpC,qBAAqB,gCAAmB;AACxC,WAAW,gCAAmB;AAC9B,WAAW,gCAAmB;AAC9B,CAAC;AACD;AACA,aAAa,gCAAmB;AAChC,kBAAkB,gCAAmB;AACrC,mBAAmB,gCAAmB;AACtC,iBAAiB,gCAAmB;AACpC,qBAAqB,gCAAmB;AACxC,WAAW,gCAAmB;AAC9B,WAAW,gCAAmB;AAC9B,CAAC;AACD,eAAe,gCAAmB;AAClC,gBAAgB,gCAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,QAAQ,0BAA0B;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA,8BAA8B,SAAS;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA,iBAAiB,iFAAiF;AAClG;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA,iBAAiB,4EAA4E;AAC7F;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,UAAU,oLAAoL,EAAE,qOAAqO,EAAE,4IAA4I,EAAE,qOAAqO,EAAE,oLAAoL,EAAE,4IAA4I,EAAE,yPAAyP,EAAE,4MAA4M,EAAE,oHAAoH,EAAE,8IAA8I,EAAE,4KAA4K,EAAE,4HAA4H,EAAE,sPAAsP,EAAE,oLAAoL,EAAE,4KAA4K,EAAE,6MAA6M,EAAE,6MAA6M,EAAE,oIAAoI,EAAE,4IAA4I,EAAE,oIAAoI,EAAE,4KAA4K,EAAE,4IAA4I,EAAE,qNAAqN,EAAE,oJAAoJ,EAAE,sKAAsK,EAAE,4KAA4K,EAAE,oMAAoM,EAAE,qQAAqQ,EAAE,4LAA4L,EAAE,6NAA6N,EAAE,oNAAoN,EAAE,4KAA4K,EAAE,qOAAqO,EAAE,qOAAqO,EAAE,4JAA4J,EAAE,4KAA4K,EAAE,oMAAoM,EAAE,4JAA4J,EAAE,6QAA6Q,EAAE,6OAA6O,EAAE,8OAA8O,EAAE,oMAAoM,EAAE,6NAA6N,EAAE,6NAA6N,EAAE,4KAA4K,EAAE,oKAAoK,EAAE,oMAAoM,EAAE,4KAA4K,EAAE,sQAAsQ,EAAE,oLAAoL,EAAE,oJAAoJ,EAAE,oLAAoL,EAAE,4MAA4M,EAAE,4IAA4I,EAAE,oJAAoJ,EAAE,4IAA4I,EAAE,4LAA4L,EAAE,4KAA4K,EAAE,4LAA4L,EAAE,oJAAoJ,EAAE,oNAAoN,EAAE,oMAAoM,EAAE,oLAAoL,EAAE,4HAA4H,EAAE,4JAA4J,EAAE,4HAA4H,EAAE,oHAAoH,EAAE,+QAA+Q,EAAE,6PAA6P,EAAE,4KAA4K,EAAE,4HAA4H,EAAE,4FAA4F,EAAE,oNAAoN,EAAE,oIAAoI,EAAE,qJAAqJ,EAAE,qJAAqJ,EAAE,4GAA4G,EAAE,mFAAmF,EAAE,4IAA4I,EAAE,oJAAoJ,EAAE,oJAAoJ,EAAE,6BAA6B,+GAA+G,EAAE,6BAA6B,+GAA+G,EAAE,2EAA2E,EAAE,6BAA6B,8DAA8D,EAAE,6FAA6F,EAAE,4EAA4E,EAAE,4HAA4H,EAAE,oIAAoI,EAAE,uHAAuH,EAAE,kEAAkE,EAAE,mFAAmF,EAAE,6IAA6I,iEAAiE;;AAEtlf,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,UAAU,oHAAoH,EAAE,6FAA6F,EAAE,uQAAuQ,EAAE,sPAAsP,EAAE,sRAAsR,EAAE,8WAA8W,EAAE,4EAA4E,EAAE,4IAA4I,EAAE,4HAA4H,EAAE,oGAAoG,EAAE,oIAAoI,EAAE,2EAA2E,EAAE,2FAA2F,EAAE,kEAAkE,EAAE,4HAA4H,EAAE,qOAAqO,EAAE,oMAAoM,EAAE,6NAA6N,EAAE,6NAA6N,EAAE,oMAAoM,EAAE,oNAAoN,EAAE,qOAAqO,EAAE,oLAAoL,EAAE,6PAA6P,EAAE,oNAAoN,EAAE,2EAA2E,EAAE,6BAA6B,8DAA8D,EAAE,oJAAoJ,EAAE,4JAA4J,EAAE,4IAA4I,EAAE,qKAAqK,EAAE,8VAA8V,EAAE,6OAA6O,EAAE,6SAA6S,EAAE,6PAA6P,EAAE,sUAAsU,EAAE,6OAA6O,EAAE,6NAA6N,EAAE,qRAAqR,EAAE,sVAAsV,EAAE,4LAA4L,EAAE,8MAA8M,EAAE,8RAA8R,EAAE,oNAAoN,EAAE,8SAA8S,EAAE,8QAA8Q,EAAE,sTAAsT,EAAE,6QAA6Q,EAAE,iWAAiW,EAAE,6RAA6R,EAAE,qPAAqP,EAAE,qOAAqO,EAAE,8PAA8P,EAAE,6MAA6M,EAAE,0UAA0U,EAAE,qPAAqP,EAAE,oNAAoN,EAAE,qOAAqO,EAAE,sKAAsK,EAAE,+HAA+H,EAAE,sKAAsK,EAAE,4HAA4H,EAAE,kHAAkH,EAAE,6OAA6O,EAAE,6SAA6S,EAAE,6PAA6P,EAAE,sUAAsU,EAAE,6OAA6O,EAAE,6NAA6N,EAAE,sRAAsR,EAAE,sVAAsV,EAAE,4LAA4L,EAAE,8MAA8M,EAAE,6RAA6R,EAAE,oNAAoN,EAAE,8SAA8S,EAAE,8QAA8Q,EAAE,sTAAsT,EAAE,qPAAqP,EAAE,iWAAiW,EAAE,qSAAqS,EAAE,qPAAqP,EAAE,qOAAqO,EAAE,8PAA8P,EAAE,6MAA6M,EAAE,0UAA0U,EAAE,qPAAqP,EAAE,oNAAoN,EAAE,qOAAqO,EAAE,6BAA6B,uGAAuG,EAAE,6JAA6J,EAAE,6BAA6B,uGAAuG,EAAE,4GAA4G,iEAAiE;;AAEvuoB,OAAO;;AAEP,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,gCAAmB;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0BAAmB,GAAG,gCAAmB;AACvD;AACA,iBAAiB,0BAAmB;AACpC,UAAU;AACV;AACA,CAAC;;;;;;;;;;AC7eD;AACA,IAAI,IAAyD;AAC7D,2BAA2B,mBAAO,CAAC,0DAAW;AAC9C,MAAM,EAKiC;AACvC,CAAC;AACD,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C,8BAAmB;;;AAG7D,gDAAgD,aAAa;AAC7D;AACA,eAAe,8BAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB,YAAY;AACjC,yBAAyB,YAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2CAA2C;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oCAAoC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,wBAAwB;AAChE;AACA,oBAAoB,mDAAmD;AACvE,iCAAiC,SAAS;AAC1C,6BAA6B;AAC7B;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,2FAA2F;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC,gCAAgC,0BAA0B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gGAAgG;AAC1H;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;AACA,iBAAiB,iFAAiF;AAClG;AACA;;AAEA;;AAEA,OAAO;;AAEP,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,gCAAmB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0BAAmB,GAAG,gCAAmB;AACvD;AACA,iBAAiB,0BAAmB;AACpC,UAAU;AACV;AACA,CAAC;;;;;;UCrsBD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;;;;;;;;;;;;;;AClBA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,6IAA6I,cAAc;AAC3J,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACmD;AACJ;AACJ;AACA;AACrB;AACI;AAC1B;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2DAAqB;AAC1D;AACA;AACA;AACA;AACA,qCAAqC,yDAAmB;AACxD;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAe;AACnC,iBAAiB,EAAE,yDAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC,IAAI;AACL;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAmB;AACxD;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAY;AAC5B;AACA;AACA;AACA,KAAK;AACL,CAAC,IAAI","sources":["webpack://SlayerAssistant/webpack/universalModuleDefinition","webpack://SlayerAssistant/./images/data/reaper_collapsed_OSL.data.png","webpack://SlayerAssistant/./images/data/reaper_collapsed_RS3.data.png","webpack://SlayerAssistant/./images/data/reaper_expanded_OSL.data.png","webpack://SlayerAssistant/./images/data/reaper_expanded_RS3.data.png","webpack://SlayerAssistant/./images/data/slayer_collapsed_OSL.data.png","webpack://SlayerAssistant/./images/data/slayer_collapsed_RS3.data.png","webpack://SlayerAssistant/./images/data/slayer_expanded_OSL.data.png","webpack://SlayerAssistant/./images/data/slayer_expanded_RS3.data.png","webpack://SlayerAssistant/./modules/SearchAlgorithm.ts","webpack://SlayerAssistant/./modules/SlayerDialogReader.ts","webpack://SlayerAssistant/./modules/UICounterReader.ts","webpack://SlayerAssistant/./modules/data/assignnments.ts","webpack://SlayerAssistant/./modules/data/creatures.ts","webpack://SlayerAssistant/./modules/data/masters.ts","webpack://SlayerAssistant/./modules/data/reapers.ts","webpack://SlayerAssistant/./modules/data/variants.ts","webpack://SlayerAssistant/./modules/dochandler.ts","webpack://SlayerAssistant/./modules/dochandler/animate.ts","webpack://SlayerAssistant/./modules/dochandler/change.ts","webpack://SlayerAssistant/./modules/dochandler/hide.ts","webpack://SlayerAssistant/./modules/dochandler/hover.ts","webpack://SlayerAssistant/./modules/dochandler/main.ts","webpack://SlayerAssistant/./modules/dochandler/open.ts","webpack://SlayerAssistant/./modules/dochandler/show.ts","webpack://SlayerAssistant/./modules/extrafuncs.ts","webpack://SlayerAssistant/./modules/logger.ts","webpack://SlayerAssistant/./modules/settings.ts","webpack://SlayerAssistant/./modules/slayer.ts","webpack://SlayerAssistant/external umd \"canvas\"","webpack://SlayerAssistant/external umd \"electron/common\"","webpack://SlayerAssistant/external umd \"sharp\"","webpack://SlayerAssistant/../node_modules/alt1/dist/base/index.js","webpack://SlayerAssistant/../node_modules/alt1/dist/dialog/index.js","webpack://SlayerAssistant/../node_modules/alt1/dist/ocr/index.js","webpack://SlayerAssistant/webpack/bootstrap","webpack://SlayerAssistant/webpack/runtime/compat get default export","webpack://SlayerAssistant/webpack/runtime/define property getters","webpack://SlayerAssistant/webpack/runtime/global","webpack://SlayerAssistant/webpack/runtime/hasOwnProperty shorthand","webpack://SlayerAssistant/webpack/runtime/make namespace object","webpack://SlayerAssistant/webpack/runtime/publicPath","webpack://SlayerAssistant/./index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"sharp\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"canvas\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"electron/common\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"sharp\", \"canvas\", \"electron/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"SlayerAssistant\"] = factory((function webpackLoadOptionalExternalModule() { try { return require(\"sharp\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"canvas\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"electron/common\"); } catch(e) {} }()));\n\telse\n\t\troot[\"SlayerAssistant\"] = factory(root[\"sharp\"], root[\"canvas\"], root[\"electron/common\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE_sharp__, __WEBPACK_EXTERNAL_MODULE_canvas__, __WEBPACK_EXTERNAL_MODULE_electron_common__) => {\nreturn ","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAVXG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKrnKwAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAElUlEQVRYw92YTWgcZRjHfzsz+5HdzczuJumuJS3VSkI/AlaFgmK1PVStIJTSQy9FELy0gqIgIhYlUFHpQQ9tQZFCKWLVQ/FQ60GFUtAG0dqvNG0sRtc07WZ3Z3Zmdmd2Z8bDdiabTWJjipD4v8z7Mc/H+/m8zz/06p5dHrchdyYA0CoGvSt60coltIoBQMOt06h7JJJJACzLwK7VEMQosWiETFcGVdMBUOQkplmlVq1imhVy2Vygc+TK5aAudybu2O77oFVMnnwsyQPrN6KW4yB0MifcCiF7iND+fXu8H88OkU5349o1VENHFMM4Th0lkUSIxCiVCswX85X1/5urvV3Pb9d/55N3t2DWltHwVkEoMrcTng32JSR/tjVNDYzJsjI10Jo1p47ZJsTXoRo6GPqcsrKszDpwv32GDyEw1Bs4ngjh9JRAKAahKHgWeLWWAVaR/LLj1BkbywMwNpanI9bcotWaEfxv2XZQjkYiXL12nWhk5gwqioKqqli2Pa2/te7bmqu93Qe77nDu/BDr+w28RnNSQkIExCwISXB1cCbw3KaPIa+IpMjJaVvk50v5EHeNPP8Fdr8BZz4qeAe/tPn1WhzPq/H23g2sWrmai1eGGTx0HkVR6O8t88L2BIJpVpFlhXS6G0VRWOw49UOVc6NZUqkcHYleTnz/F43aCF99e4munpWsXf8Q48YAZ87pCLVqlVKp0NzfqrroB/fUth1YtonjuFh2nQ0DywlHQqy7z2OyWMYydAqTt3h4IIdgmpXgAmg9U4sVXekI772coSMRYuvm+xm4Z4TXD/zC4w92sPVRhZJe4YPBZ0kIfyDlsjny4zcRxfCsl8Niw9Gjx3j6kQTvv7QJt6Fx+DOH4TGZL04rPL+9j7pVoFE8wqmzIoIfpGeLOYsR3/y0mlc+dLlw4TSm/idqxcbDYdJIoZcvMjxymdcOCYzXn0HqXdHL1dFRlgpi0TCuu4J3jqq8uCPP3p1J9uIBo1wY0fn45HKW53pYt7YfSSuXAkE/rix2CIKAnExy4FOLG4Uqoijguh49mTir700gigJauYTkb8t0uptbN8tLZgU9z+G7z3czdL7AeAEycp2+zq8ZPBYP3seSf1tqmjrtNbLYIYph3hw8zM7NFhuzMFGEgycl6o5AWALTrCD19a8hP34Tx6kviVDgIyyJXBtfxVtH6jQcF0kU0E2N/r5mf1//mulnbimEgumrJxDviAZ1x50qa+VSMxSIYnjGw3gpwvdfFMNoFQMh05UJ8qeltnLtiEYiQRKQ6cog+PncUgnid0KQT2o6Av9jCH4+93+CKIZR5CRScbIYpPYdsQT79+3xipNFapaN61hEYjGW9WTnRf60EkrzJYzaSahlPVkWav/48RMBVVGcLBJ6btc2DyCb7cHQdXSjCjCD37gToaMkmqxYKym0EJl0unvB9uV0mkQyycTELQCkVCpOuWwyPHz5H1mqVsWtDvg3rWrogbPth/vfyMw1qPnoUm8TUul0N6lUHKlR9zg7NDQjiPukTfsXQFV1bKtBWStNk2knlRYiczf2p2LddbY8sYm/ATWM+pwqaFlsAAAAAElFTkSuQmCC\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAXKm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcQRroAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAFsUlEQVRYw9WYXYglRxXHf11d3dX39p3vnZ3sRtZ8sZF86K4JRo2oD+JDFGEhYlDfonnOQ4jowz7qg/omq0YQCYgo+CCDUUEkGgzCIOaDXU1wY3CdZDc7M3vvnXvvVHV9tA99u2auIaJvMweaunWr6lT/65w+dc4/+cwXHqt3rl9FpCkAaSppxXvHQQnek+UKAFuZ+Ptgv229d9R1QMocAOcq6lDPzDnYAjO6236rx1nHE48scuaeBxj0uyDmeEcJuyTVBvLvr1ziX69fRgiBSFOctYTgWVhawWiNsxUyywnBI0RzAJXRAMgsI1cKPZngnCVXBUKkOFsBUHS7OLt/QJXRcZ/2sBo9eRyTWT6zJ0CnWzLc2eJ95x9hPBxAssR/lURRJ8sIgFwVhBDIlSJXBVJmDG5sIzMZN2tfztmKbq8XwU5GI5yzFJ0ygm5FTyYNiOlLdns9RJoiRPOEEAghxINyzlIZjcxyVFEQfLPH7qAPwHhwFae3IQzAX2+esAt11bTxvwHUe0gpGzcUQuCsQxVFfIzWpKmMfQDnPd5aTt12mvFoNDMmM4kqStI0wU2t4q0FQBUFznvyokOCIE2TGX0A8wuLhANrllePY7RGFQWpELz48gb33DmmdluNgUQO6RqIHoQR+GvUoTFEUu+Q3HX/R+qrm/8keE85N8/m5b8mHGL54w969YWfV/zhJUUnM3zj8fu45dTtXHzlb5y/cAnrEj5+xvLYubJxSyFSRJpGCxxmeeb5CesbS+y6OW74k/zi2Tdw+lXWf3eJ0L2VvWSF9Y0lfv/nYQMOwE1d4bDLpz79MGk9oQ41lTacvfckWZ5w9201zlbYyqDSwAfPnkRIKamMJlfFkQC3spTzw/M3cf975vnyZ+/i3hOv8tVvv8DH3t/h3IdrPvTeE/zsu5+jFFeQzrlptPRHAtzTT/+Yhx4s+ebjHyW4Id/7qefZl3LueG6ZR8+dxpot3M6PeOZPgnhjC5FitD704J767btZf/4qT3z+OW551wqD3Yr5Mmd7vMiof5F/XNnhWz9xaHUfydkHP1Ffef0yldEcW7uJ1y7+5VBHy8XjN9eJENR2wtcfHXL37b04dvHyiK98v0NeLnPq1juQxmhkJoHiSFiuTRGtTfnaUzm7ozGJENR1YHmppFN2EXmGMbpxS2cdldFH4ipor6xQjXjhl19i4+Ut3tyC5XnL6blf89CTGmebHFUqVcRoeRTAAewO+qSp4snzF/jiJy0PrMG1HfjOrxSORZzRKFU0lgvBx/zx0FtOpAjhSWXG+sYiv3lRIURCZSpWjq8RwnaM/M03J7OmIvCH/zpovasymk63SeC99yRCEKZuKwFjNEKpImbq/ghkKUZr9N64qSKm3iazPCbpMZVUBcIYjRDpkQkozlYUnTLWlvvuKlBFMa0L08ZyHFFpC9pcqWnNGN7+fZa9eSqjmVtYPDL33EEw7TUmswyjGxyV0ZS9+f1KfG8yJs2yQw9KZvmUIchmKv9OtyTNMvYm41gEyPFouM9x6D3uPPOB2k4DS9Ep0Xvjt7XZ9BDSKfnjXYW1lt7cPKPdYVzrXUUq8zhedMqZ+W2/1WmtjW2r4+D8LMtIZY7eG7N8bC3qb9cP+jcilvFo2Fzirf9WxnDtjU1CCAghprxKwbDfn3Im/Th33z08wXuKbpe33tyk6JQ4WxFCoNvrURkTSaNWX5s09He2Yx15sDLJlaIyhspsRivkSjEaDiLgnetvUXS7TEajmIAc3CtGS+fsTHrTslAHy6CG0PGRqZKZJARPZTQhhBmWq33Z0XAw4zrdXg9nK/LpgQbvp4yZiGE9eB+JpRZIZRouR4gm9WrnOuuYW1gEYHBjez/YONvklsdWV/8/n5cS5xwtseSc+5/XvJN4V9Et55lMRjO86X/qWFldwznHwtIKShWRVx3tDjh+4uaZ+cdWV/k3rAQo1Oy03j4AAAAASUVORK5CYII=\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAa4G5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3ePXqQAAAYVub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqIw0NAAANGG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+dZ7WgAAAAZub1BFAAAAAAAA7Gu72AAAAAlub1BFAAAAAAAAAAAAoYpy1QAAAAdub1BFAAAAAAAAAFrm3tAAAAh/SURBVHja7ZxvbBt3Gcc/vnNsJ3Z8sZM0aedMZR0J7VqgA2looMGKNHXrNGma9mIgjaIheNEiDRWpmvivakyA9gJerEUgNFQNhIAXE0JjvABENQGtEGXr2qysILUN6R8n9p3vj3323fHCvYu9JKV/k3P3fKQo9tm/ex4/9/j8u+f33Dfx5V1PBFwiP5gFwKhZlCZKGNUKRs0CoOU3aTUDsrkcAI2GhVuvo6hpMukUxeEiumECoOVz2LZD3XGw7RrjY+PRPk++dSJ6nh/M/t/tK+nDzbQlcb28LcvxeOSTRT64+R706gAogyyLXyPhHiHx7a/vCv52+AiFwgi+W0e3TFS1D89romVzKKkMlUqZK+VKx4bvW277SvqwErau9r3vtrhWqhY/+c427PoaWsF6SKSWdyRwwT1OMvxGGYYefeh8XltI5Hpj2X0slfDhPnTLBMtcdmw+ry35YcLtK+nDStiSuF7eVrPhY+nn8AIV+goLLyYykEhD0ICg3pHADom9T38mmJ4+AcDp0zPRa/2Z9hTCqVvRtobrRo/TqRQN1yWdWvwN0TQNXdcXvb7c+5fbvpI+rJQtievSthIJlb07M2ye2kSQKLbzVkmBOgZKDnwTvPMEfntsIpgnqeVzXT81/zg+k+C6mWH1mbkFbd3acX3yK/Daj8rBC792ef3tAYKgzrd2b2X97Rt4861p9u1/A03TmCpV+fyjWRTbdsjnNQqFETRNQxBWk1f/6vD6v9cyNDROf7bEy3/6L636SX7zh+MMj97Ops0fYtbawmv/NFHqjkOlUm7PTXRdoiesKtsfeox6w8TzfBpuk61b1tGXSnDXHQFz81Ualkl57iIf3jKOYtu1aBLeORcRhNVguJDiu18q0p9N8MD9d7Jl7Umeef4oH7+7nwc+qlExa3x/3yNklTMkx8fGmZm9gKr2LTnhFoSV5ODBl3jw3izfe/o+/JbBgV94TJ/O86tDGk89OkmzUaY1/yKvHlZRwuLxUrVBQVhpfv/3Dez5gc+xY4ewzbPoNZcAjzlrCLP6JtMnT7B3v8JscwfJ0kSJf506JVETYkEm3YfvT/DcQZ0vPjbD7sdz7CYATnHspMmPX1nHuvFR7to0RdKoVqKBYU1OEFYTRVHI53I8//MG58oOqqrg+wGjxQE2vCeLqioY1QrJcNpQKIxw8UJVIifEgiDw+OMvn+TIG2Vmy1DMN5kc/B37XhoA2n0iybDaYBh61yqIIKwmqtrH1/Yd4PH7G9wzBufn4YVXkjQ9hb4k2HaN5OTURmZmL+B5TSmVCbGhL6ny9ux6vvlik5bnk1QVTNtgarL9+uTUxu45r5TKhHidfRUG+tPRc89feGxUK+1Smar2AciZV4g1YX6qah9GzUIpDhej3ks58wpxJp1KRU1kxeEiStjPK4sUQi8Q9RQbJoqEQ+hVlLCfVxB650KuDy2fW+jnBaSfV4g1YX7m8xq27Sz08wLSzyvEmjA/K5UydcdZ6OftLEUIQhzpzE/brqGEmgJhKUIQ4kpnfo6PjXcvUghCr1ywGTULpTRRkhqv0FN4XpPSRAnFqFbQsm3pHennFeJMmJ9aNrfQ26CkMhQKIxIdIfYUCiMoqUx72pAfzEalMunnFeJMmJ+VSpn8YHbhBkzfrUt0hNgT5ml0wQaXxNMEIeaEeRpdsIXlB0GIO2GeRjdgdgrtfeFTOwIJkRBHDh89GvWeGzVrsW7DD3/2W4mSEEu2broNWKjzJsM6r26ZYR0tIWES4kh/JhtAR503mUpjXlKtllKZEGfC/DTrDZKpNMnOfl5dN4mHgLEgLEbTtGgxraufV/R5hbij6zq+W1/czyv6vELcabhuVOft6ueVW9+FuBPe+g4d/bxh+UEQ4k6Yp13Lw4LQS3QtD4P08wrxpjM/o35eQPp5hZ4gzFOjZi1UG0SfV4g7Tt3CMPSFasPk1MZoIiylMiHONFw3umCbnNrYPeeVUpkQZzrzU/R5hZ4784Lo8wo9euYVfV6hZxF9XuGWQPR5hZ5D9HmFnkP0eYWeRfR5hZ5F9HmFnkX0eYVb4oJN9HmFnkT0eYWeQ/R5hZ5G9HmFnkT0eYWeRvR5hZ5F9HmFnuWy+rz33j0ZACRV9aY5oCSW2Lfqt/977UY3P/BWNCihT9dr1/N9qoZFparz3Ofex54DJ1i7poiW68cPgmuO643y73K0vIV9x/H41yyjS593UZ03qao31fHlj7qy6om7bGCvkCAIcOou5y7qfHXnBO9f4/Dpj5U4d7GK02gSBMGq+ncl9MLxj22dd6UT90bSbHqUKzU+sjnLwx9o4lbLPDzVxx2jaeaqNVqeL7/713H8F9V546DP6wde9NerXx4/CDDtOs2mw7OfHcVzdPyWS70yx57tt2FbNk7dxQ+C2H65V+WMexXH/536vFE/b6EwsmL9vJ1Oxilhr8uXIMBttfjGU3cyWugnOThKZmQdmcIwY8UBdu14L82mB9eQvDfEv5ieXa/mM4X6vGE/bzLs59WyOXRdZzCbf1dOD67Xn0QiQbY/zbM/Pcsz+xt4HVMEVVXIDaQZKQySSCRuiXitRrxDfV7dMhkpaiShveRWqZTpz2TZ/uA25ufmqTdcfK9BKpNhzegY4Y2aWj6HbTvUHQfbrjE+No5RsyhNlDCqFcJFj+Jw8arHtPwma0bHxL7YX9L+oT//Bd0yo1aGxM4nHgoAxsZGsUwT03IAoiXjzvraUt1n4fbwok9JZaKx1zImdEzsi/13jlm3dpxsLsf58xfbc/ShoQGqVZvp6RPLFoU9r9nlRKeBsO6mW2bkTGdJ42rHLBc0sS/2z5w9E+1raGiAZKsZcPjIEaC7U73huqRTqUX/23MPE7fRompUusaEpYzwqvBaxoh9sX85++1bgf7Dtk/cx/8A/EcyrqMdMKAAAAAASUVORK5CYII=\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAe825vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz2Q1aAAABhW5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKojDQ0AAA0Ybm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD51ntaAAAABm5vUEUAAAAAAADsa7vYAAAACW5vUEUAAAAAAAAAAAChinLVAAAAB25vUEUAAAAAAAAAWube0AAAD3VJREFUeNrtXWuobddV/tZ8rLX24+xzzj335t7cpOmNaaJN0+ZVaDWlthCQVi0EFdGCSpUo4o/+0BZ/GPwjAR8IovUFPgoiKiI1UBVsNRSLcCmWliS2GtMm5nlfZ5+z99prPpc/5hpzz71z06Zau/e9zA8u+9y11nyNMdZcY4455hjFBz74cHf5wktgnAMAOBcgOGeRwjsHWVYAAKNV/Dv9P/06Z9F1HkKUAABrNTrfrTyT/gJYqZv+n9ZD/eFcwDkL7xwY5/H/1HejFRjnK/fT8VSDAdRiEcdEz6T9IXqk46Y20v6l46W+Ufn1OtO6v1Z767RepzH1Ix0zje9a5V8zO8ZHPniAe+56B6aHQ4Dt4DXhj1Ho8xD/+aUn8d9feRqMMTDOYY2B9w67+wdQbQtrNIQs4b0DY4HAWrUAACElyqpC2zSw1qCsajDGYY0GANTDIaxZElCrNrZDxAz1lPGekOVKmwAwGI4wPz4CgBUmW2MgpIR3DkKWyXUNxjnKqoJWKvbJe4+yquNz7WIOxni8RmNc7//6c1R/2v+qrnE8PVzpD9UjZAkhBbRSK/1mjEdapvQnujaz2VXpxThfKZvyS6v2muQfug533/EDmB9NgWIfXxNFha44AQYAZVX3jK1QVjWEkJheuQQhxQoTtArEGI7HkRjNbAZrDerBKBIlCkfTROICwHA8joRnjMN7D+99JKS1Blq1URi8C20cTw8jkegalWGM90zXPdEEvPewxqwIrpAlhuNxL8ShP2VV92N34bpz8N71wlbGvgshsbO7t1J22YdAn0UzD3X1ghuEyCeMsrDGREElIWOMrdCfMdYLpgq8kGUsFwTCw7vQX+p/yq9rlX/OGsynL8G2lwA/BdyF8M8fA50Ov/HaFOgWKN72zvd0Lzz31cjgqg6zS1XXUO1yMHTdOgdnDHb3DzCfzWCNivea+QxVPQLnBWz/Vrqe8FVdx2sFGDgvVuoDACkl/FoZ6gP9XdU1nOvAefGqe0JWsEatMID6lj7rXIcOHoLzV9XBpYztr4NLGcsIWcUxUP1cyjhmapfupf1Ix5XWuV4mpVtap3UOop/B1vufjvta4l9zfIxf/WmLu779TnTFidAOKwF+GmBjwM8A9zI6H17EoruM4s63v6t76fln4Z3DaGeC559+qkBGxobwL3847j721xqPf6HEUGo8+uH7ce6W2/DEl/4dj3zsSRhb4D33GDz80CioDTR1p29+RsYm8MnPNnjs/D5anMQri5P4xD+/ANt+GY99+kn44a1YFAd47Pw+Hv/cURBeUp4zMjaN7/2+HwTvGjhnYbXGvW89C1kWeMu3dbBGw2iFinu8896zYEIIaNWurMIzMjaFg/0Sf/TIGdx3+wg/8yN34603fhm/+Bufx3ffN8BD39XhO992I/7yd38YI/YchLU2rrgzMjaNj3/8z/D+B0b4tQ+/G94e4ff+wuHxL1Z402dO4CcfugNGXYS9/Cf45L8yRIs2Y3xldZqRsQn8wT++EX/72RfxCz/6GZy7+QDTY41RLXBpvofZ4RN45rnL+PU/t2ir+1Hc+8CD3XNfeRpatTh5+gz+64l/y9aGjI3hzLnbO6MNbDvFoz81w1tuG8d7Tzw9w0d/f4BydAK33PomCKVaCCkA1Hnmzdg4rLEoigIoJB754yEuX56hYAUKFNjfH2EwGoKVEkq1QW2wxkKrNpvKMrYC3juUJcfn/uYncP6LF/HiReDExOCOnb/H+z/SwprgQyGqqo7Whiy8GVshuFUFrYCf/6XfwY99j8U7TgMvXwZ+++8qWOzBqhZVVYeZl/b2MzI2DXJIKqsan3riJvzD5zXq4QhtM8f+wSl4f2npX6JUCyFkcG5x2VyWsVm0TRNNt0ZrjCd7WMznkGUNj+CVJkTQeVlV1dFTyOVdtoyNqw0+eAb2E6lqg/edVi2cMUtXhqoOMy/5hmadN2PzakMNayzq4RBlVaNdzHvXUImqrnu/YR5m3kyujG1CVdewRqNtGggpUA9GKKvqqs+y0XgCrVrs7O5lO2/GxrFo5sGB3hrMjqb9IQOLsqqg2iCnWrUYjSfLkxSLZh6dqTMyNoVwQsP1M27dH0XSmB1NwaWMJ1aCtaFtYqHxeJKpl7FxpO65Wql4TGk8nsQjRKptwswbzn05zGezTLmMjYLO9lV1Hc/KkUFhPpv1ZwyDPxmz1vanVPmrzn9lZGzC2kBqLB0Y3dnd6zfSVHJo1AZndNHrutlUlrF5lUFH1SBoBSWmVy6hHoyifAopIYQIzuhLPSJbGzI2CzpKH+Jk8GjXTeWTMR5m3lAgbwtnbI/aYI1Gu5jHmXbv5KkVGY2+DUKIZIquMvUyNr5gA4DxZBfH00OUVY3Z9LAP5rKUTyFEWLDp3iE9DaKRkbEpjHYmMVoP+Tl478F50YfNamGtDf68QkhYY7POm7EVasP8+KgPJeXQzGY4efoMVNv2sdcshJCJYw4Puxp5hy1j06jqGqOdSVQdvHdo5rO4A+x9iCy5dInsV3PZJTJj0zieHkYNoG0a7O4foG0a+CQmGmOJSyT5S+7uH2TqZWxcbSCLAuMci2Ye7+3uH8QdOKXaoPPSFly7mOO9P/TjXSZhxjbiq09+IcpqVdUQztkY61W1Lf7pr/40UyljK3HTbW+OdmDnLB3A9LBGk1E428sythUdRbgHQF5l2bch49qwRKTyygBAViGEvXNZ3c3YXpB8krwyzgVUs4g7GBkZ2wrOC3jvoZoFOBdB511Po5SRsa1IsxEJpdq4d5y3hzO2GSGGQ1isKdUuvcpE3hrOuAZAciqECDpvmi8sI2PbEdZnvc6b81FkXDs6bzhhEWbfmK3RZTtvxtaDUukKWQY7787uHoTIOm/GNaDz9ql0AYDNZ0cxxE5GxvYv2Eosmjnms6PezstC9susNmRsM9bzSLOqD+Sb+k1mZGwrFs08rM+iM3ofyDdHRs/YZpB8eueW8XmFLMPR4rxNnLHN+i7n/RH4cqk2WKMhZJm9yjK2Gs51IXav0aunhwHkQHsZ26029PK5cnqYopRka0PGtWBt0H0eNiZkGU1l2assY5uh2jbG7RWyBKPDl4tmnmfejK2feSmsvzU66LwAVmKiZmRsK2K4U9WC7R+cioH2MjK2HRRob//gFNiVSxdCsramyZsUGdttbXAupne9cunCahLBvEmRsdWz7pp8RlMZ4xyyzMGlM7YXsqzAOF+ayoDlSYrZ0TRTKGNrQfK5TCLYn6LI1oaMa8XaQFEiGRAyDmZ/3oxtB8koZcgUQogYIdI5mymUsbVo5rM+iXa9zMNmjQYATPb2cOLGWzprDISUsMZE/YI8z9Z/vXfwLgQCTp+P5o3+OfKfEFJGtzZql/6uh0M0SQpZxhiELNEu5qgHo5U2KaUnRVDRqo3n8MjRiIKp0I6M9x6MsXgNQKyL6ibQuOrhELOjaWzfe4/heAytVCxH9WnVQpYl9KIB93P85s/eiZ/7rafAqhFEWaGqa2iloFUb2y+rKtZP9CI6lFWYaebHR2CcR9UupTl9OYlf67/XE/+GozEuX3gl9MtaOknhk86aUCHjYIzFDQzqIOWvoLCoQQfxUZEOKebDoNYdfpYC42NdqcDMjqbw3i0V8sQ0EjLALNMOhFOkbOmLLGSsyzsXLSgxoiDny+eTnF6kQxGDKA9zOFHtYc3q16isasyOpnFsADAcj0OM47KCbhdomxl+5eFzuOeGFh967xugF3NYrdD2p1VIULVqwbmIviVEN2tsPGQ4vXIJo51J8qK4yNSr8et65t9yYvGvtjbQmzXamazMRFqpGGZd9ycvyqqODC+TvBZEiHR2IYcfIsZwPI6EJ4aQgxC9ofRMyuyyP7JEQkcDCgzxcRaguuIJkSQlqPcutqFV2+e3NXGmCJ+lqiemhFYt6sGoF4Ky17XkCiO1UglTFR68f4Lvv9tAH17EB75D4q6bB/DWAEWxMtsLIaHaNvqWCFlitDOBkAKqbdEu5vEZEpYwq5ZRUNf5db3z76rWhlTqqbPpW1RWFawxGE92ceLUDcknQy7zuEkeiVJWNbjk8S0N12Vfj0U9HEJIiXo4jLMKDS4QWUWhCp5EDGVVxQEJKWM5EryUwNQPGjQxn8rUw2FM0lwmtm6aDalfKSiRM9UrpIhlvQuJnUfC4NEP3QC3mMJbjfbKJXz0fTdDdC28dfDW9kIn4gxEzCRBodmevKfSr6LoM+LQ53SdX9cz/0i4ydrAz91x1y+//MKzYJyjKBhUu0DX+f7tNTC615GsgfcesiwxvXIZXdehYAXKqkJRhM9T0W/YWaNhrYHVvQ5VAM5aVINBZAx9QroudHgwCrNb0X/yVLsIyeQWDbx36LoOWikMRiMYreGcQ8EKcCFhtMZgNIL3HgUr4KyNguichSyr2F6qIoTPUgh3xYVAUTBQmgNrDBjn4ELAGg1ZVuFva9B1HoxztIsGzllwLuC7DvAOjz78Rtx3+wCFkNB+Am2G2N0b4/TJCc4/s4C1pq8z0PPUmbM4nh6iGtT9LN6i60IOMto0Ivp0XRfLCSlRFCz2h/jlnLtu+ceFgNFhzXD2DbeiuPPt7+peePYZCFlisreHV158fkX/oAUJvXVaqfj2pAsfimRCbxC9IeniAQAG4xHmR0cYT3ZDuaaJn4ygO1JGThkXTEQw+pSliwh6260xcSG1fM5EvYqu0SIhXQikC42Tp8/glRefj6rC+gKPXgCqO+rTBYPWLaxqYbRC13kURYGu6yCEBOMCKArsnTydqBkuqiXpl+Fq7RAdaHYl+tJCh/hFqsb1yL+Tp8/g6PAQ1micvaUX3ldefL7/xFTY3duH6TtaD0ZxpZj+yl6J5qKPqG41jDEY70wwOz6KZZ3V4KKM90n3Wf8/1WmMib+prkTPSynBxXL1SvWn5eNWYv9s2pazOt5f7/t6X9bLUpvpM1TPOo3SRQnRhOpM76VlqG/rNKB2Xosn6/SiPl+P/Lt88eVo5bnhxptQ3PvAg90z//HUitnkW2FSSt+4dWWeZohvpkmJZpB0Zktn1nS1nc5ar9eElM5YmzQBrv9ej/yzRuPW298cFmypCeNbYlIiover3rBy1pExlDT5m2FSCouPKlmdi2gOKqsa9XAYFxCpGShdeVN/aSxLm6eI92nF/PVMSLSg+f8yAV7P/IsThzVQqkXx7vc91F28cOF173IIIULG7T4otbX2dZd5LTirMRxN0DQzcC5es460vaqq447g7Hi68rkGEBdS3yi+Xl//r2W/Ufr9b8dxvfPv5KlT+B8FiFlLoxQJ6gAAAABJRU5ErkJggg==\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAXWm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALW4o8EAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAFNklEQVRYw92YaWxUVRTHf/OWWTqvM53ptNOBVpaCLAo0ERqQILhEwEACiYnBxIiJ3wgJGhPBKAlI+KhGTEAxhEQxBgyRoAgRiQGRpUqlu0AFStuhU2Z5s79Z+vxQZugaKmAy8P/y3jvvnXvOefeee+75G95Zt0bnNmzFVgDCkRiVVZWEQ0HCkRgAmb40mbSOVVEA0LQYqWQSQTRhNhlxljpRw1EA7DaFeDxBMpEgHo9Q4a7Ij3np79b8s63Yelf5UB+0ZBaDKBGJxglHVDJaCoMg033zFlbXBHbu+JgPt24j/s8pDNs3r9PPna/D4XDRl0qixqKIokw2m8ZuVRCMZoLBW4wVY9XNfTeafKRxNC2NPxil0+tHNlupnjABk6WYxpYG5tUuYPsnOzn63ddcvFhPV90xpNzfDofVvDGbzX4n0KQ2aiAj/ZDcGGosCrHoqLo2m33EwHPygT4ICY1EMsX1zl6cpR72ffEWU8ZPxVxWzrnG65w9W8ezy1Zw+pej1J35Df3aCZp6+jC8u+F1va2tFYCOjq68EYu5f4kmkrG8TEul8vcmoxEtlcJkNA5z0G63o6rqsPejfT+aPOdDNB4hqCaYNH0uX21ZiS/pos+gIFiK0JH4fPceMqIZxSLS097A4RN/8PySWiS7TRm0ROpbugzcN7p40LAVK/qO91dz02+hs9eLL55ikseBWTbx2urn+PbgT5T4G6iZOZ2sfxxZSUSKxxPYbPb+paRG/xfHHgRWL1vM+ZMX2Hu8mWgoxIGt6/CKBjZs20VbUyNvrFqEUL2UL4+dprxPoPFiK0IykSAYvNW/vlWVQoXHU05LRy+vrnyRRXOfoLvIxfotu2mq/5P5s6s519iOzaLw9DSZqGxnzoyJCPF4JL8BDMypQoOvN0A4koJwF97OaxRJEgFfd38SdHrp9oUoLy3hmyNt1Hpg9iQnUoW7gi6vD1GUR0zqQsHVbj+GTAyj1ku7P8OVlhbefGUFlzv9VI1zsvSF5eza9SmlLgWpahYNfzUg5ArkSDWnkNDc3MINX4RzV25iFGBxzWwqyxWWL5yKQ0ixcdNGjLrORx+sp0RP0VzfhFBZVcnDAKtZwl1ShNcX4dq166x9bxsRNcrPh37g/JlTvL12Ga4KDwcPH0HMenl5dTVSOBQcVlcKES5HMVdvdPPkzCm0Xu7gQksbF5ovoWNgxZIadnx2kJpF81k4y0Nx1UQeaz99Z1k6HK6CnjmzScbjstF2pQPJaMLuLEPLZFEjMQ4cOc3kp+awakElPREre/d8z6Z97Ui53TIcVgedRgoNBoMBi9lEpdtJQkuRTmeZ6ClFEAwktDTHfv2dH4+fpFgpwm63MrdmKtLj02bQ5fWRzaYLuhT0BwiyLCLLFnRdB/oPUzZFx2lX8If8VE8ejyyJ1NbOG5xzhVwKRprJgfcmo0Sx1YLZJAMQUYP9OSeK8rCD8cOInP+iKBOOxBCcpc58//QwzdxIMBmN+SbAWepEyPVzhV7Ex4p8PxmOIvAIQ8j1c48SRFHGblOQAv5AvrW3mK1s37xOD/gDJLUUfVkNo9lMeZl7TOTPQDJnrITRUAKovMzNvdrfv/9QnqoI+AMY1q55SQdwu8uIRaNEYwmAYfzG3Qgdu7WfFRtICt2LTu6kdC/2bQ4HVkWhp6cXAKmkpIhQKE6ORxlNeeDAAx3I7bRqLJp3dmhy/xed0YIay1jqbULK4XBRUlKElEnrnK+rG1bEc6TN0GuOjkhpGULh4CCdoaTSvejcj/07te4qzy15hn8B0nEpIgoaSy8AAAAASUVORK5CYII=\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAYyG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgO3bMAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAGeklEQVRYw9WYXWwcVxXHf3PnzsfOfnhjr22SNMjOR1OC6gRIS2gJX6ooRS7qAwIET0gRL6gSj+UBoZaKB4RQhVQRRKmQqBACVPEApUiABDSQNECCE7upiI1J7Nhexx+7O7s7H3dmeJid8W4lJHhbjrS6c/fee2bOOX/dc85f+8TnvpBsb64jdB0AXZdkEkWKfomjCMO0AAgDP3/un2djFCmSJEZKEwClApI4GdjTPwIDurN5v54oUsRxTBxFdNsuge+hCQ2h6WzV15iaPsx3n3+Orz3zLJ2lPyJvvrnAyvIiQgiErqPCkDiOGNk3hu95qDBAGiZxHCFE6oDA9wCQhoFpWXidDkqFmJaNEDoqDACwHQcV7jko8L38PZmzUj1mviYNc+CdAAWnSLvV7BkWEnQ7jI5VuXd6CrtQ4drCHO898xBff+47vPqzl7ALBludEAlgWjaB72E7Tv5xjZ0tSpWR1OthgND1/AOcUgm32UAIm47rEscRdqGI121jF4q5MV6nM+AYp1Qi8P3cSSoM873SMAh8jziOMS0by7Zpt5pIw6TV2IUkQQU+J45N842vnuPowWPY4xNcuvYvLl68zIc/NsuF377K5T+/RrL8Oy7fCpBSpjAUQqBChWXb+c/3PHRd5nMAFUVEYcjbD99L23UH1qQhsewiuq6helGJegZYto2KIky7gIZA17UBfQCVkSpx35nR8Ql8z8MwTUKvw8mZ+3np6Vnq3ghrOx2EV2eyWmb99jI/fPEFSgWdsLnGy39pcXD6KNqJ0+9P1ldvEUcRxXKF1cU3NIZQTKuQXH7lm3jNAiub29Q7AdP792EbFgiNH7/8K8aCOaYO3Mcvfn+F1+/KFJYZTLIIDKN85vGP8Pof/sYPfjOPu7vLT5/5Imu6xpeePc+N69f4/BNnEUce5YVfX2Ai0fEbdxHZ4X78D6McODDBwq1NPvv4Rzl7+p3ccWo8+fT3uH7lr5yZOcKla4tUCiUeOm7gGiOcPX0cIaUk8D1Myx5q4zY2t2m2AmiusrayjCMl2/U7AKyurHGnvsvEWJUfvXKDB/fDzPQoUimFadn5tTussrSyhR63Mf1NFrcUNxcWOPfpWf6xssWhA6M8+shjnD//bcZqJeSh+5m7OrcHSyF0fM8bWuPmFt7gdr3FpZvrmAI+eGqGeyZKPPbwMfaJgKe+/BRmkvCtrzxJNQmYv3Id7V0PP5LcXl4k8D1qk29jaf7KcN6WTil54MRhlv65TJQITr7jCB//wLu5eulPuN0On/rkLBcX6rSbG9xXS6i762kq2L67kee4YU0FlbHJJA4DzsxMcePmbbp+FxJBgsbsh06x9PdFTp09wwNHTcqHpogXL6SwVKHKS6phFadUBl3y2tUlNMOiXB2nG0bsNFx+8ssLHH7PSZ543z1stIq8+P2fc+75+RSWi2/OY1o2lWp1aGFZOzidZAV46PsITUMTAmkYtFtNiGMKtkEQKGJNMH3sRBq5OI7yYndYJa07I6Q0MUwLyykSJwlCN6jWJrCKJcq1/chCEWmY2E4R6fseUhppRxANdzpQYUh5pJgbaxeKaWC6AaCh6TIt1EWE73sIy7IRuo4Qel6wDqOk7VVazHvdNtIwcrRJw8yLdCF0hK5jWTbC9z2ESNuZYa4tAz/tLVUYYBeKeT28l6cFlm332jI9jRz/J5JCMO6DaNrQmlbavfev5QYXSxUC36M8Uh3qCiVrqnPKo2dMlsakYeB7qR2B71EsVdLImZZNt9NGN4zhvy0NE2nIvHPPpOAU0Q2DbqedO0G23eaeAq/L8VMPJmHvYumnDvpHo+cEvUf+RCogDENK5Qpuq5mfjVSALs18PaMg3jrPdIZhmI+Zjv79hmGgSxOv22a0Npnrz843dndyW9puE2lZdo7fwPfZuLNKHMcIIXI+o7m72+NBdvO9e/CIiKMI23Gor61iF4qoMCCO4wHOJPsv42tMy2Z3eyvvI/s7E9OyCHyfwF/No2BaFm6zkRu8vVnHdhw6rptzLv3vym9LpfZSQJoWxAD7lHUNGSxSjEviOMpJnX6WK/tYt9kYgI5TKqHCALPn0DiKeoyZyK/1OIrwOp2ByAV+yuUIoadcTG+vChXlkSoAjZ2tvctGhfi+h6yNj/9v+UZKlFJkxJJS6r8+858kUgFOsUKn4w7wpm/VMTY+iVKKkX1jWJad86puq8HE/oOD5dr4OP8GnWaF+iWIoRwAAAAASUVORK5CYII=\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAafG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejEs8AAABhW5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKojDQ0AAA0Ybm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD51ntaAAAABm5vUEUAAAAAAADsa7vYAAAACW5vUEUAAAAAAAAAAAChinLVAAAAB25vUEUAAAAAAAAAWube0AAACUVJREFUeNrtnX2MHHUZxz87O/t2u7dzu/fe7im0tKUIpWptKoggGilSEpqYGDDGEkn8oyFBMREMakDA/9SICUUMwSjEBEM0CEJEYsAKbZVCX0/oQWnveu3dbXdn9n12Z8c/tjO3x93VXgt7s+X5JJe7m5vfPL995tnZZ57fM9/zfW/rzTaniHdGATByBVJDKYxsBiNXAKBWr1Kr2kRjMQAqlQJmuYziDxEOBUl2J9GNPABaPEaxWKJcKlEs5hjoH3CP+dZ/D7q/xzuj/3d7K+fwYdoSv56ZrXiXxvETaXL5IorPR6VSoVIxOfTOEboGV/DwQz/nJ/fdT/GdV/A9+KOt9o6du0gkeqibZfRCHr8/gGVV0aIxlGCYTGaKM+VMxzr7zbe9lXNoha2F7vtR9GulUiWdyTM6niYYibLsYx8n3BFn7/49rFu/gQd/8TDP//H3vPnmbsZ2vYDqvKMMQ3dfdDyuTQdyuTKvsbkC3jmGXshDIT/v2Hhcm/PFONtbOYdW2BK/zm+rq6ubvGEwfHSMZPcSnvj1d7ho6QrCvX3s2Pser722iy9s3MT2vz/Prlf/iX34JfadqOP7/h3ftIeHDwJw5MiYe8BIuJFClMqF6XeGabo/h4JBKqZJKBicNRlN09B1fdbf59t/vu2tnEOrbIlfZ9sqlSsUSjUuvHgdv7v3RibKPdR9MZRIBzYqjzz6GDV/mFjEz4mRPTzz0r/54jXrUbV4bMZHze4DYz7OmTEWn7Hz0Nb569d4Z8x+6J7NHE9HGJ0cZ6JocuFggnAgxDc2X8sfnv4rXek9rL3kYqz0EizVj1oslojHtcbHgZ73iIOEjxqbN17Nzpdf5/EX95PPZnnqvq2M+33ccf82hvft5dabrkJZfh2/eWE7fXWFvW8eRCmXSmQyU43cRNfFi8KiMDjYx4Ejk9xy45e5at0nONbRw+33Psq+3f9hw5rl7Ng7QjwS44pVAfIBjctXX4BSLObcJLw5FxGEVjIxeRIjZ4IxxvjoYTpUlZMTxxqJyug4xyay9HV38eRzw6wfhDUXJlEH+gcYG5/A7w/MmXALQit491gaX61AsDLJSLrGoQMHuO1rm3h7NM3QkiTXfel6tm37Jd09MdShy9jzxh4Up3g8V21QEFrF/v0HODqRY8eh4wQVuHrtGlJ9Ma6/cgUJxeSuu+8iaNv87Ie302Wb7N+9DyU1lBLPCYtONKzS39XB+ESOw4ffY8sP7ien5/nbn//Czldf4btbNtIzMMjTzzyH3xrnq5uXoxrZjHsApyYnCK2mJ9HJu0ePceklF3Hw7SO8fmCY1/e/hY2PTdes5aFfPc3aqzZw5WWDdA5dwMdGtk+nDYlEj3hQWDTCoQCDPXGGDx1BDYbQkr1UahZ6rsBTz21n2acv56bPpjiRi/L4Y3/i7idGUJ1qg2HoM1ZBBKGV+Hw+IuEQqf4kpYpJtWpxwWA3iuKjVKnywj/+xbMvvkxnrANNi7Ju7QrUlatWMzY+gWVVpVQmLHIAQyDgJxCIYNs20FjsjcdsklqMdDbN8mVLCah+1q//zMycV0plgpeuxM0/h4IqndEI4VAAgJyeaeS8fn9jg1x5BS/jxKffH8DIFVCS3Um391KuvIKXCQWDbhNZsjuJ4vTzyiKF0A64PcVGHkXcIbQritPPKwjtgt8fQIvHUJr7eTVNE88InsWJz3hco1gsTffzAtLPK3gaJz4zmSnKpdJ0P29zKUIQWk3NsqhZ1mn3aY7PYjGH4mgKOKUIQVgsVL//tH9vjs+B/oGZixSC4NXAff8Nm5ErNPp5pcYrtBOWVSU1lEIxshm0aEN6R/p5BS/jxKcWjWFkT/U2KMGw9PMKbUEi0YMSDDfShnhn1C2VST+v4GWc+Mxkpoh3RqefpKibZfGO4HmcOHVv2OCUeJogeBwnTt0bNqf8IAhex4lTI5tBdeq8Trns27fcYIuLBC+y84033N5zI1dATQ2leHtkxN3hkSefFS8JnuSTlywFpuu8qlPn1Qt5p47mEzcJXiQSjtrQVOdVgyHyp1SrpVQmeBknPvPlCmowJPq8QvugaZq7mDajn1f0eQWvo+s6dbM8u59X9HkFr1MxTbfOO6OfVx59F7yO8+g7NPXzOuUHQfA6TpzOWB4WhHZixvIwSD+v4G2a49Pt5wXR5xXaAydOjVxhutog+ryC1ymVCxiGPl1tWLlqtZsIS6lM8DIV03Rv2FauWj0z55VSmeBlmuPTzXlFn1dolysviD6v0KZXXtHnFdoW0ecVzgtEn1doO0SfV2g7RJ9XaFtEn1doW0SfV2hbRJ9XOC9u2ESfV2hLRJ9XaDtEn1doa0SfV2hLRJ9XaGtEn1doW0SfV2hbTqvPe8WnVtqwsP+LtVAU3xzH9tcb361Go1vdtlrqFGdO52rXqtfJGgUyWZ2f3nYxd247yGBfEi0WoW7bZ+3XD2p+p6P5P1B68fznCsYMfd5ZdV7V7/9QJz7/WVcWPXDndewZYts2pbLJ8Umde7YMsaavxNc/l+L4ZJZSpYpt24s6vzOhHc6/Z+u8rQ7cD5Jq1WIqk2PDpVE2XV7FzE6xaVWAZb0h0tkcNasun/vncP5n1Xm9oM9bty33q13fPHXbJl8sU62WeODWXqySTr1mUs6kuXPjUoqFIqWySd22PfvmXpQr7gLO//v1ed1+3kSip2X9vM2T9FLAntNcbBuzVuPH37qI3kQEtbOXcM8Swolu+pMdbL1hBdWqBWcRvB/I/Dx6dV3Ia3L0eZ1+XtXp59WiMXRdpzMa/0imB+c6H5/PRzQS4oHfjnL3wxWsphTB71eIdYToSXTi8/nOC38thr8dfV69kKcnqaFCY8ktk5kiEo6y8fprOZk+SbliUrcqBMNh+nr7cR7U1OIxisUS5VKJYjHHQP8ARq5AaiiFkc3gLHoku5MLHlOrV+nr7Rf7Yn9O+6+8/Cp6Ie+2Mvi23PwVG6C/v5dCPk++UAJwl4yb62tzdZ85252bPiUYdseezRhnYmJf7L9/zJLBAaKxGCdOTDZy9K6uDrLZIsPDB+ctCltWdcYkmg04dTe9kHcn01zSWOiY+Zwm9sX+0dGj7rG6ujpQa1Wbnbt2ATM71SumSSgYnPW9kXvkMSs1skZmxhinlOHcFZ7NGLEv9k9nv/Eo0Ltce83n+R+bCm28wSXdjwAAAABJRU5ErkJggg==\")","module.exports=require(\"alt1/base\").ImageDetect.imageDataFromBase64(\"iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAehm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYX5ysAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAQyklEQVR42u1da4wlx1X+uh7dfR9zZ2Zndvbh127sTWxjr53YRCaOQyxZBIMTBQmIBD8QIfIPIBL/CD9AJARZAgmiSBGOAhFIEUIyivIDQkA8xGPBD4Gdtb12FK8fa++ud2ZnZ+6de/t2V1dV86P61O17vSYOhJm7q/qk0b1zu7u66pzTp0+dOnVO9LGff7i6tPEmGOcAAM4FCMZoNGGNgYwTAECpCv+9+T99GqNRVRZCxAAArRUqW02d0/wEMNU2/d9sh/rDuYAxGtYYMM79/9T3UhVgnE8db44nabVQjMd+THROsz9Ej+a46R7N/jXHS32j62fbbLb9P91vltazNKZ+NMdM47vS+WetxXi0g1IpqCJHxCKwiOPSxgXccOQIvvylL+B3Pvd5ZC//K8RL3zmFN149DcYYGOfQZQlrDRaXV1DkOXSpIGQMaw0YcwRWRQ4AEFIiThLkWQatS8RJCsY4dKkAAGm7DV1OCKiK3N+HiOnaif0xIeOpewJAq93BaGcAAFNM1mUJISWsMRAybvyuwDhHnCRQReH7ZK1FnKT+vHw8AmPc/0ZjnO3/7HnUfrP/SZpip7891R9qR8gYQgqoopjqN2Pc07JJf6JrNhxell6M86lrm/xSRX7F8s8ag1LlyEc7WFldxrvfdRRpuoBnT53E++/5AB75wh/hW3/5NaQtic2shACAOEmhihxpu+0739/aRLe3OMUs6mC728Vw0AdjKbLhENYapK0O8vEIaaszEY4smyJcu9v1wkSdJwgpa8I7AUvSFKOdAYSMsdPfvixhSACoj0RwascJBffXCCmQZ5lnPjHLWuMZQczw2soaCCHRWehhtDPwxGeMTwmptQZxkvp7NYXS9U83hJZBFXl9f+bPT9ttp40YhyoK/7CoIoeQcqpda8zUwzThV3pF8k/lY6g8w203H8Pv/dYv4aZrjiHdv4Ynnn0Njz/+FO7/8Ydw4h++haf+499QvfqPeOqMQnT8ng9X515/zTeapI4gSZqiyHPfOfpdGwNTllhcXsFoOIQuC38sGw2RpB1wHkHXwmDqASZp6n+LwMB5NNUeAEgpYWeuoT7Q9yRNYUwFzqO3HBMygS6LqVcl9a15rjEVKlgIzt/SBpfS338WXEp/jZCJHwO1z6X0Y6b70rFmP5rjarY5e02Tbs02tTEQ9UM02//muK8U/kkpsX1xHbfffhxf++xPYj1fhY26YK02Kgh8+StfheYpui2OC6dP4ut/9ySuOXoTolvv/mD15tkzsMags9DD2dMvRAgI2EV0llYrnWd48q9/H/mghTc2LmE9Uzh6aBmpTAAW4S++/jdYUSdx5PDN+Kt/fhpPXhTObCDV3XzyAwJ2CyyK8ImH7seT//Jf+NO/fx7D7W089rlfwXke4dc+/yhefO5Z/OLH7wO78SP44789gbWKo+hfBGsazwEBewFrLQ4dXsOpMxv4uY/+GO67+4dwrr2KT3/2K3ju6f/EPcdvxBPPnkav1cUH3iMxlIu47+73gAkh/OQhIGAvoEuF9Y1LGOwoYHAW5994FW0hcGn9HADg7BvncW59G2srS/jzb76I9x8Cjh/dB6G1Rpyk3q0RELDrZgMXePnsJrgZIS42cHpT46VTp/CpTzyE776xiesO78NHHngQjz76RaysdiGuux0nnzk5MRsY41Oz04CA3ULSauOZk8/h9fUdPPHSm4gZ8KN3Hse1a108eO8xLDOFz/zGZxBXFf7gNz+NpUrh+aefQ/Teex+oXn/1NFSRY/XAQbz8/NPB2xCwq1g+cG2VDQe465Yb8Morr8FUDHfcciN+4kPvwzNP/DuG4ww/+9MP4fFT6xgNLuDm1Qrrwzedq+zSxQvQpUaSpsFVFrDr2Hfo+spoDVOMcc/xo3jxpTMYF2OgYqgQ4aEP34mXv30ad953D374phgL1x2BPX3CmQ261H7lJiBg170NxkDKGDLt4MS3XwZEjIXl/RiXBlv9IR775gm866478PEfuRYXdjr46p98A5/60vPObDj9necRJyl6S0vBbAjYdXT3rVVCuNVJRABnzAXmqKJehteIqgpJzKGUho0Yjh671S1SWGt8bEBAwK4Lb28ReZbBWot2t4tsOEScthCnbVhr0On1sLO1hYXFRfS3LsEag7TdASuKHEJIF9FkgrssYPdBgssYQ55ltevWQhU5Wu0O+pubEDJGxEUdYBWjKHKwJEl9lJUJq2wBewCK4nPRZhZCCh/lV+QuxFMVOUxZgjEOxjmSJHWal2JDQ2xDwF6BQkddWKlG2m4jTlLk4xHiJIWQEkma1mGd3GneQLaAufA4WAtrjQu9LFUdSyyQtjqIk+TyAt/p9qCKHAuLS2GFLWBPQMH2uiwxzkYuaF2XGA760KWCLjXiJEGROzlVRY5Ot+c0b5ykGGcjH0wdELDbaLU7botRvbPFady03oqkMBz0waXEOBv5IDJW5Fltc3B0u71AxYBdR7vbRX9rE1o7h0EzPFcVBbQukbY66HZ7Pva8yDOneYUUsNZgNBwGSgbsOrLh0Alnb9FvIE1St7+Q/lSRY1TvtxPS7ZBmWut6lyp/y/6vgIDd8jRMbNvUm7GqcLufFxaX6oU0t+KWDYfQWrtgdFHbusFVFrAnwss59u1fg5DC7XRmk+3xQsbob20ibXW8fAopIYRwmndiRwRvQ8BeaF6O9fNnfdIR+o1SMszKJ2PcaV4AYRdFwJ6CBHS0M/C5L/LxyGvapdX9UzJK35kQoqGik0DJgD2xeRljPp4BcME6O/1txEmKYX+7TvAykU9vNjgnsZhKohEQsJvQukS72wUAdBZ6yLOsVqguzsFaC86jOm1WDq01RJKkEEJClzrYvAF7Amtt7SZzKa5GOwO/XJwNh1g9cBBFnte51zSEkI3AHO5WNcIKW8BeYPXAQQwHfR8c1lnoedPBWoNsNPQrwNa6zJKTkMh6NhdCIgP2Auvnz4IxjsXlFez0t70FkGcZFpdXXLxvIycaY42QSIqXXFxeCZQM2IMJG0er20F/a3M63SznGGcjf97i8opfgSuK3Nm8tASXj0e4/2d+oQrkDJhHvHbqpJfVJEkhjNHQpUKcuBSU//TYnwUqBcwlrrnxFu8HNkbTBkwLXSpyCgd/WcC8oqIM9wAoqizENgTMP5qxDV54ZeI2wBkTzN2A+QXJJ8kr41ygyMZ+BSMgYF7BeQRrLYpsDM4pM/pMGaWAgHlFsxqRKIrcrx2H5eGAeYbL4eAma0WRT6LKRFgaDrgCQHIqhHA2L0lzQMCVADc/E5MiggEBV4bNyxEntc1LVRVpx2ZAwDyDSukKGTs/78LiEnx+1ICAebZ5hcTC4pLTwqPhwKfYCQiY/wlbjHE2wmg4mFTATNI0mA0Bc43ZOtIsqWuwNeMmAwLmFeNs5OZnPhi9TuQbMqMHzDNIPq0xk/y8QsZua3FYJg6YZ3uX83oLfDwxG3SpIGQcosoC5hrGVC53b6mmdw8DCIn2AubbbKjlc2r3MGUpCd6GgCvB26CK3GleIWPvKgtRZQHzjCLPfd5eIWMw2nw5zkZB8wbMvealtP66VM7mBTCVEzUgYF7h050WOdjyyn6faC8gYN5BifaWV/aDbW1uuGJtWRYWKQLm29tgjC/vurW5MV1EMCxSBMy11p2RT+8qY5xDxiG5dMD8QsYJGOcTVxkw2UkxHPQDhQLmFiSfkyKC9S6K4G0IuFK8DZQlkgGu4mCI5w2Yd5CMUoVMIYTwGSKN0YFCAXOLbDT0hQaFEBBauxSnANBbWsK+Q9dXuix9FW6yLyjybPbTWgNrXCLg5vnevVGfR/ETQkof1kb3pe9pu42sUUKWMQYhY+TjEdJWZ+qeVNKTMqioIvf78CjQiJKp0IqMtdZXnZlKYsy4b5tA40rbbQwHfX9/ay3a3S5UUfjrqD1V5JBxDDXOwO0If/jLt+JXv/gCWNKBiBMkaQpVFFBF7u8fJ4lvn+hFdIgTp2lGOwMwzr1p16Q5vTmJX7OfVxP/2p0uLm2su35pTTspbKOzpa++zRjzCxjUQapfQWlRnQ1ivSHtynC6Qc0G/EwExvq2mgIzHPRhrZkY5A3XiKsAMyk74HaRskksspC+LWuM96D4jIKcT85v1PQiG4oYRHWY3Y5qC11Ov43iJPX1EwjtbtflOI4TqHyMPBvidx8+gjvXcnzy/uugxiNoVSCvd6uQoKoiB+fCx5YQ3XSp/SbD/tYmOgu9xoNiPFMvx6+rmX8TxWLf6m2gJ6uz0JvSRKoofJp1Ve+8iJPUMzxu1LUgQjS1CwX8EDGoZJEuS88QChCiJ5TOaTI7rrcskdDRgBxDrNcC1JbfIdIoCWqt8fdQRV7Xty29pnCvpaQmpoQqcqStTi0EcW1rySlGqqJoMLXAA3f18NE7Sqjti/jYzRK3XduC1SUQRVPaXgiJIs99bImQMToLPQgpUOQ58vHIn0PC4rRq7AV1ll9XO/8u621oSj11tvkUxUkCXZbo9haxb/9a45UhJ3XcJPdEiZMUXHL/lLrfZd2ORtpuQ0iJtN32WoUG54hceKFykUQMcZL4AQkp/XUkeE0CUz9o0MR8uiZtt32R5rjh6yZtSP1qggo5U7tCCn+tNa6wc0eUeOSTazDjPqxWyLc28esPXgtR5bDawGpdC53wGoiYSYJC2p6ip5pvRVFXxKHX6Sy/rmb+kXCTt4Efefdtv33h3BkwzhFFDEU+RlXZ+uktUaraRtIlrLWQcYz+1iVUVYWIRYiTBFHkXk9RvWCnSwWtS2hV21ARYLRG0mp5xtArpKpch1sdp92i+pVX5GNXTG6cwVqDqqqgigKtTgelUjDGIGIRuJAolUKr04G1FhGLYLT2gmiMhowTf7+mieBeSy7dFRcCUcRAZQ50WYJxDi5cMWcZJ+67LlFVFoxz5OMMxmhXM7eqAGvwyMM34H3HWoiEhLI9qLKNxaUuDqz28NQrY2hd1m06eu4/eBg7/W0krdRXgKwqV4OMFo2IPlVV+euElIgi5vtD/DLGXLX840KgVG7OcPi6o4huvfuD1bkzr0DIGL2lJayfPztlf9CEhJ46VRT+6WlOfCiTCT1B9IQ0Jw8A0Op2MBoM0O0tuuuyzL8ynO1IFTmlnzARwehV1pxE0NOuy9JPpCbnld6uot9oktCcCDQnGqsHDmL9/FlvKsxO8OgBoLa9PR0xKJVDFzlKVaCqLKIoQlVVEEKCcQFEEZZWDzTMDOPNkuab4XL3ITqQdiX60kSH+EWmxtXIv9UDBzHY3oYuFQ5fXwvv+vmz9SsmweLSMsq6o2mr42eKzU9ZG9Fc1BnVtUJZlugu9DDcGfhrjVbgIvbHyfaZ/Z/aLMvSfzZtJTpfSgkuJrNXar95vV9KrM9t3sto5Y/P9n22L7PX0j2b51A7szRqTkqIJtRm81jzGurbLA3oPm/Hk1l6UZ+vRv5dunjBe3nWDl2D6L33PlC98t0Xptwmu+FSaj5xs8Y8aYgfpEuJNEhTszU1a3O23dRa79SF1NRYe+kCnP28GvmnS4Wjx25xE7amC2NXXEpE9HrW62bOyjOGiib/IFxKbvKRNGbnwruD4iRF2m77CUTTDdSceVN/aSwTn6fwx2nG/L1cSDSh+f9yAV7N/POKQ5coihzRhx78qerixsY7XuUQQriK23VSaq31O77m7WC0QrvTQ5YNwbl42zaa90uS1K8IDnf6U69rAH4i9f3ie/X1/3rt90u//+04rnb+re7fj/8GO6Pn3eR9G3UAAAAASUVORK5CYII=\")","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar SearchData = /** @class */ (function () {\n    function SearchData() {\n        this.reaper = false;\n        this.task = 'Dragons';\n        this.probability = 0;\n    }\n    return SearchData;\n}());\nexport { SearchData };\nvar SearchAlgorithm = /** @class */ (function () {\n    function SearchAlgorithm() {\n        this.data = new SearchData();\n    }\n    // Lookup best possible assignment based on input string\n    SearchAlgorithm.prototype.lookup = function (lookup_1) {\n        return __awaiter(this, arguments, void 0, function (lookup, skipReaper) {\n            var probabilities, reapersResponse, reapers, _i, reapers_1, a, _a, _b, b, assignmentsResponse, assignments, _c, assignments_1, a, _d, _e, b, _f, _g, b, key, aliasKeys, _h, aliasKeys_1, aliasKey, creatureKeys, _j, creatureKeys_1, creatureKey;\n            if (skipReaper === void 0) { skipReaper = false; }\n            return __generator(this, function (_k) {\n                switch (_k.label) {\n                    case 0:\n                        probabilities = {};\n                        if (!!skipReaper) return [3 /*break*/, 3];\n                        return [4 /*yield*/, fetch(\"./data/reapers.json\")];\n                    case 1:\n                        reapersResponse = _k.sent();\n                        return [4 /*yield*/, reapersResponse.json()];\n                    case 2:\n                        reapers = _k.sent();\n                        for (_i = 0, reapers_1 = reapers; _i < reapers_1.length; _i++) {\n                            a = reapers_1[_i];\n                            probabilities[a[\"index\"]] = {\n                                reaper: true,\n                                index: Math.round(this.similarity(a[\"index\"], lookup) * 10000) / 100,\n                                creatures: {}\n                            };\n                            for (_a = 0, _b = a[\"creatures\"]; _a < _b.length; _a++) {\n                                b = _b[_a];\n                                probabilities[a[\"index\"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;\n                            }\n                        }\n                        _k.label = 3;\n                    case 3: return [4 /*yield*/, fetch(\"./data/assignments.json\")];\n                    case 4:\n                        assignmentsResponse = _k.sent();\n                        return [4 /*yield*/, assignmentsResponse.json()];\n                    case 5:\n                        assignments = _k.sent();\n                        for (_c = 0, assignments_1 = assignments; _c < assignments_1.length; _c++) {\n                            a = assignments_1[_c];\n                            probabilities[a[\"index\"]] = {\n                                reaper: false,\n                                index: Math.round(this.similarity(a[\"index\"], lookup) * 10000) / 125,\n                                alias: {},\n                                creatures: {}\n                            };\n                            for (_d = 0, _e = a[\"alias\"]; _d < _e.length; _d++) {\n                                b = _e[_d];\n                                probabilities[a[\"index\"]].alias[b] = Math.round(this.similarity(b, lookup) * 10000) / 150;\n                            }\n                            for (_f = 0, _g = a[\"creatures\"]; _f < _g.length; _f++) {\n                                b = _g[_f];\n                                probabilities[a[\"index\"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;\n                            }\n                        }\n                        // Find highest likelihood of the search\n                        for (key in probabilities) {\n                            if (probabilities[key].index > this.data.probability) {\n                                this.data.task = key;\n                                this.data.reaper = probabilities[key].reaper;\n                                this.data.probability = probabilities[key].index;\n                            }\n                            if (probabilities[key].alias) {\n                                aliasKeys = Object.keys(probabilities[key].alias);\n                                for (_h = 0, aliasKeys_1 = aliasKeys; _h < aliasKeys_1.length; _h++) {\n                                    aliasKey = aliasKeys_1[_h];\n                                    if (probabilities[key].alias[aliasKey] > this.data.probability) {\n                                        this.data.task = key;\n                                        this.data.reaper = probabilities[key].reaper;\n                                        this.data.probability = probabilities[key].alias[aliasKey];\n                                    }\n                                }\n                            }\n                            if (probabilities[key].creatures) {\n                                creatureKeys = Object.keys(probabilities[key].creatures);\n                                for (_j = 0, creatureKeys_1 = creatureKeys; _j < creatureKeys_1.length; _j++) {\n                                    creatureKey = creatureKeys_1[_j];\n                                    if (probabilities[key].creatures[creatureKey] > this.data.probability) {\n                                        this.data.task = key;\n                                        this.data.reaper = probabilities[key].reaper;\n                                        this.data.probability = probabilities[key].creatures[creatureKey];\n                                    }\n                                }\n                            }\n                        }\n                        return [2 /*return*/, this.data];\n                }\n            });\n        });\n    };\n    // Check the similarity of 2 strings\n    SearchAlgorithm.prototype.similarity = function (s1, s2) {\n        var longer = s1;\n        var shorter = s2;\n        if (s1.length < s2.length) {\n            longer = s2;\n            shorter = s1;\n        }\n        var longerLength = longer.length;\n        if (longerLength === 0)\n            return 1.0;\n        return (longerLength - this.editDistance(longer, shorter)) / parseFloat('' + longerLength);\n    };\n    // Calculate the edit distance between 2 strings\n    SearchAlgorithm.prototype.editDistance = function (s1, s2) {\n        s1 = s1.toLowerCase();\n        s2 = s2.toLowerCase();\n        var costs = [];\n        for (var i = 0; i <= s1.length; i++) {\n            var lastValue = i;\n            for (var j = 0; j <= s2.length; j++) {\n                if (i === 0) {\n                    costs[j] = j;\n                }\n                else if (j > 0) {\n                    var newValue = costs[j - 1];\n                    if (s1.charAt(i - 1) !== s2.charAt(j - 1)) {\n                        newValue = Math.min(Math.min(newValue, lastValue), costs[j]) + 1;\n                    }\n                    costs[j - 1] = lastValue;\n                    lastValue = newValue;\n                }\n            }\n            if (i > 0) {\n                costs[s2.length] = lastValue;\n            }\n        }\n        return costs[s2.length];\n    };\n    return SearchAlgorithm;\n}());\nexport { SearchAlgorithm };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport * as a1lib from \"alt1\";\nimport DialogReader from 'alt1/dialog';\nvar SlayerData = /** @class */ (function () {\n    function SlayerData() {\n        this.selectYourOwn = false;\n        this.ticket = false;\n        this.reaper = false;\n        this.count = [];\n        this.task = [];\n    }\n    return SlayerData;\n}());\nvar SlayerDialogReader = /** @class */ (function () {\n    function SlayerDialogReader() {\n    }\n    SlayerDialogReader.prototype.read = function () {\n        return __awaiter(this, arguments, void 0, function (buffer) {\n            var data, box, msg, countText, e, countText, e, i, msg, countText;\n            if (buffer === void 0) { buffer = null; }\n            return __generator(this, function (_a) {\n                if (!buffer) {\n                    buffer = a1lib.captureHoldFullRs();\n                }\n                if (!this.dialogReader) {\n                    this.dialogReader = new DialogReader();\n                }\n                this.data = new SlayerData();\n                data = this.dialogReader.find(buffer);\n                if (!data)\n                    return [2 /*return*/, null];\n                box = this.dialogReader.read(buffer);\n                if (!box)\n                    return [2 /*return*/, null];\n                if (box.text && (!box.opts || box.opts.length !== 2)) {\n                    msg = box.text.toString();\n                    // Parsing logic for various types of dialogs\n                    if (msg.toLowerCase().includes(\"select your own task\")) {\n                        this.data.selectYourOwn = true;\n                    }\n                    if (msg.toLowerCase().includes(\"require you to collect\")) {\n                        this.data.reaper = true;\n                        countText = msg.substring(msg.indexOf(\"collect \") + 8, msg.indexOf(\" souls\"));\n                        this.data.count[0] = parseInt(countText);\n                        this.data.task[0] = msg.substring(msg.indexOf(\"battle: \") + 8, msg.indexOf(\". Can\"));\n                    }\n                    if (msg.toLowerCase().includes(\"new task is to kill\")) {\n                        e = msg.substring(msg.indexOf(\"kill \") + 5, msg.length - 1);\n                        countText = e.substring(0, e.includes(\",\") ? e.indexOf(\",\") : e.indexOf(\" \"));\n                        this.data.count[0] = parseInt(countText);\n                        this.data.task[0] = e.substring((e.includes(\",\") ? e.indexOf(\",\") : e.indexOf(\" \")) + 1);\n                    }\n                    if (msg.toLowerCase().includes(\"still need to kill\")) {\n                        e = msg.substring(msg.indexOf(\"kill \") + 5);\n                        this.data.count[0] = parseInt(e.substring(0, e.indexOf(\" \")));\n                        this.data.task[0] = e.substring(e.indexOf(\" \") + 1, e.includes(\".\") ? e.indexOf(\".\") : e.length - 1);\n                    }\n                    if (msg.toLowerCase().includes(\"still hunting\")) {\n                        this.data.task[0] = msg.substring(msg.indexOf(\"hunting \") + 8, msg.indexOf(\";\"));\n                    }\n                }\n                if (box.opts && box.opts.length === 2 && (box.title && box.title.toLowerCase().includes(\"change your assigned slayer task\"))) {\n                    this.data.ticket = true;\n                    for (i = 0; i < box.opts.length; i++) {\n                        msg = box.opts[i].text;\n                        countText = msg.substring(0, msg.indexOf(' '));\n                        this.data.count[i] = parseInt(countText);\n                        this.data.task[i] = msg.substring(msg.indexOf(' ') + 1, msg.includes('(') ? msg.indexOf('(') - 1 : msg.length);\n                    }\n                }\n                return [2 /*return*/, this.data];\n            });\n        });\n    };\n    return SlayerDialogReader;\n}());\nexport { SlayerDialogReader };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport * as a1lib from \"alt1\";\nimport * as OCR from \"alt1/ocr\";\nimport * as settings from \"./settings\";\nvar imgs = a1lib.webpackImages({\n    slayer_expanded_RS3: require(\"../images/data/slayer_expanded_RS3.data.png\"),\n    slayer_expanded_OSL: require(\"../images/data/slayer_expanded_OSL.data.png\"),\n    reaper_expanded_RS3: require(\"../images/data/reaper_expanded_RS3.data.png\"),\n    reaper_expanded_OSL: require(\"../images/data/reaper_expanded_OSL.data.png\"),\n    slayer_collapsed_RS3: require(\"../images/data/slayer_collapsed_RS3.data.png\"),\n    slayer_collapsed_OSL: require(\"../images/data/slayer_collapsed_OSL.data.png\"),\n    reaper_collapsed_RS3: require(\"../images/data/reaper_collapsed_RS3.data.png\"),\n    reaper_collapsed_OSL: require(\"../images/data/reaper_collapsed_OSL.data.png\"),\n});\nvar UICounterData = /** @class */ (function () {\n    function UICounterData() {\n    }\n    return UICounterData;\n}());\nexport { UICounterData };\nvar UICounterReader = /** @class */ (function () {\n    function UICounterReader() {\n        this.countFont = null;\n        this.taskFont = null;\n        this.data = null;\n    }\n    UICounterReader.prototype.read = function (buffer) {\n        return __awaiter(this, void 0, void 0, function () {\n            var _a, _b, width, height, _i, _c, match, countText;\n            return __generator(this, function (_d) {\n                switch (_d.label) {\n                    case 0:\n                        if (!buffer)\n                            buffer = a1lib.captureHoldFullRs();\n                        if (!!this.countFont) return [3 /*break*/, 2];\n                        _a = this;\n                        return [4 /*yield*/, fetch(require(\"../fonts/aa_10px_mono.fontmeta.json\")).then(function (r) { return r.json(); })];\n                    case 1:\n                        _a.countFont = _d.sent();\n                        _d.label = 2;\n                    case 2:\n                        if (!!this.taskFont) return [3 /*break*/, 4];\n                        _b = this;\n                        return [4 /*yield*/, fetch(require(\"../fonts/aa_8px_mono.fontmeta.json\")).then(function (r) { return r.json(); })];\n                    case 3:\n                        _b.taskFont = _d.sent();\n                        _d.label = 4;\n                    case 4:\n                        // Reset data for next search\n                        this.pos = [];\n                        this.data = null;\n                        // Look for all UI Elements until we find one, then the rest will get skipped\n                        this.findUIElement(buffer, imgs.slayer_collapsed_OSL, { reaper: false, collapsed: true, OS: true });\n                        this.findUIElement(buffer, imgs.slayer_expanded_OSL, { reaper: false, collapsed: false, OS: true });\n                        this.findUIElement(buffer, imgs.slayer_collapsed_RS3, { reaper: false, collapsed: true, OS: false });\n                        this.findUIElement(buffer, imgs.slayer_expanded_RS3, { reaper: false, collapsed: false, OS: false });\n                        this.findUIElement(buffer, imgs.reaper_collapsed_OSL, { reaper: true, collapsed: true, OS: true });\n                        this.findUIElement(buffer, imgs.reaper_expanded_OSL, { reaper: true, collapsed: false, OS: true });\n                        this.findUIElement(buffer, imgs.reaper_collapsed_RS3, { reaper: true, collapsed: true, OS: false });\n                        this.findUIElement(buffer, imgs.reaper_expanded_RS3, { reaper: true, collapsed: false, OS: false });\n                        // If we don't find any data or we found too many matches then return\n                        if (!this.data && this.pos.length == 0)\n                            return [2 /*return*/, null];\n                        width = this.data.collapsed ? imgs.slayer_collapsed_OSL.width : imgs.slayer_expanded_OSL.width;\n                        height = this.data.collapsed ? imgs.slayer_collapsed_OSL.height : imgs.slayer_expanded_OSL.height;\n                        // Loop the results and return the data we find\n                        for (_i = 0, _c = this.pos; _i < _c.length; _i++) {\n                            match = _c[_i];\n                            // Overlay a rectangle around the matched area on screen if we're running in alt1\n                            if (window.alt1 && alt1.permissionOverlay && settings.controller.data.ui.counter)\n                                alt1.overLayRect(a1lib.mixColor(255, 255, 255), match.x, match.y, width, height, 500, 3);\n                            // Get the pixel data for the matched area\n                            this.data.img = buffer.toData(match.x, match.y, width, height);\n                            countText = OCR.findReadLine(this.data.img, this.countFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], this.data.collapsed ? 10 : 72, 15, 30, 3);\n                            this.data.count = parseInt(countText.text);\n                            if (!this.data.collapsed)\n                                this.data.task = OCR.findReadLine(this.data.img, this.taskFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], 9, 28, 156, 3).text;\n                        }\n                        return [2 /*return*/, (!this.pos || this.pos.length == 0) ? null : this.data];\n                }\n            });\n        });\n    };\n    UICounterReader.prototype.findUIElement = function (buffer, img, mode) {\n        if (!this.data && this.pos.length == 0)\n            this.pos = buffer.findSubimage(img);\n        if (!this.data && this.pos.length > 0)\n            this.data = { reaper: mode.reaper, collapsed: mode.collapsed, OS: mode.OS, img: null, count: -1, task: null };\n    };\n    return UICounterReader;\n}());\nexport { UICounterReader };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Fetch a single assignment based on the index or alias\nexport function get(assignment) {\n    return __awaiter(this, void 0, void 0, function () {\n        var response, data, _i, data_1, a, _a, _b, b, error_1;\n        return __generator(this, function (_c) {\n            switch (_c.label) {\n                case 0:\n                    _c.trys.push([0, 3, , 4]);\n                    return [4 /*yield*/, fetch(\"./data/assignments.json\")];\n                case 1:\n                    response = _c.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _c.sent();\n                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {\n                        a = data_1[_i];\n                        if (a[\"index\"].toLowerCase() === assignment.toLowerCase()) {\n                            return [2 /*return*/, a];\n                        }\n                        for (_a = 0, _b = a[\"alias\"]; _a < _b.length; _a++) {\n                            b = _b[_a];\n                            if (b.toLowerCase() === assignment.toLowerCase()) {\n                                return [2 /*return*/, a];\n                            }\n                        }\n                    }\n                    return [2 /*return*/, null];\n                case 3:\n                    error_1 = _c.sent();\n                    console.error(\"Error fetching data:\", error_1);\n                    return [2 /*return*/, null];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n// Get an array of the index\nexport function getIndexList() {\n    return __awaiter(this, void 0, void 0, function () {\n        var dataList, response, data, _i, data_2, a, error_2;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    _a.trys.push([0, 3, , 4]);\n                    dataList = \"\";\n                    return [4 /*yield*/, fetch(\"./data/assignments.json\")];\n                case 1:\n                    response = _a.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _a.sent();\n                    for (_i = 0, data_2 = data; _i < data_2.length; _i++) {\n                        a = data_2[_i];\n                        dataList += \"<option>\".concat(a[\"index\"], \"</option>\\n\\r\");\n                    }\n                    return [2 /*return*/, dataList];\n                case 3:\n                    error_2 = _a.sent();\n                    console.error(\"Error fetching data:\", error_2);\n                    return [2 /*return*/, \"\"];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Assuming decodeHtml function is defined or imported elsewhere\nimport { decodeHtml } from '../extrafuncs';\n// Fetch a single creature based on the name\nexport function get(creature) {\n    return __awaiter(this, void 0, void 0, function () {\n        var response, data, _i, data_1, a, error_1;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    _a.trys.push([0, 3, , 4]);\n                    return [4 /*yield*/, fetch(\"./data/creatures.json\")];\n                case 1:\n                    response = _a.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _a.sent();\n                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {\n                        a = data_1[_i];\n                        if (decodeHtml(a[\"name\"].toLowerCase()) === creature.toLowerCase()) {\n                            return [2 /*return*/, a];\n                        }\n                    }\n                    return [2 /*return*/, null];\n                case 3:\n                    error_1 = _a.sent();\n                    console.error(\"Error fetching data:\", error_1);\n                    return [2 /*return*/, null];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Assuming decodeHtml function is defined or imported elsewhere\nimport { decodeHtml } from '../extrafuncs';\n// Fetch a single master based on the name\nexport function get(master) {\n    return __awaiter(this, void 0, void 0, function () {\n        var response, data, _i, data_1, a, error_1;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    _a.trys.push([0, 3, , 4]);\n                    return [4 /*yield*/, fetch(\"./data/masters.json\")];\n                case 1:\n                    response = _a.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _a.sent();\n                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {\n                        a = data_1[_i];\n                        if (decodeHtml(a[\"name\"].toLowerCase()) === master.toLowerCase()) {\n                            return [2 /*return*/, a];\n                        }\n                    }\n                    return [2 /*return*/, null];\n                case 3:\n                    error_1 = _a.sent();\n                    console.error(\"Error fetching data:\", error_1);\n                    return [2 /*return*/, null];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Fetch a single reaper based on the index or alias\nexport function get(reaper) {\n    return __awaiter(this, void 0, void 0, function () {\n        var response, data, _i, data_1, a, error_1;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    _a.trys.push([0, 3, , 4]);\n                    return [4 /*yield*/, fetch(\"./data/reapers.json\")];\n                case 1:\n                    response = _a.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _a.sent();\n                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {\n                        a = data_1[_i];\n                        if (a[\"index\"].toLowerCase() === reaper.toLowerCase()) {\n                            return [2 /*return*/, a];\n                        }\n                    }\n                    return [2 /*return*/, null];\n                case 3:\n                    error_1 = _a.sent();\n                    console.error(\"Error fetching data:\", error_1);\n                    return [2 /*return*/, null];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n// Get an array of the index as HTML option elements\nexport function getIndexList() {\n    return __awaiter(this, void 0, void 0, function () {\n        var dataList, response, data, _i, data_2, a, error_2;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    _a.trys.push([0, 3, , 4]);\n                    dataList = \"\";\n                    return [4 /*yield*/, fetch(\"./data/reapers.json\")];\n                case 1:\n                    response = _a.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _a.sent();\n                    for (_i = 0, data_2 = data; _i < data_2.length; _i++) {\n                        a = data_2[_i];\n                        dataList += \"<option>\".concat(a[\"index\"], \"</option>\\n\\r\");\n                    }\n                    return [2 /*return*/, dataList];\n                case 3:\n                    error_2 = _a.sent();\n                    console.error(\"Error fetching data:\", error_2);\n                    return [2 /*return*/, \"\"];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Import the decodeHtml function\nimport { decodeHtml } from '../extrafuncs';\n// Fetch a single variant based on the creature name and variant name\nexport function get(creature, variant) {\n    return __awaiter(this, void 0, void 0, function () {\n        var response, data, _i, data_1, a, _a, _b, b, error_1;\n        return __generator(this, function (_c) {\n            switch (_c.label) {\n                case 0:\n                    _c.trys.push([0, 3, , 4]);\n                    return [4 /*yield*/, fetch(\"./data/creatures.json\")];\n                case 1:\n                    response = _c.sent();\n                    return [4 /*yield*/, response.json()];\n                case 2:\n                    data = _c.sent();\n                    for (_i = 0, data_1 = data; _i < data_1.length; _i++) {\n                        a = data_1[_i];\n                        if (decodeHtml(a[\"name\"].toLowerCase()) === creature.toLowerCase()) {\n                            for (_a = 0, _b = a[\"variants\"]; _a < _b.length; _a++) {\n                                b = _b[_a];\n                                if (b[\"name\"].toLowerCase() === variant.toLowerCase()) {\n                                    return [2 /*return*/, b];\n                                }\n                            }\n                        }\n                    }\n                    return [2 /*return*/, null];\n                case 3:\n                    error_1 = _c.sent();\n                    console.error(\"Error fetching data:\", error_1);\n                    return [2 /*return*/, null];\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n","// Import required modules\nimport * as main from './dochandler/main';\n// Export required modules\nexport * as animate from './dochandler/animate';\nexport * as change from './dochandler/change';\nexport * as hide from './dochandler/hide';\nexport * as hover from './dochandler/hover';\nexport * as main from './dochandler/main';\nexport * as show from './dochandler/show';\nexport * as open from './dochandler/open';\n// Function to get the side element based on the index\nexport function getSide(i) {\n    var base = main.get.elid(\"base\");\n    var side = main.get.elc(i === 0 ? \"left\" : \"right\", base);\n    if (!side) {\n        side = main.get.elc(\"single\", base);\n    }\n    return side;\n}\n","// Import required modules\nimport * as dochandler from '../dochandler';\n// Function to show the loading bar\nexport function loading() {\n    var loadingBar = dochandler.main.get.elid(\"loading-bar\");\n    if (loadingBar) {\n        loadingBar.style.visibility = \"visible\";\n    }\n}\n// Function to hide the loading bar\nexport function loadingStop() {\n    var loadingBar = dochandler.main.get.elid(\"loading-bar\");\n    if (loadingBar) {\n        loadingBar.style.visibility = \"hidden\";\n    }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Import all modules as namespaces\nimport * as settings from '../settings';\nimport * as dochandler from '../dochandler';\nimport * as extrafuncs from '../extrafuncs';\nimport * as masters from '../data/masters';\nimport * as reapers from '../data/reapers';\nimport * as assignments from '../data/assignnments';\nimport * as creatures from '../data/creatures';\nimport * as variants from '../data/variants';\nimport * as logger from \"../logger\";\n// Update the Creature variant shown\nexport function variant(i_1) {\n    return __awaiter(this, arguments, void 0, function (i, creature, variant) {\n        var side, data, imageContainer, imageElement, newSize, kills;\n        if (creature === void 0) { creature = null; }\n        if (variant === void 0) { variant = null; }\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    // Start loading animation\n                    dochandler.animate.loading();\n                    side = dochandler.getSide(i);\n                    // Return early if UI is limited or data is not available\n                    if ((settings.controller.data.ui.limited || dochandler.main.limitedLoaded) && (!creature || !variant)) {\n                        dochandler.animate.loadingStop();\n                        return [2 /*return*/];\n                    }\n                    // Fetch creature and variant from UI elements if not provided\n                    if (!creature) {\n                        creature = dochandler.main.get.elc(\"creatures\", side).value;\n                    }\n                    if (!variant) {\n                        variant = dochandler.main.get.elc(\"variants\", side).value;\n                    }\n                    logger.log(\"Change variant to: \".concat(creature, \"#\").concat(variant));\n                    return [4 /*yield*/, variants.get(creature, variant)];\n                case 1:\n                    data = _a.sent();\n                    if (data) {\n                        // Update UI if not limited\n                        if (!settings.controller.data.ui.limited && !dochandler.main.limitedLoaded) {\n                            imageContainer = dochandler.main.get.elc(\"image-container\", side);\n                            imageContainer.innerHTML = data[\"image\"].replace(\"#\", \"%23\");\n                            imageElement = imageContainer.firstElementChild;\n                            newSize = extrafuncs.calculateAspectRatioFit(parseInt(imageElement.getAttribute(\"width\")), parseInt(imageElement.getAttribute(\"height\")), imageContainer.offsetWidth, imageContainer.offsetHeight);\n                            imageElement.style.maxWidth = \"\".concat(newSize.width, \"px\");\n                            imageElement.style.maxHeight = \"\".concat(newSize.height, \"px\");\n                            // Update stats\n                            updateStats(side, data);\n                        }\n                        kills = parseInt(dochandler.main.get.elc(\"kills\", side).innerHTML, 10);\n                        dochandler.main.get.elc(\"total-slayer-exp\", side).innerHTML = extrafuncs.numberWithCommas((data[\"slayer-exp\"] * kills).toFixed(2));\n                    }\n                    // Stop loading animation\n                    dochandler.animate.loadingStop();\n                    return [2 /*return*/];\n            }\n        });\n    });\n}\n// Helper function to update stats\nfunction updateStats(side, data) {\n    dochandler.main.get.elc(\"level\", side).innerHTML = data[\"level\"];\n    dochandler.main.get.elc(\"slayer-level\", side).innerHTML = data[\"slayer-level\"];\n    dochandler.main.get.elc(\"lifepoints\", side).innerHTML = data[\"lifepoints\"];\n    dochandler.main.get.elc(\"defence\", side).innerHTML = data[\"defence\"];\n    dochandler.main.get.elc(\"max-melee\", side).innerHTML = data[\"max-melee\"];\n    dochandler.main.get.elc(\"max-ranged\", side).innerHTML = data[\"max-ranged\"];\n    dochandler.main.get.elc(\"max-magic\", side).innerHTML = data[\"max-magic\"];\n    dochandler.main.get.elc(\"max-necromancy\", side).innerHTML = data[\"max-necromancy\"];\n    dochandler.main.get.elc(\"max-spec\", side).innerHTML = data[\"max-spec\"];\n    // Update weakness and susceptibility\n    var weaknessElem = dochandler.main.get.elc(\"weaknessBox\", side);\n    weaknessElem.innerHTML = \"<p id=\\\"weakness-text\\\">Weakness</p>\" + data[\"weakness\"].join(\"\");\n    var susceptibleElem = dochandler.main.get.elc(\"susceptibleBox\", side);\n    susceptibleElem.innerHTML = \"<p id=\\\"susceptible-text\\\">Susceptible</p>\" + data[\"susceptible\"].join(\"\");\n    // Update experience values\n    dochandler.main.get.elc(\"combat-exp\", side).innerHTML = extrafuncs.numberWithCommas(data[\"experience\"].toFixed(2));\n    dochandler.main.get.elc(\"lifepoints-exp\", side).innerHTML = extrafuncs.numberWithCommas(data[\"lifepoint-exp\"].toFixed(2));\n    dochandler.main.get.elc(\"slayer-exp\", side).innerHTML = extrafuncs.numberWithCommas(data[\"slayer-exp\"].toFixed(2));\n}\n// Update the Creature shown\nexport function creature(i_1) {\n    return __awaiter(this, arguments, void 0, function (i, creature, variant) {\n        var side, data, variantsElem_1;\n        if (creature === void 0) { creature = null; }\n        if (variant === void 0) { variant = null; }\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    // Start loading animation\n                    dochandler.animate.loading();\n                    side = dochandler.getSide(i);\n                    // Return early if UI is limited and no creature is provided\n                    if ((settings.controller.data.ui.limited || dochandler.main.limitedLoaded) && !creature) {\n                        dochandler.animate.loadingStop();\n                        return [2 /*return*/];\n                    }\n                    // Fetch creature from UI elements if not provided\n                    if (!creature) {\n                        creature = dochandler.main.get.elc(\"creatures\", side).value;\n                    }\n                    logger.log(\"Change Creature to: \".concat(creature).concat(variant ? \"#\".concat(variant) : ''));\n                    return [4 /*yield*/, creatures.get(creature)];\n                case 1:\n                    data = _a.sent();\n                    if (data) {\n                        // Update variants if available\n                        if (data[\"variants\"] && !settings.controller.data.ui.limited && !dochandler.main.limitedLoaded) {\n                            variantsElem_1 = dochandler.main.get.elc(\"variants\", side);\n                            variantsElem_1.innerHTML = \"\";\n                            data[\"variants\"].forEach(function (a) {\n                                variantsElem_1.innerHTML += \"<option value=\\\"\".concat(a[\"name\"], \"\\\"\").concat(variant && extrafuncs.decodeHtml(a[\"name\"]) === extrafuncs.decodeHtml(variant) ? \" selected\" : \"\", \">\").concat(a[\"name\"], \"</option>\");\n                            });\n                            if (!variant) {\n                                variant = data[\"variants\"][0][\"name\"];\n                            }\n                        }\n                        // Update the variant to reflect changes\n                        dochandler.change.variant(i, creature, variant);\n                    }\n                    // Stop loading animation\n                    dochandler.animate.loadingStop();\n                    return [2 /*return*/];\n            }\n        });\n    });\n}\n// Update the reaper assignment data\nexport function reaper(task, count) {\n    return __awaiter(this, void 0, void 0, function () {\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0: return [4 /*yield*/, assignment(2, task, count)];\n                case 1: return [2 /*return*/, _a.sent()];\n            }\n        });\n    });\n}\n// Update the entire Assignment data\nexport function assignment(i, task, count) {\n    return __awaiter(this, void 0, void 0, function () {\n        var side, nameElement, slayer_exp, slayxp, data, total_exp, j, img, masterData, kills, _loop_1, j, j, j, j, j, _i, _a, a, defaultCreature, _b, creature_1, variant_1;\n        var _c;\n        return __generator(this, function (_d) {\n            switch (_d.label) {\n                case 0:\n                    // Ensure correct task loading conditions\n                    if (i === 1 && !dochandler.main.doubleLoaded) {\n                        console.error(\"Cannot load double slayer task if only 1 is displayed!\");\n                        return [2 /*return*/];\n                    }\n                    if (i === 2 && !dochandler.main.reaperLoaded) {\n                        console.error(\"Cannot load reaper task if 2 are displayed!\");\n                        return [2 /*return*/];\n                    }\n                    // Show loading animation\n                    dochandler.animate.loading();\n                    side = dochandler.getSide(i);\n                    nameElement = dochandler.main.get.elc(\"name\", side);\n                    if (!nameElement)\n                        return [2 /*return*/];\n                    // Check if the current task is the same as the new one\n                    if ((task == null && nameElement.innerHTML !== \"???\") || nameElement.innerHTML.toLowerCase() === task.toLowerCase()) {\n                        logger.log(\"Update task: [\".concat(count, \"] \").concat(task, \" \").concat(i === 0 ? \"(Default)\" : (i === 2 ? \"(Reaper)\" : \"(1 Slayer Token)\")));\n                        dochandler.main.get.elc(\"kills\", side).innerHTML = extrafuncs.numberWithCommas(count);\n                        slayer_exp = dochandler.main.get.elc(\"slayer-exp\", side);\n                        if (slayer_exp && slayer_exp.innerHTML !== \"\") {\n                            slayxp = parseInt(slayer_exp.innerHTML);\n                            dochandler.main.get.elc(\"total-slayer-exp\", side).innerHTML = extrafuncs.numberWithCommas((slayxp * count).toFixed(2));\n                        }\n                        dochandler.animate.loadingStop();\n                        return [2 /*return*/];\n                    }\n                    // Load new task data\n                    logger.log(\"Load task: [\".concat(count, \"] \").concat(task, \" \").concat(i === 0 ? \"(Default)\" : (i === 2 ? \"(Reaper)\" : \"(1 Slayer Token)\")));\n                    dochandler.main.get.elc(\"type\", side).innerHTML = i === 0 ? \"(Default)\" : (i === 2 ? \"(Reaper)\" : \"(1 Slayer Token)\");\n                    if (i === 2)\n                        dochandler.main.get.elc(\"type\", side).id = \"type-reaper\";\n                    return [4 /*yield*/, (i === 2 ? reapers.get(task) : assignments.get(task))];\n                case 1:\n                    data = _d.sent();\n                    if (!data) {\n                        dochandler.animate.loadingStop();\n                        return [2 /*return*/];\n                    }\n                    // Update UI elements with the new data\n                    dochandler.main.get.elc(\"name\", side).innerHTML = data[\"index\"];\n                    dochandler.main.get.elc(\"name\", side).title = data[\"index\"];\n                    dochandler.main.get.elc(\"kills\", side).innerHTML = extrafuncs.numberWithCommas(count);\n                    if (dochandler.main.limitedLoaded) {\n                        total_exp = 0;\n                        dochandler.main.get.elc(\"total-slayer-exp\", side).innerHTML = extrafuncs.numberWithCommas(total_exp);\n                    }\n                    if (!(!settings.controller.data.ui.limited && !dochandler.main.limitedLoaded)) return [3 /*break*/, 6];\n                    dochandler.main.get.elc(\"masters\", side).innerHTML = \"<div class=\\\"nistext masterTitle\\\">Assignment Range</div>\";\n                    j = 0;\n                    _d.label = 2;\n                case 2:\n                    if (!(j < data[\"masters\"].length)) return [3 /*break*/, 5];\n                    img = \"<img id=\\\"masterImage\".concat(j, \"\\\" alt=\\\"\").concat(data[\"masters\"][j], \"\\\" src=\\\"./images/masters/\").concat(data[\"masters\"][j], \".png\\\" title=\\\"\").concat(data[\"masters\"][j], \"\\\"></img>\");\n                    return [4 /*yield*/, masters.get(data[\"masters\"][j])];\n                case 3:\n                    masterData = _d.sent();\n                    kills = masterData[\"task-counts\"][data[\"index\"]];\n                    dochandler.main.get.elc(\"masters\", side).innerHTML += \"<div class=\\\"nistext masterInfo\".concat(j, \"\\\">\").concat(img, \" Kills: \").concat(kills, \"</div>\");\n                    _d.label = 4;\n                case 4:\n                    j++;\n                    return [3 /*break*/, 2];\n                case 5:\n                    _loop_1 = function (j) {\n                        dochandler.main.get.elc(\"masterInfo\".concat(j), side).addEventListener('click', function () { return dochandler.open.wiki.master(i, j); });\n                    };\n                    for (j = 0; j < data[\"masters\"].length; j++) {\n                        _loop_1(j);\n                    }\n                    // Update equipment data\n                    if (data[\"equipment\"]) {\n                        for (j = 0; j < 3; j++) {\n                            dochandler.main.get.elc(\"equipInfo\".concat(j + 1), side).innerHTML = j === 0 ? \"None\" : \"\";\n                        }\n                        for (j = 0; j < data[\"equipment\"].length; j++) {\n                            dochandler.main.get.elc(\"equipInfo\".concat(j + 1), side).innerHTML = data[\"equipment\"][j] || \"<span style=\\\"color: red;\\\" title=\\\"There is no information in the database.\\\">Database Empty</span>\";\n                        }\n                        dochandler.main.get.elc(\"equipMore\", side).style.visibility = data[\"equipment\"].length < 3 ? \"hidden\" : \"visible\";\n                    }\n                    else {\n                        dochandler.main.get.elc(\"equipMore\", side).style.visibility = \"hidden\";\n                        dochandler.main.get.elc(\"equipInfo1\", side).innerHTML = \"<span style=\\\"color: red;\\\" title=\\\"There is no information in the database.\\\">Database Missing</span>\";\n                    }\n                    // Update locations data\n                    if (data[\"locations\"]) {\n                        for (j = 0; j < 3; j++) {\n                            dochandler.main.get.elc(\"locationInfo\".concat(j + 1), side).innerHTML = j === 0 ? \"None\" : \"\";\n                        }\n                        for (j = 0; j < data[\"locations\"].length; j++) {\n                            dochandler.main.get.elc(\"locationInfo\".concat(j + 1), side).innerHTML = data[\"locations\"][j] || \"<span style=\\\"color: red;\\\" title=\\\"There is no information in the database.\\\">Database Empty</span>\";\n                        }\n                        dochandler.main.get.elc(\"locationMore\", side).style.visibility = data[\"locations\"].length < 3 ? \"hidden\" : \"visible\";\n                    }\n                    else {\n                        dochandler.main.get.elc(\"locationMore\", side).style.visibility = \"hidden\";\n                        dochandler.main.get.elc(\"locationInfo1\", side).innerHTML = \"<span style=\\\"color: red;\\\" title=\\\"There is no information in the database.\\\">Database Missing</span>\";\n                    }\n                    // Update creatures data\n                    if (data[\"creatures\"]) {\n                        dochandler.main.get.elc(\"creatures\", side).innerHTML = \"\";\n                        for (_i = 0, _a = data[\"creatures\"]; _i < _a.length; _i++) {\n                            a = _a[_i];\n                            if (!extrafuncs.listContains(data[\"hidden-creatures\"], a)) {\n                                defaultCreature = ((_c = data[\"default-creature\"]) === null || _c === void 0 ? void 0 : _c.split(\"#\")[0]) || \"\";\n                                dochandler.main.get.elc(\"creatures\", side).innerHTML += \"<option value=\\\"\".concat(a, \"\\\" \").concat(extrafuncs.decodeHtml(a) === extrafuncs.decodeHtml(defaultCreature) ? \"selected\" : \"\", \">\").concat(a, \"</option>\");\n                            }\n                        }\n                    }\n                    // Set default creature and variant\n                    if (data[\"default-creature\"]) {\n                        _b = data[\"default-creature\"].split(\"#\"), creature_1 = _b[0], variant_1 = _b[1];\n                        dochandler.change.creature(i, creature_1, variant_1);\n                    }\n                    else {\n                        dochandler.change.creature(i);\n                    }\n                    _d.label = 6;\n                case 6:\n                    // Stop loading animation\n                    dochandler.animate.loadingStop();\n                    return [2 /*return*/];\n            }\n        });\n    });\n}\n","import * as dochandler from \"../dochandler\";\nimport * as settings from \"../settings\";\nexport function assignmentWikiPreview(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    dochandler.main.get.elc(\"preview-task-wiki\", side).style.visibility = \"hidden\";\n}\nexport function creatureWikiPreview(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    dochandler.main.get.elc(\"preview-creature-wiki\", side).style.visibility = \"hidden\";\n}\nexport function moreEquip(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    dochandler.main.get.elc(\"equipHidden\", side).style.visibility = \"hidden\";\n}\nexport function moreLocations(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    dochandler.main.get.elc(\"locationHidden\", side).style.visibility = \"hidden\";\n}\n","import * as dochandler from \"../dochandler\";\nimport * as settings from \"../settings\";\nexport function assignmentWiki(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    var showTimer;\n    var hideTimer = null;\n    showTimer = setTimeout(function () { return dochandler.show.assignmentWikiPreview(i); }, 500);\n    dochandler.main.get.elc(\"task-wiki\", side).onmouseleave = function () {\n        hideTimer = setTimeout(function () { return dochandler.hide.assignmentWikiPreview(i); }, 200);\n        clearTimeout(showTimer);\n    };\n    dochandler.main.get.elc(\"preview-task-wiki\", side).onmouseenter = function () {\n        if (hideTimer !== null)\n            clearTimeout(hideTimer);\n    };\n}\nexport function creatureWiki(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    var showTimer;\n    var hideTimer = null;\n    showTimer = setTimeout(function () { return dochandler.show.creatureWikiPreview(i); }, 500);\n    dochandler.main.get.elc(\"creature-wiki\", side).onmouseleave = function () {\n        hideTimer = setTimeout(function () { return dochandler.hide.creatureWikiPreview(i); }, 200);\n        clearTimeout(showTimer);\n    };\n    dochandler.main.get.elc(\"preview-creature-wiki\", side).onmouseenter = function () {\n        if (hideTimer !== null)\n            clearTimeout(hideTimer);\n    };\n}\nexport function moreEquip(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    var showTimer = setTimeout(function () { return dochandler.show.moreEquip(i); }, 500);\n    dochandler.main.get.elc(\"equipMore\", side).onmouseleave = function () {\n        clearTimeout(showTimer);\n    };\n}\nexport function moreLocations(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    var showTimer = setTimeout(function () { return dochandler.show.moreLocations(i); }, 500);\n    dochandler.main.get.elc(\"locationMore\", side).onmouseleave = function () {\n        clearTimeout(showTimer);\n    };\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport * as dochandler from '../dochandler';\nimport * as reapers from '../data/reapers';\nimport * as assignments from '../data/assignnments';\nimport * as settings from '../settings';\nimport * as slayer from '../slayer';\nimport * as logger from \"../logger\";\n// Define variables\nexport var doubleLoaded = false;\nexport var singleLoaded = false;\nexport var reaperLoaded = false;\nexport var suggestedLoaded = false;\nexport var limitedLoaded = false;\nexport var get;\n(function (get) {\n    function elc(id, base) {\n        return base.getElementsByClassName(id)[0];\n    }\n    get.elc = elc;\n    function elid(id) {\n        return document.getElementById(id);\n    }\n    get.elid = elid;\n    function searchInput() {\n        return document.querySelector(\"input[name='search-info']\").value;\n    }\n    get.searchInput = searchInput;\n})(get || (get = {}));\nexport var reset;\n(function (reset) {\n    function single() {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!singleLoaded)\n                            return [2 /*return*/];\n                        return [4 /*yield*/, get.elid(\"base\")];\n                    case 1:\n                        baseElement = _a.sent();\n                        baseElement.innerHTML = \"\";\n                        singleLoaded = false;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    reset.single = single;\n    function double() {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!doubleLoaded)\n                            return [2 /*return*/];\n                        return [4 /*yield*/, get.elid(\"base\")];\n                    case 1:\n                        baseElement = _a.sent();\n                        baseElement.innerHTML = \"\";\n                        doubleLoaded = false;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    reset.double = double;\n    function reaper() {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!reaperLoaded)\n                            return [2 /*return*/];\n                        return [4 /*yield*/, get.elid(\"base\")];\n                    case 1:\n                        baseElement = _a.sent();\n                        baseElement.innerHTML = \"\";\n                        reaperLoaded = false;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    reset.reaper = reaper;\n    function suggested() {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!suggestedLoaded)\n                            return [2 /*return*/];\n                        return [4 /*yield*/, get.elid(\"base\")];\n                    case 1:\n                        baseElement = _a.sent();\n                        baseElement.innerHTML = \"\";\n                        suggestedLoaded = false;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    reset.suggested = suggested;\n    function searchBox() {\n        return __awaiter(this, void 0, void 0, function () {\n            var searchInfo;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, get.elid(\"search-info\")];\n                    case 1:\n                        searchInfo = _a.sent();\n                        searchInfo.value = \"\";\n                        toggle.searchText();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    reset.searchBox = searchBox;\n})(reset || (reset = {}));\nexport var set;\n(function (set) {\n    // Set to use a double document\n    function double(task0_1, task1_1) {\n        return __awaiter(this, arguments, void 0, function (task0, task1, bypass) {\n            if (bypass === void 0) { bypass = false; }\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if ((task0 == null || task1 == null) && !doubleLoaded)\n                            return [2 /*return*/];\n                        logger.log(\"Load Double: [\".concat(task0.count, \"] \").concat(task0.name, \" | [\").concat(task1.count, \"] \").concat(task1.name));\n                        // Reset all others\n                        return [4 /*yield*/, reset.single()];\n                    case 1:\n                        // Reset all others\n                        _a.sent();\n                        return [4 /*yield*/, reset.reaper()];\n                    case 2:\n                        _a.sent();\n                        return [4 /*yield*/, reset.suggested()];\n                    case 3:\n                        _a.sent();\n                        if (!!doubleLoaded) return [3 /*break*/, 5];\n                        return [4 /*yield*/, setup.doubleAssignment()];\n                    case 4:\n                        _a.sent();\n                        _a.label = 5;\n                    case 5: return [4 /*yield*/, dochandler.change.assignment(0, task0.name, task0.count)];\n                    case 6:\n                        _a.sent();\n                        return [4 /*yield*/, dochandler.change.assignment(1, task1.name, task1.count)];\n                    case 7:\n                        _a.sent();\n                        // Log history if not bypassed\n                        if (!bypass && task0.name && task1.name) {\n                            settings.change.addHistory({ type: 'double', tasks: [task0, task1] });\n                        }\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    set.double = double;\n    // Set to use a single document\n    function single(task_1) {\n        return __awaiter(this, arguments, void 0, function (task, bypass) {\n            if (bypass === void 0) { bypass = false; }\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (task == null && !singleLoaded)\n                            return [2 /*return*/];\n                        logger.log(\"Load Single: [\".concat(task.count, \"] \").concat(task.name));\n                        // Reset all others\n                        return [4 /*yield*/, reset.double()];\n                    case 1:\n                        // Reset all others\n                        _a.sent();\n                        return [4 /*yield*/, reset.reaper()];\n                    case 2:\n                        _a.sent();\n                        return [4 /*yield*/, reset.suggested()];\n                    case 3:\n                        _a.sent();\n                        if (!!singleLoaded) return [3 /*break*/, 5];\n                        return [4 /*yield*/, setup.singleAssignment(0)];\n                    case 4:\n                        _a.sent();\n                        _a.label = 5;\n                    case 5: return [4 /*yield*/, dochandler.change.assignment(0, task.name, task.count)];\n                    case 6:\n                        _a.sent();\n                        // Log history if not bypassed\n                        if (!bypass && task.name) {\n                            settings.change.addHistory({ type: 'single', tasks: [task] });\n                        }\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    set.single = single;\n    // Set to use reaper tasks doc\n    function reaper(task_1) {\n        return __awaiter(this, arguments, void 0, function (task, bypass) {\n            if (bypass === void 0) { bypass = false; }\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (task == null && !reaperLoaded)\n                            return [2 /*return*/];\n                        logger.log(\"Load Reaper: [\".concat(task.count, \"] \").concat(task.name));\n                        // Reset all others\n                        return [4 /*yield*/, reset.single()];\n                    case 1:\n                        // Reset all others\n                        _a.sent();\n                        return [4 /*yield*/, reset.double()];\n                    case 2:\n                        _a.sent();\n                        return [4 /*yield*/, reset.suggested()];\n                    case 3:\n                        _a.sent();\n                        return [4 /*yield*/, setup.singleAssignment(2)];\n                    case 4:\n                        _a.sent();\n                        return [4 /*yield*/, dochandler.change.reaper(task.name, task.count)];\n                    case 5:\n                        _a.sent();\n                        // Log history if not bypassed\n                        if (!bypass && task.name) {\n                            settings.change.addHistory({ type: 'reaper', tasks: [task] });\n                        }\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    set.reaper = reaper;\n    // Set to use suggested tasks doc\n    function suggested() {\n        return __awaiter(this, arguments, void 0, function (bypass) {\n            if (bypass === void 0) { bypass = false; }\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (suggestedLoaded)\n                            return [2 /*return*/];\n                        logger.log(\"Load Suggested!\");\n                        // Reset all others\n                        return [4 /*yield*/, reset.single()];\n                    case 1:\n                        // Reset all others\n                        _a.sent();\n                        return [4 /*yield*/, reset.double()];\n                    case 2:\n                        _a.sent();\n                        return [4 /*yield*/, reset.reaper()];\n                    case 3:\n                        _a.sent();\n                        return [4 /*yield*/, dochandler.main.setup.suggested()];\n                    case 4:\n                        _a.sent();\n                        // Log history if not bypassed\n                        if (!bypass) {\n                            settings.change.addHistory({ type: 'suggestion', tasks: null });\n                        }\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    set.suggested = suggested;\n    // Set search button\n    function searchButtonText(s) {\n        dochandler.main.get.elid(\"search-button\").innerHTML = \"\".concat(s, \"<span style=\\\"visibility: hidden;\\\">. . .</span>\");\n    }\n    set.searchButtonText = searchButtonText;\n    // Set the search input\n    function searchInput(s) {\n        if (s == null)\n            return;\n        dochandler.main.get.elid(\"search-info\").value = s;\n        dochandler.main.toggle.searchText();\n    }\n    set.searchInput = searchInput;\n})(set || (set = {}));\nexport var setup;\n(function (setup) {\n    // Setup the main document\n    function documentMain() {\n        return __awaiter(this, void 0, void 0, function () {\n            var nisElement, _a, reapersIndexList, assignmentsIndexList;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        nisElement = dochandler.main.get.elid(\"nis\");\n                        _a = nisElement;\n                        return [4 /*yield*/, fetch(\"./pages/doc/body.html\").then(function (r) { return r.text(); })];\n                    case 1:\n                        _a.innerHTML = _b.sent();\n                        // Setup event listeners\n                        dochandler.main.get.elid(\"infobutton\").addEventListener('click', dochandler.open.aboutInfo);\n                        dochandler.main.get.elid(\"menubutton\").addEventListener('click', dochandler.open.settingsPage);\n                        dochandler.main.get.elid(\"donatebutton\").addEventListener('click', dochandler.open.donate);\n                        dochandler.main.get.elid(\"backbutton\").addEventListener('click', settings.change.goPreviousHistory);\n                        dochandler.main.get.elid(\"forwardbutton\").addEventListener('click', settings.change.goNextHistory);\n                        dochandler.main.get.elid(\"search-button\").addEventListener('click', function () { slayer.searchTasks(); });\n                        dochandler.main.get.elid(\"search-info\").addEventListener('input', dochandler.main.toggle.searchText);\n                        dochandler.main.get.elid(\"search-info\").addEventListener('change', function () { slayer.searchTasks(); });\n                        dochandler.main.get.elid(\"search-info\").addEventListener('keyup', function (event) {\n                            switch (event.key) {\n                                case \"ArrowUp\":\n                                    dochandler.main.set.searchInput(settings.search.getPreviousHistory());\n                                    break;\n                                case \"ArrowDown\":\n                                    dochandler.main.set.searchInput(settings.search.getNextHistory());\n                                    break;\n                            }\n                        });\n                        return [4 /*yield*/, reapers.getIndexList()];\n                    case 2:\n                        reapersIndexList = _b.sent();\n                        dochandler.main.get.elid(\"search-info-list\").innerHTML = reapersIndexList;\n                        return [4 /*yield*/, assignments.getIndexList()];\n                    case 3:\n                        assignmentsIndexList = _b.sent();\n                        dochandler.main.get.elid(\"search-info-list\").innerHTML += assignmentsIndexList;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    setup.documentMain = documentMain;\n    // Setup the base for double assignment\n    function doubleAssignment() {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement, _a, _loop_1, i;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        limitedLoaded = true;\n                        baseElement = dochandler.main.get.elid(\"base\");\n                        _a = baseElement;\n                        return [4 /*yield*/, fetch(\"./pages/doc/dual.html\").then(function (r) { return r.text(); })];\n                    case 1:\n                        _a.innerHTML = _b.sent();\n                        _loop_1 = function (i) {\n                            var side, _c, extraInfo, _d;\n                            return __generator(this, function (_e) {\n                                switch (_e.label) {\n                                    case 0:\n                                        side = dochandler.getSide(i);\n                                        _c = side;\n                                        return [4 /*yield*/, fetch(\"./pages/doc/example.html\").then(function (r) { return r.text(); })];\n                                    case 1:\n                                        _c.innerHTML = _e.sent();\n                                        // Setup event listeners\n                                        dochandler.main.get.elc(\"task-wiki\", side).addEventListener('click', function () { return dochandler.open.wiki.assignment(i); });\n                                        dochandler.main.get.elc(\"task-wiki\", side).addEventListener('mouseover', function () { return dochandler.hover.assignmentWiki(i); });\n                                        if (!!settings.controller.data.ui.limited) return [3 /*break*/, 3];\n                                        extraInfo = dochandler.main.get.elc(\"extra-info\", side);\n                                        _d = extraInfo;\n                                        return [4 /*yield*/, fetch(\"./pages/doc/example-extra.html\").then(function (r) { return r.text(); })];\n                                    case 2:\n                                        _d.innerHTML = _e.sent();\n                                        limitedLoaded = false;\n                                        dochandler.main.get.elc(\"preview-task-wiki\", side).addEventListener('mouseleave', function () { return dochandler.hide.assignmentWikiPreview(i); });\n                                        dochandler.main.get.elc(\"preview-creature-wiki\", side).addEventListener('mouseleave', function () { return dochandler.hide.creatureWikiPreview(i); });\n                                        dochandler.main.get.elc(\"equipMore\", side).addEventListener('mouseenter', function () { return dochandler.hover.moreEquip(i); });\n                                        dochandler.main.get.elc(\"equipHidden\", side).addEventListener('mouseleave', function () { return dochandler.hide.moreEquip(i); });\n                                        dochandler.main.get.elc(\"locationMore\", side).addEventListener('mouseenter', function () { return dochandler.hover.moreLocations(i); });\n                                        dochandler.main.get.elc(\"locationHidden\", side).addEventListener('mouseleave', function () { return dochandler.hide.moreLocations(i); });\n                                        dochandler.main.get.elc(\"creature-wiki\", side).addEventListener('click', function () { return dochandler.open.wiki.creature(i); });\n                                        dochandler.main.get.elc(\"creature-wiki\", side).addEventListener('mouseover', function () { return dochandler.hover.creatureWiki(i); });\n                                        dochandler.main.get.elc(\"creatures\", side).addEventListener('change', function () { return dochandler.change.creature(i); });\n                                        dochandler.main.get.elc(\"variants\", side).addEventListener('change', function () { return dochandler.change.variant(i); });\n                                        _e.label = 3;\n                                    case 3: return [2 /*return*/];\n                                }\n                            });\n                        };\n                        i = 0;\n                        _b.label = 2;\n                    case 2:\n                        if (!(i < 2)) return [3 /*break*/, 5];\n                        return [5 /*yield**/, _loop_1(i)];\n                    case 3:\n                        _b.sent();\n                        _b.label = 4;\n                    case 4:\n                        i++;\n                        return [3 /*break*/, 2];\n                    case 5:\n                        // Adjust the doc for limited and full\n                        adjustForSettings();\n                        doubleLoaded = true;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    setup.doubleAssignment = doubleAssignment;\n    // Setup the base for single assignment\n    function singleAssignment(i) {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement, _a, side, _b, extraInfo, _c, statusElement;\n            return __generator(this, function (_d) {\n                switch (_d.label) {\n                    case 0:\n                        limitedLoaded = true;\n                        baseElement = dochandler.main.get.elid(\"base\");\n                        _a = baseElement;\n                        return [4 /*yield*/, fetch(\"./pages/doc/single.html\").then(function (r) { return r.text(); })];\n                    case 1:\n                        _a.innerHTML = _d.sent();\n                        side = dochandler.getSide(i);\n                        _b = side;\n                        return [4 /*yield*/, fetch(\"./pages/doc/example.html\").then(function (r) { return r.text(); })];\n                    case 2:\n                        _b.innerHTML = _d.sent();\n                        // Setup event listeners\n                        dochandler.main.get.elc(\"task-wiki\", side).addEventListener('click', function () { return dochandler.open.wiki.assignment(i); });\n                        dochandler.main.get.elc(\"task-wiki\", side).addEventListener('mouseover', function () { return dochandler.hover.assignmentWiki(i); });\n                        if (!!settings.controller.data.ui.limited) return [3 /*break*/, 4];\n                        extraInfo = dochandler.main.get.elc(\"extra-info\", side);\n                        _c = extraInfo;\n                        return [4 /*yield*/, fetch(\"./pages/doc/example-extra.html\").then(function (r) { return r.text(); })];\n                    case 3:\n                        _c.innerHTML = _d.sent();\n                        limitedLoaded = false;\n                        dochandler.main.get.elc(\"preview-task-wiki\", side).addEventListener('mouseleave', function () { return dochandler.hide.assignmentWikiPreview(i); });\n                        dochandler.main.get.elc(\"preview-creature-wiki\", side).addEventListener('mouseleave', function () { return dochandler.hide.creatureWikiPreview(i); });\n                        dochandler.main.get.elc(\"equipMore\", side).addEventListener('mouseenter', function () { return dochandler.hover.moreEquip(i); });\n                        dochandler.main.get.elc(\"equipHidden\", side).addEventListener('mouseleave', function () { return dochandler.hide.moreEquip(i); });\n                        dochandler.main.get.elc(\"locationMore\", side).addEventListener('mouseenter', function () { return dochandler.hover.moreLocations(i); });\n                        dochandler.main.get.elc(\"locationHidden\", side).addEventListener('mouseleave', function () { return dochandler.hide.moreLocations(i); });\n                        dochandler.main.get.elc(\"creature-wiki\", side).addEventListener('click', function () { return dochandler.open.wiki.creature(i); });\n                        dochandler.main.get.elc(\"creature-wiki\", side).addEventListener('mouseover', function () { return dochandler.hover.creatureWiki(i); });\n                        dochandler.main.get.elc(\"creatures\", side).addEventListener('change', function () { return dochandler.change.creature(i); });\n                        dochandler.main.get.elc(\"variants\", side).addEventListener('change', function () { return dochandler.change.variant(i); });\n                        _d.label = 4;\n                    case 4:\n                        statusElement = dochandler.main.get.elc(\"status\", side);\n                        if (settings.controller.data.ui.status) {\n                            statusElement.style.visibility = \"visible\";\n                        }\n                        else {\n                            statusElement.style.visibility = \"hidden\";\n                        }\n                        // Adjust the doc for limited and full\n                        adjustForSettings();\n                        if (i === 2) {\n                            reaperLoaded = true;\n                        }\n                        else {\n                            singleLoaded = true;\n                        }\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    setup.singleAssignment = singleAssignment;\n    // Setup the base for suggested\n    function suggested() {\n        return __awaiter(this, void 0, void 0, function () {\n            var baseElement, _a, suggestType, _loop_2, i;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        baseElement = dochandler.main.get.elid(\"base\");\n                        _a = baseElement;\n                        return [4 /*yield*/, fetch(\"./pages/doc/suggested.html\").then(function (r) { return r.text(); })];\n                    case 1:\n                        _a.innerHTML = _b.sent();\n                        suggestType = dochandler.main.get.elid(\"type-suggest\");\n                        if (suggestType) {\n                            suggestType.addEventListener('click', function () { return window.open(\"https://runescape.wiki/w/Slayer_training/High-levelled\"); });\n                        }\n                        _loop_2 = function (i) {\n                            var element = dochandler.main.get.elid(\"suggestion-\".concat(i));\n                            if (element) {\n                                element.addEventListener('click', function () { return slayer.searchTasks(element.innerHTML); });\n                            }\n                        };\n                        for (i = 1; i <= 12; i++) {\n                            _loop_2(i);\n                        }\n                        suggestedLoaded = true;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    }\n    setup.suggested = suggested;\n    // If limited, set the size of the base\n    function adjustForSettings() {\n        var baseElement = dochandler.main.get.elid(\"base\");\n        var divideElement = dochandler.main.get.elid(\"divide\");\n        var copyrightElement = dochandler.main.get.elid(\"copyright\");\n        if (settings.controller.data.ui.limited) {\n            baseElement.classList.remove(\"base-full\");\n            if (divideElement) {\n                divideElement.classList.remove(\"divide-full\");\n            }\n            copyrightElement.classList.remove(\"copyright-full\");\n        }\n        else {\n            baseElement.classList.add(\"base-full\");\n            if (divideElement) {\n                divideElement.classList.add(\"divide-full\");\n            }\n            copyrightElement.classList.add(\"copyright-full\");\n        }\n    }\n})(setup || (setup = {}));\nexport var toggle;\n(function (toggle) {\n    // Toggle if we are capturing screen or searching text\n    function searchText() {\n        var searchResult = slayer.searchResult;\n        var autoCaptureEnabled = settings.controller.data.autoCapture.enabled;\n        var searchInput = dochandler.main.get.searchInput();\n        if (searchResult || (!autoCaptureEnabled && searchInput === \"\")) {\n            dochandler.main.set.searchButtonText(\"Capture\");\n        }\n        else {\n            dochandler.main.set.searchButtonText(\"Search\");\n        }\n    }\n    toggle.searchText = searchText;\n})(toggle || (toggle = {}));\n","import * as dochandler from '../dochandler';\nimport * as settings from '../settings';\n// Open the Donate Page (https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ)\nexport function donate() {\n    window.open(\"https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ\");\n}\n// Open the about info page\nexport function aboutInfo() {\n    window.open(\"./pages/about.html\", null, \"width=680,height=550\");\n}\n// Open the settings page\nexport function settingsPage() {\n    var settingsWindow = window.open(\"./pages/settings.html\", \"_blank\", \"width=420,height=550\");\n    console.warn(\"Settings Opened!\");\n    settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.window.console.warn(\"Settings Loaded!\");\n    settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.addEventListener('keyup', function (e) {\n        if ((e.which || e.keyCode) === 116) {\n            // Prevent F5 key press from refreshing the page\n            e.preventDefault();\n        }\n    });\n    settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.addEventListener('beforeunload', function () {\n        // Load the new settings and apply them\n        settings.controller.load();\n        dochandler.main.toggle.searchText();\n        console.warn(\"Settings Closed!\");\n        settingsWindow === null || settingsWindow === void 0 ? void 0 : settingsWindow.window.console.warn(\"Settings Saved!\");\n    });\n}\nexport var wiki;\n(function (wiki) {\n    // Opens the wiki page for a specific task\n    function assignment(i) {\n        var side = dochandler.getSide(i);\n        var task = dochandler.main.get.elc(\"name\", side).innerHTML;\n        if (task) {\n            window.open('https://runescape.wiki/' + task + '_(Slayer_assignment)');\n        }\n    }\n    wiki.assignment = assignment;\n    // Opens the wiki page for a specific creature\n    function creature(i) {\n        var side = dochandler.getSide(i);\n        var creature = dochandler.main.get.elc(\"creatures\", side).value;\n        var variant = dochandler.main.get.elc(\"variants\", side).value;\n        if (creature && variant) {\n            window.open('https://runescape.wiki/' + creature + \"#\" + variant);\n        }\n    }\n    wiki.creature = creature;\n    // Opens the wiki page for a specific master\n    function master(i, j) {\n        var side = dochandler.getSide(i);\n        var master = dochandler.main.get.elc(\"masterImage\" + j, side).alt;\n        if (master) {\n            window.open('https://runescape.wiki/' + master);\n        }\n    }\n    wiki.master = master;\n})(wiki || (wiki = {}));\n","import * as dochandler from '../dochandler';\nimport * as settings from '../settings';\n// Show the specific Creature's preview wiki page\nexport function assignmentWikiPreview(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    dochandler.main.get.elc(\"preview-task-wiki\", side).style.visibility = \"visible\";\n}\n// Show the specific Creature's preview wiki page\nexport function creatureWikiPreview(i) {\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    dochandler.main.get.elc(\"preview-creature-wiki\", side).style.visibility = \"visible\";\n}\n// Show more Equipment for task\nexport function moreEquip(i) {\n    var _a;\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    var equipHiddenElement = dochandler.main.get.elc(\"equipHidden\", side);\n    if ((_a = equipHiddenElement.innerHTML) === null || _a === void 0 ? void 0 : _a.trimEnd()) {\n        equipHiddenElement.style.visibility = \"visible\";\n    }\n}\n// Show more Locations for task\nexport function moreLocations(i) {\n    var _a;\n    if (settings.controller.data.ui.limited)\n        return;\n    var side = dochandler.getSide(i);\n    var locationHiddenElement = dochandler.main.get.elc(\"locationHidden\", side);\n    if ((_a = locationHiddenElement.innerHTML) === null || _a === void 0 ? void 0 : _a.trimEnd()) {\n        locationHiddenElement.style.visibility = \"visible\";\n    }\n}\n","// Add commas into a number if its big enough\nexport function numberWithCommas(n) {\n    if (n == null)\n        return \"<span style=\\\"color: red;\\\">Empty</span>\";\n    if (n === -666)\n        return \"<span style=\\\"color: red;\\\">Error</span>\";\n    return n.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\n// Check if the list contains what you want to find\nexport function listContains(list, find) {\n    for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n        var l = list_1[_i];\n        if (decodeHtml(l).toLowerCase() === decodeHtml(find).toLowerCase())\n            return true;\n    }\n    return false;\n}\n// Get new width and height for image based on aspect ratio\nexport function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) {\n    var ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);\n    return { width: srcWidth * ratio, height: srcHeight * ratio };\n}\n// Decode the HTML chars that have been encoded during database downloading\nexport function decodeHtml(html) {\n    var txt = document.createElement(\"textarea\");\n    txt.innerHTML = html;\n    return txt.value;\n}\n","// Private queues and settings\nvar debugQueue = [];\nvar verboseQueue = [];\nvar queueLimit = 50;\nvar debugEnabled = false;\nvar verboseEnabled = false;\n// Set the queue limit for debug and verbose\nexport function setLimit(limit) {\n    queueLimit = limit;\n}\n// Enable or disable debug logging\nexport function setDebug(enabled) {\n    debugEnabled = enabled;\n    if (enabled)\n        debug(\"Debug logging enabled\"); // Force Flush the Queue\n}\n// Enable or disable verbose logging\nexport function setVerbose(enabled) {\n    verboseEnabled = enabled;\n    if (enabled)\n        verbose(\"Verbose logging enabled\"); // Force Flush the Queue\n}\n// Public: Log to the normal queue and flush the queue\nexport function log() {\n    var messages = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        messages[_i] = arguments[_i];\n    }\n    console.log.apply(console, messages);\n}\n// Public: Log to the warn queue and flush the queue\nexport function warn() {\n    var messages = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        messages[_i] = arguments[_i];\n    }\n    console.warn.apply(console, messages);\n}\n// Public: Log to the error queue and flush the queue\nexport function error() {\n    var messages = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        messages[_i] = arguments[_i];\n    }\n    console.error.apply(console, messages);\n}\n// Public: Log to the debug queue only if debug is enabled and flush the queue\nexport function debug() {\n    var messages = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        messages[_i] = arguments[_i];\n    }\n    debugQueue.push(messages.join(' '));\n    trimQueue(debugQueue);\n    if (debugEnabled)\n        flushQueue(debugQueue, \"Debug\");\n}\n// Public: Log to the verbose queue only if verbose is enabled and flush the queue\nexport function verbose() {\n    var messages = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        messages[_i] = arguments[_i];\n    }\n    verboseQueue.push(messages.join(' '));\n    trimQueue(verboseQueue);\n    if (verboseEnabled)\n        flushQueue(verboseQueue, \"Verbose\");\n}\n// Private: Trim the queue if it exceeds the limit (FIFO: remove first entry)\nfunction trimQueue(queue) {\n    if (queue.length > queueLimit)\n        queue.shift();\n}\n// Private: Flush and output the entire queue, emptying it afterward\nfunction flushQueue(queue, label) {\n    while (queue.length > 0) {\n        var message = queue.shift();\n        if (label === \"Debug\")\n            console.log(\"[\".concat(label, \"] \").concat(message));\n        if (label === \"Verbose\")\n            console.warn(\"[\".concat(label, \"] \").concat(message));\n    }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport * as dochandler from \"./dochandler\";\nimport * as slayer from \"./slayer\";\nimport * as main from \"./dochandler/main\";\nimport * as logger from \"./logger\";\n// Define classes\nvar AutoCaptureData = /** @class */ (function () {\n    function AutoCaptureData() {\n    }\n    return AutoCaptureData;\n}());\nexport { AutoCaptureData };\nvar UIData = /** @class */ (function () {\n    function UIData() {\n    }\n    return UIData;\n}());\nexport { UIData };\nvar DefaultData = /** @class */ (function () {\n    function DefaultData() {\n    }\n    return DefaultData;\n}());\nexport { DefaultData };\nvar HiddenData = /** @class */ (function () {\n    function HiddenData() {\n    }\n    return HiddenData;\n}());\nexport { HiddenData };\nvar SettingsData = /** @class */ (function () {\n    function SettingsData() {\n    }\n    return SettingsData;\n}());\nexport { SettingsData };\n// Controls all the settings data\nvar SettingsDataController = /** @class */ (function () {\n    function SettingsDataController() {\n        this.configLoaded = false;\n        this.data = {\n            version: 1,\n            searchAlgorithim: \"default\",\n            autoCapture: {\n                enabled: true,\n                counter: true,\n                search: false,\n                loopTimer: 500,\n                counterTimer: 500,\n                dialogTimer: 5000,\n                searchTimer: 10000,\n            },\n            ui: {\n                style: \"default\",\n                limited: false,\n                status: true,\n                counter: false,\n                counterTimer: 500,\n                historyRetentionCount: 10,\n                lookupRetentionCount: 0,\n            },\n            showHidden: {\n                creatures: false,\n                eliteCreatures: false,\n                dragonkinCreatures: false,\n                godWarsCreatures: false,\n                ghorrockCreatures: false,\n                heartGielinorCreatures: false,\n                monsterCreatures: false,\n                newVarrockCreatures: false,\n                shadowReefCreatures: false,\n                strongholdSecurityCreatures: false,\n                summonedCreatures: false,\n                templeTrekkingCreatures: false,\n                unchartedIslesCreatures: false\n            },\n            default: {\n                taskName0: \"waterfiends\",\n                taskName1: \"black demons\",\n                taskCount0: 777,\n                taskCount1: 666\n            },\n        };\n    }\n    SettingsDataController.prototype.load = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var res;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (window.localStorage.getItem('version') != null) {\n                            this.data.version = this.decodeVersion(window.localStorage.getItem('version'));\n                        }\n                        if (this.data.version <= 5 && !this.configLoaded) {\n                            logger.log(\"(Versioning System Missing) Setting up versioning system.\");\n                            window.localStorage.removeItem('recent_task_0');\n                            window.localStorage.removeItem('recent_task_count_0');\n                            window.localStorage.removeItem('recent_task_1');\n                            window.localStorage.removeItem('recent_task_count_1');\n                            this.save();\n                        }\n                        return [4 /*yield*/, fetch(\"./data/version.json\").then(function (r) { return r.json(); })];\n                    case 1:\n                        res = _a.sent();\n                        if (this.data.version < this.decodeVersion(res['version'])) {\n                            this.data.version = this.decodeVersion(res['version']);\n                        }\n                        controller.data.autoCapture.enabled = window.localStorage.getItem(\"auto-capture-enabled\") === \"true\";\n                        controller.data.autoCapture.counter = window.localStorage.getItem(\"auto-capture-counter\") === \"true\";\n                        controller.data.autoCapture.search = window.localStorage.getItem(\"auto-capture-search\") === \"true\";\n                        controller.data.autoCapture.loopTimer = parseInt(window.localStorage.getItem(\"auto-capture-timer-loop\"));\n                        controller.data.autoCapture.dialogTimer = parseInt(window.localStorage.getItem(\"auto-capture-timer-dialog\"));\n                        controller.data.autoCapture.counterTimer = parseInt(window.localStorage.getItem(\"auto-capture-timer-counter\"));\n                        controller.data.autoCapture.searchTimer = parseInt(window.localStorage.getItem(\"auto-capture-timer-search\"));\n                        controller.data.ui.limited = window.localStorage.getItem(\"ui-limited\") === \"true\";\n                        controller.data.ui.status = window.localStorage.getItem(\"ui-status\") === \"true\";\n                        controller.data.ui.counter = window.localStorage.getItem(\"ui-counter\") === \"true\";\n                        controller.data.ui.counterTimer = parseInt(window.localStorage.getItem(\"ui-counter-timer\"));\n                        // TODO Load history here then reset the UI and load them\n                        main.reset.single();\n                        main.reset.double();\n                        main.reset.reaper();\n                        main.reset.suggested();\n                        if (!(this.data.default.taskName0 != null && this.data.default.taskName1 != null)) return [3 /*break*/, 3];\n                        return [4 /*yield*/, main.set.double({ name: this.data.default.taskName0, count: this.data.default.taskCount0 }, { name: this.data.default.taskName1, count: this.data.default.taskCount1 })];\n                    case 2:\n                        _a.sent();\n                        return [3 /*break*/, 5];\n                    case 3:\n                        if (!(this.data.default.taskName0 != null && this.data.default.taskName1 == null)) return [3 /*break*/, 5];\n                        return [4 /*yield*/, main.set.single({ name: this.data.default.taskName0, count: this.data.default.taskCount0 })];\n                    case 4:\n                        _a.sent();\n                        _a.label = 5;\n                    case 5:\n                        console.warn(\"Config Loaded\");\n                        this.configLoaded = true;\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    SettingsDataController.prototype.save = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                if (this.data.version > 1) {\n                    window.localStorage.setItem('version', this.encodeVersion(this.data.version));\n                }\n                window.localStorage.setItem(\"auto-capture-enabled\", \"\" + controller.data.autoCapture.enabled);\n                window.localStorage.setItem(\"auto-capture-counter\", \"\" + controller.data.autoCapture.counter);\n                window.localStorage.setItem(\"auto-capture-search\", \"\" + controller.data.autoCapture.search);\n                window.localStorage.setItem(\"auto-capture-timer-loop\", \"\" + controller.data.autoCapture.loopTimer);\n                window.localStorage.setItem(\"auto-capture-timer-dialog\", \"\" + controller.data.autoCapture.dialogTimer);\n                window.localStorage.setItem(\"auto-capture-timer-counter\", \"\" + controller.data.autoCapture.counterTimer);\n                window.localStorage.setItem(\"auto-capture-timer-search\", \"\" + controller.data.autoCapture.searchTimer);\n                window.localStorage.setItem(\"ui-limited\", \"\" + controller.data.ui.limited);\n                window.localStorage.setItem(\"ui-status\", \"\" + controller.data.ui.status);\n                window.localStorage.setItem(\"ui-counter\", \"\" + controller.data.ui.counter);\n                window.localStorage.setItem(\"ui-counter-timer\", \"\" + controller.data.ui.counterTimer);\n                console.warn(\"Config Saved\");\n                return [2 /*return*/];\n            });\n        });\n    };\n    SettingsDataController.prototype.decodeVersion = function (version) {\n        var versionSplit = version.split(\".\");\n        var versionUpper = versionSplit.length > 2 ? parseInt(versionSplit[0]) : 0;\n        var versionLower = parseInt(versionSplit.length > 2 ? versionSplit[1] : versionSplit[0]);\n        var versionPatch = parseInt(versionSplit.length > 2 ? versionSplit[2] : versionSplit[1]);\n        return ((versionUpper * 256 * 256) + (versionLower * 256) + versionPatch);\n    };\n    SettingsDataController.prototype.encodeVersion = function (version) {\n        var versionUpper = version > 256 * 256 ? version / (256 * 256) : 0;\n        var versionLower = version > 256 ? (version - (versionUpper * 256 * 256)) / 256 : 0;\n        var versionPatch = (version - (versionUpper * 256 * 256) - (versionLower * 256));\n        return versionUpper + \".\" + versionLower + \".\" + versionPatch;\n    };\n    return SettingsDataController;\n}());\nexport { SettingsDataController };\nexport var controller = new SettingsDataController();\n// Change history functions\nexport var change;\n(function (change) {\n    change.history = [];\n    change.index = 0;\n    function addHistory(history) {\n        if (!history || !history.tasks || !change.history[change.index])\n            return;\n        if ((history.type === \"single\" || history.type === \"reaper\") &&\n            history.tasks[0].name === change.history[change.index].tasks[0].name)\n            return;\n        if (history.type === \"double\" &&\n            history.tasks[0].name === change.history[change.index].tasks[0].name &&\n            history.tasks[1].name === change.history[change.index].tasks[1].name)\n            return;\n        if (history.type === \"suggestion\" && history.type === change.history[change.index].type)\n            return;\n        if (change.index + 1 != change.history.length) {\n            change.history = change.history.slice(0, change.index + 1);\n        }\n        change.history.push(history);\n        change.index = change.history.length - 1;\n        console.warn(\"Save History\");\n        controller.save();\n    }\n    change.addHistory = addHistory;\n    function refreshCurrent() {\n        if (change.index < 0 || change.index >= change.history.length)\n            return;\n        main.reset.single();\n        main.reset.double();\n        main.reset.reaper();\n        main.reset.suggested();\n        var previousChange = change.history[change.index];\n        if (previousChange.type === 'double')\n            main.set.double(previousChange.tasks[0], previousChange.tasks[1], true);\n        if (previousChange.type === 'single')\n            main.set.single(previousChange.tasks[0], true);\n        if (previousChange.type === 'reaper')\n            main.set.reaper(previousChange.tasks[0], true);\n        if (previousChange.type === 'suggestion')\n            main.set.suggested(true);\n        console.warn(\"Save History\");\n        controller.save();\n    }\n    change.refreshCurrent = refreshCurrent;\n    function goPreviousHistory() {\n        if (change.index - 1 < 0)\n            return;\n        var previousChange = change.history[--change.index];\n        if (previousChange.type === 'double')\n            main.set.double(previousChange.tasks[0], previousChange.tasks[1], true);\n        if (previousChange.type === 'single')\n            main.set.single(previousChange.tasks[0], true);\n        if (previousChange.type === 'reaper')\n            main.set.reaper(previousChange.tasks[0], true);\n        if (previousChange.type === 'suggestion')\n            main.set.suggested(true);\n        console.warn(\"Save History\");\n        controller.save();\n    }\n    change.goPreviousHistory = goPreviousHistory;\n    function goNextHistory() {\n        if (change.index + 1 >= change.history.length)\n            return;\n        var nextChange = change.history[++change.index];\n        if (nextChange.type === 'double')\n            main.set.double(nextChange.tasks[0], nextChange.tasks[1], true);\n        if (nextChange.type === 'single')\n            main.set.single(nextChange.tasks[0], true);\n        if (nextChange.type === 'reaper')\n            main.set.reaper(nextChange.tasks[0], true);\n        if (nextChange.type === 'suggestion')\n            main.set.suggested(true);\n        console.warn(\"Save History\");\n        controller.save();\n    }\n    change.goNextHistory = goNextHistory;\n})(change || (change = {}));\nexport var search;\n(function (search) {\n    var temp = null;\n    var history = [];\n    var index = 0;\n    function addHistory(value) {\n        if (!value)\n            return;\n        history.push(value);\n        index = history.length;\n        temp = null;\n        console.warn(\"Save History\");\n        controller.save();\n    }\n    search.addHistory = addHistory;\n    function getPreviousHistory() {\n        tempValue();\n        console.warn(\"Save History\");\n        controller.save();\n        if (index - 1 < 0)\n            return null;\n        if (--index === history.length)\n            return temp;\n        return history[index];\n    }\n    search.getPreviousHistory = getPreviousHistory;\n    function getNextHistory() {\n        tempValue();\n        console.warn(\"Save History\");\n        controller.save();\n        if (index + 1 > history.length + (temp === \"\" ? 0 : 1))\n            return null;\n        if (++index === history.length + (temp === \"\" ? 0 : 1))\n            return \"\";\n        if (temp !== \"\" && index === history.length)\n            return temp;\n        return history[index];\n    }\n    search.getNextHistory = getNextHistory;\n    function tempValue() {\n        var currentValue = dochandler.main.get.elid(\"search-info\").value;\n        if (temp === null)\n            temp = currentValue;\n        if (index === history.length && temp !== currentValue)\n            temp = currentValue;\n        if (index === history.length + 1 && currentValue !== \"\") {\n            temp = currentValue;\n            --index;\n        }\n    }\n})(search || (search = {}));\nexport function executeDevTools(value) {\n    return __awaiter(this, void 0, void 0, function () {\n        var counterData, slayerData, a, a, pos, box, _i, _a, _b, index, option, e_1;\n        return __generator(this, function (_c) {\n            switch (_c.label) {\n                case 0:\n                    if (value === \"devTools\") {\n                        logger.log(\" ~~~ Dev Tools ~ Information Opened ~~~ \");\n                        alt1.openBrowser(\"https://runeapps.org/forums/viewtopic.php?id=101\");\n                        return [2 /*return*/];\n                    }\n                    logger.log(\" ~~~ Dev Tools ~ Started ~~~ \");\n                    _c.label = 1;\n                case 1:\n                    _c.trys.push([1, 10, , 11]);\n                    if (!(value === \"size\")) return [3 /*break*/, 2];\n                    logger.log(\"Current Size: \".concat(document.body.clientWidth, \", \").concat(document.body.clientHeight));\n                    return [3 /*break*/, 9];\n                case 2:\n                    if (!(value === \"debug\")) return [3 /*break*/, 3];\n                    logger.setDebug(true);\n                    return [3 /*break*/, 9];\n                case 3:\n                    if (!(value === \"verbose\")) return [3 /*break*/, 4];\n                    logger.setVerbose(true);\n                    return [3 /*break*/, 9];\n                case 4:\n                    if (!(value === \"counterReader\")) return [3 /*break*/, 6];\n                    return [4 /*yield*/, slayer.counterReader.read()];\n                case 5:\n                    counterData = _c.sent();\n                    if (counterData) {\n                        logger.log(\"The Counter UI Collapsed [\".concat(counterData.collapsed, \"]\"));\n                        logger.log(\"The Counter UI Old School [\".concat(counterData.OS, \"]\"));\n                        logger.log(\"The Counter UI Reaper [\".concat(counterData.reaper, \"]\"));\n                        logger.log(\"The Counter UI Count [\".concat(counterData.count, \"]\"));\n                        logger.log(\"The Counter UI Task [\".concat(counterData.task, \"]\"));\n                    }\n                    else {\n                        logger.log(\" ~~~ Dev Tools ~ Error: Cannot read counter data! ~~~ \");\n                    }\n                    return [3 /*break*/, 9];\n                case 6:\n                    if (!(value === \"slayerReader\")) return [3 /*break*/, 8];\n                    return [4 /*yield*/, slayer.slayerReader.read()];\n                case 7:\n                    slayerData = _c.sent();\n                    if (slayerData) {\n                        logger.log(\"The Slayer Reader Select Your Own [\".concat(slayerData.selectYourOwn, \"]\"));\n                        logger.log(\"The Slayer Reader Reaper [\".concat(slayerData.reaper, \"]\"));\n                        logger.log(\"The Slayer Reader Ticket [\".concat(slayerData.ticket, \"]\"));\n                        for (a in slayerData.count) {\n                            logger.log(\"The Slayer Reader Count{\".concat(a, \"} [\").concat(slayerData.count[a], \"]\"));\n                        }\n                        for (a in slayerData.task) {\n                            logger.log(\"The Slayer Reader Task{\".concat(a, \"} [\").concat(slayerData.task[a], \"]\"));\n                        }\n                    }\n                    else {\n                        logger.log(\" ~~~ Dev Tools ~ Error: Cannot read slayer data! ~~~ \");\n                    }\n                    return [3 /*break*/, 9];\n                case 8:\n                    if (value === \"dialogReader\") {\n                        logger.log(\"Searching for Dialog...\");\n                        pos = slayer.slayerReader.dialogReader.find();\n                        if (!pos) {\n                            logger.log(\" ~~~ Dev Tools ~ Error: Cannot find the Dialog! ~~~ \");\n                            return [2 /*return*/];\n                        }\n                        box = slayer.slayerReader.dialogReader.read();\n                        if (!box) {\n                            logger.log(\" ~~~ Dev Tools ~ Error: Cannot read the Dialog! ~~~ \");\n                            return [2 /*return*/];\n                        }\n                        if (box.title)\n                            logger.log(\"The Dialog Box Title [\".concat(box.title, \"]\"));\n                        if (box.text)\n                            logger.log(\"The Dialog Box Text [\".concat(box.text, \"]\"));\n                        if (box.opts) {\n                            logger.log(\"The Dialog Box Options (\".concat(box.opts.length, \") [\").concat(box.opts, \"]\"));\n                            for (_i = 0, _a = box.opts.entries(); _i < _a.length; _i++) {\n                                _b = _a[_i], index = _b[0], option = _b[1];\n                                logger.log(\"\\t\".concat(index + 1, \". \").concat(option.text));\n                            }\n                        }\n                    }\n                    _c.label = 9;\n                case 9: return [3 /*break*/, 11];\n                case 10:\n                    e_1 = _c.sent();\n                    console.error(\"~~~ Dev Tools ~ Error: Issue Capturing Screen! ~~~ \");\n                    return [3 /*break*/, 11];\n                case 11:\n                    logger.log(\" ~~~ Dev Tools ~ Finished ~~~ \");\n                    return [2 /*return*/];\n            }\n        });\n    });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport * as a1lib from \"alt1\";\nimport { SearchAlgorithm } from './SearchAlgorithm';\nimport { SlayerDialogReader } from './SlayerDialogReader';\nimport { UICounterReader } from './UICounterReader';\nimport * as settings from './settings';\nimport * as docHandler from './dochandler';\nimport * as logger from \"./logger\";\n// Setup the readers and search algo\nexport var searchAlgo = new SearchAlgorithm();\nexport var slayerReader = new SlayerDialogReader();\nexport var counterReader = new UICounterReader();\nexport var searchResult = false;\n// Get a timer and setup vars\nvar timer = function (ms) { return new Promise(function (res) { return setTimeout(res, ms); }); };\nvar loopRunning = false;\n// Check if we can capture the screen\nexport function canCaptureRunescape() {\n    return window.alt1 && alt1.rsLinked && alt1.permissionPixel;\n}\n// Capture the screen\nexport function captureRunescape() {\n    if (!canCaptureRunescape())\n        return null;\n    try {\n        return a1lib.captureHoldFullRs();\n    }\n    catch (ex) {\n        if (ex.message === \"capturehold failed\")\n            console.warn(\"Capturing screen failed! Is runescape open?\");\n    }\n    return null;\n}\n// Find a task on the current screen\nexport function findTask(buffer) {\n    return __awaiter(this, void 0, void 0, function () {\n        var slayerData, counterData;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    if (!settings.controller.data.autoCapture.enabled || loopRunning || searchResult)\n                        return [2 /*return*/];\n                    if (!buffer)\n                        buffer = captureRunescape();\n                    if (!buffer)\n                        return [2 /*return*/];\n                    loopRunning = true;\n                    docHandler.animate.loadingStop();\n                    return [4 /*yield*/, slayerReader.read(buffer)];\n                case 1:\n                    slayerData = _a.sent();\n                    if (!(slayerData && slayerData[0])) return [3 /*break*/, 11];\n                    docHandler.animate.loading();\n                    if (!slayerData.selectYourOwn) return [3 /*break*/, 3];\n                    docHandler.main.set.suggested();\n                    docHandler.animate.loadingStop();\n                    return [4 /*yield*/, timer(settings.controller.data.autoCapture.dialogTimer)];\n                case 2:\n                    _a.sent();\n                    loopRunning = false;\n                    return [2 /*return*/];\n                case 3:\n                    if (!(slayerData.reaper && !slayerData.ticket)) return [3 /*break*/, 5];\n                    return [4 /*yield*/, docHandler.main.set.reaper({ name: slayerData[0].task, count: slayerData[0].count })];\n                case 4:\n                    _a.sent();\n                    return [3 /*break*/, 9];\n                case 5:\n                    if (!slayerData.ticket) return [3 /*break*/, 7];\n                    return [4 /*yield*/, docHandler.main.set.double({ name: slayerData[0].task, count: slayerData[0].count }, { name: slayerData[1].task, count: slayerData[1].count })];\n                case 6:\n                    _a.sent();\n                    return [3 /*break*/, 9];\n                case 7: return [4 /*yield*/, docHandler.main.set.single({ name: slayerData[0].task, count: slayerData[0].count })];\n                case 8:\n                    _a.sent();\n                    _a.label = 9;\n                case 9:\n                    docHandler.animate.loadingStop();\n                    return [4 /*yield*/, timer(settings.controller.data.autoCapture.dialogTimer)];\n                case 10:\n                    _a.sent();\n                    loopRunning = false;\n                    return [3 /*break*/, 21];\n                case 11:\n                    if (!settings.controller.data.autoCapture.counter) return [3 /*break*/, 20];\n                    return [4 /*yield*/, counterReader.read(buffer)];\n                case 12:\n                    counterData = _a.sent();\n                    if (!counterData) return [3 /*break*/, 18];\n                    docHandler.animate.loading();\n                    if (!(counterData.reaper && (docHandler.main.reaperLoaded || counterData.task != null))) return [3 /*break*/, 14];\n                    return [4 /*yield*/, docHandler.main.set.reaper({ name: counterData.task, count: counterData.count })];\n                case 13:\n                    _a.sent();\n                    return [3 /*break*/, 16];\n                case 14:\n                    if (!(!counterData.reaper && (docHandler.main.singleLoaded || counterData.task != null))) return [3 /*break*/, 16];\n                    return [4 /*yield*/, docHandler.main.set.single({ name: counterData.task, count: counterData.count })];\n                case 15:\n                    _a.sent();\n                    _a.label = 16;\n                case 16:\n                    docHandler.animate.loadingStop();\n                    return [4 /*yield*/, timer(settings.controller.data.autoCapture.counterTimer)];\n                case 17:\n                    _a.sent();\n                    loopRunning = false;\n                    return [3 /*break*/, 19];\n                case 18:\n                    docHandler.animate.loadingStop();\n                    loopRunning = false;\n                    _a.label = 19;\n                case 19: return [3 /*break*/, 21];\n                case 20:\n                    docHandler.animate.loadingStop();\n                    loopRunning = false;\n                    _a.label = 21;\n                case 21: return [2 /*return*/];\n            }\n        });\n    });\n}\n// Search for tasks\nexport function searchTasks(value) {\n    return __awaiter(this, void 0, void 0, function () {\n        var tool, lookup, tasks, _i, lookup_1, term, data;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    if (!!value) return [3 /*break*/, 2];\n                    return [4 /*yield*/, docHandler.main.get.searchInput()];\n                case 1:\n                    value = _a.sent();\n                    _a.label = 2;\n                case 2:\n                    docHandler.main.reset.searchBox();\n                    settings.search.addHistory(value);\n                    if (!(value.length == 0 && (searchResult || !settings.controller.data.autoCapture.enabled))) return [3 /*break*/, 4];\n                    searchResult = false;\n                    docHandler.main.toggle.searchText();\n                    return [4 /*yield*/, findTask()];\n                case 3:\n                    _a.sent();\n                    return [2 /*return*/];\n                case 4:\n                    if (value.startsWith(\"devTools\")) {\n                        tool = value.includes(\" \") ? value.substring(value.indexOf(\" \") + 1) : value;\n                        settings.executeDevTools(tool);\n                        return [2 /*return*/];\n                    }\n                    else if (value.toLowerCase().includes(\"suggest\")) {\n                        docHandler.main.set.suggested();\n                        return [2 /*return*/];\n                    }\n                    _a.label = 5;\n                case 5:\n                    searchResult = true;\n                    docHandler.main.toggle.searchText();\n                    lookup = value.includes(\"|\") ?\n                        [value.substring(0, value.indexOf(\"|\")), value.substring(value.indexOf(\"|\") + 1)] :\n                        [value];\n                    tasks = [];\n                    _i = 0, lookup_1 = lookup;\n                    _a.label = 6;\n                case 6:\n                    if (!(_i < lookup_1.length)) return [3 /*break*/, 9];\n                    term = lookup_1[_i];\n                    return [4 /*yield*/, searchAlgo.lookup(term, lookup.length > 1)];\n                case 7:\n                    data = _a.sent();\n                    if (data) {\n                        logger.log(\"Search for (Reaper/Slayer Assignment, Alias, or Creature): \" + data.task);\n                        tasks.push({ name: data.task, reaper: data.reaper });\n                    }\n                    _a.label = 8;\n                case 8:\n                    _i++;\n                    return [3 /*break*/, 6];\n                case 9:\n                    if (!(tasks.length > 1)) return [3 /*break*/, 11];\n                    return [4 /*yield*/, docHandler.main.set.double({ name: tasks[0].name, count: 1 }, { name: tasks[1].name, count: 1 })];\n                case 10:\n                    _a.sent();\n                    return [3 /*break*/, 15];\n                case 11:\n                    if (!(tasks.length == 1)) return [3 /*break*/, 15];\n                    if (!tasks[0].reaper) return [3 /*break*/, 13];\n                    return [4 /*yield*/, docHandler.main.set.reaper({ name: tasks[0].name, count: 1 })];\n                case 12:\n                    _a.sent();\n                    return [3 /*break*/, 15];\n                case 13: return [4 /*yield*/, docHandler.main.set.single({ name: tasks[0].name, count: 1 })];\n                case 14:\n                    _a.sent();\n                    _a.label = 15;\n                case 15:\n                    docHandler.animate.loadingStop();\n                    if (!!settings.controller.data.autoCapture.search) return [3 /*break*/, 17];\n                    return [4 /*yield*/, timer(settings.controller.data.autoCapture.searchTimer)];\n                case 16:\n                    _a.sent();\n                    searchResult = false;\n                    docHandler.main.toggle.searchText();\n                    _a.label = 17;\n                case 17: return [2 /*return*/];\n            }\n        });\n    });\n}\n","if(typeof __WEBPACK_EXTERNAL_MODULE_canvas__ === 'undefined') { var e = new Error(\"Cannot find module 'canvas'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_canvas__;","if(typeof __WEBPACK_EXTERNAL_MODULE_electron_common__ === 'undefined') { var e = new Error(\"Cannot find module 'electron/common'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_electron_common__;","if(typeof __WEBPACK_EXTERNAL_MODULE_sharp__ === 'undefined') { var e = new Error(\"Cannot find module 'sharp'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_sharp__;","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"sharp\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"canvas\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"electron/common\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"sharp\", \"canvas\", \"electron/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"base\"] = factory((function webpackLoadOptionalExternalModule() { try { return require(\"sharp\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"canvas\"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require(\"electron/common\"); } catch(e) {} }()));\n\telse\n\t\troot[\"A1lib\"] = factory(root[\"sharp\"], root[\"canvas\"], root[\"electron/common\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE_sharp__, __WEBPACK_EXTERNAL_MODULE_canvas__, __WEBPACK_EXTERNAL_MODULE_electron_common__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./src/base/alt1api.ts\":\n/*!*****************************!*\\\n  !*** ./src/base/alt1api.ts ***!\n  \\*****************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\n\n/***/ }),\n\n/***/ \"./src/base/declarations.ts\":\n/*!**********************************!*\\\n  !*** ./src/base/declarations.ts ***!\n  \\**********************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\n\n/***/ }),\n\n/***/ \"./src/base/imagedata-extensions.ts\":\n/*!******************************************!*\\\n  !*** ./src/base/imagedata-extensions.ts ***!\n  \\******************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImageData = void 0;\nconst a1lib = __importStar(__webpack_require__(/*! ./index */ \"./src/base/index.ts\"));\nconst nodeimports = __importStar(__webpack_require__(/*! ./nodepolyfill */ \"./src/base/nodepolyfill.ts\"));\n// //TODO revamp this madness a bit?\n// (function () {\n// \tvar globalvar = (typeof self != \"undefined\" ? self : (typeof (global as any) != \"undefined\" ? (global as any) : null)) as any;\n// \t//use the node-canvas version when on node\n// \tif (typeof globalvar.ImageData == \"undefined\") {\n// \t\tlet nodecnv = requireNodeCanvas();\n// \t\tglobalvar.ImageData = nodecnv.ImageData;\n// \t}\n// \tvar fill = typeof globalvar.ImageData == \"undefined\";\n// \t//should never be reach anymore\n// \tvar constr = function (this: any) {\n// \t\tvar i = 0;\n// \t\tvar data = (arguments[i] instanceof Uint8ClampedArray ? arguments[i++] : null);\n// \t\tvar width = arguments[i++];\n// \t\tvar height = arguments[i++];\n// \t\tif (fill) {\n// \t\t\tif (!data) { data = new Uint8ClampedArray(width * height * 4); }\n// \t\t\tthis.width = width;\n// \t\t\tthis.height = height;\n// \t\t\tthis.data = data;\n// \t\t}\n// \t\telse if (oldconstr) {\n// \t\t\treturn (data ? new oldconstr(data, width, height) : new oldconstr(width, height));\n// \t\t} else {\n// \t\t\tvar canvas = document.createElement('canvas');\n// \t\t\tcanvas.width = width;\n// \t\t\tcanvas.height = height;\n// \t\t\tvar ctx = canvas.getContext(\"2d\")!;\n// \t\t\tvar imageData = ctx.createImageData(width, height);\n// \t\t\tif (data) { imageData.data.set(data); }\n// \t\t\treturn imageData;\n// \t\t}\n// \t}\n// \tvar oldconstr = globalvar.ImageData;\n// \tif (typeof document != \"undefined\") {\n// \t\ttry {\n// \t\t\tnew oldconstr(1, 1);\n// \t\t} catch (e) {\n// \t\t\t//direct constructor call not allowed in ie\n// \t\t\toldconstr = null;\n// \t\t}\n// \t}\n// \tif (!fill) { constr.prototype = globalvar.ImageData.prototype; }\n// \tglobalvar.ImageData = constr;\n// \tImageData = constr as any;\n// })();\n(function () {\n    var globalvar = (typeof self != \"undefined\" ? self : (typeof __webpack_require__.g != \"undefined\" ? __webpack_require__.g : null));\n    var filltype = typeof globalvar.ImageData == \"undefined\" || typeof globalvar.document == \"undefined\";\n    var fillconstr = filltype;\n    if (!filltype) {\n        var oldconstr = globalvar.ImageData;\n        try {\n            let data = new Uint8ClampedArray(4);\n            data[0] = 1;\n            let a = new globalvar.ImageData(data, 1, 1);\n            fillconstr = a.data[0] != 1;\n        }\n        catch (e) {\n            fillconstr = true;\n        }\n    }\n    if (fillconstr) {\n        var constr = function ImageDataShim() {\n            var i = 0;\n            var data = (arguments[i] instanceof Uint8ClampedArray ? arguments[i++] : null);\n            var width = arguments[i++];\n            var height = arguments[i++];\n            if (filltype) {\n                if (!data) {\n                    data = new Uint8ClampedArray(width * height * 4);\n                }\n                this.width = width;\n                this.height = height;\n                this.data = data;\n            }\n            else if (fillconstr) {\n                //WARNING This branch of code does not use the same pixel data backing store\n                //(problem with wasm, however all wasm browser have a native constructor (unless asm.js is used))\n                var canvas = document.createElement('canvas');\n                canvas.width = width;\n                canvas.height = height;\n                var ctx = canvas.getContext(\"2d\");\n                var imageData = ctx.createImageData(width, height);\n                if (data) {\n                    imageData.data.set(data);\n                }\n                return imageData;\n            }\n            // else {\n            // \t//oh no...\n            // \t//we need this monstrocity in order to call the native constructor with variable number of args\n            // \t//when es5 transpile is enable (that strips the spread operator)\n            // \treturn new (Function.prototype.bind.apply(oldconstr, [null,...arguments]));\n            // }\n        };\n        if (!filltype) {\n            constr.prototype = globalvar.ImageData.prototype;\n        }\n        globalvar.ImageData = constr;\n        exports.ImageData = constr;\n    }\n    else {\n        exports.ImageData = globalvar.ImageData;\n    }\n})();\n//Recast into a drawable imagedata class on all platforms, into a normal browser ImageData on browsers or a node-canvas imagedata on nodejs\nexports.ImageData.prototype.toDrawableData = function () {\n    if (typeof document == \"undefined\") {\n        return nodeimports.imageDataToDrawable(this);\n    }\n    else {\n        return this;\n    }\n};\nexports.ImageData.prototype.putImageData = function (buf, cx, cy) {\n    for (var dx = 0; dx < buf.width; dx++) {\n        for (var dy = 0; dy < buf.height; dy++) {\n            var i1 = (dx + cx) * 4 + (dy + cy) * 4 * this.width;\n            var i2 = dx * 4 + dy * 4 * buf.width;\n            this.data[i1] = buf.data[i2];\n            this.data[i1 + 1] = buf.data[i2 + 1];\n            this.data[i1 + 2] = buf.data[i2 + 2];\n            this.data[i1 + 3] = buf.data[i2 + 3];\n        }\n    }\n};\nexports.ImageData.prototype.pixelOffset = function (x, y) {\n    return x * 4 + y * this.width * 4;\n};\n//creates a hash of a portion of the buffer used to check for changes\nexports.ImageData.prototype.getPixelHash = function (rect) {\n    if (!rect) {\n        rect = new a1lib.Rect(0, 0, this.width, this.height);\n    }\n    var hash = 0;\n    for (var x = rect.x; x < rect.x + rect.width; x++) {\n        for (var y = rect.y; y < rect.y + rect.height; y++) {\n            var i = x * 4 + y * 4 * this.width;\n            hash = (((hash << 5) - hash) + this.data[i]) | 0;\n            hash = (((hash << 5) - hash) + this.data[i + 1]) | 0;\n            hash = (((hash << 5) - hash) + this.data[i + 2]) | 0;\n            hash = (((hash << 5) - hash) + this.data[i + 3]) | 0;\n        }\n    }\n    return hash;\n};\nexports.ImageData.prototype.clone = function (rect) {\n    return this.toImage(rect).getContext(\"2d\").getImageData(0, 0, rect.width, rect.height);\n};\nexports.ImageData.prototype.show = function (x = 5, y = 5, zoom = 1) {\n    if (typeof document == \"undefined\") {\n        console.error(\"need a document to show an imagedata object\");\n        return;\n    }\n    var imgs = document.getElementsByClassName(\"debugimage\");\n    while (imgs.length > exports.ImageData.prototype.show.maxImages) {\n        imgs[0].remove();\n    }\n    var el = this.toImage();\n    el.classList.add(\"debugimage\");\n    el.style.position = \"absolute\";\n    el.style.zIndex = \"1000\";\n    el.style.left = x / zoom + \"px\";\n    el.style.top = y / zoom + \"px\";\n    el.style.background = \"purple\";\n    el.style.cursor = \"pointer\";\n    el.style.imageRendering = \"pixelated\";\n    el.style.outline = \"1px solid #0f0\";\n    el.style.width = (this.width == 1 ? 100 : this.width) * zoom + \"px\";\n    el.style.height = (this.height == 1 ? 100 : this.height) * zoom + \"px\";\n    el.onclick = function () { el.remove(); };\n    document.body.appendChild(el);\n    return el;\n};\nexports.ImageData.prototype.show.maxImages = 10;\nexports.ImageData.prototype.toImage = function (rect) {\n    if (!rect) {\n        rect = new a1lib.Rect(0, 0, this.width, this.height);\n    }\n    if (typeof document != \"undefined\") {\n        var el = document.createElement(\"canvas\");\n        el.width = rect.width;\n        el.height = rect.height;\n    }\n    else {\n        el = nodeimports.createCanvas(rect.width, rect.height);\n    }\n    var ctx = el.getContext(\"2d\");\n    ctx.putImageData(this.toDrawableData(), -rect.x, -rect.y);\n    return el;\n};\nexports.ImageData.prototype.getPixel = function (x, y) {\n    var i = x * 4 + y * 4 * this.width;\n    return [this.data[i], this.data[i + 1], this.data[i + 2], this.data[i + 3]];\n};\nexports.ImageData.prototype.getPixelValueSum = function (x, y) {\n    var i = x * 4 + y * 4 * this.width;\n    return this.data[i] + this.data[i + 1] + this.data[i + 2];\n};\nexports.ImageData.prototype.getPixelInt = function (x, y) {\n    var i = x * 4 + y * 4 * this.width;\n    return (this.data[i + 3] << 24) + (this.data[i + 0] << 16) + (this.data[i + 1] << 8) + (this.data[i + 2] << 0);\n};\nexports.ImageData.prototype.getColorDifference = function (x, y, r, g, b, a = 255) {\n    var i = x * 4 + y * 4 * this.width;\n    return Math.abs(this.data[i] - r) + Math.abs(this.data[i + 1] - g) + Math.abs(this.data[i + 2] - b) * a / 255;\n};\nexports.ImageData.prototype.setPixel = function (x, y, ...color) {\n    var r, g, b, a;\n    var [r, g, b, a] = (Array.isArray(color[0]) ? color[0] : color);\n    var i = x * 4 + y * 4 * this.width;\n    this.data[i] = r;\n    this.data[i + 1] = g;\n    this.data[i + 2] = b;\n    this.data[i + 3] = a == undefined ? 255 : a;\n};\nexports.ImageData.prototype.setPixelInt = function (x, y, color) {\n    var i = x * 4 + y * 4 * this.width;\n    this.data[i] = (color >> 24) & 0xff;\n    this.data[i + 1] = (color >> 16) & 0xff;\n    this.data[i + 2] = (color >> 8) & 0xff;\n    this.data[i + 3] = (color >> 0) & 0xff;\n};\nexports.ImageData.prototype.toFileBytes = function (format, quality) {\n    if (typeof HTMLCanvasElement != \"undefined\") {\n        return new Promise(d => this.toImage().toBlob(b => {\n            var r = new FileReader();\n            r.readAsArrayBuffer(b);\n            r.onload = () => d(new Uint8Array(r.result));\n        }, format, quality));\n    }\n    else {\n        return nodeimports.imageDataToFileBytes(this, format, quality);\n    }\n};\nexports.ImageData.prototype.toPngBase64 = function () {\n    if (typeof HTMLCanvasElement != \"undefined\") {\n        var str = this.toImage().toDataURL(\"image/png\");\n        return str.slice(str.indexOf(\",\") + 1);\n    }\n    else {\n        throw new Error(\"synchronous image conversion not supported in nodejs, try using ImageData.prototype.toFileBytes\");\n    }\n};\nexports.ImageData.prototype.pixelCompare = function (buf, x = 0, y = 0, max) {\n    return a1lib.ImageDetect.simpleCompare(this, buf, x, y, max);\n};\nexports.ImageData.prototype.copyTo = function (target, sourcex, sourcey, width, height, targetx, targety) {\n    //convince v8 that these are 31bit uints\n    const targetwidth = target.width | 0;\n    const thiswidth = this.width | 0;\n    const copywidth = width | 0;\n    const fastwidth = Math.floor(width / 4) * 4;\n    const thisdata = new Int32Array(this.data.buffer, this.data.byteOffset, this.data.byteLength / 4);\n    const targetdata = new Int32Array(target.data.buffer, target.data.byteOffset, target.data.byteLength / 4);\n    for (let cy = 0; cy < height; cy++) {\n        let cx = 0;\n        let it = (cx + targetx) + (cy + targety) * targetwidth;\n        let is = (cx + sourcex) + (cy + sourcey) * thiswidth;\n        //copy 4 pixels per iter (xmm)\n        for (; cx < fastwidth; cx += 4) {\n            targetdata[it] = thisdata[is];\n            targetdata[it + 1] = thisdata[is + 1];\n            targetdata[it + 2] = thisdata[is + 2];\n            targetdata[it + 3] = thisdata[is + 3];\n            it += 4;\n            is += 4;\n        }\n        //copy remainder per pixel\n        for (; cx < copywidth; cx++) {\n            targetdata[it] = thisdata[is];\n            it += 1;\n            is += 1;\n        }\n    }\n};\nif (typeof HTMLImageElement != \"undefined\") {\n    HTMLImageElement.prototype.toBuffer = function (x = 0, y = 0, w = this.width, h = this.height) {\n        var cnv = document.createElement(\"canvas\");\n        cnv.width = w;\n        cnv.height = h;\n        var ctx = cnv.getContext(\"2d\");\n        ctx.drawImage(this, -x, -y);\n        return ctx.getImageData(0, 0, w, h);\n    };\n    HTMLImageElement.prototype.toCanvas = function (x = 0, y = 0, w = this.width, h = this.height) {\n        var cnv = document.createElement(\"canvas\");\n        cnv.width = w;\n        cnv.height = h;\n        var ctx = cnv.getContext(\"2d\");\n        ctx.drawImage(this, -x, -y);\n        return cnv;\n    };\n}\n\n\n/***/ }),\n\n/***/ \"./src/base/imagedetect.ts\":\n/*!*********************************!*\\\n  !*** ./src/base/imagedetect.ts ***!\n  \\*********************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImageDataSet = exports.webpackImages = exports.asyncMap = exports.coldif = exports.simpleCompareRMSE = exports.simpleCompare = exports.findSubbuffer = exports.findSubimage = exports.clearPngColorspace = exports.isPngBuffer = exports.imageDataFromFileBuffer = exports.imageDataFromBase64 = exports.imageDataFromUrl = void 0;\nconst imgref_1 = __webpack_require__(/*! ./imgref */ \"./src/base/imgref.ts\");\nconst wapper = __importStar(__webpack_require__(/*! ./wrapper */ \"./src/base/wrapper.ts\"));\nconst nodeimports = __importStar(__webpack_require__(/*! ./nodepolyfill */ \"./src/base/nodepolyfill.ts\"));\nconst _1 = __webpack_require__(/*! . */ \"./src/base/index.ts\");\n/**\n* Downloads an image and returns the ImageData\n* Make sure the png image does not have a sRGB chunk or the resulting pixels will differ for different users!!!\n* @param url http(s) or data url to the image\n*/\nasync function imageDataFromUrl(url) {\n    if (typeof Image != \"undefined\") {\n        var img = new Image();\n        img.crossOrigin = \"crossorigin\";\n        return await new Promise((done, fail) => {\n            img.onload = function () { done(img.toBuffer()); };\n            img.onerror = fail;\n            img.src = url;\n        });\n    }\n    else {\n        var hdr = \"data:image/png;base64,\";\n        if (url.startsWith(hdr)) {\n            return imageDataFromBase64(url.slice(hdr.length));\n        }\n        throw new Error(\"loading remote images in nodejs has been disabled, load the raw bytes and use imageDataFromNodeBuffer instead\");\n    }\n}\nexports.imageDataFromUrl = imageDataFromUrl;\n/**\n* Loads an ImageData object from a base64 encoded png image\n* Make sure the png image does not have a sRGB chunk or the resulting pixels will differ for different users!!!\n* @param data a base64 encoded png image\n*/\nasync function imageDataFromBase64(data) {\n    if (typeof Image != \"undefined\") {\n        return imageDataFromUrl(\"data:image/png;base64,\" + data);\n    }\n    else {\n        return nodeimports.imageDataFromBase64(data);\n    }\n}\nexports.imageDataFromBase64 = imageDataFromBase64;\n/**\n * Loads an ImageData object directly from a png encoded file buffer\n * This method ensures that png color space headers are taken care off\n * @param data The bytes of a png file\n */\nasync function imageDataFromFileBuffer(data) {\n    clearPngColorspace(data);\n    if (typeof Image != \"undefined\") {\n        let blob = new Blob([data], { type: \"image/png\" });\n        let url = URL.createObjectURL(blob);\n        let r = await imageDataFromUrl(url);\n        URL.revokeObjectURL(url);\n        return r;\n    }\n    else {\n        return nodeimports.imageDataFromBuffer(data);\n    }\n}\nexports.imageDataFromFileBuffer = imageDataFromFileBuffer;\n/**\n* Checks if a given byte array is a png file (by checking for ?PNG as first 4 bytes)\n* @param bytes Raw bytes of the png file\n*/\nfunction isPngBuffer(bytes) {\n    return bytes[0] == 137 && bytes[1] == 80 && bytes[2] == 78 && bytes[3] == 71;\n}\nexports.isPngBuffer = isPngBuffer;\n/**\n* Resets the colorspace data in the png file.\n* This makes sure the browser renders the exact colors in the file instead of filtering it in order to obtain the best real life representation of\n* what it looked like on the authors screen. (this feature is often broken and not supported)\n* For example a round trip printscreen -> open in browser results in different colors than the original\n* @param data Raw bytes of the png file\n*/\nfunction clearPngColorspace(data) {\n    if (!isPngBuffer(data)) {\n        throw new Error(\"non-png image received\");\n    }\n    var i = 8;\n    while (i < data.length) {\n        var length = data[i++] * 0x1000000 + data[i++] * 0x10000 + data[i++] * 0x100 + data[i++];\n        var ancillary = !!((data[i] >> 5) & 1);\n        var chunkname = String.fromCharCode(data[i], data[i + 1], data[i + 2], data[i + 3]);\n        var chunkid = chunkname.toLowerCase();\n        if (chunkid != \"trns\" && ancillary) {\n            data[i + 0] = \"n\".charCodeAt(0);\n            data[i + 1] = \"o\".charCodeAt(0);\n            data[i + 2] = \"P\".charCodeAt(0);\n            data[i + 3] = \"E\".charCodeAt(0);\n            //calculate new chunk checksum\n            //http://www.libpng.org/pub/png/spec/1.2/PNG-CRCAppendix.html\n            var end = i + 4 + length;\n            var crc = 0xffffffff;\n            //should be fast enough like this\n            var bitcrc = function (bit) {\n                for (var k = 0; k < 8; k++) {\n                    if (bit & 1) {\n                        bit = 0xedb88320 ^ (bit >>> 1);\n                    }\n                    else {\n                        bit = bit >>> 1;\n                    }\n                }\n                return bit;\n            };\n            for (var a = i; a < end; a++) {\n                if (a >= i + 4) {\n                    data[a] = 0;\n                }\n                var bit = data[a];\n                crc = bitcrc((crc ^ bit) & 0xff) ^ (crc >>> 8);\n            }\n            crc = crc ^ 0xffffffff;\n            //new chunk checksum\n            data[i + 4 + length + 0] = (crc >> 24) & 0xff;\n            data[i + 4 + length + 1] = (crc >> 16) & 0xff;\n            data[i + 4 + length + 2] = (crc >> 8) & 0xff;\n            data[i + 4 + length + 3] = (crc >> 0) & 0xff;\n        }\n        if (chunkname == \"IEND\") {\n            break;\n        }\n        i += 4; //type\n        i += length; //data\n        i += 4; //crc\n    }\n}\nexports.clearPngColorspace = clearPngColorspace;\n/**\n* finds the given needle ImageBuffer in the given haystack ImgRef this function uses the best optimized available\n* code depending on the type of the haystack. It will use fast c# searching if the haystack is an ImgRefBind, js searching\n* is used otherwise.\n* the checklist argument is no longer used and should ignored or null/undefined\n* The optional sx,sy,sw,sh arguments indicate a bounding rectangle in which to search the needle. The rectangle should be bigger than the needle\n* @returns An array of points where the needle is found. The array is empty if none are found\n*/\nfunction findSubimage(haystackImgref, needleBuffer, sx = 0, sy = 0, sw = haystackImgref.width, sh = haystackImgref.height) {\n    if (!haystackImgref) {\n        throw new TypeError();\n    }\n    if (!needleBuffer) {\n        throw new TypeError();\n    }\n    var max = 30;\n    //check if we can do this in alt1\n    if (haystackImgref instanceof imgref_1.ImgRefBind && wapper.hasAlt1 && alt1.bindFindSubImg) {\n        var needlestr = wapper.encodeImageString(needleBuffer);\n        var r = alt1.bindFindSubImg(haystackImgref.handle, needlestr, needleBuffer.width, sx, sy, sw, sh);\n        if (!r) {\n            throw new wapper.Alt1Error();\n        }\n        return JSON.parse(r);\n    }\n    return findSubbuffer(haystackImgref.read(), needleBuffer, sx, sy, sw, sh);\n}\nexports.findSubimage = findSubimage;\n/**\n* Uses js to find the given needle ImageBuffer in the given haystack ImageBuffer. It is better to use the alt1.bind- functions in\n* combination with a1nxt.findsubimg.\n* the optional sx,sy,sw,sh arguments indicate a bounding rectangle in which to search.\n* @returns An array of points where the needle is found. The array is empty if none are found\n*/\nfunction findSubbuffer(haystack, needle, sx = 0, sy = 0, sw = haystack.width, sh = haystack.height) {\n    var r = [];\n    var maxdif = 30;\n    var maxresults = 50;\n    var needlestride = needle.width * 4;\n    var heystackstride = haystack.width * 4;\n    //built list of non trans pixel to check\n    var checkList = [];\n    for (var y = 0; y < needle.height; y++) {\n        for (var x = 0; x < needle.width; x++) {\n            var i = x * 4 + y * needlestride;\n            if (needle.data[i + 3] == 255) {\n                checkList.push({ x: x, y: y });\n            }\n            if (checkList.length == 10) {\n                break;\n            }\n        }\n        if (checkList.length == 10) {\n            break;\n        }\n    }\n    var cw = (sx + sw) - needle.width;\n    var ch = (sy + sh) - needle.height;\n    var checklength = checkList.length;\n    for (var y = sy; y <= ch; y++) {\n        outer: for (var x = sx; x <= cw; x++) {\n            for (var a = 0; a < checklength; a++) {\n                var i1 = (x + checkList[a].x) * 4 + (y + checkList[a].y) * heystackstride;\n                var i2 = checkList[a].x * 4 + checkList[a].y * needlestride;\n                var d = 0;\n                d = d + Math.abs(haystack.data[i1 + 0] - needle.data[i2 + 0]) | 0;\n                d = d + Math.abs(haystack.data[i1 + 1] - needle.data[i2 + 1]) | 0;\n                d = d + Math.abs(haystack.data[i1 + 2] - needle.data[i2 + 2]) | 0;\n                d *= 255 / needle.data[i2 + 3];\n                if (d > maxdif) {\n                    continue outer;\n                }\n            }\n            if (simpleCompare(haystack, needle, x, y, maxdif) != Infinity) {\n                r.push({ x, y });\n                if (r.length > maxresults) {\n                    return r;\n                }\n            }\n        }\n    }\n    return r;\n}\nexports.findSubbuffer = findSubbuffer;\n/**\n* Compares two images and returns the average color difference per pixel between them\n* @param max The max color difference at any point in the image before short circuiting the function and returning Infinity. set to -1 to always continue.\n* @returns The average color difference per pixel or Infinity if the difference is more than max at any point in the image\n*/\nfunction simpleCompare(bigbuf, checkbuf, x, y, max = 30) {\n    if (x < 0 || y < 0) {\n        throw new RangeError();\n    }\n    if (x + checkbuf.width > bigbuf.width || y + checkbuf.height > bigbuf.height) {\n        throw new RangeError();\n    }\n    if (max == -1) {\n        max = 255 * 4;\n    }\n    var dif = 0;\n    for (var step = 8; step >= 1; step /= 2) {\n        for (var cx = 0; cx < checkbuf.width; cx += step) {\n            for (var cy = 0; cy < checkbuf.height; cy += step) {\n                var i1 = (x + cx) * 4 + (y + cy) * bigbuf.width * 4;\n                var i2 = cx * 4 + cy * checkbuf.width * 4;\n                var d = 0;\n                d = d + Math.abs(bigbuf.data[i1 + 0] - checkbuf.data[i2 + 0]) | 0;\n                d = d + Math.abs(bigbuf.data[i1 + 1] - checkbuf.data[i2 + 1]) | 0;\n                d = d + Math.abs(bigbuf.data[i1 + 2] - checkbuf.data[i2 + 2]) | 0;\n                d *= checkbuf.data[i2 + 3] / 255;\n                if (step == 1) {\n                    dif += d;\n                }\n                if (d > max) {\n                    return Infinity;\n                }\n            }\n        }\n    }\n    return dif / checkbuf.width / checkbuf.height;\n}\nexports.simpleCompare = simpleCompare;\n/**\n* Calculates the root mean square error between the two buffers at the given coordinate, this method can be used in situations with significant blur or\n* transparency, it does not bail early on non-matching images like simpleCompare does so it can be expected to be much slower when called often.\n* @returns The root mean square error beteen the images, high single pixel errors are penalized more than consisten low errors. return of 0 means perfect match.\n*/\nfunction simpleCompareRMSE(bigbuf, checkbuf, x, y) {\n    if (x < 0 || y < 0) {\n        throw new RangeError();\n    }\n    if (x + checkbuf.width > bigbuf.width || y + checkbuf.height > bigbuf.height) {\n        throw new RangeError();\n    }\n    var dif = 0;\n    var numpix = 0;\n    for (var cx = 0; cx < checkbuf.width; cx++) {\n        for (var cy = 0; cy < checkbuf.height; cy++) {\n            var i1 = (x + cx) * 4 + (y + cy) * bigbuf.width * 4;\n            var i2 = cx * 4 + cy * checkbuf.width * 4;\n            var d = 0;\n            d = d + Math.abs(bigbuf.data[i1 + 0] - checkbuf.data[i2 + 0]) | 0;\n            d = d + Math.abs(bigbuf.data[i1 + 1] - checkbuf.data[i2 + 1]) | 0;\n            d = d + Math.abs(bigbuf.data[i1 + 2] - checkbuf.data[i2 + 2]) | 0;\n            var weight = checkbuf.data[i2 + 3] / 255;\n            numpix += weight;\n            dif += d * d * weight;\n        }\n    }\n    return Math.sqrt(dif / numpix);\n}\nexports.simpleCompareRMSE = simpleCompareRMSE;\n/**\n* Returns the difference between two colors (scaled to the alpha of the second color)\n*/\nfunction coldif(r1, g1, b1, r2, g2, b2, a2) {\n    return (Math.abs(r1 - r2) + Math.abs(g1 - g2) + Math.abs(b1 - b2)) * a2 / 255; //only applies alpha for 2nd buffer!\n}\nexports.coldif = coldif;\n/**\n * Turns map of promises into a map that contains the resolved values after loading.\n * @param input\n */\nfunction asyncMap(input) {\n    var raw = {};\n    var promises = [];\n    for (var a in input) {\n        if (input.hasOwnProperty(a)) {\n            raw[a] = null;\n            promises.push(input[a].then(function (a, i) { raw[a] = i; r[a] = i; }.bind(null, a)));\n        }\n    }\n    var r = {};\n    var promise = Promise.all(promises).then(() => { r.loaded = true; return r; });\n    Object.defineProperty(r, \"loaded\", { enumerable: false, value: false, writable: true });\n    Object.defineProperty(r, \"promise\", { enumerable: false, value: promise });\n    Object.defineProperty(r, \"raw\", { enumerable: false, value: raw });\n    return Object.assign(r, raw);\n}\nexports.asyncMap = asyncMap;\n/**\n* Same as asyncMap, but casts the properties to ImageData in typescript\n*/\nfunction webpackImages(input) {\n    return asyncMap(input);\n}\nexports.webpackImages = webpackImages;\nclass ImageDataSet {\n    constructor() {\n        this.buffers = [];\n    }\n    matchBest(img, x, y, max) {\n        let best = null;\n        let bestscore = max;\n        for (let a = 0; a < this.buffers.length; a++) {\n            let score = img.pixelCompare(this.buffers[a], x, y, bestscore);\n            if (isFinite(score) && (bestscore == undefined || score < bestscore)) {\n                bestscore = score;\n                best = a;\n            }\n        }\n        if (best == null) {\n            return null;\n        }\n        return { index: best, score: bestscore };\n    }\n    static fromFilmStrip(baseimg, width) {\n        if ((baseimg.width % width) != 0) {\n            throw new Error(\"slice size does not fit in base img\");\n        }\n        let r = new ImageDataSet();\n        for (let x = 0; x < baseimg.width; x += width) {\n            r.buffers.push(baseimg.clone(new _1.Rect(x, 0, width, baseimg.height)));\n        }\n        return r;\n    }\n    static fromFilmStripUneven(baseimg, widths) {\n        let r = new ImageDataSet();\n        let x = 0;\n        for (let w of widths) {\n            r.buffers.push(baseimg.clone(new _1.Rect(x, 0, w, baseimg.height)));\n            x += w;\n            if (x > baseimg.width) {\n                throw new Error(\"sampling filmstrip outside bounds\");\n            }\n        }\n        if (x != baseimg.width) {\n            throw new Error(\"unconsumed pixels left in film strip imagedata\");\n        }\n        return r;\n    }\n    static fromAtlas(baseimg, slices) {\n        let r = new ImageDataSet();\n        for (let slice of slices) {\n            r.buffers.push(baseimg.clone(slice));\n        }\n        return r;\n    }\n}\nexports.ImageDataSet = ImageDataSet;\n\n\n/***/ }),\n\n/***/ \"./src/base/imgref.ts\":\n/*!****************************!*\\\n  !*** ./src/base/imgref.ts ***!\n  \\****************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImgRefData = exports.ImgRefBind = exports.ImgRefCtx = exports.ImgRef = void 0;\nconst index_1 = __webpack_require__(/*! ./index */ \"./src/base/index.ts\");\n/**\n * Represents an image that might be in different types of memory\n * This is mostly used to represent images still in Alt1 memory that have\n * not been transfered to js yet. Various a1lib api's use this type and\n * choose the most efficient approach based on the memory type\n */\nclass ImgRef {\n    constructor(x, y, w, h) {\n        this.t = \"none\";\n        this.x = x;\n        this.y = y;\n        this.width = w;\n        this.height = h;\n    }\n    read(x = 0, y = 0, w = this.width, h = this.height) {\n        throw new Error(\"This imgref (\" + this.t + \") does not support toData\");\n    }\n    findSubimage(needle, sx = 0, sy = 0, w = this.width, h = this.height) {\n        return index_1.ImageDetect.findSubimage(this, needle, sx, sy, w, h);\n    }\n    toData(x = this.x, y = this.y, w = this.width, h = this.height) {\n        return this.read(x - this.x, y - this.y, w, h);\n    }\n    ;\n    containsArea(rect) {\n        return this.x <= rect.x && this.y <= rect.y && this.x + this.width >= rect.x + rect.width && this.y + this.height >= rect.y + rect.height;\n    }\n}\nexports.ImgRef = ImgRef;\n/**\n * Represents an image in js render memory (canvas/image tag)\n */\nclass ImgRefCtx extends ImgRef {\n    constructor(img, x = 0, y = 0) {\n        if (img instanceof CanvasRenderingContext2D) {\n            super(x, y, img.canvas.width, img.canvas.height);\n            this.ctx = img;\n        }\n        else {\n            super(x, y, img.width, img.height);\n            var cnv = (img instanceof HTMLCanvasElement ? img : img.toCanvas());\n            this.ctx = cnv.getContext(\"2d\");\n        }\n        this.t = \"ctx\";\n    }\n    read(x = 0, y = 0, w = this.width, h = this.height) {\n        return this.ctx.getImageData(x, y, w, h);\n    }\n}\nexports.ImgRefCtx = ImgRefCtx;\n/**\n * Represents in image in Alt1 memory, This type of image can be searched for subimages\n * very efficiently and transfering the full image to js can be avoided this way\n */\nclass ImgRefBind extends ImgRef {\n    constructor(handle, x = 0, y = 0, w = 0, h = 0) {\n        super(x, y, w, h);\n        this.handle = handle;\n        this.t = \"bind\";\n    }\n    read(x = 0, y = 0, w = this.width, h = this.height) {\n        return (0, index_1.transferImageData)(this.handle, x, y, w, h);\n    }\n}\nexports.ImgRefBind = ImgRefBind;\n/**\n * Represents an image in js memory\n */\nclass ImgRefData extends ImgRef {\n    constructor(buf, x = 0, y = 0) {\n        super(x, y, buf.width, buf.height);\n        this.buf = buf;\n        this.t = \"data\";\n    }\n    read(x = 0, y = 0, w = this.width, h = this.height) {\n        if (x == 0 && y == 0 && w == this.width && h == this.height) {\n            return this.buf;\n        }\n        var r = new ImageData(w, h);\n        for (var b = y; b < y + h; b++) {\n            for (var a = x; a < x + w; a++) {\n                var i1 = (a - x) * 4 + (b - y) * w * 4;\n                var i2 = a * 4 + b * 4 * this.buf.width;\n                r.data[i1] = this.buf.data[i2];\n                r.data[i1 + 1] = this.buf.data[i2 + 1];\n                r.data[i1 + 2] = this.buf.data[i2 + 2];\n                r.data[i1 + 3] = this.buf.data[i2 + 3];\n            }\n        }\n        return r;\n    }\n}\nexports.ImgRefData = ImgRefData;\n\n\n/***/ }),\n\n/***/ \"./src/base/index.ts\":\n/*!***************************!*\\\n  !*** ./src/base/index.ts ***!\n  \\***************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImageDataSet = exports.findSubbuffer = exports.simpleCompare = exports.findSubimage = exports.webpackImages = exports.NodePolyfill = exports.ImageData = exports.Rect = exports.PasteInput = exports.ImageDetect = void 0;\n__webpack_require__(/*! ./declarations */ \"./src/base/declarations.ts\");\nexports.ImageDetect = __importStar(__webpack_require__(/*! ./imagedetect */ \"./src/base/imagedetect.ts\"));\nexports.PasteInput = __importStar(__webpack_require__(/*! ./pasteinput */ \"./src/base/pasteinput.ts\"));\nvar rect_1 = __webpack_require__(/*! ./rect */ \"./src/base/rect.ts\");\nObject.defineProperty(exports, \"Rect\", ({ enumerable: true, get: function () { return __importDefault(rect_1).default; } }));\nvar imagedata_extensions_1 = __webpack_require__(/*! ./imagedata-extensions */ \"./src/base/imagedata-extensions.ts\");\nObject.defineProperty(exports, \"ImageData\", ({ enumerable: true, get: function () { return imagedata_extensions_1.ImageData; } }));\nexports.NodePolyfill = __importStar(__webpack_require__(/*! ./nodepolyfill */ \"./src/base/nodepolyfill.ts\"));\n__exportStar(__webpack_require__(/*! ./imgref */ \"./src/base/imgref.ts\"), exports);\n__exportStar(__webpack_require__(/*! ./wrapper */ \"./src/base/wrapper.ts\"), exports);\nvar imagedetect_1 = __webpack_require__(/*! ./imagedetect */ \"./src/base/imagedetect.ts\");\nObject.defineProperty(exports, \"webpackImages\", ({ enumerable: true, get: function () { return imagedetect_1.webpackImages; } }));\nObject.defineProperty(exports, \"findSubimage\", ({ enumerable: true, get: function () { return imagedetect_1.findSubimage; } }));\nObject.defineProperty(exports, \"simpleCompare\", ({ enumerable: true, get: function () { return imagedetect_1.simpleCompare; } }));\nObject.defineProperty(exports, \"findSubbuffer\", ({ enumerable: true, get: function () { return imagedetect_1.findSubbuffer; } }));\nObject.defineProperty(exports, \"ImageDataSet\", ({ enumerable: true, get: function () { return imagedetect_1.ImageDataSet; } }));\n\n\n/***/ }),\n\n/***/ \"./src/base/nodepolyfill.ts\":\n/*!**********************************!*\\\n  !*** ./src/base/nodepolyfill.ts ***!\n  \\**********************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\n//nodejs and electron polyfills for web api's\n//commented out type info as that breaks webpack with optional dependencies\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.imageDataFromBuffer = exports.imageDataFromBase64 = exports.imageDataToFileBytes = exports.createCanvas = exports.imageDataToDrawable = exports.requireElectronCommon = exports.requireNodeCanvas = exports.requireSharp = exports.polyfillRequire = void 0;\nconst index_1 = __webpack_require__(/*! ./index */ \"./src/base/index.ts\");\nconst imagedetect_1 = __webpack_require__(/*! ./imagedetect */ \"./src/base/imagedetect.ts\");\nvar requirefunction = null;\n/**\n * Call this function to let the libs require extra dependencies on nodejs in order\n * to polyfill some browser api's (mostly image compression/decompression)\n * `NodePolifill.polyfillRequire(require);` should solve most cases\n */\nfunction polyfillRequire(requirefn) {\n    requirefunction = requirefn;\n}\nexports.polyfillRequire = polyfillRequire;\nfunction requireSharp() {\n    try {\n        if (requirefunction) {\n            return requirefunction(\"sharp\");\n        }\n        else {\n            return __webpack_require__(/* webpackIgnore: true */ /*! sharp */ \"sharp\"); // as typeof import(\"sharp\");\n        }\n    }\n    catch (e) { }\n    return null;\n}\nexports.requireSharp = requireSharp;\nfunction requireNodeCanvas() {\n    //attempt to require sharp first, after loading canvas the module sharp fails to load\n    requireSharp();\n    try {\n        if (requirefunction) {\n            return requirefunction(\"canvas\");\n        }\n        else {\n            return __webpack_require__(/* webpackIgnore: true */ /*! canvas */ \"canvas\"); // as typeof import(\"sharp\");\n        }\n    }\n    catch (e) { }\n    return null;\n}\nexports.requireNodeCanvas = requireNodeCanvas;\nfunction requireElectronCommon() {\n    try {\n        if (requirefunction) {\n            return requirefunction(\"electron/common\");\n        }\n        else {\n            return __webpack_require__(/* webpackIgnore: true */ /*! electron/common */ \"electron/common\");\n        }\n    }\n    catch (e) { }\n    return null;\n}\nexports.requireElectronCommon = requireElectronCommon;\nfunction imageDataToDrawable(buf) {\n    let nodecnv = requireNodeCanvas();\n    if (!nodecnv) {\n        throw new Error(\"couldn't find built-in canvas or the module 'canvas'\");\n    }\n    return new nodecnv.ImageData(buf.data, buf.width, buf.height);\n}\nexports.imageDataToDrawable = imageDataToDrawable;\nfunction createCanvas(w, h) {\n    let nodecnv = requireNodeCanvas();\n    if (!nodecnv) {\n        throw new Error(\"couldn't find built-in canvas or the module 'canvas'\");\n    }\n    return nodecnv.createCanvas(w, h);\n}\nexports.createCanvas = createCanvas;\nfunction flipBGRAtoRGBA(data) {\n    for (let i = 0; i < data.length; i += 4) {\n        let tmp = data[i + 2];\n        data[i + 2] = data[i + 0];\n        data[i + 0] = tmp;\n    }\n}\nasync function imageDataToFileBytes(buf, format, quality) {\n    //use the electron API if we're in electron\n    var electronCommon;\n    var sharp;\n    if (electronCommon = requireElectronCommon()) {\n        let nativeImage = electronCommon.nativeImage;\n        //need to copy the buffer in order to flip it without destroying the original\n        let bufcpy = Buffer.from(buf.data.slice(buf.data.byteOffset, buf.data.byteLength));\n        flipBGRAtoRGBA(bufcpy);\n        let nativeimg = nativeImage.createFromBitmap(bufcpy, { width: buf.width, height: buf.height });\n        return nativeimg.toPNG();\n    }\n    else if (sharp = requireSharp()) {\n        let img = sharp(Buffer.from(buf.data.buffer), { raw: { width: buf.width, height: buf.height, channels: 4 } });\n        if (format == \"image/png\") {\n            img.png();\n        }\n        else if (format == \"image/webp\") {\n            var opts = { quality: 80 };\n            if (typeof quality == \"number\") {\n                opts.quality = quality * 100;\n            }\n            img.webp(opts);\n        }\n        else {\n            throw new Error(\"unknown image format: \" + format);\n        }\n        return await img.toBuffer({ resolveWithObject: false }).buffer;\n    }\n    throw new Error(\"coulnd't find build-in image compression methods or the module 'electron/common' or 'sharp'\");\n}\nexports.imageDataToFileBytes = imageDataToFileBytes;\nfunction imageDataFromBase64(base64) {\n    return imageDataFromBuffer(Buffer.from(base64, \"base64\"));\n}\nexports.imageDataFromBase64 = imageDataFromBase64;\nasync function imageDataFromBuffer(buffer) {\n    (0, imagedetect_1.clearPngColorspace)(buffer);\n    //use the electron API if we're in electron\n    var electronCommon;\n    var nodecnv;\n    if (electronCommon = requireElectronCommon()) {\n        let nativeImage = electronCommon.nativeImage;\n        let img = nativeImage.createFromBuffer(buffer);\n        let pixels = img.toBitmap();\n        let size = img.getSize();\n        let pixbuf = new Uint8ClampedArray(pixels.buffer, pixels.byteOffset, pixels.byteLength);\n        flipBGRAtoRGBA(pixbuf);\n        return new index_1.ImageData(pixbuf, size.width, size.height);\n    }\n    else if (nodecnv = requireNodeCanvas()) {\n        return new Promise((done, err) => {\n            let img = new nodecnv.Image();\n            img.onerror = err;\n            img.onload = () => {\n                var cnv = nodecnv.createCanvas(img.naturalWidth, img.naturalHeight);\n                var ctx = cnv.getContext(\"2d\");\n                ctx.drawImage(img, 0, 0);\n                var data = ctx.getImageData(0, 0, img.naturalWidth, img.naturalHeight);\n                //use our own class\n                done(new index_1.ImageData(data.data, data.width, data.height));\n            };\n            img.src = Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n        });\n    }\n    throw new Error(\"couldn't find built-in canvas, module 'electron/common' or the module 'canvas'\");\n}\nexports.imageDataFromBuffer = imageDataFromBuffer;\n\n\n/***/ }),\n\n/***/ \"./src/base/pasteinput.ts\":\n/*!********************************!*\\\n  !*** ./src/base/pasteinput.ts ***!\n  \\********************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.fileDialog = exports.start = exports.startDragNDrop = exports.triggerPaste = exports.unlisten = exports.listen = exports.lastref = void 0;\nconst index_1 = __webpack_require__(/*! ./index */ \"./src/base/index.ts\");\nconst ImageDetect = __importStar(__webpack_require__(/*! ./imagedetect */ \"./src/base/imagedetect.ts\"));\nvar listeners = [];\nvar started = false;\nvar dndStarted = false;\nvar pasting = false;\nexports.lastref = null;\nfunction listen(func, errorfunc, dragndrop) {\n    listeners.push({ cb: func, error: errorfunc });\n    if (!started) {\n        start();\n    }\n    if (dragndrop && !dndStarted) {\n        startDragNDrop();\n    }\n}\nexports.listen = listen;\nfunction unlisten(func) {\n    let i = listeners.findIndex(c => c.cb == func);\n    if (i != -1) {\n        listeners.splice(i, 1);\n    }\n}\nexports.unlisten = unlisten;\n/**\n * currently used in multiple document situations (iframe), might be removed in the future\n */\nfunction triggerPaste(img) {\n    exports.lastref = img;\n    for (var a in listeners) {\n        listeners[a].cb(exports.lastref);\n    }\n}\nexports.triggerPaste = triggerPaste;\nfunction pasted(img) {\n    pasting = false;\n    let cnv = img instanceof HTMLCanvasElement ? img : img.toCanvas();\n    triggerPaste(new index_1.ImgRefCtx(cnv));\n}\nfunction error(error, mes) {\n    var _a, _b;\n    pasting = false;\n    for (var a in listeners) {\n        (_b = (_a = listeners[a]).error) === null || _b === void 0 ? void 0 : _b.call(_a, mes, error);\n    }\n}\nfunction startDragNDrop() {\n    var getitem = function (items) {\n        var foundimage = \"\";\n        for (var a = 0; a < items.length; a++) {\n            var item = items[a];\n            var m = item.type.match(/^image\\/(\\w+)$/);\n            if (m) {\n                if (m[1] == \"png\") {\n                    return item;\n                }\n                else {\n                    foundimage = m[1];\n                }\n            }\n        }\n        if (foundimage) {\n            error(\"notpng\", \"The image you uploaded is not a .png image. Other image type have compression noise and can't be used for image detection.\");\n        }\n        return null;\n    };\n    window.addEventListener(\"dragover\", function (e) {\n        e.preventDefault();\n    });\n    window.addEventListener(\"drop\", function (e) {\n        if (!e.dataTransfer) {\n            return;\n        }\n        var item = getitem(e.dataTransfer.items);\n        e.preventDefault();\n        if (!item) {\n            return;\n        }\n        fromFile(item.getAsFile());\n    });\n}\nexports.startDragNDrop = startDragNDrop;\nfunction start() {\n    if (started) {\n        return;\n    }\n    started = true;\n    //determine if we have a clipboard api\n    //try{a=new Event(\"clipboard\"); a=\"clipboardData\" in a;}\n    //catch(e){a=false;}\n    var ischrome = !!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edge/);\n    //old method breaks after chrome 41, revert to good old user agent sniffing\n    //nvm, internet explorer (edge) decided that it wants to be chrome, however fails at delivering\n    //turns out this one is interesting, edge is a hybrid between the paste api's\n    var apipasted = function (e) {\n        if (!e.clipboardData) {\n            return;\n        }\n        for (var a = 0; a < e.clipboardData.items.length; a++) { //loop all data types\n            if (e.clipboardData.items[a].type.indexOf(\"image\") != -1) {\n                var file = e.clipboardData.items[a].getAsFile();\n                if (file) {\n                    var img = new Image();\n                    img.src = (window.URL || window.webkitURL).createObjectURL(file);\n                    if (img.width > 0) {\n                        pasted(img);\n                    }\n                    else {\n                        img.onload = function () { pasted(img); };\n                    }\n                }\n            }\n        }\n    };\n    if (ischrome) {\n        document.addEventListener(\"paste\", apipasted);\n    }\n    else {\n        var catcher = document.createElement(\"div\");\n        catcher.setAttribute(\"contenteditable\", \"\");\n        catcher.className = \"forcehidden\"; //retarded ie safety/bug, cant apply styles using js//TODO i don't even know what's going on\n        catcher.onpaste = function (e) {\n            if (e.clipboardData && e.clipboardData.items) {\n                apipasted(e);\n                return;\n            }\n            setTimeout(function () {\n                var b = catcher.children[0];\n                if (!b || b.tagName != \"IMG\") {\n                    return;\n                }\n                var img = new Image();\n                img.src = b.src;\n                var a = img.src.match(/^data:([\\w\\/]+);/);\n                if (img.width > 0) {\n                    pasted(img);\n                }\n                else {\n                    img.onload = function () { pasted(img); };\n                }\n                catcher.innerHTML = \"\";\n            }, 1);\n        };\n        document.body.appendChild(catcher);\n    }\n    //detect if ctrl-v is pressed and focus catcher if needed\n    document.addEventListener(\"keydown\", function (e) {\n        if (e.target.tagName == \"INPUT\") {\n            return;\n        }\n        if (e.keyCode != \"V\".charCodeAt(0) || !e.ctrlKey) {\n            return;\n        }\n        pasting = true;\n        setTimeout(function () {\n            if (pasting) {\n                error(\"noimg\", \"You pressed Ctrl+V, but no image was pasted by your browser, make sure your clipboard contains an image, and not a link to an image.\");\n            }\n        }, 1000);\n        if (catcher) {\n            catcher.focus();\n        }\n    });\n}\nexports.start = start;\nfunction fileDialog() {\n    var fileinput = document.createElement(\"input\");\n    fileinput.type = \"file\";\n    fileinput.accept = \"image/png\";\n    fileinput.onchange = function () { if (fileinput.files && fileinput.files[0]) {\n        fromFile(fileinput.files[0]);\n    } };\n    fileinput.click();\n    return fileinput;\n}\nexports.fileDialog = fileDialog;\nfunction fromFile(file) {\n    if (!file) {\n        return;\n    }\n    var reader = new FileReader();\n    reader.onload = function () {\n        var bytearray = new Uint8Array(reader.result);\n        if (ImageDetect.isPngBuffer(bytearray)) {\n            ImageDetect.clearPngColorspace(bytearray);\n        }\n        var blob = new Blob([bytearray], { type: \"image/png\" });\n        var img = new Image();\n        img.onerror = () => error(\"invalidfile\", \"The file you uploaded could not be opened as an image.\");\n        var bloburl = URL.createObjectURL(blob);\n        img.src = bloburl;\n        if (img.width > 0) {\n            pasted(img);\n            URL.revokeObjectURL(bloburl);\n        }\n        else {\n            img.onload = function () { pasted(img); URL.revokeObjectURL(bloburl); };\n        }\n    };\n    reader.readAsArrayBuffer(file);\n}\n\n\n/***/ }),\n\n/***/ \"./src/base/rect.ts\":\n/*!**************************!*\\\n  !*** ./src/base/rect.ts ***!\n  \\**************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\n//util class for rectangle maths\n//TODO shit this sucks can we remove it again?\n//more of a shorthand to get {x,y,width,height} than a class\n//kinda starting to like it again\n//TODO remove rant\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n;\n/**\n * Simple rectangle class with some util functions\n */\nclass Rect {\n    constructor(x, y, w, h) {\n        this.x = x;\n        this.y = y;\n        this.width = w;\n        this.height = h;\n    }\n    static fromArgs(...args) {\n        if (typeof args[0] == \"object\") {\n            return new Rect(args[0].x, args[0].y, args[0].width, args[0].height);\n        }\n        else if (typeof args[0] == \"number\" && args.length >= 4) {\n            return new Rect(args[0], args[1], args[2], args[3]);\n        }\n        else {\n            throw new Error(\"invalid rect args\");\n        }\n    }\n    /**\n     * Resizes this Rect to include the full size of a given second rectangle\n     */\n    union(r2) {\n        var x = Math.min(this.x, r2.x);\n        var y = Math.min(this.y, r2.y);\n        this.width = Math.max(this.x + this.width, r2.x + r2.width) - x;\n        this.height = Math.max(this.y + this.height, r2.y + r2.height) - y;\n        this.x = x;\n        this.y = y;\n        return this;\n    }\n    /**\n     * Resizes this Rect to include a given point\n     */\n    includePoint(x, y) {\n        this.union(new Rect(x, y, 0, 0));\n    }\n    /**\n     * Grows the rectangle with the given dimensions\n     */\n    inflate(w, h) {\n        this.x -= w;\n        this.y -= h;\n        this.width += 2 * w;\n        this.height += 2 * h;\n    }\n    /**\n     * Resizes this Rect to the area that overlaps a given Rect\n     * width and height will be set to 0 if the intersection does not exist\n     */\n    intersect(r2) {\n        if (this.x < r2.x) {\n            this.width -= r2.x - this.x;\n            this.x = r2.x;\n        }\n        if (this.y < r2.y) {\n            this.height -= r2.y - this.y;\n            this.y = r2.y;\n        }\n        this.width = Math.min(this.x + this.width, r2.x + r2.width) - this.x;\n        this.height = Math.min(this.y + this.height, r2.y + r2.height) - this.y;\n        if (this.width <= 0 || this.height <= 0) {\n            this.width = 0;\n            this.height = 0;\n        }\n    }\n    /**\n     * Returns wether this Rect has at least one pixel overlap with a given Rect\n     */\n    overlaps(r2) {\n        return this.x < r2.x + r2.width && this.x + this.width > r2.x && this.y < r2.y + r2.height && this.y + this.height > r2.y;\n    }\n    /**\n     * Returns wether a given Rect fits completely inside this Rect\n     * @param r2\n     */\n    contains(r2) {\n        return this.x <= r2.x && this.x + this.width >= r2.x + r2.width && this.y <= r2.y && this.y + this.height >= r2.y + r2.height;\n    }\n    /**\n     * Returns wether a given point lies inside this Rect\n     */\n    containsPoint(x, y) {\n        return this.x <= x && this.x + this.width > x && this.y <= y && this.y + this.height > y;\n    }\n}\nexports[\"default\"] = Rect;\n\n\n/***/ }),\n\n/***/ \"./src/base/wrapper.ts\":\n/*!*****************************!*\\\n  !*** ./src/base/wrapper.ts ***!\n  \\*****************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.captureStream = exports.captureMultiAsync = exports.captureAsync = exports.ImageStreamReader = exports.once = exports.removeListener = exports.on = exports.addResizeElement = exports.getMousePosition = exports.hasAlt1Version = exports.resetEnvironment = exports.identifyApp = exports.unmixColor = exports.mixColor = exports.encodeImageString = exports.decodeImageString = exports.transferImageData = exports.captureHoldFullRs = exports.captureHoldScreen = exports.captureHold = exports.capture = exports.getdisplaybounds = exports.requireAlt1 = exports.openbrowser = exports.skinName = exports.hasAlt1 = exports.newestversion = exports.Alt1Error = exports.NoAlt1Error = void 0;\nconst rect_1 = __importDefault(__webpack_require__(/*! ./rect */ \"./src/base/rect.ts\"));\nconst imgref_1 = __webpack_require__(/*! ./imgref */ \"./src/base/imgref.ts\");\nconst imagedata_extensions_1 = __webpack_require__(/*! ./imagedata-extensions */ \"./src/base/imagedata-extensions.ts\");\n__webpack_require__(/*! ./alt1api */ \"./src/base/alt1api.ts\");\n/**\n * Thrown when a method is called that can not be used outside of Alt1\n */\nclass NoAlt1Error extends Error {\n    constructor() {\n        super();\n        this.message = \"This method can not be ran outside of Alt1\";\n    }\n}\nexports.NoAlt1Error = NoAlt1Error;\n;\n/**\n * Thrown when the Alt1 API returns an invalid result\n * Errors of a different type are throw when internal Alt1 errors occur\n */\nclass Alt1Error extends Error {\n}\nexports.Alt1Error = Alt1Error;\n/**\n * The latest Alt1 version\n */\nexports.newestversion = \"1.5.5\";\n/**\n * Whether the Alt1 API is available\n */\nexports.hasAlt1 = (typeof alt1 != \"undefined\");\n/**\n * The name of the Alt1 interface skin. (Always \"default\" if running in a browser)\n */\nexports.skinName = exports.hasAlt1 ? alt1.skinName : \"default\";\n/**\n * Max number of bytes that can be sent by alt1 in one function\n * Not completely sure why this number is different than window.alt1.maxtranfer\n */\nvar maxtransfer = 4000000;\n/**\n * Open a link in the default browser\n * @deprecated use window.open instead\n */\nfunction openbrowser(url) {\n    if (exports.hasAlt1) {\n        alt1.openBrowser(url);\n    }\n    else {\n        window.open(url, '_blank');\n    }\n}\nexports.openbrowser = openbrowser;\n/**\n * Throw if Alt1 API is not available\n */\nfunction requireAlt1() {\n    if (!exports.hasAlt1) {\n        throw new NoAlt1Error();\n    }\n}\nexports.requireAlt1 = requireAlt1;\n/**\n * Returns an object with a rectangle that spans all screens\n */\nfunction getdisplaybounds() {\n    if (!exports.hasAlt1) {\n        return false;\n    }\n    return new rect_1.default(alt1.screenX, alt1.screenY, alt1.screenWidth, alt1.screenHeight);\n}\nexports.getdisplaybounds = getdisplaybounds;\n/**\n * gets an imagebuffer with pixel data about the requested region\n */\nfunction capture(...args) {\n    //TODO change null return on error into throw instead (x3)\n    if (!exports.hasAlt1) {\n        throw new NoAlt1Error();\n    }\n    var rect = rect_1.default.fromArgs(...args);\n    if (alt1.capture) {\n        return new imagedata_extensions_1.ImageData(alt1.capture(rect.x, rect.y, rect.width, rect.height), rect.width, rect.height);\n    }\n    var buf = new imagedata_extensions_1.ImageData(rect.width, rect.height);\n    if (rect.width * rect.height * 4 <= maxtransfer) {\n        var data = alt1.getRegion(rect.x, rect.y, rect.width, rect.height);\n        if (!data) {\n            return null;\n        }\n        decodeImageString(data, buf, 0, 0, rect.width, rect.height);\n    }\n    else {\n        //split up the request to to exceed the single transfer limit (for now)\n        var x1 = rect.x;\n        var ref = alt1.bindRegion(rect.x, rect.y, rect.width, rect.height);\n        if (ref <= 0) {\n            return null;\n        }\n        while (x1 < rect.x + rect.width) {\n            var x2 = Math.min(rect.x + rect.width, Math.floor(x1 + (maxtransfer / 4 / rect.height)));\n            var data = alt1.bindGetRegion(ref, x1, rect.y, x2 - x1, rect.height);\n            if (!data) {\n                return null;\n            }\n            decodeImageString(data, buf, x1 - rect.x, 0, x2 - x1, rect.height);\n            x1 = x2;\n        }\n    }\n    return buf;\n}\nexports.capture = capture;\n/**\n * Makes alt1 bind an area of the rs client in memory without sending it to the js client\n * returns an imgref object which can be used to get pixel data using the imgreftobuf function\n * currently only one bind can exist per app and the ref in (v) will always be 1\n */\nfunction captureHold(x, y, w, h) {\n    x = Math.round(x);\n    y = Math.round(y);\n    w = Math.round(w);\n    h = Math.round(h);\n    requireAlt1();\n    var r = alt1.bindRegion(x, y, w, h);\n    if (r <= 0) {\n        throw new Alt1Error(\"capturehold failed\");\n    }\n    return new imgref_1.ImgRefBind(r, x, y, w, h);\n}\nexports.captureHold = captureHold;\n/**\n * Same as captureHoldRegion, but captures the screen instead of the rs client. it also uses screen coordinates instead and can capture outside of the rs client\n */\nfunction captureHoldScreen(x, y, w, h) {\n    x = Math.round(x);\n    y = Math.round(y);\n    w = Math.round(w);\n    h = Math.round(h);\n    requireAlt1();\n    var r = alt1.bindScreenRegion(x, y, w, h);\n    if (r <= 0) {\n        return false;\n    }\n    return new imgref_1.ImgRefBind(r, x, y, w, h);\n}\nexports.captureHoldScreen = captureHoldScreen;\n/**\n * bind the full rs window if the rs window can be detected by alt1, otherwise return the full screen\n */\nfunction captureHoldFullRs() {\n    return captureHold(0, 0, alt1.rsWidth, alt1.rsHeight);\n}\nexports.captureHoldFullRs = captureHoldFullRs;\n/**\n * returns a subregion from a bound image\n * used internally in imgreftobuf if imgref is a bound image\n * @deprecated This should be handled internall by the imgrefbind.toData method\n */\nfunction transferImageData(handle, x, y, w, h) {\n    x = Math.round(x);\n    y = Math.round(y);\n    w = Math.round(w);\n    h = Math.round(h);\n    requireAlt1();\n    if (alt1.bindGetRegionBuffer) {\n        return new imagedata_extensions_1.ImageData(alt1.bindGetRegionBuffer(handle, x, y, w, h), w, h);\n    }\n    var r = new imagedata_extensions_1.ImageData(w, h);\n    var x1 = x;\n    while (true) { //split up the request to to exceed the single transfer limit (for now)\n        var x2 = Math.min(x + w, Math.floor(x1 + (maxtransfer / 4 / h)));\n        var a = alt1.bindGetRegion(handle, x1, y, x2 - x1, h);\n        if (!a) {\n            throw new Alt1Error();\n        }\n        decodeImageString(a, r, x1 - x, 0, x2 - x1, h);\n        x1 = x2;\n        if (x1 == x + w) {\n            break;\n        }\n        ;\n    }\n    return r;\n}\nexports.transferImageData = transferImageData;\n/**\n * decodes a returned string from alt1 to an imagebuffer\n */\nfunction decodeImageString(imagestring, target, x, y, w, h) {\n    var bin = atob(imagestring);\n    var bytes = target.data;\n    w |= 0;\n    h |= 0;\n    var offset = 4 * x + 4 * y * target.width;\n    var target_width = target.width | 0;\n    for (var a = 0; a < w; a++) {\n        for (var b = 0; b < h; b++) {\n            var i1 = (offset + (a * 4 | 0) + (b * target_width * 4 | 0)) | 0;\n            var i2 = ((a * 4 | 0) + (b * 4 * w | 0)) | 0;\n            bytes[i1 + 0 | 0] = bin.charCodeAt(i2 + 2 | 0); //fix weird red/blue swap in c#\n            bytes[i1 + 1 | 0] = bin.charCodeAt(i2 + 1 | 0);\n            bytes[i1 + 2 | 0] = bin.charCodeAt(i2 + 0 | 0);\n            bytes[i1 + 3 | 0] = bin.charCodeAt(i2 + 3 | 0);\n        }\n    }\n    return target;\n}\nexports.decodeImageString = decodeImageString;\n/**\n * encodes an imagebuffer to a string\n */\nfunction encodeImageString(buf, sx = 0, sy = 0, sw = buf.width, sh = buf.height) {\n    var raw = \"\";\n    for (var y = sy; y < sy + sh; y++) {\n        for (var x = sx; x < sx + sw; x++) {\n            var i = 4 * x + 4 * buf.width * y | 0;\n            raw += String.fromCharCode(buf.data[i + 2 | 0]);\n            raw += String.fromCharCode(buf.data[i + 1 | 0]);\n            raw += String.fromCharCode(buf.data[i + 0 | 0]);\n            raw += String.fromCharCode(buf.data[i + 3 | 0]);\n        }\n    }\n    return btoa(raw);\n}\nexports.encodeImageString = encodeImageString;\n/**\n * mixes the given color into a single int. This format is used by alt1\n */\nfunction mixColor(r, g, b, a = 255) {\n    return (b << 0) + (g << 8) + (r << 16) + (a << 24);\n}\nexports.mixColor = mixColor;\nfunction unmixColor(col) {\n    var r = (col >> 16) & 0xff;\n    var g = (col >> 8) & 0xff;\n    var b = (col >> 0) & 0xff;\n    return [r, g, b];\n}\nexports.unmixColor = unmixColor;\nfunction identifyApp(url) {\n    if (exports.hasAlt1) {\n        alt1.identifyAppUrl(url);\n    }\n}\nexports.identifyApp = identifyApp;\nfunction resetEnvironment() {\n    exports.hasAlt1 = (typeof alt1 != \"undefined\");\n    exports.skinName = exports.hasAlt1 ? alt1.skinName : \"default\";\n}\nexports.resetEnvironment = resetEnvironment;\nfunction convertAlt1Version(str) {\n    var a = str.match(/^(\\d+)\\.(\\d+)\\.(\\d+)$/);\n    if (!a) {\n        throw new RangeError(\"Invalid version string\");\n    }\n    return (+a[1]) * 1000 * 1000 + (+a[2]) * 1000 + (+a[3]) * 1;\n}\nvar cachedVersionInt = -1;\n/**\n * checks if alt1 is running and at least the given version. versionstr should be a string with the version eg: 1.3.2\n * @param versionstr\n */\nfunction hasAlt1Version(versionstr) {\n    if (!exports.hasAlt1) {\n        return false;\n    }\n    if (cachedVersionInt == -1) {\n        cachedVersionInt = alt1.versionint;\n    }\n    return cachedVersionInt >= convertAlt1Version(versionstr);\n}\nexports.hasAlt1Version = hasAlt1Version;\n/**\n * Gets the current cursor position in the game, returns null if the rs window is not active (alt1.rsActive)\n */\nfunction getMousePosition() {\n    var pos = alt1.mousePosition;\n    if (pos == -1) {\n        return null;\n    }\n    return { x: pos >>> 16, y: pos & 0xFFFF };\n}\nexports.getMousePosition = getMousePosition;\n/**\n * Registers a given HTML element as a frame border, when this element is dragged by the user the Alt1 frame will resize accordingly\n * Use the direction arguements to make a given direction stick to the mouse. eg. Only set left to true to make the element behave as the left border\n * Or set all to true to move the whole window. Not all combinations are permitted\n */\nfunction addResizeElement(el, left, top, right, bot) {\n    if (!exports.hasAlt1 || !alt1.userResize) {\n        return;\n    }\n    el.addEventListener(\"mousedown\", function (e) {\n        alt1.userResize(left, top, right, bot);\n        e.preventDefault();\n    });\n}\nexports.addResizeElement = addResizeElement;\n/**\n * Add an event listener\n */\nfunction on(type, listener) {\n    if (!exports.hasAlt1) {\n        return;\n    }\n    if (!alt1.events) {\n        alt1.events = {};\n    }\n    if (!alt1.events[type]) {\n        alt1.events[type] = [];\n    }\n    alt1.events[type].push(listener);\n}\nexports.on = on;\n/**\n * Removes an event listener\n */\nfunction removeListener(type, listener) {\n    var elist = exports.hasAlt1 && alt1.events && alt1.events[type];\n    if (!elist) {\n        return;\n    }\n    var i = elist.indexOf(listener);\n    if (i == -1) {\n        return;\n    }\n    elist.splice(i, 1);\n}\nexports.removeListener = removeListener;\n/**\n * Listens for the event to fire once and then stops listening\n * @param event\n * @param cb\n */\nfunction once(type, listener) {\n    var fn = (e) => {\n        removeListener(type, fn);\n        listener(e);\n    };\n    on(type, fn);\n}\nexports.once = once;\n;\n/**\n * Used to read a set of images from a binary stream returned by the Alt1 API\n */\nclass ImageStreamReader {\n    constructor(reader, ...args) {\n        this.framebuffer = null;\n        this.pos = 0;\n        this.reading = false;\n        this.closed = false;\n        //paused state\n        this.pausedindex = -1;\n        this.pausedbuffer = null;\n        this.streamreader = reader;\n        if (args[0] instanceof imagedata_extensions_1.ImageData) {\n            this.setFrameBuffer(args[0]);\n        }\n        else if (typeof args[0] == \"number\") {\n            this.setFrameBuffer(new imagedata_extensions_1.ImageData(args[0], args[1]));\n        }\n    }\n    /**\n     *\n     */\n    setFrameBuffer(buffer) {\n        if (this.reading) {\n            throw new Error(\"can't change framebuffer while reading\");\n        }\n        this.framebuffer = buffer;\n    }\n    /**\n     * Closes the underlying stream and ends reading\n     */\n    close() {\n        this.streamreader.cancel();\n    }\n    /**\n     * Reads a single image from the stream\n     */\n    async nextImage() {\n        if (this.reading) {\n            throw new Error(\"already reading from this stream\");\n        }\n        if (!this.framebuffer) {\n            throw new Error(\"framebuffer not set\");\n        }\n        this.reading = true;\n        var synctime = -Date.now();\n        var starttime = Date.now();\n        var r = false;\n        while (!r) {\n            if (this.pausedindex != -1 && this.pausedbuffer) {\n                r = this.readChunk(this.pausedindex, this.framebuffer.data, this.pausedbuffer);\n            }\n            else {\n                synctime += Date.now();\n                var res = await this.streamreader.read();\n                synctime -= Date.now();\n                if (res.done) {\n                    throw new Error(\"Stream closed while reading\");\n                }\n                var data = res.value;\n                r = this.readChunk(0, this.framebuffer.data, data);\n            }\n        }\n        synctime += Date.now();\n        //console.log(\"Decoded async image, \" + this.framebuffer.width + \"x\" + this.framebuffer.height + \" time: \" + (Date.now() - starttime) + \"ms (\" + synctime + \"ms main thread)\");\n        this.reading = false;\n        return this.framebuffer;\n    }\n    readChunk(i, framedata, buffer) {\n        //very hot code, explicit int32 casting with |0 speeds it up by ~ x2\n        i = i | 0;\n        var framesize = framedata.length | 0;\n        var pos = this.pos;\n        var datalen = buffer.length | 0;\n        //var data32 = new Float64Array(buffer.buffer);\n        //var framedata32 = new Float64Array(framedata.buffer);\n        //fix possible buffer misalignment\n        //align to 16 for extra loop unrolling\n        while (i < datalen) {\n            //slow loop, fix alignment and other issues\n            while (i < datalen && pos < framesize && (pos % 16 != 0 || !((i + 16 | 0) <= datalen && (pos + 16 | 0) <= framesize))) {\n                var rel = pos;\n                if (pos % 4 == 0) {\n                    rel = rel + 2 | 0;\n                }\n                if (pos % 4 == 2) {\n                    rel = rel - 2 | 0;\n                }\n                framedata[rel | 0] = buffer[i | 0];\n                i = i + 1 | 0;\n                pos = pos + 1 | 0;\n            }\n            //fast unrolled loop for large chunks i wish js had some sort of memcpy\n            if (pos % 16 == 0) {\n                while ((i + 16 | 0) <= datalen && (pos + 16 | 0) <= framesize) {\n                    framedata[pos + 0 | 0] = buffer[i + 2 | 0];\n                    framedata[pos + 1 | 0] = buffer[i + 1 | 0];\n                    framedata[pos + 2 | 0] = buffer[i + 0 | 0];\n                    framedata[pos + 3 | 0] = buffer[i + 3 | 0];\n                    framedata[pos + 4 | 0] = buffer[i + 6 | 0];\n                    framedata[pos + 5 | 0] = buffer[i + 5 | 0];\n                    framedata[pos + 6 | 0] = buffer[i + 4 | 0];\n                    framedata[pos + 7 | 0] = buffer[i + 7 | 0];\n                    framedata[pos + 8 | 0] = buffer[i + 10 | 0];\n                    framedata[pos + 9 | 0] = buffer[i + 9 | 0];\n                    framedata[pos + 10 | 0] = buffer[i + 8 | 0];\n                    framedata[pos + 11 | 0] = buffer[i + 11 | 0];\n                    framedata[pos + 12 | 0] = buffer[i + 14 | 0];\n                    framedata[pos + 13 | 0] = buffer[i + 13 | 0];\n                    framedata[pos + 14 | 0] = buffer[i + 12 | 0];\n                    framedata[pos + 15 | 0] = buffer[i + 15 | 0];\n                    //could speed it up another x2 but wouldn't be able to swap r/b swap and possible alignment issues\n                    //framedata32[pos / 8 + 0 | 0] = data32[i / 8 + 0 | 0];\n                    //framedata32[pos / 8 + 1 | 0] = data32[i / 8 + 1 | 0];\n                    //framedata32[pos / 4 + 2 | 0] = data32[i / 4 + 2 | 0];\n                    //framedata32[pos / 4 + 3 | 0] = data32[i / 4 + 3 | 0];\n                    pos = pos + 16 | 0;\n                    i = i + 16 | 0;\n                }\n            }\n            if (pos >= framesize) {\n                this.pausedbuffer = null;\n                this.pausedindex = -1;\n                this.pos = 0;\n                if (i != buffer.length - 1) {\n                    this.pausedbuffer = buffer;\n                    this.pausedindex = i;\n                }\n                return true;\n            }\n        }\n        this.pos = pos;\n        this.pausedbuffer = null;\n        this.pausedindex = -1;\n        return false;\n    }\n}\nexports.ImageStreamReader = ImageStreamReader;\n/**\n * Asynchronously captures a section of the game screen\n */\nasync function captureAsync(...args) {\n    requireAlt1();\n    var rect = rect_1.default.fromArgs(...args);\n    if (alt1.captureAsync) {\n        let img = await alt1.captureAsync(rect.x, rect.y, rect.width, rect.height);\n        return new imagedata_extensions_1.ImageData(img, rect.width, rect.height);\n    }\n    if (!hasAlt1Version(\"1.4.6\")) {\n        return capture(rect.x, rect.y, rect.width, rect.height);\n    }\n    var url = \"https://alt1api/pixel/getregion/\" + encodeURIComponent(JSON.stringify(Object.assign(Object.assign({}, rect), { format: \"raw\", quality: 1 })));\n    var res = await fetch(url);\n    var imgreader = new ImageStreamReader(res.body.getReader(), rect.width, rect.height);\n    return imgreader.nextImage();\n}\nexports.captureAsync = captureAsync;\n/**\n * Asynchronously captures multple area's. This method captures the images in the same render frame if possible\n * @param areas\n */\nasync function captureMultiAsync(areas) {\n    requireAlt1();\n    var r = {};\n    if (alt1.captureMultiAsync) {\n        let bufs = await alt1.captureMultiAsync(areas);\n        for (let a in areas) {\n            if (!bufs[a]) {\n                r[a] = null;\n            }\n            r[a] = new imagedata_extensions_1.ImageData(bufs[a], areas[a].width, areas[a].height);\n        }\n        return r;\n    }\n    var capts = [];\n    var captids = [];\n    for (var id in areas) {\n        if (areas[id]) {\n            capts.push(areas[id]);\n            captids.push(id);\n        }\n        else {\n            r[id] = null;\n        }\n    }\n    if (capts.length == 0) {\n        return r;\n    }\n    if (!hasAlt1Version(\"1.5.1\")) {\n        var proms = [];\n        for (var a = 0; a < capts.length; a++) {\n            proms.push(captureAsync(capts[a]));\n        }\n        var results = await Promise.all(proms);\n        for (var a = 0; a < capts.length; a++) {\n            r[captids[a]] = results[a];\n        }\n    }\n    else {\n        var res = await fetch(\"https://alt1api/pixel/getregionmulti/\" + encodeURIComponent(JSON.stringify({ areas: capts, format: \"raw\", quality: 1 })));\n        var imgreader = new ImageStreamReader(res.body.getReader());\n        for (var a = 0; a < capts.length; a++) {\n            var capt = capts[a];\n            imgreader.setFrameBuffer(new imagedata_extensions_1.ImageData(capt.width, capt.height));\n            r[captids[a]] = await imgreader.nextImage();\n        }\n    }\n    return r;\n}\nexports.captureMultiAsync = captureMultiAsync;\n/**\n * Starts capturing a realtime stream of the game. Make sure you keep reading the stream and close it when you're done or Alt1 WILL crash\n * @param framecb Called whenever a new frame is decoded\n * @param errorcb Called whenever an error occurs, the error is rethrown if not defined\n * @param fps Maximum fps of the stream\n */\nfunction captureStream(x, y, width, height, fps, framecb, errorcb) {\n    requireAlt1();\n    if (!hasAlt1Version(\"1.4.6\")) {\n        throw new Alt1Error(\"This function is not supported in this version of Alt1\");\n    }\n    var url = \"https://alt1api/pixel/streamregion/\" + encodeURIComponent(JSON.stringify({ x, y, width, height, fps, format: \"raw\" }));\n    var res = fetch(url).then(async (res) => {\n        var reader = new ImageStreamReader(res.body.getReader(), width, height);\n        try {\n            while (!reader.closed && !state.closed) {\n                var img = await reader.nextImage();\n                if (!state.closed) {\n                    framecb(img);\n                    state.framenr++;\n                }\n            }\n        }\n        catch (e) {\n            if (!state.closed) {\n                reader.close();\n                if (errorcb) {\n                    errorcb(e);\n                }\n                else {\n                    throw e;\n                }\n            }\n        }\n        if (!reader.closed && state.closed) {\n            reader.close();\n        }\n    });\n    var state = {\n        x, y, width, height,\n        framenr: 0,\n        close: () => { state.closed = true; },\n        closed: false,\n    };\n    return state;\n}\nexports.captureStream = captureStream;\n\n\n/***/ }),\n\n/***/ \"canvas\":\n/*!*************************!*\\\n  !*** external \"canvas\" ***!\n  \\*************************/\n/***/ ((module) => {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE_canvas__ === 'undefined') { var e = new Error(\"Cannot find module 'canvas'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_canvas__;\n\n/***/ }),\n\n/***/ \"electron/common\":\n/*!**********************************!*\\\n  !*** external \"electron/common\" ***!\n  \\**********************************/\n/***/ ((module) => {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE_electron_common__ === 'undefined') { var e = new Error(\"Cannot find module 'electron/common'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_electron_common__;\n\n/***/ }),\n\n/***/ \"sharp\":\n/*!************************!*\\\n  !*** external \"sharp\" ***!\n  \\************************/\n/***/ ((module) => {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE_sharp__ === 'undefined') { var e = new Error(\"Cannot find module 'sharp'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_sharp__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/global */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.g = (function() {\n/******/ \t\t\tif (typeof globalThis === 'object') return globalThis;\n/******/ \t\t\ttry {\n/******/ \t\t\t\treturn this || new Function('return this')();\n/******/ \t\t\t} catch (e) {\n/******/ \t\t\t\tif (typeof window === 'object') return window;\n/******/ \t\t\t}\n/******/ \t\t})();\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(\"./src/base/index.ts\");\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"alt1/base\"), require(\"alt1/ocr\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"alt1/base\", \"alt1/ocr\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dialog\"] = factory(require(\"alt1/base\"), require(\"alt1/ocr\"));\n\telse\n\t\troot[\"Dialog\"] = factory(root[\"A1lib\"], root[\"OCR\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE_alt1_base__, __WEBPACK_EXTERNAL_MODULE_alt1_ocr__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./src/dialog/imgs/boxtl.data.png\":\n/*!****************************************!*\\\n  !*** ./src/dialog/imgs/boxtl.data.png ***!\n  \\****************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAx0lEQVQ4T5VRywrCMBBMaytYyMFHDw16CNWDBg8WoWAFpTf//4ecsGENMQ0UhmVmO5PdNEKZru0GVCLEL/cnS/MYwU3/Jo+AFiKbgevrE7bSmArksgk6DumVsrIKOmJ/G8JWGrMvjUBkbgLBhFzufBkB7uBPQKDcKJYR4C39ALhUuqj15J7/KwHIVIfztjWoZXOkmYuVtB4OQAM4GAFUh+UabmelZ0GANXdh+mW83eyoUz/ykeQm0G4g/j+wnC9NNQAl+VNR6y/yyxm6AFlANgAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/boxtl_leg.data.png\":\n/*!********************************************!*\\\n  !*** ./src/dialog/imgs/boxtl_leg.data.png ***!\n  \\********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAE0SURBVDhPjZFNTsMwEIVtJ45D05YmLVKBJRISsOIILNiw5QosOXpIKcpPHduFl0wINAHEJ+tpPB6/Gcv8+emRHZIX1TQ6QuBLbs37QNnVxQlj/P+L31yuH+7vZrNptt2QhxSy0vXe6SAMlYrQqshzyiPmt9fny2WslMqyrQr4+vQsTV8m0eTtdRNN582IjGmtob4nrNsLiqBJcjxfxKhGXBblIk6cNVL68AKwQDUCUVuHCsJZR8egrCpkdq0SSEIbb89vhoOZ53vNSYv0JeVpHni16fYCYYztsz10hzDWQEXQulI7Aq266BD0hHYdqC+BVl30CXlDUUZv+Bp9DIrIG4pBxE7XdPAb/bTkK0IVjN/6I1QmVquE9mMGo2KLJdI06xIjBOff72CLn/rr0YOfwVZr/QEeBH9rQlJ0YgAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/boxtr.data.png\":\n/*!****************************************!*\\\n  !*** ./src/dialog/imgs/boxtr.data.png ***!\n  \\****************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA3UlEQVQ4T6WTwQrCMBBEk9oKigEVFSweLOLF6sFehOYgePP/P2jNrE1ZcJFUD68J2cwkO23NofF0vD0IY1k3VLfveXVu+jWMALVYxzowxtjw+A2YGVtM1WIKl/szjEohlb8NuAWtkMru6sMYJplbkR0vKF9XH5s0kBs0fYgxyJRAM7clV1YMGxB9R4pxAG6J04tlOdwAIm63uzVnoIkk2unRAF+kKpJEg9HEcdAwQA59iJpIEg2kEEa4QbIBNkMYM0Arg0NEC1KM14i/WBVJuPcutHy+YQMw259CiJ5egv+YzBEq3jQAAAAASUVORK5CYII=\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/boxtr_leg.data.png\":\n/*!********************************************!*\\\n  !*** ./src/dialog/imgs/boxtr_leg.data.png ***!\n  \\********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAFgSURBVDhPnZO9TsMwFIWPHZuUpo2g6hswsbMzsbEgMfAKiIUnYOWNWBh4F1CFhFKKojatmx/jY+E2RRWK+KSrm9ycHF//iceHO7tal5hM3tGLDyAkIIVAY+0maxUBjYApDYSwOOgdulqMxXwOAbjKPzk9GUPc315bLTWWZo2mNs69hzhOvIAjKC3A72Q4HOAj+9zUnp5fIG6uzm2WTdFP+si/ZkgGqRcTY4zPKpKo6sbnfjJAsZj79+l0BsmfSbEocHQ8Ql2V0Fq5LmIfNKaYz8x5nvsckEHIKJZLX1z95AC/kTRNN1rpullXNdyab9FKI3JBQvu1EwVCjVBLdgwCwSRQumm1aRsJ6/b5Ly4vzvYKInc23l4n+zv4DTtoj0pUpHzuZMD5hoUMBMNOBmx3Hyt3+DoZhJ3g+Wib8e507oBRltXOto7Ho24GvJVcNHbACGTuXnQy4MhcNGbGdhrAN5b0ly21yuFfAAAAAElFTkSuQmCC\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/chatimg.data.png\":\n/*!******************************************!*\\\n  !*** ./src/dialog/imgs/chatimg.data.png ***!\n  \\******************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAAwUlEQVQYV2OYPGlSV1dXcnJyRmqSqbUdQ3VNNRB5uTkJCwuLKqgxtLS0ACVVFGQ4eQUFpRUZgBxHWytOHl4oX0tLS1lZGaiYkZOXW1CUQVXXGChkbGwsJSUFFGI4YM+fqycmpahqoG8AVMVwxJipUptPUFIOqEtEkJdBT4JPSVYSqBgoCTSSQUVLG8QCms/DCzI/OjrK0syEgYERaDiI7+3lHRwcDNQC5bu6ukKEgLp4RKUZsjPSgEJAfrC/t7GhHgChFSifluVS6gAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/chatimg_leg.data.png\":\n/*!**********************************************!*\\\n  !*** ./src/dialog/imgs/chatimg_leg.data.png ***!\n  \\**********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEOSURBVChTVY+7SgNBFIZnZ3aTWdCYddVcRBIVREEC2gcsFnwMO9/JxsrGzkbQB1AkleArWJjLXhRhJnNbf9ltcviL/3z/nDMzXjI+Hx0PDoadh6dJI6DGOUKIT6kPenZ6eHv/fDTo7vbbRSF5GCCjoDd3j/v9rThel0sLKoWG2DzN97rxdrwhlFHaCqGNdRAF7e1EUhlrHIQl1sAbGjb/N1aFXgqptYEoD3nx/Yu+QvURXI6+tqtFPcpru1os3my5oBX6tgaEaOtcWbKmTywJGF+rMlA8Cgm9vkry+ed0luXLxo9Q+I12JcSGvc7F+ORt8oE5a32pvEositqeI5fJ6OX1/Ws2TbNFUWR5nv4B2LeYEU2WizoAAAAASUVORK5CYII=\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/chatimgactive.data.png\":\n/*!************************************************!*\\\n  !*** ./src/dialog/imgs/chatimgactive.data.png ***!\n  \\************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAApklEQVQYV2Po6upqaWmJjo4CIk1dQ4ZiMLCzNGVgYGQRkGCorqmOjggTEeQF8hm4BRmCg4ONDfVAHAhfWVlZWFgYygciKUVVSVkFoCgnD1jLHkOGZHlWbkFRoBCIf0CdIV+GgZGTF6pLnoNBkJcLqhiIBCXloCwgAprv7eWtraGG4FtZWXq5OQG1QPnGxsaurq5AIRCfhYshKTYKqASoy83RRkVBBgAFhh2w1olrrAAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/chatimgactive_leg.data.png\":\n/*!****************************************************!*\\\n  !*** ./src/dialog/imgs/chatimgactive_leg.data.png ***!\n  \\****************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEESURBVChTPY4xTgMxEEXtmfFmE1hpRSQECqIIVRBCEanpuABnyImo09FzASokjgAVVUQBURpCSMiKHdt8ZwVf1mj8/veM7dXlxbBfnvTad4/vmSMNwRgjRAJ6fno4uX3IssA5k5KV5BHozeQedK9s5bm0dwmVmfh1OisLAa3rEJV8DCFE7wOBFjsO1AbGBAg0jerkDNTQSL6hyRDrfIjN5f8RRPpjmCw6NEhgjakdKknWJGCnhFj8yKDSfK7IQla2/p+46LBRaTkiNlETwvoYDY2vBx/V6m2x2u5IpxH3j4+Gg4Pnl1mluvSi335TBRwuu/vO+NFZ72m6+FxvlnW99v5L9ReDbXkhpJVqYwAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/chatimghover.data.png\":\n/*!***********************************************!*\\\n  !*** ./src/dialog/imgs/chatimghover.data.png ***!\n  \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAAz0lEQVQYV2M4dfLEjp07W1pamhrrnL38GFavXr10yeKk2ChhYWEpFW2GLVu2dLQ1a2uocfIKiipoMABVRoaFcPLwcguKiiqoMVhZWRob6kmKCgGFBMSkGUztnU2t7VxdXZWVlYFCDP9DhSfbyaloaQMVSklJMfz3YF1sJSylqKqlpQW0gsFOQVhLTRnC4RGVZjAyBymDma/BUF1T7e3lzcDACJQUlFZkSE5OLsjNAmoByoP4YZGR2RlpQCGgLpD+Sb2d0dFR2dnZQC8Y6WkBAPN1NR2AAHfmAAAAAElFTkSuQmCC\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/chatimghover_leg.data.png\":\n/*!***************************************************!*\\\n  !*** ./src/dialog/imgs/chatimghover_leg.data.png ***!\n  \\***************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEjSURBVChTVc89SwNBEIDh2727fChqFosQLExMY4gIsbOIBLT0B9joX9RKTCOksLESSa1Y5TSa+8rdze7s7jl4lfAUw7sMy7CL8cnx4f5Bt3338FzzubbWcRyPc4/q6Kg/nT7eXA72erurz2xHNCBXnOrt/ex01G2JjSwq6nUeh5Ci67ISR30x7DVXqQVAkmegC+BUOx3xFhilNEmTQgIS3qh79JtWOksKkudQ4TXPWyxCpXWSAQGpK3wZrmmDJqn+4VSryRgkIFXF3doUvldyVtJlf8c5gFbbkh5qa822mz5FUBYRpTJaG359dRYE3/OPKEpgncu0MBJtCMztdtqT8eDl9V0xP0cXFe05BktXiBazzvlkOHuaB8vVVxj/xOkySn4BoaPZbEW+44oAAAAASUVORK5CYII=\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/continueimg.data.png\":\n/*!**********************************************!*\\\n  !*** ./src/dialog/imgs/continueimg.data.png ***!\n  \\**********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAABTklEQVRIS72PMUsDQRCFB2Jjk85KsPEPmMYmgig2gWAlKWwCIiIihIC1WIpiJZY2SpqgpLCQNDZRAjZWHqmvsVEQ1Ebl8J0D4zIXD5HdgY/lzey7fffoeVD9fFxikpfaP/jLhxLhojy+kPdRjZKokhIvBieqIC+6WcVpkfjdiz5u55P7BR6CgqDu2dbeaQdnGpoxeAcpaT0buBsD/XQ1pwwhoPde2YDX/oxbTxpir5x+sasXt8vZhm/9knL6hR5OJm0YHI2D9c1GdeWH7sG0svmF4uMJA7jbbnPW7YaR98rsC7xMHGBAttvd/pjyeIeQYcD1TtGtB42N8oSAettFBnkgR+SPEIxaytVlc5Qb4oQG7q37FSOjMiibQjwMcZIBnY0RcNiYYqFuA0GtOl0s0/laYSj4D6XdjSBLCLENdQru7W9OeUpGhsd8YGvV6Qu6U2ehlR3eegAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/continueimg_leg.data.png\":\n/*!**************************************************!*\\\n  !*** ./src/dialog/imgs/continueimg_leg.data.png ***!\n  \\**************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAASPSURBVEhLrVZLaFxVGD7nPubeO5NMZpIQTYfaNn2RREsrbQXbuOnKR4WCiKtCV2JABF24qTvdCK5ciIWudeFCqkuLC6WKQqVmEVsMjUkTyySTec993+t37n/n5CZNShQ/Dof/db7z/efce2f4J+++PDbqsgz0sN2y9a7NYResmIKPgTVgptY26IOpwViz0cnFdur04XFrqJDw64OargZ+ODKQJPaAWr1td5zs1lq+pKpmztBzYaPWYcxvV9cN/v7sa4cr1ulzz6Oitv7As0OqBnzH6ThRr1VPfcbyxfKAqeimWRotwe1126hHGWW3Fft2jwzdyn/42U2ygatvXaAU4iAsl/KwiQTMoqK/deymbNwoY95oBiZvJwGhhAzSk7PUbr1brdZkCkoWVmzR3jOT+1p+Keita/nRRnVpYEDs1+n0YGAWHAkCvVwyXGyw3lbhbstKtBylaEbNFg4wxRc3bn19fSaf97hy5O8H9y6/9+vrLz2naoIE4Lki6skmZJmJTQZB67DCE0XxZFEKcZKdlKdAcHhIm5tfFe1V9o1hJapjrxUG4vZ8P8BsWgZmx3Z1XYMaMihFoDgMpMjFTJVBIMo0TYPxzfd3Pv/giFUq5y02NHKMOnxxZpoKABgAtiMeLKGgNAjZOGbYMGSQXMsySRKaWlmtpu3B6rS7iEpIIkC6j4JIUycDCnp++qjf/PmPj9/cPzRmjIyXZYcXzhxmqo5sTk9vcjdInj0ChNPTRxcWltXzZ6YUzpuNtud5UQZJXwEMWkBBx/U5Z4qiUFDWIEKGBLKbmkJ/ojJ87cbiC5OFKPYVtTf65LFzx/Offjk3MT7EFDWMYjlUNSUHwEDB1N8zsAQaOp2uaM80crWaeIkl3W7DdV0ehX4Y+0GIIYK+F8YctpS1RVPoszhygwjuU+Pl69/+9cYrxcDrdZvL+4+ffPrg4LWvfhcdxhGaTFYLZXJQ5L+hULAcx+XvXLnIrOFWdVlIAZKnZRvQVWrtAsMQbymBig1NdIvGkpjAj7/d/2h2Csbd+bWV9bXbS2a96Zw/dYgqBR7dGpIQ3F3YYzA2NtyoN9WTkwcCp92znfTM+tB4LA4VZ5/5lmSBWwtjRoNF6SqAsqCy/UgW/HRn8erlibxqz99tNZuL9Vb050N29sRBVeG0r6bgoe+/gaGPTUEFBi/ZnYRJSZuVu0M8nVGknjhaCYMgK4UG1KMIvJiznciRxbYURIvlUcC4gvmXuaW3Xy2xwL2/EqG3jY5+a8E4PVXhDI1FIcQmTW4eaHLnJCBLLiUlxyiQLsmcCzEggs+4aO/U5IG2GwoplMCAJiru824BVVJNfxUuD5McUdKVyCMes9W19nihttFouW4Dvf1wL4fekEWK40sV480UTSIC6fKgd4SUhBMRLt180qS48MSliO/hNDi/cmmGVv5fwNnL14nuweT2d7cfwiga4n/Z2elDIpfAiS3MKCBj8z38lyiqvpP5DyjBZy8+qxs5WGEURH76JVB0sY2q7PxbtyOwnAwiIQbp7hFy1Y4QVKrNQnEQBNRnRWrGFsGBG/wD9kSQTvgpZ/YAAAAASUVORK5CYII=\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/continueimgdown.data.png\":\n/*!**************************************************!*\\\n  !*** ./src/dialog/imgs/continueimgdown.data.png ***!\n  \\**************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAABMklEQVRIS92VoU4DQRCG5wKGNyEo3gB1BtWEYGqaNAGBoQ3BoAiqKVXwDJUEgcAgCQIUBoPgVfg2/2WzGUpqdk40+XqZ3Z3u3Le32bXbQbMc2UaCmj2cbr1dWTSvl4mXC3s82+appsupDmqp3ueNRaN6s+nBaHzCU82Pa59WF9TSihJ9zex7EQgl7s/3cRPEcqNuUGkmRy2tohsIotSTIW/gcurS6f3c9QFf6a8hL+HSKoJatznzPsm7pWyu7FlL+RfmZzdS73BwtNseZ56nOyq9dv6VCerMQwSKZZS+Xj9Hi9wmw73SjSadcQdMOlr4qUYczP+fm3D5VWDapNfPvQelHjE7xyVUJ9173O66ZKNhLWUoNzcaAWqd3vsknFxSgRutjmrZvG34iE9D2zCQmrfNLxl9slarbU3QAAAAAElFTkSuQmCC\")\n\n/***/ }),\n\n/***/ \"./src/dialog/imgs/continueimgdown_leg.data.png\":\n/*!******************************************************!*\\\n  !*** ./src/dialog/imgs/continueimgdown_leg.data.png ***!\n  \\******************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nmodule.exports=(__webpack_require__(/*! alt1/base */ \"alt1/base\").ImageDetect.imageDataFromBase64)(\"iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAQQSURBVEhL1VW9bxxFFN/52NvbO59sEic5GZMIEHFkAiICKaRDAlGAlJKGioqShpqejn+ABiEoqFIhkIJEk44miSCRyIcSJXawfT6f7253dueD39xbz62/Ekei4ae5pzdv3rz3fm9m59jHb780N5tFu1GWttKOgDjmlXY4DgsY9nKRQkppaAqkup3JUTXZh0IViFlP3UgalTZZhexvpezyu6ePH4u73QXMc+15ltZBxpxBscNxVnhXQtpo8JkWlljccGVlJ394QpKzZSl3WaZYmjiSV69PO/j+mymMUGCHZ+eFhOwEBIek1GQJGJUCYUlHJaRQPVCwZdTrBzsq2eiVnt7phZOYb6u8HRuEoOWAEBGlkKLyPGk2SQ+AkchU8x2oTP/xoPj2m8+gt9qdR3/f/PLr395alILzJJXkQ6CYSBcShR7VU0PCk5ZI7yRNFF9f8l1Lmg8e/yOWFmfjNM1LheWssEbrPWM0NI4Jbdh4O4+YhTTaqrzAwJR8yAg3X8KEUlHosjTWOGPt6sBeXErKfOzc+MTi2UvL7e9+vjPfjIyxlY9GHEvRkI4iI2ae+yWEhU4ZyRMKLZG+PRyHJWxEqb4qFuWZ8vSSpgQ31EQeewbKrSuT+iuQPRjrU+f8jYU0pTs1w3+8+vDCa3NWS602uy8vg+H3v9ydSyxzzBgXce8Jqhi4+BTKR5zAx7QWDkcBBcFIW8lokHt60CaHsKv0A4E0lP6ZgJsu8AFV02Mtd+Xa6jtLLYbuqhEx/OHXe2COVbhhcOEj1+MTK1ggyYIrHfSnA46jceHpzXQ6w8GuNyrEreuFMigCzQ79BgGaCjl9waad3uFWWv8ezrejK9fWPnpvCXdyfWXtzLnzyy+qn35fIYYAMUSiEKGyOxdYOc3wRWJa54wLQg2iwSMhJJMxz7LS/zHMd2cHm0NUD9dGIlgZafQpjrwirDRcTep7CrCLFGzZ70z0bq1FX31+yfLW9b/+XF/Zunl/Y6DSN07teskEF/TaoIBIVO1BAZAuppkHshBghE4y1EyeeLe2+8rTQ3HErQ7KhD349ivT84OIAeD2xScXoNy7/2R9q9/rjWE5dwJ/A1N6CRfTth6UN5QEWad0GEBKnDk+I7kIBx0Ai8HvaBf9MDSUKSy73Ys+/fDVXJnV1R644Q27sWLOzk3uEm4a27nYjKNuYyOc2oE9nZbEOPbS4Yb+gC3zD6cfkYiaPFZai1dOdmod/C+Bo5PGlYxt5FFHqs3+AO83/Q2CGwF/JYEe1Q3lmfeFh45gl/W3GJRwkuCFgTVM8YXjr51dfr0rW3v/o+sXnUB3GvJ5QZ/ijSdeaq2llPXvDRey0nYQsoQaKHXQgf3l4awqrYZBlrMPzi+00IH/P/Yf0iAr/gXJh0N13Pe/YwAAAABJRU5ErkJggg==\")\n\n/***/ }),\n\n/***/ \"./src/dialog/index.ts\":\n/*!*****************************!*\\\n  !*** ./src/dialog/index.ts ***!\n  \\*****************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst a1lib = __importStar(__webpack_require__(/*! alt1/base */ \"alt1/base\"));\nconst OCR = __importStar(__webpack_require__(/*! alt1/ocr */ \"alt1/ocr\"));\nconst base_1 = __webpack_require__(/*! alt1/base */ \"alt1/base\");\nvar imgs_rs3 = (0, base_1.webpackImages)({\n    chatimg: __webpack_require__(/*! ./imgs/chatimg.data.png */ \"./src/dialog/imgs/chatimg.data.png\"),\n    chatimghover: __webpack_require__(/*! ./imgs/chatimghover.data.png */ \"./src/dialog/imgs/chatimghover.data.png\"),\n    chatimgactive: __webpack_require__(/*! ./imgs/chatimgactive.data.png */ \"./src/dialog/imgs/chatimgactive.data.png\"),\n    continueimg: __webpack_require__(/*! ./imgs/continueimg.data.png */ \"./src/dialog/imgs/continueimg.data.png\"),\n    continueimgdown: __webpack_require__(/*! ./imgs/continueimgdown.data.png */ \"./src/dialog/imgs/continueimgdown.data.png\"),\n    boxtl: __webpack_require__(/*! ./imgs/boxtl.data.png */ \"./src/dialog/imgs/boxtl.data.png\"),\n    boxtr: __webpack_require__(/*! ./imgs/boxtr.data.png */ \"./src/dialog/imgs/boxtr.data.png\")\n});\nvar imgs_leg = (0, base_1.webpackImages)({\n    chatimg: __webpack_require__(/*! ./imgs/chatimg_leg.data.png */ \"./src/dialog/imgs/chatimg_leg.data.png\"),\n    chatimghover: __webpack_require__(/*! ./imgs/chatimghover_leg.data.png */ \"./src/dialog/imgs/chatimghover_leg.data.png\"),\n    chatimgactive: __webpack_require__(/*! ./imgs/chatimgactive_leg.data.png */ \"./src/dialog/imgs/chatimgactive_leg.data.png\"),\n    continueimg: __webpack_require__(/*! ./imgs/continueimg_leg.data.png */ \"./src/dialog/imgs/continueimg_leg.data.png\"),\n    continueimgdown: __webpack_require__(/*! ./imgs/continueimgdown_leg.data.png */ \"./src/dialog/imgs/continueimgdown_leg.data.png\"),\n    boxtl: __webpack_require__(/*! ./imgs/boxtl_leg.data.png */ \"./src/dialog/imgs/boxtl_leg.data.png\"),\n    boxtr: __webpack_require__(/*! ./imgs/boxtr_leg.data.png */ \"./src/dialog/imgs/boxtr_leg.data.png\")\n});\nvar fontmono = __webpack_require__(/*! ../fonts/aa_8px_mono.fontmeta.json */ \"./src/fonts/aa_8px_mono.fontmeta.json\");\nvar fontheavy = __webpack_require__(/*! ../fonts/aa_8px_mono_allcaps.fontmeta.json */ \"./src/fonts/aa_8px_mono_allcaps.fontmeta.json\");\nclass DialogReader {\n    constructor() {\n        this.pos = null;\n    }\n    find(imgref) {\n        if (!imgref) {\n            imgref = a1lib.captureHoldFullRs();\n        }\n        if (!imgref) {\n            return null;\n        }\n        var boxes = [];\n        for (let imgs of [imgs_rs3, imgs_leg]) {\n            var pos = imgref.findSubimage(imgs.boxtl);\n            for (var a in pos) {\n                var p = pos[a];\n                if (imgref.findSubimage(imgs.boxtr, p.x + 492, p.y, 16, 16).length != 0) {\n                    boxes.push(Object.assign(Object.assign({}, p), { legacy: imgs == imgs_leg }));\n                }\n            }\n        }\n        if (boxes.length == 0) {\n            return false;\n        }\n        var box = boxes[0];\n        if (boxes.length > 1) {\n            console.log(\"More than one dialog box found\");\n        }\n        this.pos = { x: box.x + 1, y: box.y + 1, width: 506, height: 130, legacy: box.legacy };\n        return this.pos;\n    }\n    ensureimg(imgref) {\n        if (!this.pos) {\n            return null;\n        }\n        if (imgref && a1lib.Rect.fromArgs(imgref).contains(this.pos)) {\n            return imgref;\n        }\n        return a1lib.captureHold(this.pos.x, this.pos.y, this.pos.width, this.pos.height);\n    }\n    read(imgref) {\n        imgref = this.ensureimg(imgref);\n        if (!imgref) {\n            return false;\n        }\n        let title = this.readTitle(imgref);\n        var r = {\n            text: null,\n            opts: null,\n            title\n        };\n        if (this.checkDialog(imgref)) {\n            r.text = this.readDialog(imgref, true);\n            return r;\n        }\n        else {\n            var opts = this.findOptions(imgref);\n            if (opts.length != 0) {\n                r.opts = this.readOptions(imgref, opts);\n                return r;\n            }\n            else {\n                return null;\n            }\n        }\n    }\n    readTitle(imgref) {\n        if (!this.pos) {\n            throw new Error(\"position not found yet\");\n        }\n        var buf = imgref.toData(this.pos.x, this.pos.y, this.pos.width, 32);\n        //somehow y coord can change, 19 for \"choose and option:\" 18 for npc names\n        var pos = OCR.findChar(buf, fontheavy, [255, 203, 5], Math.round(this.pos.width / 2) - 10, 16, 20, 4);\n        if (!pos) {\n            return \"\";\n        }\n        var read = OCR.readSmallCapsBackwards(buf, fontheavy, [[255, 203, 5]], Math.round(this.pos.width / 2) - 10, pos.y, 150, 1);\n        return read.text.toLowerCase(); //normalize case since we don't actually know the original\n    }\n    checkDialog(imgref) {\n        if (!this.pos) {\n            throw new Error(\"position not found yet\");\n        }\n        var locs = [];\n        let imgs = (this.pos.legacy ? imgs_leg : imgs_rs3);\n        locs = locs.concat(imgref.findSubimage(imgs.continueimg, this.pos.x - imgref.x, this.pos.y - imgref.y, this.pos.width, this.pos.height));\n        locs = locs.concat(imgref.findSubimage(imgs.continueimgdown, this.pos.x - imgref.x, this.pos.y - imgref.y, this.pos.width, this.pos.height));\n        return locs.length != 0;\n    }\n    readDialog(imgref, checked) {\n        if (!this.pos) {\n            throw new Error(\"position not found yet\");\n        }\n        imgref = this.ensureimg(imgref);\n        if (!imgref) {\n            return null;\n        }\n        if (!checked) {\n            checked = this.checkDialog(imgref);\n        }\n        if (!checked) {\n            return null;\n        }\n        var lines = [];\n        var buf = imgref.toData(this.pos.x, this.pos.y + 33, this.pos.width, 80);\n        for (var y = 0; y < buf.height; y++) {\n            var hastext = false;\n            for (var x = 200; x < 300; x++) {\n                var i = x * 4 + y * 4 * buf.width;\n                if (buf.data[i] + buf.data[i + 1] + buf.data[i + 2] < 50) {\n                    hastext = true;\n                    break;\n                }\n            }\n            if (hastext) {\n                var chr = null;\n                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 192, y + 5, 12, 3);\n                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 246, y + 5, 12, 3);\n                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 310, y + 5, 12, 3);\n                if (chr) {\n                    var read = OCR.readLine(buf, fontmono, [0, 0, 0], chr.x, chr.y, true, true);\n                    if (read.text.length >= 3) {\n                        lines.push(read.text);\n                    }\n                    y = chr.y + 5;\n                }\n            }\n        }\n        return lines;\n    }\n    findOptions(imgref) {\n        var locs = [];\n        if (!this.pos) {\n            throw new Error(\"position not found yet\");\n        }\n        let imgs = (this.pos.legacy ? imgs_leg : imgs_rs3);\n        var a = imgref.findSubimage(imgs.chatimg);\n        for (var b in a) {\n            locs.push({ x: a[b].x, y: a[b].y, hover: false, active: false });\n        }\n        var a = imgref.findSubimage(imgs.chatimghover);\n        for (var b in a) {\n            locs.push({ x: a[b].x, y: a[b].y, hover: true, active: false });\n        }\n        var a = imgref.findSubimage(imgs.chatimgactive);\n        for (var b in a) {\n            locs.push({ x: a[b].x, y: a[b].y, hover: false, active: true });\n        }\n        return locs;\n    }\n    readOptions(imgref, locs) {\n        imgref = this.ensureimg(imgref);\n        if (!imgref) {\n            return null;\n        }\n        if (!this.pos) {\n            throw new Error(\"interface not found\");\n        }\n        var buf = imgref.toData();\n        if (!locs) {\n            locs = this.findOptions(imgref);\n        }\n        var bgcol = [150, 135, 105];\n        var fontcol = this.pos.legacy ? [255, 255, 255] : [174, 208, 224];\n        var r = [];\n        for (var a = 0; a < locs.length; a++) {\n            var dx = locs[a].x + 30;\n            var dy = locs[a].y + 6;\n            var checkline = imgref.toData(dx, dy, Math.min(500, imgref.width - a), 1);\n            var row = null;\n            for (var x = 0; x < checkline.width; x++) {\n                var i = x * 4;\n                if (row) {\n                    if (coldiff(checkline.data[i], checkline.data[i + 1], checkline.data[i + 2], bgcol[0], bgcol[1], bgcol[2]) < 75) {\n                        row.width = x + 20;\n                        break;\n                    }\n                }\n                else if (coldiff(checkline.data[i], checkline.data[i + 1], checkline.data[i + 2], fontcol[0], fontcol[1], fontcol[2]) < 100) {\n                    var text = \"\";\n                    var chr = OCR.findChar(buf, fontmono, fontcol, dx + x + 2 - imgref.x, dy + 3 - imgref.y, 30, 1);\n                    if (chr) {\n                        var read = OCR.readLine(buf, fontmono, fontcol, chr.x, chr.y, true, true);\n                        var text = read.text;\n                    }\n                    row = { text: text, x: dx + x, y: dy, width: 200, buttonx: dx - 31, hover: !!locs[a].hover, active: locs[a].active };\n                }\n            }\n            if (row) {\n                r.push(row);\n            }\n        }\n        r.sort((a, b) => a.y - b.y);\n        return r;\n    }\n}\nexports[\"default\"] = DialogReader;\n//TODO get rid of this or make it standard\nfunction coldiff(r1, g1, b1, r2, g2, b2) {\n    return Math.abs(r1 - r2) + Math.abs(g1 - g2) + Math.abs(b1 - b2);\n}\n\n\n/***/ }),\n\n/***/ \"alt1/base\":\n/*!**************************************************************************************************!*\\\n  !*** external {\"root\":\"A1lib\",\"commonjs2\":\"alt1/base\",\"commonjs\":\"alt1/base\",\"amd\":\"alt1/base\"} ***!\n  \\**************************************************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_alt1_base__;\n\n/***/ }),\n\n/***/ \"alt1/ocr\":\n/*!*********************************************************************************************!*\\\n  !*** external {\"root\":\"OCR\",\"commonjs2\":\"alt1/ocr\",\"commonjs\":\"alt1/ocr\",\"amd\":\"alt1/ocr\"} ***!\n  \\*********************************************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_alt1_ocr__;\n\n/***/ }),\n\n/***/ \"./src/fonts/aa_8px_mono.fontmeta.json\":\n/*!*********************************************!*\\\n  !*** ./src/fonts/aa_8px_mono.fontmeta.json ***!\n  \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = JSON.parse('{\"chars\":[{\"width\":7,\"bonus\":75,\"chr\":\"a\",\"pixels\":[0,7,187,1,3,221,1,6,170,1,8,255,2,3,255,2,5,187,2,8,255,3,3,255,3,5,255,3,8,221,4,4,238,4,5,255,4,6,204,4,7,255,4,8,238],\"secondary\":false},{\"width\":7,\"bonus\":105,\"chr\":\"b\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,204,1,4,170,1,7,170,1,8,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,170,4,4,170,4,7,170,5,5,187,5,6,187],\"secondary\":false},{\"width\":7,\"bonus\":50,\"chr\":\"c\",\"pixels\":[0,5,170,0,6,187,1,4,187,1,7,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,221,4,8,221],\"secondary\":false},{\"width\":7,\"bonus\":105,\"chr\":\"d\",\"pixels\":[0,5,187,0,6,187,1,4,170,1,7,170,1,8,170,2,3,255,2,8,255,3,3,255,3,8,255,4,3,204,4,4,170,4,7,170,4,8,187,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,221,5,7,221,5,8,204],\"secondary\":false},{\"width\":7,\"bonus\":75,\"chr\":\"e\",\"pixels\":[0,5,187,0,6,170,1,4,187,1,5,255,1,7,204,2,3,255,2,5,255,2,8,255,3,3,255,3,5,255,3,8,255,4,3,187,4,5,255,4,8,221,5,5,204],\"secondary\":false},{\"width\":4,\"bonus\":50,\"chr\":\"f\",\"pixels\":[0,3,204,1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204,2,1,255,2,3,255],\"secondary\":false},{\"width\":7,\"bonus\":115,\"chr\":\"g\",\"pixels\":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,170,1,11,153,2,3,255,2,8,255,2,11,238,3,3,255,3,8,255,3,11,221,4,3,221,4,7,153,4,8,221,4,10,204,5,3,204,5,4,221,5,5,221,5,6,221,5,7,221,5,8,221,5,9,170],\"secondary\":false},{\"width\":7,\"bonus\":90,\"chr\":\"h\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,170,1,4,204,2,3,255,3,3,255,4,3,170,4,4,221,4,5,221,4,6,221,4,7,221,4,8,204],\"secondary\":false},{\"width\":3,\"bonus\":35,\"chr\":\"i\",\"pixels\":[0,1,238,0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204],\"secondary\":false},{\"width\":4,\"bonus\":50,\"chr\":\"j\",\"pixels\":[0,11,153,1,11,170,2,1,204,2,3,204,2,4,221,2,5,221,2,6,221,2,7,221,2,8,221,2,9,221],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"k\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,4,153,2,5,255,2,6,221,3,3,204,3,7,221],\"secondary\":false},{\"width\":3,\"bonus\":40,\"chr\":\"l\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,1,8,255],\"secondary\":false},{\"width\":10,\"bonus\":115,\"chr\":\"m\",\"pixels\":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,153,4,4,255,4,5,221,4,6,221,4,7,221,4,8,204,5,4,187,6,3,255,7,3,238,8,4,170,8,5,221,8,6,221,8,7,221,8,8,204],\"secondary\":false},{\"width\":7,\"bonus\":75,\"chr\":\"n\",\"pixels\":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,238,5,4,170,5,5,221,5,6,221,5,7,221,5,8,204],\"secondary\":false},{\"width\":8,\"bonus\":70,\"chr\":\"o\",\"pixels\":[0,5,187,0,6,170,1,4,204,1,7,221,2,3,238,2,8,238,3,3,255,3,8,255,4,3,238,4,8,255,5,4,204,5,7,221,6,5,170,6,6,170],\"secondary\":false},{\"width\":6,\"bonus\":90,\"chr\":\"p\",\"pixels\":[0,3,238,0,4,255,0,5,187,0,6,204,0,7,255,0,8,221,0,9,221,0,10,221,1,3,255,1,8,238,2,3,255,2,8,255,3,3,238,3,8,238,4,4,238,4,5,255,4,6,255,4,7,238],\"secondary\":false},{\"width\":7,\"bonus\":90,\"chr\":\"q\",\"pixels\":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,153,1,8,170,2,3,255,2,8,255,3,3,238,3,8,238,4,3,255,4,4,255,4,5,187,4,6,187,4,7,255,4,8,238,4,9,221,4,10,221],\"secondary\":false},{\"width\":4,\"bonus\":45,\"chr\":\"r\",\"pixels\":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,187,1,4,204,2,3,255],\"secondary\":false},{\"width\":6,\"bonus\":50,\"chr\":\"s\",\"pixels\":[0,4,187,1,3,255,1,5,238,1,8,255,2,3,255,2,8,255,3,3,255,3,6,238,3,8,255,4,7,187],\"secondary\":false},{\"width\":5,\"bonus\":45,\"chr\":\"t\",\"pixels\":[1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,170,2,3,255,2,8,238,3,8,153],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"u\",\"pixels\":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,170,1,8,238,2,8,255,3,8,204,4,3,204,4,4,221,4,5,221,4,6,204,4,7,255,4,8,221],\"secondary\":false},{\"width\":6,\"bonus\":50,\"chr\":\"v\",\"pixels\":[0,3,238,1,5,238,1,6,204,2,7,255,2,8,255,3,5,153,3,6,255,3,7,153,4,3,238,4,4,204],\"secondary\":false},{\"width\":10,\"bonus\":95,\"chr\":\"w\",\"pixels\":[1,3,153,1,4,238,1,5,187,2,6,153,2,7,238,2,8,187,3,6,204,3,7,238,3,8,153,4,3,170,4,4,255,5,4,221,5,5,221,6,7,255,6,8,221,7,6,238,7,7,204,8,3,238,8,4,204],\"secondary\":false},{\"width\":6,\"bonus\":55,\"chr\":\"x\",\"pixels\":[0,8,170,1,3,170,1,4,204,1,7,221,2,5,255,2,6,238,3,4,255,3,6,187,3,7,187,4,3,221,4,8,255],\"secondary\":false},{\"width\":6,\"bonus\":65,\"chr\":\"y\",\"pixels\":[0,3,255,0,4,153,0,11,221,1,5,204,1,6,221,1,11,187,2,7,187,2,8,255,2,9,238,3,6,238,3,7,187,4,3,204,4,4,221],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"z\",\"pixels\":[0,3,153,0,8,204,1,3,255,1,7,221,1,8,255,2,3,255,2,6,255,2,8,255,3,3,255,3,4,170,3,5,170,3,8,255,4,3,255,4,8,255],\"secondary\":false},{\"width\":8,\"bonus\":85,\"chr\":\"A\",\"pixels\":[0,8,153,1,6,221,1,7,238,2,3,170,2,4,255,2,5,187,2,6,255,3,1,255,3,2,255,3,6,255,4,2,255,4,3,238,4,6,255,5,5,255,5,6,255,6,7,187,6,8,255],\"secondary\":false},{\"width\":7,\"bonus\":125,\"chr\":\"B\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,4,255,1,8,255,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,1,221,4,4,255,4,5,170,4,8,204,5,2,170,5,3,170,5,6,187,5,7,153],\"secondary\":false},{\"width\":9,\"bonus\":80,\"chr\":\"C\",\"pixels\":[0,4,187,0,5,187,1,2,221,1,3,153,1,6,153,1,7,204,2,1,170,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,170,6,8,170],\"secondary\":false},{\"width\":8,\"bonus\":100,\"chr\":\"D\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,8,255,2,1,255,2,8,255,3,1,255,3,8,255,4,1,204,4,8,204,5,2,221,5,7,221,6,4,187,6,5,187],\"secondary\":false},{\"width\":6,\"bonus\":95,\"chr\":\"E\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,1,8,255,2,1,255,2,5,255,2,8,255,3,1,255,3,5,255,3,8,255,4,1,153,4,8,221],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"F\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255],\"secondary\":false},{\"width\":9,\"bonus\":105,\"chr\":\"G\",\"pixels\":[0,4,170,0,5,187,1,2,204,1,3,153,1,7,221,2,1,170,2,8,187,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,238,6,1,170,6,5,255,6,7,153,6,8,170,7,5,153,7,6,221,7,7,221,7,8,204],\"secondary\":false},{\"width\":8,\"bonus\":105,\"chr\":\"H\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,5,255,3,5,255,4,5,255,5,5,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],\"secondary\":false},{\"width\":4,\"bonus\":60,\"chr\":\"I\",\"pixels\":[0,1,192,0,8,191,1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,2,1,192,2,8,191],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"J\",\"pixels\":[0,6,153,0,7,153,1,8,204,2,1,221,2,8,255,3,1,255,3,8,204,4,1,204,4,2,221,4,3,221,4,4,221,4,5,221,4,6,221,4,7,153],\"secondary\":false},{\"width\":7,\"bonus\":85,\"chr\":\"K\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,255,2,4,255,3,3,221,3,5,170,3,6,204,4,1,204,4,2,153,4,7,238,4,8,153],\"secondary\":false},{\"width\":6,\"bonus\":60,\"chr\":\"L\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,8,255,2,8,255,3,8,255,4,8,255],\"secondary\":false},{\"width\":9,\"bonus\":130,\"chr\":\"M\",\"pixels\":[0,1,245,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,1,2,170,1,3,225,2,4,207,2,5,190,3,6,232,4,6,232,5,4,207,5,5,190,6,2,170,6,3,224,7,1,245,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255],\"secondary\":false},{\"width\":8,\"bonus\":110,\"chr\":\"N\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,2,255,2,3,221,3,4,187,3,5,187,4,6,221,5,7,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],\"secondary\":false},{\"width\":10,\"bonus\":110,\"chr\":\"O\",\"pixels\":[0,4,187,0,5,170,1,2,204,1,3,153,1,6,170,1,7,204,2,1,153,2,8,153,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,153,6,8,153,7,2,204,7,3,153,7,6,170,7,7,204,8,4,187,8,5,170],\"secondary\":false},{\"width\":7,\"bonus\":85,\"chr\":\"P\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,4,1,187,4,5,187,5,3,221],\"secondary\":false},{\"width\":9,\"bonus\":100,\"chr\":\"Q\",\"pixels\":[0,4,187,0,5,187,1,2,221,1,6,153,1,7,221,2,1,187,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,238,5,8,238,6,2,204,6,7,255,7,3,255,7,4,204,7,5,221,7,6,255,7,8,204],\"secondary\":false},{\"width\":7,\"bonus\":100,\"chr\":\"R\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,3,6,187,4,2,238,4,3,204,4,4,255,4,7,238,4,8,170],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"S\",\"pixels\":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,1,255,2,4,170,2,8,255,3,1,255,3,5,255,3,8,255,4,1,170,4,6,221,4,7,238],\"secondary\":false},{\"width\":8,\"bonus\":65,\"chr\":\"T\",\"pixels\":[0,1,255,1,1,255,2,1,255,3,1,255,3,2,221,3,3,221,3,4,221,3,5,221,3,6,221,3,7,221,3,8,204,4,1,255,5,1,255],\"secondary\":false},{\"width\":8,\"bonus\":85,\"chr\":\"U\",\"pixels\":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,187,1,7,170,2,8,255,3,8,255,4,8,221,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,255,5,7,238],\"secondary\":false},{\"width\":7,\"bonus\":70,\"chr\":\"V\",\"pixels\":[0,1,255,0,2,187,1,3,153,1,4,255,1,5,153,2,6,187,2,7,238,3,7,255,3,8,204,4,4,204,4,5,238,5,1,170,5,2,255,5,3,153],\"secondary\":false},{\"width\":10,\"bonus\":125,\"chr\":\"W\",\"pixels\":[0,1,255,0,2,221,1,4,187,1,5,255,1,6,204,2,7,255,2,8,255,3,3,153,3,4,238,3,5,221,4,1,255,4,2,255,4,3,153,5,3,170,5,4,238,5,5,204,6,7,255,6,8,255,7,4,153,7,5,238,7,6,238,7,7,153,8,1,238,8,2,238,8,3,153],\"secondary\":false},{\"width\":7,\"bonus\":75,\"chr\":\"X\",\"pixels\":[0,8,170,1,1,187,1,2,204,1,7,238,2,3,221,2,4,153,2,5,255,2,6,153,3,4,255,3,5,238,4,2,238,4,6,204,4,7,170,5,1,204,5,8,255],\"secondary\":false},{\"width\":7,\"bonus\":55,\"chr\":\"Y\",\"pixels\":[0,1,170,1,2,238,2,3,153,2,4,255,3,4,221,3,5,204,3,6,221,3,7,221,3,8,204,4,3,255,5,1,238],\"secondary\":false},{\"width\":7,\"bonus\":75,\"chr\":\"Z\",\"pixels\":[0,8,187,1,1,255,1,7,221,1,8,255,2,1,255,2,5,204,2,8,255,3,1,255,3,4,204,3,8,255,4,1,255,4,2,221,4,8,255,5,1,187,5,8,153],\"secondary\":false},{\"width\":7,\"bonus\":90,\"chr\":\"0\",\"pixels\":[0,2,153,0,3,221,0,4,255,0,5,255,0,6,238,0,7,170,1,1,187,1,8,204,2,1,187,2,8,187,3,1,221,3,8,204,4,2,170,4,3,255,4,4,187,4,5,187,4,6,238,4,7,170],\"secondary\":false},{\"width\":7,\"bonus\":50,\"chr\":\"1\",\"pixels\":[1,8,187,2,1,204,2,2,204,2,3,187,2,4,187,2,5,187,2,6,187,2,7,187,2,8,238,3,8,204],\"secondary\":false},{\"width\":7,\"bonus\":55,\"chr\":\"2\",\"pixels\":[1,8,255,2,1,187,2,6,153,2,8,187,3,1,204,3,5,153,3,8,187,4,1,187,4,2,153,4,4,204,4,8,187],\"secondary\":false},{\"width\":7,\"bonus\":50,\"chr\":\"3\",\"pixels\":[0,8,204,1,1,187,1,8,187,2,1,187,2,4,187,2,8,204,3,2,221,3,3,204,3,5,204,3,7,170],\"secondary\":false},{\"width\":7,\"bonus\":80,\"chr\":\"4\",\"pixels\":[0,6,238,1,4,187,1,6,187,2,3,170,2,6,187,3,1,187,3,2,153,3,6,204,4,1,187,4,2,187,4,3,187,4,4,187,4,5,187,4,6,238,4,7,187,4,8,187],\"secondary\":false},{\"width\":7,\"bonus\":70,\"chr\":\"5\",\"pixels\":[1,1,238,1,2,187,1,3,187,1,4,187,1,8,204,2,1,187,2,4,187,2,8,187,3,1,187,3,4,204,3,8,204,4,5,238,4,6,187,4,7,221],\"secondary\":false},{\"width\":7,\"bonus\":80,\"chr\":\"6\",\"pixels\":[0,3,170,0,4,255,0,5,255,0,6,238,0,7,153,1,2,187,1,8,187,2,1,204,2,4,187,2,8,187,3,1,187,3,4,204,3,8,187,4,5,221,4,6,255,4,7,187],\"secondary\":false},{\"width\":7,\"bonus\":55,\"chr\":\"7\",\"pixels\":[0,1,187,1,1,187,1,8,204,2,1,187,2,6,238,2,7,153,3,1,187,3,3,153,3,4,221,4,1,255,4,2,187],\"secondary\":false},{\"width\":7,\"bonus\":95,\"chr\":\"8\",\"pixels\":[1,2,238,1,3,221,1,6,204,1,7,221,2,1,204,2,4,204,2,5,170,2,8,221,3,1,187,3,4,170,3,8,187,4,1,221,4,4,170,4,5,204,4,8,187,5,2,170,5,3,153,5,6,238,5,7,238],\"secondary\":false},{\"width\":7,\"bonus\":85,\"chr\":\"9\",\"pixels\":[1,2,221,1,3,187,1,4,238,1,8,153,2,1,204,2,5,221,2,8,187,3,1,187,3,5,187,3,8,204,4,1,187,4,7,170,5,2,153,5,3,238,5,4,255,5,5,255,5,6,187],\"secondary\":false},{\"width\":8,\"bonus\":75,\"chr\":\"%\",\"pixels\":[0,3,255,0,8,255,1,2,255,1,4,255,1,7,255,2,3,255,2,6,255,3,5,255,4,4,255,4,7,255,5,3,255,5,6,255,5,8,255,6,2,255,6,7,255],\"secondary\":false},{\"width\":4,\"bonus\":40,\"chr\":\"/\",\"pixels\":[0,7,153,0,8,238,0,9,221,1,4,187,1,5,238,1,6,170,2,1,221,2,2,221],\"secondary\":false},{\"width\":7,\"bonus\":60,\"chr\":\"+\",\"pixels\":[0,5,221,1,5,255,2,5,255,3,2,153,3,3,221,3,4,221,3,5,255,3,6,221,3,7,221,3,8,204,4,5,255,5,5,255],\"secondary\":false},{\"width\":5,\"bonus\":40,\"chr\":\"?\",\"pixels\":[0,1,170,1,1,255,1,6,221,1,8,255,2,1,255,2,5,170,3,2,255,3,3,221],\"secondary\":false},{\"width\":2,\"bonus\":35,\"chr\":\"!\",\"pixels\":[0,1,170,0,2,187,0,3,187,0,4,187,0,5,187,0,6,170,0,8,255],\"secondary\":false},{\"width\":8,\"bonus\":130,\"chr\":\"@\",\"pixels\":[0,4,255,0,5,255,0,6,221,0,7,255,0,8,187,1,3,221,1,9,238,2,2,221,2,5,255,2,6,238,2,7,255,2,10,153,3,2,255,3,4,255,3,8,204,3,10,187,4,2,238,4,4,255,4,8,255,5,3,238,5,4,255,5,5,221,5,6,221,5,7,221,5,8,238,6,8,221],\"secondary\":false},{\"width\":8,\"bonus\":120,\"chr\":\"#\",\"pixels\":[0,6,255,1,3,255,1,6,255,1,7,170,1,8,238,2,1,170,2,2,238,2,3,255,2,4,221,2,5,170,2,6,255,3,3,255,3,6,255,4,3,255,4,4,153,4,5,204,4,6,255,4,7,238,4,8,187,5,1,255,5,2,187,5,3,255,5,6,255,6,3,255],\"secondary\":false},{\"width\":6,\"bonus\":70,\"chr\":\"$\",\"pixels\":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,0,204,2,1,238,2,8,238,2,9,204,3,1,238,3,5,238,3,8,255,4,6,170,4,7,170],\"secondary\":false},{\"width\":6,\"bonus\":40,\"chr\":\"^\",\"pixels\":[0,4,153,0,5,238,1,2,204,1,3,221,2,1,221,2,2,221,3,3,187,3,4,221],\"secondary\":false},{\"width\":6,\"bonus\":20,\"chr\":\"~\",\"pixels\":[1,5,255,2,5,221,3,6,221,4,5,204],\"secondary\":false},{\"width\":7,\"bonus\":95,\"chr\":\"&\",\"pixels\":[0,6,187,1,2,238,1,3,255,1,4,187,1,5,187,1,8,187,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,4,255,4,8,187,5,3,204,5,4,255,5,5,221,5,6,187,6,4,153],\"secondary\":false},{\"width\":6,\"bonus\":45,\"chr\":\"*\",\"pixels\":[0,2,170,1,2,170,1,3,204,1,4,255,2,1,204,2,2,238,2,3,255,3,2,170,3,4,153],\"secondary\":false},{\"width\":4,\"bonus\":55,\"chr\":\"(\",\"pixels\":[0,3,173,0,4,239,0,5,253,0,6,230,0,7,171,1,1,194,1,2,204,1,8,204,1,9,191,2,0,210,2,10,216],\"secondary\":false},{\"width\":4,\"bonus\":55,\"chr\":\")\",\"pixels\":[1,0,211,1,10,216,2,1,194,2,2,203,2,8,203,2,9,191,3,3,174,3,4,240,3,5,253,3,6,229,3,7,171],\"secondary\":false},{\"width\":7,\"bonus\":30,\"chr\":\"_\",\"pixels\":[0,9,153,1,9,255,2,9,255,3,9,255,4,9,255,5,9,255],\"secondary\":false},{\"width\":4,\"bonus\":15,\"chr\":\"-\",\"pixels\":[0,5,255,1,5,255,2,5,255],\"secondary\":true},{\"width\":8,\"bonus\":50,\"chr\":\"=\",\"pixels\":[0,4,255,0,6,255,1,4,255,1,6,255,2,4,255,2,6,255,3,4,255,3,6,255,4,4,255,4,6,255],\"secondary\":false},{\"width\":3,\"bonus\":55,\"chr\":\"[\",\"pixels\":[0,0,204,0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,0,238,1,8,238],\"secondary\":false},{\"width\":3,\"bonus\":55,\"chr\":\"]\",\"pixels\":[0,0,238,0,8,238,1,0,204,1,1,221,1,2,221,1,3,221,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204],\"secondary\":false},{\"width\":5,\"bonus\":50,\"chr\":\"{\",\"pixels\":[0,5,153,1,2,170,1,3,221,1,4,221,1,5,204,1,6,255,1,7,221,1,8,170,2,1,238,2,9,238],\"secondary\":false},{\"width\":5,\"bonus\":50,\"chr\":\"}\",\"pixels\":[1,1,238,1,9,238,2,2,170,2,3,221,2,4,221,2,5,204,2,6,255,2,7,221,2,8,170,3,5,153],\"secondary\":false},{\"width\":3,\"bonus\":10,\"chr\":\":\",\"pixels\":[1,3,255,1,7,255],\"secondary\":true},{\"width\":3,\"bonus\":20,\"chr\":\";\",\"pixels\":[0,9,201,1,3,255,1,7,241,1,8,255],\"secondary\":true},{\"width\":3,\"bonus\":20,\"chr\":\"\\\\\"\",\"pixels\":[0,1,255,0,2,255,2,1,255,2,2,255],\"secondary\":true},{\"width\":2,\"bonus\":10,\"chr\":\"\\'\",\"pixels\":[0,1,255,0,2,177],\"secondary\":true},{\"width\":7,\"bonus\":40,\"chr\":\"<\",\"pixels\":[0,5,204,1,5,255,2,4,238,2,6,238,3,4,170,3,6,170,4,3,221,4,7,221],\"secondary\":false},{\"width\":7,\"bonus\":45,\"chr\":\">\",\"pixels\":[0,3,204,0,7,204,1,7,187,2,4,238,2,6,255,3,4,170,3,5,153,3,6,204,4,5,255],\"secondary\":false},{\"width\":5,\"bonus\":35,\"chr\":\"\\\\\\\\\",\"pixels\":[1,1,153,1,2,255,1,3,204,2,5,255,2,6,204,3,8,255,3,9,204],\"secondary\":false},{\"width\":2,\"bonus\":5,\"chr\":\".\",\"pixels\":[0,8,255],\"secondary\":true},{\"width\":3,\"bonus\":15,\"chr\":\",\",\"pixels\":[0,9,205,1,7,205,1,8,255],\"secondary\":true},{\"width\":3,\"bonus\":50,\"chr\":\"|\",\"pixels\":[0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,221,0,9,221,0,10,204],\"secondary\":false}],\"width\":10,\"spacewidth\":3,\"shadow\":false,\"height\":12,\"basey\":8}');\n\n/***/ }),\n\n/***/ \"./src/fonts/aa_8px_mono_allcaps.fontmeta.json\":\n/*!*****************************************************!*\\\n  !*** ./src/fonts/aa_8px_mono_allcaps.fontmeta.json ***!\n  \\*****************************************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = JSON.parse('{\"chars\":[{\"width\":3,\"bonus\":35,\"chr\":\"!\",\"pixels\":[0,2,170,1,1,221,1,2,255,1,3,221,1,4,187,1,5,170,1,9,204],\"secondary\":false},{\"width\":6,\"bonus\":20,\"chr\":\"\\\\\"\",\"pixels\":[1,2,221,1,3,255,3,2,221,3,3,255],\"secondary\":true},{\"width\":8,\"bonus\":125,\"chr\":\"#\",\"pixels\":[0,7,187,1,4,255,1,7,255,1,10,170,2,3,170,2,4,255,2,5,255,2,6,221,2,7,255,2,8,170,3,4,255,3,7,255,4,4,255,4,5,153,4,7,255,4,8,238,4,9,255,4,10,204,5,2,238,5,3,204,5,4,255,5,5,153,5,7,255,6,4,255,6,7,153],\"secondary\":false},{\"width\":7,\"bonus\":115,\"chr\":\"$\",\"pixels\":[0,8,187,1,2,255,1,3,255,1,4,221,1,9,238,2,1,187,2,4,255,2,5,204,2,8,170,2,9,255,2,10,221,3,0,187,3,1,238,3,2,187,3,3,170,3,4,153,3,5,255,3,6,221,3,9,221,4,1,221,4,6,255,4,7,255,4,8,255],\"secondary\":false},{\"width\":12,\"bonus\":135,\"chr\":\"%\",\"pixels\":[1,2,255,1,3,255,1,4,221,2,5,153,3,1,153,3,9,187,4,1,170,4,2,255,4,3,255,4,4,221,4,7,238,4,8,204,5,4,153,5,5,238,5,6,153,6,1,153,6,2,187,6,3,204,6,6,221,6,7,255,6,8,255,7,1,153,7,9,187,8,9,187,9,6,221,9,7,255,9,8,255],\"secondary\":false},{\"width\":11,\"bonus\":190,\"chr\":\"&\",\"pixels\":[0,6,187,0,7,255,0,8,170,1,2,204,1,3,255,1,4,153,1,5,238,1,6,170,1,7,187,1,8,255,1,9,153,2,1,170,2,2,153,2,3,153,2,4,255,2,5,187,2,9,238,3,1,221,3,5,238,3,6,170,3,9,255,4,1,238,4,6,238,4,7,153,4,9,204,5,1,187,5,2,187,5,7,255,5,8,204,6,7,170,6,8,255,7,5,238,7,6,255,7,7,170,7,8,170,7,9,221,8,9,238,9,9,153],\"secondary\":false},{\"width\":4,\"bonus\":10,\"chr\":\"\\'\",\"pixels\":[1,2,204,1,3,255],\"secondary\":true},{\"width\":4,\"bonus\":50,\"chr\":\"(\",\"pixels\":[0,3,170,0,4,238,0,5,255,0,6,221,0,7,153,1,1,153,1,2,221,1,3,153,1,7,170,1,8,238],\"secondary\":false},{\"width\":4,\"bonus\":40,\"chr\":\")\",\"pixels\":[1,1,170,1,2,221,1,7,170,1,8,238,2,3,187,2,4,238,2,5,255,2,6,204],\"secondary\":false},{\"width\":5,\"bonus\":25,\"chr\":\"*\",\"pixels\":[1,1,170,1,2,221,1,3,153,2,2,255,2,3,204],\"secondary\":false},{\"width\":8,\"bonus\":45,\"chr\":\"+\",\"pixels\":[1,6,255,2,6,255,3,4,255,3,5,255,3,6,255,3,7,255,3,8,255,4,6,255,5,6,255],\"secondary\":false},{\"width\":3,\"bonus\":10,\"chr\":\",\",\"pixels\":[1,8,187,1,9,221],\"secondary\":true},{\"width\":5,\"bonus\":20,\"chr\":\"-\",\"pixels\":[0,7,204,1,7,255,2,7,238,3,7,187],\"secondary\":true},{\"width\":3,\"bonus\":5,\"chr\":\".\",\"pixels\":[0,9,204],\"secondary\":true},{\"width\":7,\"bonus\":40,\"chr\":\"/\",\"pixels\":[0,9,221,1,7,187,1,8,187,2,6,221,3,4,221,4,2,170,4,3,187,5,1,187],\"secondary\":false},{\"width\":8,\"bonus\":105,\"chr\":\"0\",\"pixels\":[0,6,153,1,3,221,1,4,255,1,5,255,1,6,255,1,7,255,1,8,238,2,2,187,2,8,153,2,9,204,3,2,187,3,9,204,4,2,221,4,9,187,5,3,238,5,4,255,5,5,255,5,6,255,5,7,255,5,8,221,6,5,153],\"secondary\":false},{\"width\":6,\"bonus\":85,\"chr\":\"1\",\"pixels\":[1,3,170,1,9,153,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,3,2,153,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221],\"secondary\":false},{\"width\":8,\"bonus\":100,\"chr\":\"2\",\"pixels\":[1,2,187,1,3,153,1,9,255,2,2,187,2,8,221,2,9,255,3,2,221,3,7,221,3,9,255,4,2,187,4,3,238,4,4,187,4,5,238,4,6,238,4,9,255,5,3,221,5,4,255,5,5,170,5,8,153,5,9,238],\"secondary\":false},{\"width\":7,\"bonus\":100,\"chr\":\"3\",\"pixels\":[0,2,170,0,8,170,0,9,204,1,2,221,1,9,238,2,2,238,2,5,221,2,9,221,3,2,221,3,3,187,3,4,204,3,5,255,3,6,153,3,9,187,4,3,238,4,4,153,4,6,255,4,7,255,4,8,255,5,7,153],\"secondary\":false},{\"width\":8,\"bonus\":85,\"chr\":\"4\",\"pixels\":[0,7,153,1,6,187,1,7,255,2,5,187,2,7,255,3,4,187,3,7,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,7,255,5,9,204,6,7,221],\"secondary\":false},{\"width\":7,\"bonus\":95,\"chr\":\"5\",\"pixels\":[0,8,153,0,9,221,1,2,255,1,3,187,1,4,238,1,9,221,2,2,255,2,4,187,2,5,170,2,9,204,3,2,255,3,5,255,3,9,170,4,2,255,4,5,204,4,6,255,4,7,255,4,8,238,5,7,153],\"secondary\":false},{\"width\":8,\"bonus\":105,\"chr\":\"6\",\"pixels\":[0,7,153,1,4,153,1,5,255,1,6,255,1,7,255,1,8,255,2,4,204,2,9,221,3,3,170,3,5,153,3,9,204,4,2,153,4,5,187,4,9,204,5,6,238,5,7,170,5,8,187,5,9,153,6,6,187,6,7,255,6,8,170],\"secondary\":false},{\"width\":7,\"bonus\":75,\"chr\":\"7\",\"pixels\":[0,2,204,0,3,187,1,2,255,1,9,187,2,2,255,2,7,238,2,8,255,2,9,170,3,2,255,3,5,221,3,6,204,4,2,255,4,3,204,4,4,170,5,2,204],\"secondary\":false},{\"width\":8,\"bonus\":120,\"chr\":\"8\",\"pixels\":[1,3,221,1,4,204,1,6,187,1,7,255,1,8,255,2,2,187,2,4,204,2,5,221,2,6,153,2,9,221,3,2,153,3,5,255,3,9,187,4,2,187,4,5,238,4,6,204,4,9,204,5,2,170,5,3,255,5,4,238,5,6,238,5,7,255,5,8,255,6,7,153],\"secondary\":false},{\"width\":8,\"bonus\":95,\"chr\":\"9\",\"pixels\":[0,4,153,1,3,255,1,4,255,1,5,255,2,2,187,2,6,153,3,2,204,3,6,153,3,9,153,4,2,221,4,7,153,4,8,204,5,3,255,5,4,255,5,5,255,5,6,255,5,7,187,6,4,153,6,5,153],\"secondary\":false},{\"width\":3,\"bonus\":10,\"chr\":\":\",\"pixels\":[0,3,204,0,7,204],\"secondary\":true},{\"width\":3,\"bonus\":20,\"chr\":\";\",\"pixels\":[0,2,204,0,6,153,0,7,187,0,8,153],\"secondary\":true},{\"width\":7,\"bonus\":55,\"chr\":\"<\",\"pixels\":[0,6,187,0,7,153,1,6,221,1,7,238,2,5,153,3,5,238,3,8,238,4,5,153,4,8,187,5,4,187,5,9,153],\"secondary\":false},{\"width\":7,\"bonus\":60,\"chr\":\"=\",\"pixels\":[0,5,255,0,8,255,1,5,255,1,8,255,2,5,255,2,8,255,3,5,255,3,8,255,4,5,255,4,8,255,5,5,221,5,8,221],\"secondary\":false},{\"width\":7,\"bonus\":50,\"chr\":\">\",\"pixels\":[0,4,204,0,9,170,1,5,170,1,8,187,2,5,238,2,8,221,3,7,153,4,6,238,4,7,238,5,6,153],\"secondary\":false},{\"width\":6,\"bonus\":65,\"chr\":\"?\",\"pixels\":[0,2,153,0,3,187,1,2,221,1,7,221,2,2,238,2,6,238,2,10,204,3,2,204,3,3,221,3,4,204,3,5,255,4,3,238,4,4,221],\"secondary\":false},{\"width\":11,\"bonus\":180,\"chr\":\"@\",\"pixels\":[0,4,187,0,5,255,0,6,255,0,7,238,1,3,170,1,8,204,2,5,187,2,6,238,2,7,187,2,9,204,3,4,204,3,5,153,3,6,153,3,7,204,3,9,204,4,3,153,4,6,153,4,9,187,5,0,153,5,3,221,5,4,170,5,5,238,5,6,255,5,7,187,5,9,170,6,3,221,6,4,153,6,7,238,7,1,153,7,7,170,8,1,170,8,2,153,8,6,170,9,3,187,9,4,221,9,5,170],\"secondary\":false},{\"width\":9,\"bonus\":110,\"chr\":\"A\",\"pixels\":[1,9,238,2,6,153,2,7,255,2,8,170,2,9,170,3,4,187,3,5,238,3,7,221,4,2,187,4,3,255,4,4,238,4,7,221,5,4,221,5,5,255,5,6,238,5,7,238,6,6,187,6,7,255,6,8,255,6,9,187,7,8,170,7,9,255],\"secondary\":false},{\"width\":7,\"bonus\":150,\"chr\":\"B\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,255,3,2,221,3,5,221,3,9,204,4,2,187,4,3,255,4,4,255,4,5,170,4,6,255,4,7,170,4,8,187,4,9,187,5,6,153,5,7,255,5,8,204],\"secondary\":false},{\"width\":8,\"bonus\":120,\"chr\":\"C\",\"pixels\":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,3,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,221,5,2,221,5,9,221,6,2,187,6,3,187,6,8,153,6,9,170],\"secondary\":false},{\"width\":10,\"bonus\":165,\"chr\":\"D\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,9,221,4,2,238,4,9,221,5,2,221,5,9,204,6,2,153,6,3,238,6,8,187,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,8,5,187,8,6,170],\"secondary\":false},{\"width\":7,\"bonus\":110,\"chr\":\"E\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,170,2,9,239,3,2,214,3,5,221,3,9,212,4,2,212,4,5,226,4,9,238],\"secondary\":false},{\"width\":7,\"bonus\":100,\"chr\":\"F\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,2,221,3,5,221,4,2,238,4,5,238],\"secondary\":false},{\"width\":9,\"bonus\":135,\"chr\":\"G\",\"pixels\":[0,4,170,0,5,238,0,6,255,0,7,187,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,238,5,2,238,5,9,221,6,2,204,6,6,255,6,7,255,6,8,255,6,9,204,7,6,204,7,7,153,7,8,153],\"secondary\":false},{\"width\":10,\"bonus\":175,\"chr\":\"H\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,5,221,4,5,221,5,5,221,6,2,204,6,3,153,6,4,153,6,5,238,6,6,153,6,7,153,6,8,153,6,9,221,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255],\"secondary\":false},{\"width\":5,\"bonus\":80,\"chr\":\"I\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,153,2,9,221],\"secondary\":false},{\"width\":6,\"bonus\":90,\"chr\":\"J\",\"pixels\":[2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,187,3,2,204,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,153],\"secondary\":false},{\"width\":10,\"bonus\":140,\"chr\":\"K\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,187,2,7,153,2,8,153,2,9,204,3,5,238,3,6,238,4,6,170,4,7,255,5,2,238,5,3,153,5,7,170,5,8,255,6,2,204,6,8,170,6,9,238,7,9,204],\"secondary\":false},{\"width\":7,\"bonus\":95,\"chr\":\"L\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,9,221,4,9,221,5,9,204],\"secondary\":false},{\"width\":12,\"bonus\":150,\"chr\":\"M\",\"pixels\":[1,6,170,1,7,221,1,8,255,1,9,255,2,2,170,2,3,255,2,4,255,2,5,221,3,4,204,3,5,255,3,6,238,4,6,204,4,7,255,4,8,221,5,7,187,5,8,255,6,6,221,7,4,238,7,5,204,8,2,187,8,3,255,8,4,255,8,5,255,8,6,255,8,7,238,8,8,204,8,9,187,9,7,170,9,8,204,9,9,255],\"secondary\":false},{\"width\":10,\"bonus\":130,\"chr\":\"N\",\"pixels\":[1,2,204,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,3,221,2,4,238,3,4,221,3,5,238,4,5,238,4,6,238,5,6,238,5,7,238,6,7,238,6,8,238,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,204],\"secondary\":false},{\"width\":10,\"bonus\":155,\"chr\":\"O\",\"pixels\":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,170,2,8,204,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,238,6,8,170,7,3,238,7,4,255,7,5,255,7,6,255,7,7,255,7,8,187,8,4,153,8,5,221,8,6,204],\"secondary\":false},{\"width\":8,\"bonus\":130,\"chr\":\"P\",\"pixels\":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,1,238,2,2,153,2,3,153,2,4,153,2,5,170,2,6,153,2,7,153,2,8,153,2,9,221,3,1,204,4,1,238,4,5,187,5,1,153,5,2,255,5,3,255,5,4,255,6,3,153],\"secondary\":false},{\"width\":10,\"bonus\":180,\"chr\":\"Q\",\"pixels\":[0,4,153,0,5,238,0,6,238,0,7,170,1,3,221,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,8,221,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,221,6,8,153,6,9,238,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,7,9,187,7,10,153,8,4,153,8,5,204,8,6,204,8,10,255,9,10,204],\"secondary\":false},{\"width\":7,\"bonus\":140,\"chr\":\"R\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,238,2,7,153,2,8,153,2,9,221,3,2,238,3,6,238,4,2,204,4,3,204,4,4,153,4,5,204,4,6,204,4,7,255,5,3,221,5,4,221,5,8,255,6,9,238],\"secondary\":false},{\"width\":6,\"bonus\":115,\"chr\":\"S\",\"pixels\":[0,3,221,0,4,238,0,8,187,0,9,187,1,2,187,1,4,204,1,5,255,1,9,238,2,2,187,2,5,255,2,6,187,2,9,221,3,2,204,3,5,153,3,6,255,3,7,170,3,8,153,3,9,170,4,2,204,4,3,153,4,6,170,4,7,255,4,8,187],\"secondary\":false},{\"width\":9,\"bonus\":105,\"chr\":\"T\",\"pixels\":[1,2,238,2,2,221,3,2,238,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,2,221,6,2,221,7,2,255],\"secondary\":false},{\"width\":10,\"bonus\":120,\"chr\":\"U\",\"pixels\":[1,2,204,1,3,153,1,4,153,1,5,153,1,6,153,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,3,9,221,4,9,238,5,9,221,6,9,170,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,204,8,2,153],\"secondary\":false},{\"width\":10,\"bonus\":90,\"chr\":\"V\",\"pixels\":[1,2,255,1,3,153,2,2,238,2,3,255,2,4,255,2,5,187,3,5,238,3,6,255,3,7,221,4,7,221,4,8,255,4,9,187,5,6,187,5,7,204,6,4,221,6,5,187,7,2,255,7,3,170],\"secondary\":false},{\"width\":13,\"bonus\":165,\"chr\":\"W\",\"pixels\":[1,2,255,1,3,221,2,2,204,2,3,221,2,4,255,2,5,255,2,6,221,3,6,187,3,7,255,3,8,255,3,9,187,4,6,153,4,7,221,5,4,221,5,5,187,6,2,187,6,3,255,6,4,255,6,5,153,7,4,170,7,5,255,7,6,255,7,7,187,8,7,255,8,8,255,8,9,187,9,5,153,9,6,221,9,7,170,10,2,221,10,3,238,10,4,187,11,2,187],\"secondary\":false},{\"width\":9,\"bonus\":115,\"chr\":\"X\",\"pixels\":[1,2,221,1,9,238,2,2,255,2,3,255,2,7,153,2,8,221,2,9,153,3,3,153,3,4,255,3,5,221,3,6,204,4,5,255,4,6,255,4,7,170,5,3,187,5,4,170,5,7,255,5,8,255,5,9,153,6,2,255,6,8,204,6,9,255,7,9,170],\"secondary\":false},{\"width\":8,\"bonus\":95,\"chr\":\"Y\",\"pixels\":[0,2,187,1,2,255,1,3,221,2,3,221,2,4,255,2,5,153,3,5,238,3,6,255,3,7,255,3,8,255,3,9,255,4,5,204,4,6,170,4,7,153,4,8,153,4,9,204,5,3,187,5,4,187,6,2,238],\"secondary\":false},{\"width\":8,\"bonus\":105,\"chr\":\"Z\",\"pixels\":[0,9,204,1,2,238,1,7,153,1,8,255,1,9,255,2,2,221,2,6,221,2,7,255,2,9,221,3,2,221,3,4,153,3,5,255,3,6,221,3,9,221,4,2,238,4,3,221,4,4,255,4,9,221,5,2,255,5,3,204,5,9,255],\"secondary\":false},{\"width\":4,\"bonus\":65,\"chr\":\"[\",\"pixels\":[0,0,255,0,1,255,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,0,9,255,0,10,187,1,0,187,1,10,170],\"secondary\":false},{\"width\":8,\"bonus\":40,\"chr\":\"\\\\\\\\\",\"pixels\":[1,1,170,1,2,187,2,3,221,3,5,221,4,6,187,4,7,187,5,8,221,6,9,153],\"secondary\":false},{\"width\":5,\"bonus\":65,\"chr\":\"]\",\"pixels\":[1,0,153,1,10,153,2,0,255,2,1,255,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,187],\"secondary\":false},{\"width\":7,\"bonus\":40,\"chr\":\"^\",\"pixels\":[0,5,204,1,3,238,1,4,170,2,1,238,3,1,221,3,2,204,4,3,187,4,4,238],\"secondary\":false},{\"width\":7,\"bonus\":30,\"chr\":\"_\",\"pixels\":[0,10,221,1,10,221,2,10,221,3,10,221,4,10,221,5,10,221],\"secondary\":false},{\"width\":9,\"bonus\":110,\"chr\":\"a\",\"pixels\":[1,9,238,2,6,153,2,7,255,2,8,170,2,9,170,3,4,187,3,5,238,3,7,221,4,2,187,4,3,255,4,4,238,4,7,221,5,4,221,5,5,255,5,6,238,5,7,238,6,6,187,6,7,255,6,8,255,6,9,187,7,8,170,7,9,255],\"secondary\":false},{\"width\":7,\"bonus\":150,\"chr\":\"b\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,255,3,2,221,3,5,221,3,9,204,4,2,187,4,3,255,4,4,255,4,5,170,4,6,255,4,7,170,4,8,187,4,9,187,5,6,153,5,7,255,5,8,204],\"secondary\":false},{\"width\":8,\"bonus\":120,\"chr\":\"c\",\"pixels\":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,3,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,221,5,2,221,5,9,221,6,2,187,6,3,187,6,8,153,6,9,170],\"secondary\":false},{\"width\":10,\"bonus\":165,\"chr\":\"d\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,9,221,4,2,238,4,9,221,5,2,221,5,9,204,6,2,153,6,3,238,6,8,187,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,8,5,187,8,6,170],\"secondary\":false},{\"width\":7,\"bonus\":110,\"chr\":\"e\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,5,221,3,9,221,4,2,238,4,5,238,4,9,238],\"secondary\":false},{\"width\":7,\"bonus\":100,\"chr\":\"f\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,2,221,3,5,221,4,2,238,4,5,238],\"secondary\":false},{\"width\":10,\"bonus\":135,\"chr\":\"g\",\"pixels\":[0,4,170,0,5,238,0,6,255,0,7,187,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,238,5,2,238,5,9,221,6,2,204,6,6,255,6,7,255,6,8,255,6,9,204,7,6,204,7,7,153,7,8,153],\"secondary\":false},{\"width\":10,\"bonus\":175,\"chr\":\"h\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,5,221,4,5,221,5,5,221,6,2,204,6,3,153,6,4,153,6,5,238,6,6,153,6,7,153,6,8,153,6,9,221,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255],\"secondary\":false},{\"width\":5,\"bonus\":80,\"chr\":\"i\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,153,2,9,221],\"secondary\":false},{\"width\":5,\"bonus\":90,\"chr\":\"j\",\"pixels\":[2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,187,3,2,204,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,153],\"secondary\":false},{\"width\":9,\"bonus\":140,\"chr\":\"k\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,187,2,7,153,2,8,153,2,9,204,3,5,238,3,6,238,4,6,170,4,7,255,5,2,238,5,3,153,5,7,170,5,8,255,6,2,204,6,8,170,6,9,238,7,9,204],\"secondary\":false},{\"width\":7,\"bonus\":95,\"chr\":\"l\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,9,221,4,9,221,5,9,204],\"secondary\":false},{\"width\":12,\"bonus\":150,\"chr\":\"m\",\"pixels\":[1,6,170,1,7,221,1,8,255,1,9,255,2,2,170,2,3,255,2,4,255,2,5,221,3,4,204,3,5,255,3,6,238,4,6,204,4,7,255,4,8,221,5,7,187,5,8,255,6,6,221,7,4,238,7,5,204,8,2,187,8,3,255,8,4,255,8,5,255,8,6,255,8,7,238,8,8,204,8,9,187,9,7,170,9,8,204,9,9,255],\"secondary\":false},{\"width\":10,\"bonus\":130,\"chr\":\"n\",\"pixels\":[1,2,204,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,3,221,2,4,238,3,4,221,3,5,238,4,5,238,4,6,238,5,6,238,5,7,238,6,7,238,6,8,238,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,204],\"secondary\":false},{\"width\":10,\"bonus\":155,\"chr\":\"o\",\"pixels\":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,170,2,8,204,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,238,6,8,170,7,3,238,7,4,255,7,5,255,7,6,255,7,7,255,7,8,187,8,4,153,8,5,221,8,6,204],\"secondary\":false},{\"width\":7,\"bonus\":115,\"chr\":\"p\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,170,2,7,153,2,8,153,2,9,221,3,2,221,4,2,221,4,3,204,4,4,153,4,5,221,5,3,221,5,4,221],\"secondary\":false},{\"width\":10,\"bonus\":180,\"chr\":\"q\",\"pixels\":[0,4,153,0,5,238,0,6,238,0,7,170,1,3,221,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,8,221,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,221,6,8,153,6,9,238,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,7,9,187,7,10,153,8,4,153,8,5,204,8,6,204,8,10,255,9,10,204],\"secondary\":false},{\"width\":9,\"bonus\":145,\"chr\":\"r\",\"pixels\":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,238,2,7,153,2,8,153,2,9,221,3,2,238,3,6,238,4,2,204,4,3,204,4,4,153,4,5,204,4,6,204,4,7,255,5,3,221,5,4,221,5,8,255,6,9,238,7,9,153],\"secondary\":false},{\"width\":6,\"bonus\":115,\"chr\":\"s\",\"pixels\":[0,3,221,0,4,238,0,8,187,0,9,187,1,2,187,1,4,204,1,5,255,1,9,238,2,2,187,2,5,255,2,6,187,2,9,221,3,2,204,3,5,153,3,6,255,3,7,170,3,8,153,3,9,170,4,2,204,4,3,153,4,6,170,4,7,255,4,8,187],\"secondary\":false},{\"width\":9,\"bonus\":105,\"chr\":\"t\",\"pixels\":[1,2,238,2,2,221,3,2,238,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,2,221,6,2,221,7,2,255],\"secondary\":false},{\"width\":10,\"bonus\":120,\"chr\":\"u\",\"pixels\":[1,2,204,1,3,153,1,4,153,1,5,153,1,6,153,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,3,9,221,4,9,238,5,9,221,6,9,170,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,204,8,2,153],\"secondary\":false},{\"width\":10,\"bonus\":90,\"chr\":\"v\",\"pixels\":[1,2,255,1,3,153,2,2,238,2,3,255,2,4,255,2,5,187,3,5,238,3,6,255,3,7,221,4,7,221,4,8,255,4,9,187,5,6,187,5,7,204,6,4,221,6,5,187,7,2,255,7,3,170],\"secondary\":false},{\"width\":13,\"bonus\":165,\"chr\":\"w\",\"pixels\":[1,2,255,1,3,221,2,2,204,2,3,221,2,4,255,2,5,255,2,6,221,3,6,187,3,7,255,3,8,255,3,9,187,4,6,153,4,7,221,5,4,221,5,5,187,6,2,187,6,3,255,6,4,255,6,5,153,7,4,170,7,5,255,7,6,255,7,7,187,8,7,255,8,8,255,8,9,187,9,5,153,9,6,221,9,7,170,10,2,221,10,3,238,10,4,187,11,2,187],\"secondary\":false},{\"width\":9,\"bonus\":115,\"chr\":\"x\",\"pixels\":[1,2,221,1,9,238,2,2,255,2,3,255,2,7,153,2,8,221,2,9,153,3,3,153,3,4,255,3,5,221,3,6,204,4,5,255,4,6,255,4,7,170,5,3,187,5,4,170,5,7,255,5,8,255,5,9,153,6,2,255,6,8,204,6,9,255,7,9,170],\"secondary\":false},{\"width\":8,\"bonus\":95,\"chr\":\"y\",\"pixels\":[0,2,187,1,2,255,1,3,221,2,3,221,2,4,255,2,5,153,3,5,238,3,6,255,3,7,255,3,8,255,3,9,255,4,5,204,4,6,170,4,7,153,4,8,153,4,9,204,5,3,187,5,4,187,6,2,238],\"secondary\":false},{\"width\":8,\"bonus\":105,\"chr\":\"z\",\"pixels\":[0,9,204,1,2,238,1,7,153,1,8,255,1,9,255,2,2,221,2,6,221,2,7,255,2,9,221,3,2,221,3,4,153,3,5,255,3,6,221,3,9,221,4,2,238,4,3,221,4,4,255,4,9,221,5,2,255,5,3,204,5,9,255],\"secondary\":false},{\"width\":4,\"bonus\":45,\"chr\":\"{\",\"pixels\":[1,1,255,1,2,255,1,3,255,1,5,187,1,6,255,1,7,255,1,8,255,1,9,221,2,0,153],\"secondary\":false},{\"width\":2,\"bonus\":60,\"chr\":\"|\",\"pixels\":[0,0,255,0,1,255,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,0,9,255,0,10,255,0,11,255],\"secondary\":true},{\"width\":4,\"bonus\":45,\"chr\":\"}\",\"pixels\":[0,0,153,1,1,255,1,2,255,1,3,255,1,5,187,1,6,255,1,7,255,1,8,255,1,9,221],\"secondary\":false},{\"width\":7,\"bonus\":30,\"chr\":\"~\",\"pixels\":[0,5,221,1,4,255,2,4,187,3,5,187,4,5,255,5,4,204],\"secondary\":false}],\"width\":13,\"spacewidth\":3,\"shadow\":false,\"height\":12,\"basey\":9}');\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(\"./src/dialog/index.ts\");\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"alt1/base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"alt1/base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ocr\"] = factory(require(\"alt1/base\"));\n\telse\n\t\troot[\"OCR\"] = factory(root[\"A1lib\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE_alt1_base__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./src/ocr/index.ts\":\n/*!**************************!*\\\n  !*** ./src/ocr/index.ts ***!\n  \\**************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.generatefont = exports.readChar = exports.readSmallCapsBackwards = exports.readLine = exports.getChatColor = exports.GetChatColorMono = exports.findReadLine = exports.findChar = exports.decompose3col = exports.decomposeblack = exports.decompose2col = exports.canblend = exports.unblendTrans = exports.unblendKnownBg = exports.unblendBlackBackground = exports.debugFont = exports.debugout = exports.debug = void 0;\nconst base_1 = __webpack_require__(/*! alt1/base */ \"alt1/base\");\nexports.debug = {\n    printcharscores: false,\n    trackread: false\n};\nexports.debugout = {};\n/**\n * draws the font definition to a buffer and displays it in the dom for debugging purposes\n * @param font\n */\nfunction debugFont(font) {\n    var spacing = font.width + 2;\n    var buf = new base_1.ImageData(spacing * font.chars.length, font.height + 1);\n    for (var a = 0; a < buf.data.length; a += 4) {\n        buf.data[a] = buf.data[a + 1] = buf.data[a + 2] = 0;\n        buf.data[a + 3] = 255;\n    }\n    for (var a = 0; a < font.chars.length; a++) {\n        var bx = a * spacing;\n        var chr = font.chars[a];\n        for (var b = 0; b < chr.pixels.length; b += (font.shadow ? 4 : 3)) {\n            buf.setPixel(bx + chr.pixels[b], chr.pixels[b + 1], [chr.pixels[b + 2], chr.pixels[b + 2], chr.pixels[b + 2], 255]);\n            if (font.shadow) {\n                buf.setPixel(bx + chr.pixels[b], chr.pixels[b + 1], [chr.pixels[b + 3], 0, 0, 255]);\n            }\n        }\n    }\n    buf.show();\n}\nexports.debugFont = debugFont;\nfunction unblendBlackBackground(img, r, g, b) {\n    var rimg = new base_1.ImageData(img.width, img.height);\n    for (var i = 0; i < img.data.length; i += 4) {\n        var col = decomposeblack(img.data[i], img.data[i + 1], img.data[i + 2], r, g, b);\n        rimg.data[i + 0] = col[0] * 255;\n        rimg.data[i + 1] = rimg.data[i + 0];\n        rimg.data[i + 2] = rimg.data[i + 0];\n        rimg.data[i + 3] = 255;\n    }\n    return rimg;\n}\nexports.unblendBlackBackground = unblendBlackBackground;\n/**\n * unblends a imagebuffer into match strength with given color\n * the bgimg argument should contain a second image with pixel occluded by the font visible.\n * @param img\n * @param shadow detect black as second color\n * @param bgimg optional second image to\n */\nfunction unblendKnownBg(img, bgimg, shadow, r, g, b) {\n    if (bgimg && (img.width != bgimg.width || img.height != bgimg.height)) {\n        throw \"bgimg size doesn't match\";\n    }\n    var rimg = new base_1.ImageData(img.width, img.height);\n    var totalerror = 0;\n    for (var i = 0; i < img.data.length; i += 4) {\n        var col = decompose2col(img.data[i], img.data[i + 1], img.data[i + 2], r, g, b, bgimg.data[i + 0], bgimg.data[i + 1], bgimg.data[i + 2]);\n        if (shadow) {\n            if (col[2] > 0.01) {\n                console.log(\"high error component: \" + (col[2] * 100).toFixed(1) + \"%\");\n            }\n            totalerror += col[2];\n            var m = 1 - col[1] - Math.abs(col[2]); //main color+black=100%-bg-error\n            rimg.data[i + 0] = m * 255;\n            rimg.data[i + 1] = col[0] / m * 255;\n            rimg.data[i + 2] = rimg.data[i + 0];\n        }\n        else {\n            rimg.data[i + 0] = col[0] * 255;\n            rimg.data[i + 1] = rimg.data[i + 0];\n            rimg.data[i + 2] = rimg.data[i + 0];\n        }\n        rimg.data[i + 3] = 255;\n    }\n    return rimg;\n}\nexports.unblendKnownBg = unblendKnownBg;\n/**\n * Unblends a font image that is already conpletely isolated to the raw image used ingame. This is the easiest mode for pixel fonts where alpha is 0 or 255, or for extracted font files.\n * @param img\n * @param r\n * @param g\n * @param b\n * @param shadow whether the font has a black shadow\n */\nfunction unblendTrans(img, shadow, r, g, b) {\n    var rimg = new base_1.ImageData(img.width, img.height);\n    var pxlum = r + g + b;\n    for (var i = 0; i < img.data.length; i += 4) {\n        if (shadow) {\n            var lum = img.data[i + 0] + img.data[i + 1] + img.data[i + 2];\n            rimg.data[i + 0] = img.data[i + 3];\n            rimg.data[i + 1] = lum / pxlum * 255;\n            rimg.data[i + 2] = rimg.data[i + 0];\n        }\n        else {\n            rimg.data[i + 0] = img.data[i + 3];\n            rimg.data[i + 1] = rimg.data[i + 0];\n            rimg.data[i + 2] = rimg.data[i + 0];\n        }\n        rimg.data[i + 3] = 255;\n    }\n    return rimg;\n}\nexports.unblendTrans = unblendTrans;\n/**\n * Determised wether color [rgb]m can be a result of a blend with color [rgb]1 that is p (0-1) of the mix\n * It returns the number that the second color has to lie outside of the possible color ranges\n * @param rm resulting color\n * @param r1 first color of the mix (the other color is unknown)\n * @param p the portion of the [rgb]1 in the mix (0-1)\n */\nfunction canblend(rm, gm, bm, r1, g1, b1, p) {\n    var m = Math.min(50, p / (1 - p));\n    var r = rm + (rm - r1) * m;\n    var g = gm + (gm - g1) * m;\n    var b = bm + (bm - b1) * m;\n    return Math.max(0, -r, -g, -b, r - 255, g - 255, b - 255);\n}\nexports.canblend = canblend;\n/**\n * decomposes a color in 2 given component colors and returns the amount of each color present\n * also return a third (noise) component which is the the amount leftover orthagonal from the 2 given colors\n */\nfunction decompose2col(rp, gp, bp, r1, g1, b1, r2, g2, b2) {\n    //get the normal of the error (cross-product of both colors)\n    var r3 = g1 * b2 - g2 * b1;\n    var g3 = b1 * r2 - b2 * r1;\n    var b3 = r1 * g2 - r2 * g1;\n    //normalize to length 255\n    var norm = 255 / Math.sqrt(r3 * r3 + g3 * g3 + b3 * b3);\n    r3 *= norm;\n    g3 *= norm;\n    b3 *= norm;\n    return decompose3col(rp, gp, bp, r1, g1, b1, r2, g2, b2, r3, g3, b3);\n}\nexports.decompose2col = decompose2col;\n/**\n * decomposes a pixel in a given color component and black and returns what proportion of the second color it contains\n * this is not as formal as decompose 2/3 and only give a \"good enough\" number\n */\nfunction decomposeblack(rp, gp, bp, r1, g1, b1) {\n    var dr = Math.abs(rp - r1);\n    var dg = Math.abs(gp - g1);\n    var db = Math.abs(bp - b1);\n    var maxdif = Math.max(dr, dg, db);\n    return [1 - maxdif / 255];\n}\nexports.decomposeblack = decomposeblack;\n/**\n * decomposes a color in 3 given component colors and returns the amount of each color present\n */\nfunction decompose3col(rp, gp, bp, r1, g1, b1, r2, g2, b2, r3, g3, b3) {\n    //P=x*C1+y*C2+z*C3\n    //assemble as matrix \n    //M*w=p\n    //get inverse of M\n    //dirty written out version of cramer's rule\n    var A = g2 * b3 - b2 * g3;\n    var B = g3 * b1 - b3 * g1;\n    var C = g1 * b2 - b1 * g2;\n    var D = b2 * r3 - r2 * b3;\n    var E = b3 * r1 - r3 * b1;\n    var F = b1 * r2 - r1 * b2;\n    var G = r2 * g3 - g2 * r3;\n    var H = r3 * g1 - g3 * r1;\n    var I = r1 * g2 - g1 * r2;\n    var det = r1 * A + g1 * D + b1 * G;\n    //M^-1*p=w\n    var x = (A * rp + D * gp + G * bp) / det;\n    var y = (B * rp + E * gp + H * bp) / det;\n    var z = (C * rp + F * gp + I * bp) / det;\n    return [x, y, z];\n}\nexports.decompose3col = decompose3col;\n/**\n * brute force to the exact position of the text\n */\nfunction findChar(buffer, font, col, x, y, w, h) {\n    if (x < 0) {\n        return null;\n    }\n    if (y - font.basey < 0) {\n        return null;\n    }\n    if (x + w + font.width > buffer.width) {\n        return null;\n    }\n    if (y + h - font.basey + font.height > buffer.height) {\n        return null;\n    }\n    var best = 1000; //TODO finetune score constants\n    var bestchar = null;\n    for (var cx = x; cx < x + w; cx++) {\n        for (var cy = y; cy < y + h; cy++) {\n            var chr = readChar(buffer, font, col, cx, cy, false, false);\n            if (chr != null && chr.sizescore < best) {\n                best = chr.sizescore;\n                bestchar = chr;\n            }\n        }\n    }\n    return bestchar;\n}\nexports.findChar = findChar;\n/**\n * reads text with unknown exact coord or color. The given coord should be inside the text\n * color selection not implemented yet\n */\nfunction findReadLine(buffer, font, cols, x, y, w = -1, h = -1) {\n    if (w == -1) {\n        w = font.width + font.spacewidth;\n        x -= Math.ceil(w / 2);\n    }\n    if (h == -1) {\n        h = 7;\n        y -= 1;\n    }\n    var chr = null;\n    if (cols.length > 1) {\n        //TODO use getChatColor() instead for non-mono?\n        var sorted = GetChatColorMono(buffer, new base_1.Rect(x, y - font.basey, w, h), cols);\n        //loop until we have a match (max 2 cols)\n        for (var a = 0; a < 2 && a < sorted.length && chr == null; a++) {\n            chr = findChar(buffer, font, sorted[a].col, x, y, w, h);\n        }\n    }\n    else {\n        chr = findChar(buffer, font, cols[0], x, y, w, h);\n    }\n    if (chr == null) {\n        return { debugArea: { x, y, w, h }, text: \"\", fragments: [] };\n    }\n    return readLine(buffer, font, cols, chr.x, chr.y, true, true);\n}\nexports.findReadLine = findReadLine;\nfunction GetChatColorMono(buf, rect, colors) {\n    var colormap = colors.map(c => ({ col: c, score: 0 }));\n    if (rect.x < 0 || rect.y < 0 || rect.x + rect.width > buf.width || rect.y + rect.height > buf.height) {\n        return colormap;\n    }\n    var data = buf.data;\n    var maxd = 50;\n    for (var colobj of colormap) {\n        var score = 0;\n        var col = colobj.col;\n        for (var y = rect.y; y < rect.y + rect.height; y++) {\n            for (var x = rect.x; x < rect.x + rect.width; x++) {\n                var i = x * 4 + y * 4 * buf.width;\n                var d = Math.abs(data[i] - col[0]) + Math.abs(data[i + 1] - col[1]) + Math.abs(data[i + 2] - col[2]);\n                if (d < maxd) {\n                    score += maxd - d;\n                }\n            }\n        }\n        colobj.score = score;\n    }\n    return colormap.sort((a, b) => b.score - a.score);\n}\nexports.GetChatColorMono = GetChatColorMono;\nfunction unblend(r, g, b, R, G, B) {\n    var m = Math.sqrt(r * r + g * g + b * b);\n    var n = Math.sqrt(R * R + G * G + B * B);\n    var x = (r * R + g * G + b * B) / n;\n    var y = Math.sqrt(Math.max(0, m * m - x * x));\n    var r1 = Math.max(0, (63.75 - y) * 4);\n    var r2 = x / n * 255;\n    if (r2 > 255) //brighter than refcol\n     {\n        r1 = Math.max(0, r1 - r2 + 255);\n        r2 = 255;\n    }\n    return [r1, r2];\n}\nfunction getChatColor(buf, rect, colors) {\n    var bestscore = -1.0;\n    var best = null;\n    var b2 = 0.0;\n    var data = buf.data;\n    for (let col of colors) {\n        var score = 0.0;\n        for (var y = rect.y; y < rect.y + rect.height; y++) {\n            for (var x = rect.x; x < rect.x + rect.width; x++) {\n                if (x < 0 || x + 1 >= buf.width) {\n                    continue;\n                }\n                if (y < 0 || y + 1 >= buf.width) {\n                    continue;\n                }\n                let i1 = buf.pixelOffset(x, y);\n                let i2 = buf.pixelOffset(x + 1, y + 1);\n                var pixel1 = unblend(data[i1 + 0], data[i1 + 1], data[i1 + 2], col[0], col[1], col[2]);\n                var pixel2 = unblend(data[i2 + 0], data[i2 + 1], data[i2 + 2], col[0], col[1], col[2]);\n                //TODO this is from c# can simplify a bit\n                var s = (pixel1[0] / 255 * pixel1[1] / 255) * (pixel2[0] / 255 * (255.0 - pixel2[1]) / 255);\n                score += s;\n            }\n        }\n        if (score > bestscore) {\n            b2 = bestscore;\n            bestscore = score;\n            best = col;\n        }\n        else if (score > b2) {\n            b2 = score;\n        }\n    }\n    //Console.WriteLine(\"color: \" + bestcol + \" - \" + (bestscore - b2));\n    //bestscore /= rect.width * rect.height;\n    return best;\n}\nexports.getChatColor = getChatColor;\n/**\n * reads a line of text with exactly known position and color. y should be the y coord of the text base line, x should be the first pixel of a new character\n */\nfunction readLine(buffer, font, colors, x, y, forward, backward = false) {\n    if (typeof colors[0] != \"number\" && colors.length == 1) {\n        colors = colors[0];\n    }\n    var multicol = typeof colors[0] != \"number\";\n    var allcolors = multicol ? colors : [colors];\n    var detectcolor = function (sx, sy, backward) {\n        var w = Math.floor(font.width * 1.5);\n        if (backward) {\n            sx -= w;\n        }\n        sy -= font.basey;\n        return getChatColor(buffer, { x: sx, y: sy, width: w, height: font.height }, allcolors);\n    };\n    var fragments = [];\n    var x1 = x;\n    var x2 = x;\n    var maxspaces = (typeof font.maxspaces == \"number\" ? font.maxspaces : 1);\n    let fragtext = \"\";\n    let fraghadprimary = false;\n    var lastcol = null;\n    let addfrag = (forward) => {\n        if (!fragtext) {\n            return;\n        }\n        let frag = {\n            text: fragtext,\n            color: lastcol,\n            index: 0,\n            xstart: x + (forward ? fragstartdx : fragenddx),\n            xend: x + (forward ? fragenddx : fragstartdx)\n        };\n        if (forward) {\n            fragments.push(frag);\n        }\n        else {\n            fragments.unshift(frag);\n        }\n        fragtext = \"\";\n        fragstartdx = dx;\n        fraghadprimary = false;\n    };\n    for (var dirforward of [true, false]) {\n        //init vars\n        if (dirforward && !forward) {\n            continue;\n        }\n        if (!dirforward && !backward) {\n            continue;\n        }\n        var dx = 0;\n        var fragstartdx = dx;\n        var fragenddx = dx;\n        var triedspaces = 0;\n        var triedrecol = false;\n        var col = multicol ? null : colors;\n        while (true) {\n            col = col || detectcolor(x + dx, y, !dirforward);\n            var chr = (col ? readChar(buffer, font, col, x + dx, y, !dirforward, true) : null);\n            if (col == null || chr == null) {\n                if (triedspaces < maxspaces) {\n                    dx += (dirforward ? 1 : -1) * font.spacewidth;\n                    triedspaces++;\n                    continue;\n                }\n                if (multicol && !triedrecol && fraghadprimary) {\n                    dx -= (dirforward ? 1 : -1) * triedspaces * font.spacewidth;\n                    triedspaces = 0;\n                    col = null;\n                    triedrecol = true;\n                    continue;\n                }\n                if (dirforward) {\n                    x2 = x + dx - font.spacewidth;\n                }\n                else {\n                    x1 = x + dx + font.spacewidth;\n                }\n                break;\n            }\n            else {\n                if (lastcol && (col[0] != lastcol[0] || col[1] != lastcol[1] || col[2] != lastcol[2])) {\n                    addfrag(dirforward);\n                }\n                var spaces = \"\";\n                for (var a = 0; a < triedspaces; a++) {\n                    spaces += \" \";\n                }\n                if (dirforward) {\n                    fragtext += spaces + chr.chr;\n                }\n                else {\n                    fragtext = chr.chr + spaces + fragtext;\n                }\n                if (!chr.basechar.secondary) {\n                    fraghadprimary = true;\n                }\n                triedspaces = 0;\n                triedrecol = false;\n                dx += (dirforward ? 1 : -1) * chr.basechar.width;\n                fragenddx = dx;\n                lastcol = col;\n            }\n        }\n        if (lastcol && fraghadprimary) {\n            addfrag(dirforward);\n        }\n    }\n    fragments.forEach((f, i) => f.index = i);\n    return {\n        debugArea: { x: x1, y: y - 9, w: x2 - x1, h: 10 },\n        text: fragments.map(f => f.text).join(\"\"),\n        fragments\n    };\n}\nexports.readLine = readLine;\n/**\n * Reads a line of text that uses a smallcaps font, these fonts can have duplicate chars that only have a different amount of\n * empty space after the char before the next char starts.\n * The coordinates should be near the end of the string, or a rectangle with high 1 containing all points where the string can end.\n */\nfunction readSmallCapsBackwards(buffer, font, cols, x, y, w = -1, h = -1) {\n    if (w == -1) {\n        w = font.width + font.spacewidth;\n        x -= Math.ceil(w / 2);\n    }\n    if (h == -1) {\n        h = 7;\n        y -= 1;\n    }\n    var matchedchar = null;\n    var sorted = (cols.length == 1 ? [{ col: cols[0], score: 1 }] : GetChatColorMono(buffer, new base_1.Rect(x, y - font.basey, w, h), cols));\n    //loop until we have a match (max 2 cols)\n    for (var a = 0; a < 2 && a < sorted.length && matchedchar == null; a++) {\n        for (var cx = x + w - 1; cx >= x; cx--) {\n            var best = 1000; //TODO finetune score constants\n            var bestchar = null;\n            for (var cy = y; cy < y + h; cy++) {\n                var chr = readChar(buffer, font, sorted[a].col, cx, cy, true, false);\n                if (chr != null && chr.sizescore < best) {\n                    best = chr.sizescore;\n                    bestchar = chr;\n                }\n            }\n            if (bestchar) {\n                matchedchar = bestchar;\n                break;\n            }\n        }\n    }\n    if (matchedchar == null) {\n        return { text: \"\", debugArea: { x, y, w, h } };\n    }\n    return readLine(buffer, font, cols, matchedchar.x, matchedchar.y, false, true);\n}\nexports.readSmallCapsBackwards = readSmallCapsBackwards;\n/**\n * Reads a single character at the exact given location\n * @param x exact x location of the start of the character domain (includes part of the spacing between characters)\n * @param y exact y location of the baseline pixel of the character\n * @param backwards read in backwards direction, the x location should be the first pixel after the character domain in that case\n */\nfunction readChar(buffer, font, col, x, y, backwards, allowSecondary) {\n    y -= font.basey;\n    var shiftx = 0;\n    var shifty = font.basey;\n    var shadow = font.shadow;\n    var debugobj = null;\n    var debugimg = null;\n    if (exports.debug.trackread) {\n        var name = x + \";\" + y + \" \" + JSON.stringify(col);\n        if (!exports.debugout[name]) {\n            exports.debugout[name] = [];\n        }\n        debugobj = exports.debugout[name];\n    }\n    //===== make sure the full domain is inside the bitmap/buffer ======\n    if (y < 0 || y + font.height >= buffer.height) {\n        return null;\n    }\n    if (!backwards) {\n        if (x < 0 || x + font.width > buffer.width) {\n            return null;\n        }\n    }\n    else {\n        if (x - font.width < 0 || x > buffer.width) {\n            return null;\n        }\n    }\n    //====== start reading the char ======\n    var scores = [];\n    for (var chr = 0; chr < font.chars.length; chr++) {\n        var chrobj = font.chars[chr];\n        if (chrobj.secondary && !allowSecondary) {\n            continue;\n        }\n        scores[chr] = { score: 0, sizescore: 0, chr: chrobj };\n        var chrx = (backwards ? x - chrobj.width : x);\n        if (exports.debug.trackread) {\n            debugimg = new base_1.ImageData(font.width, font.height);\n        }\n        for (var a = 0; a < chrobj.pixels.length;) {\n            var i = (chrx + chrobj.pixels[a]) * 4 + (y + chrobj.pixels[a + 1]) * buffer.width * 4;\n            var penalty = 0;\n            if (!shadow) {\n                penalty = canblend(buffer.data[i], buffer.data[i + 1], buffer.data[i + 2], col[0], col[1], col[2], chrobj.pixels[a + 2] / 255);\n                a += 3;\n            }\n            else {\n                var lum = chrobj.pixels[a + 3] / 255;\n                penalty = canblend(buffer.data[i], buffer.data[i + 1], buffer.data[i + 2], col[0] * lum, col[1] * lum, col[2] * lum, chrobj.pixels[a + 2] / 255);\n                a += 4;\n            }\n            scores[chr].score += Math.max(0, penalty);\n            //TODO add compiler flag to this to remove it for performance\n            if (debugimg) {\n                debugimg.setPixel(chrobj.pixels[a], chrobj.pixels[a + 1], [penalty, penalty, penalty, 255]);\n            }\n        }\n        scores[chr].sizescore = scores[chr].score - chrobj.bonus;\n        if (debugobj) {\n            debugobj.push({ chr: chrobj.chr, score: scores[chr].sizescore, rawscore: scores[chr].score, img: debugimg });\n        }\n    }\n    scores.sort((a, b) => a.sizescore - b.sizescore);\n    if (exports.debug.printcharscores) {\n        scores.slice(0, 5).forEach(q => console.log(q.chr.chr, q.score.toFixed(3), q.sizescore.toFixed(3)));\n    }\n    var winchr = scores[0];\n    if (!winchr || winchr.score > 400) {\n        return null;\n    }\n    return { chr: winchr.chr.chr, basechar: winchr.chr, x: x + shiftx, y: y + shifty, score: winchr.score, sizescore: winchr.sizescore };\n}\nexports.readChar = readChar;\n/**\n * Generates a font json description to use in reader functions\n * @param unblended A source image with all characters lined up. The image should be unblended into components using the unblend functions\n * The lowest pixel line of this image is used to mark the location and size of the charecters if the red component is 255 it means there is a character on that pixel column\n * @param chars A string containing all the characters of the image in the same order\n * @param seconds A string with characters that are considered unlikely and should only be detected if no other character is possible.\n * For example the period (.) character matches positive inside many other characters and should be marked as secondary\n * @param bonusses An object that contains bonus scores for certain difficult characters to make the more likely to be red.\n * @param basey The y position of the baseline pixel of the font\n * @param spacewidth the number of pixels a space takes\n * @param treshold minimal color match proportion (0-1) before a pixel is used for the font\n * @param shadow whether this font also uses the black shadow some fonts have. The \"unblended\" image should be unblended correspondingly\n * @returns a javascript object describing the font which is used as input for the different read functions\n */\nfunction generatefont(unblended, chars, seconds, bonusses, basey, spacewidth, treshold, shadow) {\n    //settings vars\n    treshold *= 255;\n    //initial vars\n    var miny = unblended.height - 1;\n    var maxy = 0;\n    var font = { chars: [], width: 0, spacewidth: spacewidth, shadow: shadow, height: 0, basey: 0 };\n    var ds = false;\n    var chardata = [];\n    //index all chars\n    for (var dx = 0; dx < unblended.width; dx++) {\n        var i = 4 * dx + 4 * unblended.width * (unblended.height - 1);\n        if (unblended.data[i] == 255 && unblended.data[i + 3] == 255) {\n            if (ds === false) {\n                ds = dx;\n            }\n        }\n        else {\n            if (ds !== false) {\n                //char found, start detection\n                var de = dx;\n                var char = chars[chardata.length];\n                var chr = {\n                    ds: ds,\n                    de: de,\n                    width: de - ds,\n                    chr: char,\n                    bonus: (bonusses && bonusses[char]) || 0,\n                    secondary: seconds.indexOf(chars[chardata.length]) != -1,\n                    pixels: []\n                };\n                chardata.push(chr);\n                font.width = Math.max(font.width, chr.width);\n                for (x = 0; x < de - ds; x++) {\n                    for (y = 0; y < unblended.height - 1; y++) {\n                        var i = (x + ds) * 4 + y * unblended.width * 4;\n                        if (unblended.data[i] >= treshold) {\n                            miny = Math.min(miny, y);\n                            maxy = Math.max(maxy, y);\n                        }\n                    }\n                }\n                ds = false;\n            }\n        }\n    }\n    font.height = maxy + 1 - miny;\n    font.basey = basey - miny;\n    //detect all pixels\n    for (var a in chardata) {\n        var chr = chardata[a];\n        for (var x = 0; x < chr.width; x++) {\n            for (var y = 0; y < maxy + 1 - miny; y++) {\n                var i = (x + chr.ds) * 4 + (y + miny) * unblended.width * 4;\n                if (unblended.data[i] >= treshold) {\n                    chr.pixels.push(x, y);\n                    chr.pixels.push(unblended.data[i]);\n                    if (shadow) {\n                        chr.pixels.push(unblended.data[i + 1]);\n                    }\n                    chr.bonus += 5;\n                }\n            }\n        }\n        //prevent js from doing the thing with unnecessary output precision\n        chr.bonus = +chr.bonus.toFixed(3);\n        font.chars.push({ width: chr.width, bonus: chr.bonus, chr: chr.chr, pixels: chr.pixels, secondary: chr.secondary });\n    }\n    return font;\n}\nexports.generatefont = generatefont;\n\n\n/***/ }),\n\n/***/ \"alt1/base\":\n/*!**************************************************************************************************!*\\\n  !*** external {\"root\":\"A1lib\",\"commonjs2\":\"alt1/base\",\"commonjs\":\"alt1/base\",\"amd\":\"alt1/base\"} ***!\n  \\**************************************************************************************************/\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_alt1_base__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(\"./src/ocr/index.ts\");\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport * as dochandler from \"./modules/dochandler\";\nimport * as settings from \"./modules/settings\";\nimport * as slayer from \"./modules/slayer\";\nimport * as logger from \"./modules/logger\";\nimport \"./index.html\";\nimport \"./appconfig.json\";\n/* COPYRIGHT NOTICE - DO NOT REMOVE\n    2021 @ Unlishema Dragonsworn\n    I have programmed this enitre app myself; however, I must give credit where credit is due.\n    \n    The credits have been moved into their own file @ https://slayer.unlishema.org/pages/credits.html\n*/\n/*\n    ~~~ Slayer Assistant App ~~~\n    Features coming in the near future (Also my current TODO List)\n\n    ~ Before Release for Sure ~\n    Update the about page. (Will need updated again on next release)\n    Update the changelog page. (Will need updated again on next release)\n    Update the credits page. (Will need updated again on next release)\n\n    ~ Coming Next Release ~\n    Adjust where the CNAME for the app on github is located for source update (Done)\n    Upload the source of the app to github so we won't lose it again (Ready but source needs Tested First)\n    Adjust the DNS Record for https://slayer.unlishema.org to point at https://unlishema.github.io/slayerassistant/dist instead for new update because the source is the main dir\n    Add ability to load the database through a php file instead of the json (Done, except for reapers.json)\n    - We will still use a json database in the app but the php file will build the json via MySQL (Done)\n    - The php file will be creatures.json via the .htaccess file (Done)\n    - http://slayer.unlishema.org/data/creatures.json will load http://slayer.unlishema.org/data/creatures.php?q=all (Done)\n    - Add other features to the database query php even if the app don't use them yet (Coming in the future)\n    -- Example: http://slayer.unlishema.org/data/creatures.php?q=Dragon&l=10\n    -- l=100 could limit results, d could have it give extra details, q could also be setup for seaching, and so on\n    Adjust the caching of the json database files to make sure they get updated timely (use .htaccess and mode_expires.c)\n    - This may not be needed once I change over to the php file instead. (Doesn't seem to be needed anymore, more testing required)\n\n    ~ Coming Very Soon Maybe even next Release ~\n    Add in a status tracking area to keep track of xp/hr, kills/hr, and more (Needs finished)\n    Add settings into the app finally (Needs rest added)\n    Adjust histories to use sessionStorage\n    Make it show if it detects your using alt1toolkit or not and warn a users of the features they are missing without using alt1toolkit.\n    - Also add into settings ability to hide this warning. Also add setting to turn off injection of the alt1 app.\n\n    ~ Near future Release ~\n    Add support for Ushubti\n\n    ~ Settings for the app ~\n    Settings:\n    - Ability to toggle on and off Debug and Verbose mode\n    - Ability to toggle auto find task via dialog (Done)\n    - Ability to toggle auto find current task via Slayer Count RS3UI (Done)\n    - Ability to toggle extra info to make box smaller without scrollbar (Done)\n    - Ability to toggle all hidden creatures\n    -- Ability to toggle sub-classes of hidden creatures like (elite), (dragonkin lab) and such\n    - Ability to select default loading\n    -- Default Task(s) on open and adjust doc based on it (Done, Partially)\n    -- Load previous task(s) and adjust doc based on it\n    - Ability to select defaults for everything (Later On)\n    -- Select default creature per task\n    -- Select default variant per creature\n    - Ability to customize the Look N Feel of the Slayer Assistant UI (Way Later On)\n    - Ability to select how long to save search history (Way Later On)\n    - Ability to select the type of search algo for the app (Maybe Later On)\n    - Ability to toggle warnings (eg. Missing Features due to not on Alt1Toolkit, Missing Data, and so on...)\n    - Ability to turn off app injection (This will fix issues where a user can't inject into the client)\n\n*/\nif (window.alt1)\n    alt1.identifyAppUrl(\"./appconfig.json\");\n// Initialize the JavaScript for the app\ndocument.addEventListener(\"DOMContentLoaded\", function () { return __awaiter(void 0, void 0, void 0, function () {\n    var error_1;\n    return __generator(this, function (_a) {\n        switch (_a.label) {\n            case 0:\n                _a.trys.push([0, 3, , 4]);\n                // Setup the main document and load assignment index\n                return [4 /*yield*/, dochandler.main.setup.documentMain()];\n            case 1:\n                // Setup the main document and load assignment index\n                _a.sent();\n                // Run the Config Setup Process\n                return [4 /*yield*/, settings.controller.load()];\n            case 2:\n                // Run the Config Setup Process\n                _a.sent();\n                // Start the capture loop at the configured interval\n                setInterval(function () {\n                    slayer.findTask();\n                }, settings.controller.data.autoCapture.loopTimer);\n                return [3 /*break*/, 4];\n            case 3:\n                error_1 = _a.sent();\n                console.error(\"Initialization error:\", error_1);\n                return [3 /*break*/, 4];\n            case 4: return [2 /*return*/];\n        }\n    });\n}); });\n// Save settings before closing the app\ndocument.addEventListener(\"beforeunload\", function () { return __awaiter(void 0, void 0, void 0, function () {\n    var error_2;\n    return __generator(this, function (_a) {\n        switch (_a.label) {\n            case 0:\n                _a.trys.push([0, 2, , 3]);\n                return [4 /*yield*/, settings.controller.save()];\n            case 1:\n                _a.sent();\n                return [3 /*break*/, 3];\n            case 2:\n                error_2 = _a.sent();\n                logger.error(\"Error saving settings:\", error_2);\n                return [3 /*break*/, 3];\n            case 3: return [2 /*return*/];\n        }\n    });\n}); });\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/pages/about.html b/dist/pages/about.html
new file mode 100644 (file)
index 0000000..5969848
--- /dev/null
@@ -0,0 +1,96 @@
+<html>
+
+<head>
+    <title>About Slayer Assistant</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/about.css">
+</head>
+
+<body class="nis">
+
+    <div class="nisbutton" id="changelog-button" onclick="openCredits();">Open Credits</div>
+    <div class="nisbutton" id="changelog-button" onclick="openChangelog();">Open Changelog</div>
+    <h2 class="nistext">Need Help or Having Trouble?</br>Welcome to the Correct Place!</h2>
+
+    <h3 class="nistext">Current Slayer Assistant Look N Feel</h3>
+    <p class="nistext">This Look N Feel has been designed by the community. It has slowly but surely updated to
+        accomadate new information and features.</p>
+    <img src="../images/ui/default/about/Slayer_assistant_interface.png" alt="Slayer Assistant Interface Image"></img>
+
+    <h3 class="nistext">What activates the Slayer Assistant?</h3>
+    <p class="nistext">There are a few different instances that will cause the Slayer Assistant to update it's
+        information. The first is if you go get a new task from a slayer master or death for reaper tasks. The next is
+        while you are on a task, it will keep track of your kills vis the slayer/reaper counter GUI.</p>
+    <p class="nistext">Once it reads an interface similar to the examples below it will save this assignment information
+        and automatically do a lookup for you. You can also click on Capture to make it try and lookup a task on the
+        screen at the very moment.</p>
+    <h4 class="nistext">The following are examples of the interfaces it can read for slayer tasks.</h4>
+    <div class="example">
+        <img src="../images/ui/default/about/Slayer_task_interface.png" alt="Slayer Assignment Interface Image"></img>
+        <p class="info nistext">Example Slayer Assignment Interface</p>
+    </div>
+    <div class="example">
+        <img src="../images/ui/default/about/VIP_ticket_interface.png" alt="VIP Ticket Interface Image"></img>
+        <p class="info nistext">Example Slayer Ticket Assignment Interface</p>
+    </div>
+    <div class="example">
+        <img class="expanded" src="../images/ui/default/about/Slayer_counter_expanded.png"
+            alt="Slayer Counter Expanded Image"></img>
+        <img class="collapsed" src="../images/ui/default/about/Slayer_counter.png"
+            alt="Slayer Counter Collapsed Image"></img>
+        <p class="info nistext">Example Slayer Counter Interface</p>
+        <p class="info nistext">This interface will cause it to lookup the exact assignment that is given (if expanded)
+            and display relevant data; otherwise, it will just attempt to update the count of the current task it has
+            loaded.</p>
+    </div>
+    <h4 class="nistext">The following are examples of the interfaces it can read for reaper tasks.</h4>
+    <div class="example">
+        <img src="../images/ui/default/about/Reaper_task_interface.png" alt="Reaper Assignment Interface Image"></img>
+        <p class="info nistext">Example Reaper Assignment Interface</p>
+        <p class="info nistext">This interface will cause it to lookup the exact assignment that is given and display
+            relevant data.</p>
+    </div>
+    <div class="example">
+        <img class="expanded" src="../images/ui/default/about/Reaper_counter_expanded.png"
+            alt="Reaper Counter Expanded Image"></img>
+        <img class="collapsed" src="../images/ui/default/about/Reaper_counter.png"
+            alt="Reaper Counter Collapsed Image"></img>
+        <p class="info nistext">Example Reaper Counter Interface</p>
+        <p class="info nistext">This interface will cause it to lookup the exact assignment that is given (if expanded)
+            and display relevant data; otherwise, it will just attempt to update the count of the current task it has
+            loaded.</p>
+    </div>
+    <h4 class="nistext">The following are examples of the interfaces it can read for select your own assignment tasks.
+    </h4>
+    <div class="example">
+        <img src="../images/ui/default/about/Select_your_own_task.png"
+            alt="Select Your Own Assignment Interface Image"></img>
+        <p class="info nistext">Example Select Your Own Assignment Interface</p>
+        <p class="info nistext">This interface will cause it to display a list of suggested tasks and why they are
+            suggested for the Select Your Own Assignment.</p>
+    </div>
+
+
+    <h3 class="nistext">Did you know?</h3>
+    <p class="info nistext">There is now a search history you can use with the up and down arrow key? It resets
+        everytime you close the app.</p>
+    <p class="info nistext">If you hover over the assignment wiki, creature wiki, and See More... on the app it shows
+        more data. Give it a try</p>
+    <img src="../images/ui/default/about/Right_click_interface.png" alt="Right Click Image"></img>
+    <p class="info nistext">Opens up Slayer Assistant</p>
+
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function openChangelog() {
+            window.open("./changelog.html", null, "width=480,height=550");
+        }
+
+        function openCredits() {
+            window.open("./credits.html", null, "width=480,height=550");
+        }
+    </script>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/dist/pages/changelog.html b/dist/pages/changelog.html
new file mode 100644 (file)
index 0000000..c5141fd
--- /dev/null
@@ -0,0 +1,438 @@
+<html>
+
+<head>
+    <title>Changelog</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/changelog.css">
+</head>
+
+<body class="nis">
+    <div class="nisbutton" id="changelog-button" onclick="history.back();">Go Back</div>
+
+    <h2>06/22/2024 - Bug Fixes and Future Updates</h2>
+    <p class="nistext">
+        <b>Bug Fixes:</b> Quite a bit of minor (and a couple major) bugs that poped up during the newest development of
+        the app has been fixed in this release. There was quick pushes for the major bugs to get rid of them as fast as
+        possible.
+    </p>
+    <p class="nistext">
+        <b>Basic Settings Added:</b> Basic settings have been added, more will come in the future. The current settings
+        will allow at least simple control over the app so far. A few to more coming soon is search and lookup history.
+    </p>
+    <p class="nistext">
+        <b>Updates to Allow Better Future Updates:</b> Quite a bit of the backend of the app has been re-wrote to allow
+        better future updates. A couple examples are adding settings to allow better usability of the app, making other
+        looks for the app to allow a more personal feel for the app, and adding comments to the code along with
+        restructuring it to be easier to navigate and understand. All of these changes were to allow the next future
+        updates to be easier to implement and the settings are working but not all of them have been added where you can
+        change them. This should come in the next update.
+    </p>
+    <p class="nistext">
+        <b>A few Tweaks:</b> There is also a few tweaks to different parts of the app that happened as well due to these
+        changes. The About Page width has changed to make it easier to read. The LookNFeel of the app has been slightly
+        altered during the update due to making it more flexible for the future style update. The LookNFeel also has a
+        limited UI option now that is changable in the settings.
+    </p>
+
+    <h2>06/15/2024 - Added Counter UI Support</h2>
+    <p class="nistext">
+        <b>Slayer and Reaper Counter UI:</b> Full support added. When collapsed, it updates only the current assignment
+        count; when expanded, it loads and updates the assignment unless it's already loaded.
+    </p>
+    <p class="nistext">
+        <b>Task Comparison:</b> Compare Slayer tasks by separating them with a "|". Note: Reaper assignments cannot be
+        compared.
+    </p>
+    <p class="nistext">
+        <b>Suggested Slayer Assignments:</b> For level 120, "Select Your Own Assignment" dialog now includes suggested
+        tasks. Search "suggest" in the search bar to view suggestions.
+    </p>
+    <p class="nistext">
+        <b>Navigation Enhancements:</b> Navigate forward and backward through lookups, making it easy to revisit
+        previous tasks and suggested assignments.
+    </p>
+    <p class="nistext">
+        <b>UI Adjustments:</b> Improved look and feel for all pages when resized. Additional tweaks are planned for
+        perfection.
+    </p>
+    <p class="nistext">
+        <b>Project Adjustments:</b> Updates now designed to avoid disruptions, ensuring smoother future Alt1 updates.
+    </p>
+    <p class="nistext">
+        <b>Code Refactoring:</b> Improved readability and data separation into Readers for better portability. Skillbert
+        can now extract Readers for the main Alt1 source.
+    </p>
+    <p class="nistext">
+        <b>New DevTools:</b> Added debugging functions for testing and resolving issues.
+    </p>
+
+
+    <h2>06/11/2024 - Major Recode
+    </h2>
+    <p class="nistext">Today is a special day because a massive recode has came for Slayer Assistant. This recode
+        started on 06/02/2024. Most of the changes were due to an update to the base alt1. You may not see a lot of
+        changes but there is a lot, so lets go over them all.</p>
+    <p class="nistext">The recode has allowed me to have all the code neater so updates should be much easier. Also
+        new features won't be as hard to add in because the code before was a huge mess</p>
+    <p class="nistext">Features coming soon</p>
+    <ul class="nistext">
+        <li>Update the forum post</li>
+        <li>Add in some basic settings</li>
+        <li>120 Slayer Assignment suggestions (Needs Page Made)</li>
+        <li>Ability to lookup task via Slayer Counter RS3</li>
+        <li>Ability to lookup task via Reaper Counter RS3</li>
+        <li>Add support for Ushabti</li>
+    </ul>
+    <p class="nistext">Features added</p>
+    <ul class="nistext">
+        <li>Adjusted Search Algorithm to work better</li>
+        <li>Reaper Task support has been added (Needs more Work)</li>
+        <li>Added Necromancy Support to databaase and app</li>
+        <li>Ability to Ctrl+V paste an image for lookup</li>
+        <li>Ability to Drag & Drop an image for lookup</li>
+        <li>Added a small copyright at the bottom of all pages</li>
+        <li>Search bar now has history using up and down arrows</li>
+        <ul>
+            <li>It also temp saves the current search too</li>
+        </ul>
+        <li>Optimized the updating of current task</li>
+        <ul>
+            <li>This way it won't flicker on updates</li>
+        </ul>
+    </ul>
+    <p class="nistext">Features updated</p>
+    <ul class="nistext">
+        <li>Massive fixes to the database</li>
+        <li>Updated the database for new content</li>
+        <li>Updated the about page with new info</li>
+        <li>Capture Loop has been optimized</li>
+        <li>Capture Button has now been added</li>
+        <li>Search Button is also the Capture Button</li>
+        <ul>
+            <li>It changes when you type in search</li>
+        </ul>
+    </ul>
+    <p class="nistext">Features kept from previous version</p>
+    <ul class="nistext">
+        <li>Help/About, Settings, & Donate Buttons</li>
+        <li>Search Bar and Capture/Search Button</li>
+        <li>Ability to show single Assignments</li>
+        <li>Ability to show 2(vs) Assignments</li>
+        <li>Important Info Shown at All Times</li>
+        <ul>
+            <li>Wiki, Kills, & Assignment</li>
+            <ul>
+                <li>Total Exp for Assignment</li>
+                <li>Hover Assignment Wiki</li>
+                <ul>
+                    <li>Slayer Master Info</li>
+                </ul>
+            </ul>
+            <li>Locations for Assignment</li>
+            <li>Equipment Suggested for Assignment</li>
+            <li>Wiki, Creatures, & Creature Variants</li>
+            <ul>
+                <li>Slayer Level & Exp</li>
+                <li>Weakness & Susceptible</li>
+                <li>Hover Creature Wiki</li>
+                <ul>
+                    <li>Image</li>
+                    <li>Stats</li>
+                    <ul>
+                        <li>Combat Level</li>
+                        <li>Lifepoints</li>
+                        <li>Defence</li>
+                    </ul>
+                    <li>Exp</li>
+                    <ul>
+                        <li>Combat</li>
+                        <li>Lifepoints</li>
+                    </ul>
+                    <li>Max Hit</li>
+                    <ul>
+                        <li>Melee</li>
+                        <li>Range</li>
+                        <li>Magic</li>
+                        <li>Spec</li>
+                    </ul>
+                </ul>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>04/27/2024 - Minor Bug Fixes</h2>
+    <p class="nistext">Fixed a bug that caused only the first assignment to get loaded and not the second one.</p>
+    <p class="nistext">Fixed a bug that caused the wiki links to not go to the currently loaded assignment.</p>
+
+    <h2>02/13/2022 - Minor but Needed</h2>
+    <p class="nistext">Finally have a little time to work on updating the Forum Post as well as the credits. Also going
+        to update the about section soon.</p>
+
+    <h2>12/24/2021 - Merry Christmas</h2>
+    <p class="nistext">Finished updating all the old changelog information, some may be missing but the most of it is
+        there for now. Need to backup discord info during development so I can check later.</p>
+    <p class="nistext">Adding about info section soon...</p>
+    <p class="nistext">Current App Features to Date</p>
+    <ul class="nistext">
+        <li>Help/About, Settings, & Donate Buttons</li>
+        <li>Search Bar and Button</li>
+        <li>Ability to show 1 or 2(vs) Assignments</li>
+        <li>Important Info Shown at All Times</li>
+        <ul>
+            <li>Wiki, Kills, & Assignment</li>
+            <ul>
+                <li>Total Exp for Assignment</li>
+                <li>Hover Assignment Wiki</li>
+                <ul>
+                    <li>Slayer Master Info</li>
+                </ul>
+            </ul>
+            <li>Locations for Assignment</li>
+            <li>Equipment Suggested for Assignment</li>
+            <li>Wiki, Creatures, & Creature Varants</li>
+            <ul>
+                <li>Slayer Level & Exp</li>
+                <li>Weakness & Susceptible</li>
+                <li>Hover Creature Wiki</li>
+                <ul>
+                    <li>Image</li>
+                    <li>Stats</li>
+                    <ul>
+                        <li>Combat Level</li>
+                        <li>Lifepoints</li>
+                        <li>Defence</li>
+                    </ul>
+                    <li>Exp</li>
+                    <ul>
+                        <li>Combat</li>
+                        <li>Lifepoints</li>
+                    </ul>
+                    <li>Max Hit</li>
+                    <ul>
+                        <li>Melee</li>
+                        <li>Range</li>
+                        <li>Magic</li>
+                        <li>Spec</li>
+                    </ul>
+                </ul>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>12/09/2021 - Beta Updated</h2>
+    <p class="nistext">Massively adjusted the look and feel of the app. Moved a lot of data into a "Wiki Preview Screen"
+        that shows up when hovering over the wiki button.</p>
+    <p class="nistext">Adjusted and added a lot of the user experience features.</p>
+    <ul class="nistext">
+        <li>Hover Assigment Wiki for Slayer Master Info</li>
+        <li>Hover Creature Wiki for Creature Info</li>
+        <li>Adjusted/Added hovering effects timer</li>
+        <li>Added donate button just to have it for now</li>
+    </ul>
+
+    <h2>11/29/2021 - Beta Updated</h2>
+    <p class="nistext">Added 2 items that was missed before even though they aren't complete yet.</p>
+    <ul class="nistext">
+        <li>Added About Info Button</li>
+        <li>Added Settings Button</li>
+    </ul>
+
+    <h2>11/19/2021 - Beta Released</h2>
+    <p class="nistext">Released the Beta to the public as it was working well enough for the public to use without worry
+        about it crashing.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>11/09/2021 - Beta Getting Close</h2>
+    <p class="nistext">Fixed almost all the major bugs and most of the minor bugs, next is to finish adjusting the look
+        of the new app.</p>
+    <p class="nistext">With a massive amount of help from <a onclick="openDiscordUser('Emma Kitty#6969');">Emma
+            Kitty</a>, I was finally able to add the first bit of
+        user experience features to the app making the list of creatures smaller and easiler to navigate. Also default
+        selected creatures were added. These features still need refined more so they do everything they are supposed
+        to.</p>
+
+    <h2>08/12/2021 - Changelog Added</h2>
+    <p class="nistext">Added the changelog and about webpages for the app; however, still haven't added them to the app
+        intself. Still need to work on settings and updating the look and feel even more to work out the rest of the
+        bugs.</p>
+
+    <h2>08/05/2021 - New Alpha Release</h2>
+    <p class="nistext">Released the alpha to the development channel on Discord with a few bugs and a lot of information
+        missing to see how it worked for others before releasing to the public.</p>
+    <p class="nistext">Features partially or fully added.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>07/09/2021 - Major Bug Found</h2>
+    <p class="nistext">Soon after doing the redesign of the Database Updater, a major bug came up that almost crashed
+        the computer many times. Come to find out this was a bug in the compiler I was using and had nothing to do with
+        the way I created the app at all.</p>
+
+    <h2>06/11/2021 - Redesign Revealed</h2>
+    <p class="nistext">Revealed the redesigned look and feel of the Slayer Assistant to the Development channel on
+        RuneApps Discord. Public didn't have access to the app but got to see it's progress.</p>
+    <p class="nistext">Features partially or fully added.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>05/20/2021 - Redesign Started</h2>
+    <p class="nistext">Due to a major computer crash that required a re-install of the OS, all source for the database
+        updater was lost. This lead to a complete redesign of the app for many reasons, but the biggest was due to the
+        system not supporting cluster tasks.</p>
+    <p class="nistext">After a lot of discussion with <a onclick="openDiscordUser('Zykrow#8009');">Zykrow</a> on the
+        matter, I started working on the new database
+        updater and redesigning the Alt1 app.</p>
+    <p class="nistext">Features planned for the redesign.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Settings for app</li>
+        <li>About info for app</li>
+        <li>Refresh/reload button to allow manual reading of task incase the loop breaks</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+        <li>Donate to contributers button</li>
+    </ul>
+
+    <h2>05/14/2021 - First Release</h2>
+    <p class="nistext">With a lot of assistance from <a onclick="openDiscordUser('Skillbert#9582');">Skillbert</a> on
+        discord, I was finally able to create my first
+        basic app on Alt1.</p>
+    <p class="nistext">Not long after the first app was working, I was able to turn it into the Slayer Assistant app.
+        This was not without help from the rest of the discord comunity though. <a
+            onclick="openDiscordUser('crazye97#2027');">crazye97</a> assisted a lot to get the first version created. <a
+            onclick="openDiscordUser('troy236#2361');">troy236</a> gave me the answer to my last issue with
+        the app allowing me to get it released.</p>
+    <p class="nistext">Here is a list of all features supported in this version.</p>
+    <ul class="nistext">
+        <li>A button to read the task on screen incase the app had a glitch and wasn't working correctly</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Basic Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness (as Displayed on wiki)</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+            <li>Wiki links for each creature</li>
+        </ul>
+    </ul>
+
+    <h2>05/12/2021 - Project Started</h2>
+    <p class="nistext">Here is a little history on how this app came to be.</p>
+    <p class="nistext">After a long conversation with <a onclick="openDiscordUser('Zykrow#8009');">Zykrow</a> on the
+        viability of a new slayer app for Alt1, I
+        started doing some research on creating Alt1 apps and come to find out it is not hard but not easy either;
+        however, redesigning the wheel is bad practice so lets see if anyone else has already created an app like this.
+    </p>
+    <p class="nistext">To my suprise there was one; however, it was outdated and no source code was known to exist for
+        it. Oh well. Time to start designing it then.</p>
+    <p class="nistext">The original Slayer Decision App was used as a base for the look and feel for the new app I
+        started creating. The original app can be found <a
+            onclick="window.open('https://runeapps.org/forums/viewtopic.php?id=570');">here</a>.</p>
+    <p class="nistext">There was a lot discussed on what could be added to the app; however, quite a bit of it was for
+        way later on once the app was made and working. So here is a list of what was planned for the first release.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Basic Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness (aka. Melee, Range, Magic)</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function openDiscordUser(user) {
+            window.open('https://discordapp.com/users/' + user);
+        }
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/dist/pages/credits.html b/dist/pages/credits.html
new file mode 100644 (file)
index 0000000..c8ca3f8
--- /dev/null
@@ -0,0 +1,81 @@
+<html>
+
+<head>
+    <title>Credits</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/credits.css">
+</head>
+
+<body class="nis">
+    <div class="nisbutton" id="changelog-button" onclick="history.back();">Go Back</div>
+    <h2>Credit due where deserved</h2>
+    <p class="nistext">Assistance with Slayer Assistant for Alt1</p>
+    <ul class="nistext">
+        <li><a onclick="window.open('https://runeapps.org/forums/viewtopic.php?id=570');">codedninja</a> -
+            For creating the original app and inspiring the look and feel of this app</li>
+        <li><a onclick="openDiscordUser('Skillbert#9582');">Skillbert</a> - For all the assistance during
+            the creation of this app, as well as for creating Alt1 Toolkit</li>
+        <li><a onclick="openDiscordUser('Zykrow#8009');">Zykrow</a> - For support and assistance during the
+            entire development of this app</li>
+        <li><a onclick="openDiscordUser('crazye97#2027');">crazye97</a> - For all the assistance during the
+            development of this app, too much to specify each one</li>
+        <li><a onclick="openDiscordUser('troy236#2361');">troy236</a> - For giving me the answer to why I
+            couldn't edit the src of an img in javascript</li>
+        <li><a onclick="openDiscordUser('Emma Kitty#6969');">Emma Kitty</a> - For helping manage the
+            database; formatting, adding manual entries, and adding user experience content to the app</li>
+        <li><a onclick="openDiscordUser('Annie the Eagle#0001');">Annie the Eagle</a> - For help with
+            adjusting the Look and Feel of the app</li>
+        <li><a onclick="openDiscordUser('MrSlayerGod#5656');">MrSlayerGod</a> - For suggestions on the
+            newest Look and Feel of the app</li>
+        <li><a onclick="openDiscordUser('Poop Skewer#7325');">Poop Skewer</a> - For suggesting moving the
+            app over to github for better uptime</li>
+        <li><a onclick="openDiscordUser('vinay#5636');">display_this</a> - For reporting app breaking bugs
+            that kept the app from running at its full potential</li>
+        <li><a onclick="openDiscordUser('Leridon#6812');">Leridon</a> - For assisting me on getting the
+            slayer/reaper counter lookup started as well as helping fix major issues during upgrading alt1 source</li>
+        <li><a onclick="openDiscordUser('Umbra#5689');">Nex ex Umbra</a> - For assitance on getting the
+            Select
+            your own task detection to work</li>
+        <li><a
+                onclick="window.open('https://stackoverflow.com/questions/10473745/compare-strings-javascript-return-of-likely');">overlord1234
+                & David</a> - For the Levenshtein distance algorithim for the search feature</li>
+    </ul>
+
+    <p class="nistext">Assistance with Slayer Assistant Database Updater</p>
+    <ul class="nistext">
+        <li><a onclick="window.open('https://runescape.wiki');">Runescape Wiki</a> - For having an amazing
+            database that I can just parse to make use of in this app</li>
+        <li><a onclick="openDiscordUser('achievementshunter');">Chiev Hunter</a> - For assistance in fixing
+            the slayer assignment wiki so my updater would quit throwing an error</li>
+        <li><a onclick="openDiscordUser('Wahi#5030');">Wahi</a> - For explaining the Wights task was old
+            content that was removed</li>
+        <li><a onclick="openDiscordUser('Robert571#7543');">Robert571</a> - For suggesting the new query
+            search for database downloading from the wiki</li>
+        <li><a onclick="openDiscordUser('Wired In#2593');">Im Wired In</a> - For all the assistance in
+            helping to figure out how to use the new query search for database downloading from the wiki</li>
+    </ul>
+
+    <p class="nistext">For Creating Something Amazing</p>
+    <ul class="nistext">
+        <li><a onclick="window.open('http://jagex.com');">Jagex</a> - For creating an amazing game that has
+            many more years to come</li>
+        <li><a onclick="window.open('http://runescape.com');">Runescape</a> - For still being here after
+            all these years, it has came a long way</li>
+        <li><a onclick="window.open('https://runescape.wiki');">Runescape Wiki</a> - For having an amazing
+            database for all of the RuneScape community</li>
+        <li><a onclick="window.open('https://chat.openai.com');">Chat GPT</a> - For creating something
+            amazing that can assist with anything</li>
+        <li><a onclick="openDiscordUser('Skillbert#9582');">Skillbert</a> - For creating Alt1 Toolkit and
+            keeping it maintained</li>
+    </ul>
+
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function openDiscordUser(user) {
+            window.open('https://discordapp.com/users/' + user);
+        }
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/dist/pages/doc/body.html b/dist/pages/doc/body.html
new file mode 100644 (file)
index 0000000..23b883e
--- /dev/null
@@ -0,0 +1,18 @@
+<div id="menubar">
+    <div id="infobutton" class="transbutton" title="About"></div>
+    <div id="menubutton" class="transbutton" title="Settings"></div>
+    <div id="donatebutton" class="transbutton" title="Donate"></div>
+    <div id="backbutton" class="transbutton" title="Previous Lookup"></div>
+    <div id="forwardbutton" class="transbutton" title="Next Lookup"></div>
+
+    <input type="text" list="search-info-list" class="nistext" id="search-info" name="search-info"
+        title="Search assignments, alias, or creatures" placeholder="Search..." autofocus></input>
+    <datalist id="search-info-list"></datalist>
+    <div class="nisbutton" id="search-button" title="You can also just press enter">Search<span
+            style="visibility: hidden;">. . .</span></div>
+    <div class="loading-container"><span class="loading" id="loading-bar" title="Loading..."></span></div>
+</div>
+
+<div id="base">
+</div>
+<div id="copyright" class="copyright-limited">Copyright &copy;2021 Unlishema Dragonsworn</div>
\ No newline at end of file
diff --git a/dist/pages/doc/dual.html b/dist/pages/doc/dual.html
new file mode 100644 (file)
index 0000000..eb01f66
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="left"></div>
+<div id="divide" class="divide-limited"></div>
+<div class="right"></div>
\ No newline at end of file
diff --git a/dist/pages/doc/example-extra.html b/dist/pages/doc/example-extra.html
new file mode 100644 (file)
index 0000000..f79605b
--- /dev/null
@@ -0,0 +1,134 @@
+<div class="nistext preview-task-wiki">
+    <div class="nistext masters">
+        <div class="nistext masterInfo1"><img id="masterImage1" alt="Chaeldar" src="./images/masters/Chaeldar.png"
+                title="Chaeldar"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo2"><img id="masterImage2" alt="Duradel" src="./images/masters/Duradel.png"
+                title="Duradel"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo3"><img id="masterImage3" alt="Jacquelyn" src="./images/masters/Jacquelyn.png"
+                title="Jacquelyn"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo4"><img id="masterImage4" alt="Kuradal" src="./images/masters/Kuradal.png"
+                title="Kuradal"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo5"><img id="masterImage5" alt="Laniakea" src="./images/masters/Laniakea.png"
+                title="Laniakea"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo6"><img id="masterImage6" alt="Mandrith" src="./images/masters/Mandrith.png"
+                title="Mandrith"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo7"><img id="masterImage7" alt="Mazchna" src="./images/masters/Mazchna.png"
+                title="Mazchna"></img> Kills: Coming Soon...</div>
+    </div>
+</div>
+
+<div class="nistext preview-creature-wiki">
+    <div class="nistext image-container"></div>
+    <div class="nistext stats">
+        <div class="nistext" id="title-4">Stats</div>
+        <img class="first-third-image" src="./images/misc/combat.png" title="Combat Level"></img>
+        <img class="second-third-image" src="./images/misc/lifepoints.png" title="Lifepoints"></img>
+        <img class="third-third-image" src="./images/misc/defence.png" title="Defense"></img>
+        <div class="nistext first-third level" title="Combat Level">???</div>
+        <div class="nistext second-third lifepoints" title="Lifepoints">???</div>
+        <div class="nistext third-third defence" title="Defense">???</div>
+    </div>
+
+    <div class="nistext exp">
+        <div class="nistext" id="title-5">Exp</div>
+        <img class="first-third-image" src="./images/misc/combat.png" title="Combat Exp"></img>
+        <img class="second-third-image" src="./images/misc/lifepoints.png" title="Lifepoints Exp"></img>
+        <div class="nistext first-third combat-exp" title="Combat Exp">???</div>
+        <div class="nistext second-third lifepoints-exp" title="Lifepoints Exp">???</div>
+    </div>
+
+    <div class="nistext max-hits">
+        <div class="nistext" id="title-6">Max Hit</div>
+        <img class="first-quarter-image" src="./images/misc/melee.png" title="Max Melee"></img>
+        <img class="second-quarter-image" src="./images/misc/ranged.png" title="Max Ranged"></img>
+        <img class="third-quarter-image" src="./images/misc/magic.png" title="Max Magic"></img>
+        <img class="forth-quarter-image" src="./images/misc/necromancy.png" title="Max Necromancy"></img>
+        <img class="fifth-quarter-image" src="./images/misc/spec.png" title="Max Special"></img>
+        <div class="nistext first-quarter max-melee" title="Max Melee">???</div>
+        <div class="nistext second-quarter max-ranged" title="Max Ranged">???</div>
+        <div class="nistext third-quarter max-magic" title="Max Magic">???</div>
+        <div class="nistext forth-quarter max-necromancy" title="Max Necromancy">???</div>
+        <div class="nistext fifth-quarter max-spec" title="Max Special">???</div>
+    </div>
+</div>
+
+<div class="nistext equipment">
+    <div class="nistext" id="title-1">Equipment</div>
+    <div class="nistext equipInfo1"></div>
+    <div class="nistext equipInfo2"></div>
+    <div class="nistext equipMore">See More...</div>
+    <div class="nistext equipHidden">
+        <div class="nistext equipInfo3"></div>
+        <div class="nistext equipInfo4"></div>
+        <div class="nistext equipInfo5"></div>
+        <div class="nistext equipInfo6"></div>
+        <div class="nistext equipInfo7"></div>
+        <div class="nistext equipInfo8"></div>
+        <div class="nistext equipInfo9"></div>
+    </div>
+</div>
+
+<div class="nistext locations">
+    <div class="nistext" id="title-2">Locations</div>
+    <div class="nistext locationInfo1"></div>
+    <div class="nistext locationInfo2"></div>
+    <div class="nistext locationMore">See More...</div>
+    <div class="nistext locationHidden">
+        <div class="nistext locationInfo3"></div>
+        <div class="nistext locationInfo4"></div>
+        <div class="nistext locationInfo5"></div>
+        <div class="nistext locationInfo6"></div>
+        <div class="nistext locationInfo7"></div>
+        <div class="nistext locationInfo8"></div>
+        <div class="nistext locationInfo9"></div>
+        <div class="nistext locationInfo10"></div>
+        <div class="nistext locationInfo11"></div>
+        <div class="nistext locationInfo12"></div>
+        <div class="nistext locationInfo13"></div>
+        <div class="nistext locationInfo14"></div>
+        <div class="nistext locationInfo15"></div>
+        <div class="nistext locationInfo16"></div>
+        <div class="nistext locationInfo17"></div>
+        <div class="nistext locationInfo18"></div>
+        <div class="nistext locationInfo19"></div>
+        <div class="nistext locationInfo20"></div>
+        <div class="nistext locationInfo21"></div>
+        <div class="nistext locationInfo22"></div>
+        <div class="nistext locationInfo23"></div>
+        <div class="nistext locationInfo24"></div>
+        <div class="nistext locationInfo25"></div>
+    </div>
+</div>
+
+<div class="nistext" id="creature-container">
+    <div class="nistext" id="title-3">Creatures</div>
+    <div class="nistext creature-wiki"></div>
+
+    <select class="nistext creatures" name="creatures" title="Creatures">
+    </select>
+
+    <select class="nistext variants" name="variants" title="variants">
+    </select>
+</div>
+
+<div class="nistext summary">
+    <div class="nistext" id="title-7">Summary</div>
+    <div class="nistext first-quarter" style="left: 5px;">Slayer Level</div>
+    <div class="nistext third-quarter" style="left: 5px;">Slayer Exp</div>
+    <img class="second-quarter-image" src="./images/misc/slayer.png" title="Slayer Level"></img>
+    <img class="forth-quarter-image" src="./images/misc/slayer.png" title="Slayer Exp"></img>
+    <div class="nistext second-quarter slayer-level" title="Slayer Level">???</div>
+    <div class="nistext forth-quarter slayer-exp" title="Slayer Exp">???</div>
+
+    <div class="nistext weaknessBox">
+        <p id="weakness-text">Weakness</p>
+        <img class="weakness-image weakness-image1" src=""></img>
+        <img class="weakness-image weakness-image2" src=""></img>
+    </div>
+
+    <div class="nistext susceptibleBox">
+        <p id="susceptible-text">Susceptible</p>
+        <img class="susceptible-image susceptible-image1" src=""></img>
+        <img class="susceptible-image susceptible-image2" src=""></img>
+    </div>
+</div>
\ No newline at end of file
diff --git a/dist/pages/doc/example.html b/dist/pages/doc/example.html
new file mode 100644 (file)
index 0000000..4a8d762
--- /dev/null
@@ -0,0 +1,25 @@
+<div class="nistext type">(Default)</div>
+
+<div class="nistext info">
+    <div class="nistext task-wiki"></div>
+
+    <div class="nistext kills" title="Kills Left">???</div>
+    <div class="nistext name" title="Assignment">???</div>
+    <div class="nistext" id="slayer-exp-text" title="Total Slayer Experience">Exp:</div>
+    <div class="nistext total-slayer-exp" title="Total Slayer Experience">???</div>
+</div>
+
+<div class="nistext status">
+    <div class="nistext timer-text" title="Timer">Timer:
+        <div class="nistext timer-value">??:??:??</div>
+    </div>
+    <div class="nistext kills-per-text" title="Kills/Hr">Kills/Hr:
+        <div class="nistext kills-per-hour">?,???</div>
+    </div>
+    <div class="nistext exp-per-text" title="XP/Hr">XP/Hr:
+        <div class="nistext exp-per-hour">???,???</div>
+    </div>
+</div>
+
+
+<div class="nistext extra-info"></div>
\ No newline at end of file
diff --git a/dist/pages/doc/single.html b/dist/pages/doc/single.html
new file mode 100644 (file)
index 0000000..eb4fc4b
--- /dev/null
@@ -0,0 +1 @@
+<div class="single"></div>
\ No newline at end of file
diff --git a/dist/pages/doc/suggested.html b/dist/pages/doc/suggested.html
new file mode 100644 (file)
index 0000000..9d6588b
--- /dev/null
@@ -0,0 +1,64 @@
+<div class="nistext type" id="type-suggest">(Suggested)</div>
+
+<table id="suggestions">
+    <thead>
+        <tr>
+            <td class="nistext">Assignment</td>
+            <td class="nistext">Slayer xp/hr</td>
+        </tr>
+    </thead>
+    <tbody>
+        <tr>
+            <td class="nistext" id="suggestion-1" title="Gemstone dragons">Gemstone dragons</td>
+            <td class="nistext">1400k (Hydrix)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-2" title="Ripper Demon">Ripper Demon</td>
+            <td class="nistext">700k (Darklight)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-3" title="Soul devourer">Soul devourer</td>
+            <td class="nistext">680k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-4" title="Shadow creatures">Shadow creatures</td>
+            <td class="nistext">680k (Manifest)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-5" title="Nightmare">Nightmare</td>
+            <td class="nistext">650k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-6" title="Lost Grove creatures">Lost Grove creatures</td>
+            <td class="nistext" title="Legacy 1324k">610k (Golem)<span class="starnote">*</span>
+            </td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-7" title="Acheron mammoth">Acheron mammoth</td>
+            <td class="nistext">600k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-8" title="Corrupted creatures">Corrupted creatures</td>
+            <td class="nistext">580k (Worker)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-9" title="Elves">Elves</td>
+            <td class="nistext" title="1200k (chinning)">560k<span class="starnote">*</span>
+            </td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-10" title="Living wyverns">Living wyverns</td>
+            <td class="nistext">530k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-11" title="Crystal shapeshifters">Crystal shapeshifters</td>
+            <td class="nistext">500k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-12" title="Greater demons">Greater demons</td>
+            <td class="nistext" title="180k (K'ril)">1000k (Berserkers)<span class="starnote">*</span>
+            </td>
+        </tr>
+    </tbody>
+</table>
+<div class="nistext" id="footnote">* - More information on hover</div>
\ No newline at end of file
diff --git a/dist/pages/settings.html b/dist/pages/settings.html
new file mode 100644 (file)
index 0000000..d26e60b
--- /dev/null
@@ -0,0 +1,73 @@
+<html>
+
+<head>
+    <title>Slayer Assistant Settings</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/settings.css">
+</head>
+
+<body class="nis">
+
+    <h2 class="nistext">Settings</h2>
+    <p class="nistext" id="test">More Coming soon... This is only the basic settings for now</p>
+
+    <label class="nistext">Auto Capture Settings</label><br>
+    <input type="checkbox" id="auto-capture-enabled">
+    <label class="nistext" for="auto-capture-enabled"> Enabled?</label><br>
+    <input type="checkbox" id="auto-capture-counter">
+    <label class="nistext" for="auto-capture-counter"> Counter UI?</label><br>
+    <input type="checkbox" id="auto-capture-search">
+    <label class="nistext" for="auto-capture-search"> Search Toggle?</label><br>
+    <br>
+    <label class="nistext">UI Settings</label><br>
+    <input type="checkbox" id="ui-limited">
+    <label class="nistext" for="ui-limited"> Limited?</label><br>
+    <input type="checkbox" id="ui-status">
+    <label class="nistext" for="ui-status"> Status?</label><br>
+    <input type="checkbox" id="ui-overlay">
+    <label class="nistext" for="ui-overlay"> Overlay?</label><br>
+
+    <div class="nisbutton" id="changelog-button" onclick="closeSettings();">Close Settings</div>
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function closeSettings() {
+            window.close();
+        }
+
+        // On Load lets load in the settings from the local storage
+        document.addEventListener("DOMContentLoaded", async (event) => {
+            // FIXME Finished setting up settings
+
+            if (localStorage.getItem("auto-capture-enabled")) document.getElementById("auto-capture-enabled").checked = localStorage.getItem("auto-capture-enabled") === "true";
+            if (localStorage.getItem("auto-capture-counter")) document.getElementById("auto-capture-counter").checked = localStorage.getItem("auto-capture-counter") === "true";
+            if (localStorage.getItem("auto-capture-search")) document.getElementById("auto-capture-search").checked = localStorage.getItem("auto-capture-search") === "true";
+
+            if (localStorage.getItem("ui-limited")) document.getElementById("ui-limited").checked = localStorage.getItem("ui-limited") === "true";
+            if (localStorage.getItem("ui-status")) document.getElementById("ui-status").checked = localStorage.getItem("ui-status") === "true";
+            if (localStorage.getItem("ui-overlay")) document.getElementById("ui-overlay").checked = localStorage.getItem("ui-overlay") === "true";
+        });
+
+        // On change lets update the locally stored settings
+        document.getElementById("auto-capture-enabled").addEventListener("input", function () {
+            localStorage.setItem("auto-capture-enabled", document.getElementById("auto-capture-enabled").checked);
+        });
+        document.getElementById("auto-capture-counter").addEventListener("input", function () {
+            localStorage.setItem("auto-capture-counter", document.getElementById("auto-capture-counter").checked);
+        });
+        document.getElementById("auto-capture-search").addEventListener("input", function () {
+            localStorage.setItem("auto-capture-search", document.getElementById("auto-capture-search").checked);
+        });
+        document.getElementById("ui-limited").addEventListener("input", function () {
+            localStorage.setItem("ui-limited", document.getElementById("ui-limited").checked);
+        });
+        document.getElementById("ui-status").addEventListener("input", function () {
+            localStorage.setItem("ui-status", document.getElementById("ui-status").checked);
+        });
+        document.getElementById("ui-overlay").addEventListener("input", function () {
+            localStorage.setItem("ui-overlay", document.getElementById("ui-overlay").checked);
+        });
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/dist/styles/default/about.css b/dist/styles/default/about.css
new file mode 100644 (file)
index 0000000..ab80731
--- /dev/null
@@ -0,0 +1,32 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family:sans-serif; font-size:14px; overflow-x:hidden; margin:5px; width: calc(100% - 10px);}
+h2{text-align: center; font-size: 22px; font-weight:normal;}
+h2:first-child{margin-top:5px;}
+h3{text-align: center; font-size: 18px; border-top:3px double rgb(255, 231, 185); font-weight:bold;}
+h4{text-align: center; font-size: 16px; border-top:3px dashed rgb(255, 231, 185); font-weight:normal;}
+table{margin:auto;}
+img{width:100%;}
+img.expanded{width:60%;}
+img.collapsed{width:35%;}
+
+/* Sections */
+.info{text-align: center;}
+.example{border: 1px solid rgb(84, 85, 66); margin-top: 5px; margin-bottom: 5px;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/dist/styles/default/changelog.css b/dist/styles/default/changelog.css
new file mode 100644 (file)
index 0000000..34d996a
--- /dev/null
@@ -0,0 +1,22 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family: sans-serif; font-size: 14px; overflow-x: hidden; margin: 10px; width: calc(100% - 10px);}
+h2{border-top:1px solid #A3A3A3; font-weight: normal; margin-top: 25px; margin-bottom: -10px; color: #068b1c;}
+h2:first-child{margin-top:10px;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/dist/styles/default/credits.css b/dist/styles/default/credits.css
new file mode 100644 (file)
index 0000000..f0367a6
--- /dev/null
@@ -0,0 +1,22 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family:sans-serif; font-size:14px; overflow-x:hidden; margin: 10px; width: calc(100% - 10px);}
+h2{border-top:1px solid #A3A3A3; font-weight:normal; margin-top: 25px; margin-bottom:-10px; color:#068b1c;}
+h2:first-child{margin-top:10px;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/dist/styles/default/index.css b/dist/styles/default/index.css
new file mode 100644 (file)
index 0000000..a079ec4
--- /dev/null
@@ -0,0 +1,190 @@
+/* Global App settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; cursor: pointer;}
+a:hover  {color: #a19100; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; cursor: pointer;}
+
+/* Base Sections of App */
+div#menubar        {position: relative; width: 100%; height: 34px;}
+div#base           {position: relative; width: 100%; height: 70px;}
+#copyright         {position: relative; width: 100%; height: 13px; font-family: 'trajan-pro-3'; font-size: 11px; color: #5a6400; text-align: center; }
+div.base-full      {height: 310px;}
+.copyright-limited {top: 0px;}
+.copyright-full    {top: 250px;}
+
+/* Menu Bar Controls */
+#infobutton          {position: absolute; width: 12px; height: 12px; top: 00px; left: 00px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/infoicon.png') 0px 0px / cover;}
+#menubutton          {position: absolute; width: 12px; height: 12px; top: 16px; left: 00px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/settingscog.png') 0px 0px / cover;}
+#donatebutton        {position: absolute; width: 12px; height: 12px; top: 32px; left: 00px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/donate.png') 0px 0px / cover;}
+#backbutton          {position: absolute; width: 12px; height: 12px; top: 32px; left: 16px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/back.png') 0px 0px / cover;}
+#forwardbutton       {position: absolute; width: 12px; height: 12px; top: 32px; left: 32px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/forward.png') 0px 0px / cover;}
+#infobutton:hover    {background-position: 0px -12px;}
+#menubutton:hover    {background-position: 0px -12px;}
+#donatebutton:hover  {background-position: 0px -12px;}
+#backbutton:hover    {background-position: 0px -12px;}
+#forwardbutton:hover {background-position: 0px -12px;}
+
+/* Search Box & Button */
+#search-info   {position: relative; width: calc(100% - 20px - 100px); height: 20px; top: 3px; left: 18px; color:#a39e00; cursor:pointer; background-color:#2f2f2f;}
+#search-button {position: absolute; width: 66px; height: 33px; top: 0px; right: 0px; color:#370042; font-size: 18px; text-align: left;}
+
+/* Search Button LookNFeel */
+.nisbutton               {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin-left: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before       {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after        {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active        {-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+.nisbutton.fakeactive    {-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Loading Spinner */
+.loading-container {position: absolute; width: 20px; height: 20px; top: 8px; right: 8px; cursor:pointer; }
+.loading           {width: 20px; height: 20px; display: flex; justify-content: center; visibility: hidden;}
+.loading::after    {width: 12px; height: 12px; content: ""; border: 3px dashed #13314e; border-radius: 100%; transform: rotate(0.125turn); animation: loading 2.5s ease-in-out infinite;}
+@keyframes loading {to {transform: rotate(1.130turn);}}
+
+/* Division Bar */
+div.left        {position: absolute; width: calc(050% - 01px); left: 00%;}
+div.right       {position: absolute; width: calc(050% - 01px); left: 50%;}
+div.single      {position: absolute; width: 100%; left: 00%;}
+div#divide      {position: absolute; width: 2px; left: calc(50% - 2px); background-color: #afad1f;}
+.divide-limited {height: 65px;}
+.divide-full    {height: 310px;}
+
+/* Headers for Sections */
+div#title-1 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-2 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-3 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-4 {position: absolute; height: 11px; left: calc(15%); right: calc(15%); z-index: 22; margin-top: -06px; font-size: 12px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-5 {position: absolute; height: 11px; left: calc(15%); right: calc(15%); z-index: 22; margin-top: -08px; font-size: 12px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-6 {position: absolute; height: 11px; left: calc(15%); right: calc(15%); z-index: 22; margin-top: -08px; font-size: 12px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-7 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+
+/* Type of Assignment */
+div.type            {position: relative; width: 100%; height: 22px; color: #008000; font-family: 'trajan-pro-3'; font-size: 20px; text-align: center;}
+.right div.type     {color: #ff0000;}
+#type-reaper        {color: #ffd700;}
+#type-suggest       {color: #ff00d4; cursor:pointer;}
+#type-suggest:hover {color: #6d0077;}
+
+/* Suggested Creatures */
+span.starnote              {position: relative; display: inline; color: #ffd700; font-size: 11px;}
+div#footnote               {position: relative; width: 100%; height: 015px; left: 0%; top: 0px; color: #ffd700; font-size: 11px; text-align: right;}
+table#suggestions          {position: relative; width: 100%; height: 200px; left: 0%; top: 0px; font-size: 16px; text-align: left;}
+table#suggestions thead td {color: #ffd700; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+table#suggestions td       {color: #39cf96; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+td[id^="suggestion"]       {color: #008000; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; cursor:pointer;}
+td[id^="suggestion"]:hover {color: #00db00;}
+
+/* Assignment Info */
+div.info                      {position: relative; width: 068%; height: 40px; left: 3px; top: 0px; margin-top: 5px; text-align: left;}
+div.info div.task-wiki        {position: absolute; width: 24px; height: 24px; left: 0px; top: -4px; cursor:pointer; text-align: left; background: transparent url("../../images/ui/default/wikipedia.png") 0px 0px / cover;}
+div.info div.kills            {position: absolute; width: 40px; height: 16px; left: 18px; top: 0px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.info div#slayer-exp-text  {position: absolute; width: 33px; height: 16px; left: 3px; top: 20px; text-align: left;}
+div.info div.name             {position: absolute; width: calc(100% - 65px); height: 16px; left: 62px; top: 0px; text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.info div.total-slayer-exp {position: absolute; width: calc(100% - 40px); height: 16px; left: 35px; top: 20px; text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.left div.info             {width: 100%;}
+div.right div.info            {width: 100%;}
+div.info:hover                {background-color: #324e6165;}
+div.info div.task-wiki:hover  {background-position:0px -24px;}
+
+/* Preview Task Wiki */
+div.preview-task-wiki                                {position: absolute; width: calc(100% - 8px); height: auto; left: 0px; top: 0px; z-index: 11; visibility: hidden; text-align: left; border: 2px ridge #a19100; background: url("../../images/ui/default/background.png");}
+div.preview-task-wiki div.masters                    {position: relative; width: calc(100% - 8px); height: auto; left: 0px; top: 0px; text-align: left;}
+div.preview-task-wiki div.masterTitle                {position: relative; width: 100%; height: 27px; font-size: 18px; margin: 2px 0px 0px 3px; border-bottom: 3px double #a19100;}
+div.preview-task-wiki div[class*="masterInfo"]       {position: relative; width: 100%; height: 27px; cursor:pointer; font-size: 14px; padding: 2px 0px 0px 3px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.preview-task-wiki img[id^="masterImage"]         {position: relative; width: 20px; height: 27px; cursor:pointer; vertical-align: middle; text-align: center;}
+div.preview-task-wiki div[class*="masterInfo"]:hover {background-color: #64643065;}
+div.left div.preview-task-wiki                       {left: 0px;}
+div.right div.preview-task-wiki                      {left: 4px;}
+
+/* Status Menu */
+div.status                          {position: absolute; width: 100px; height: 60px; right: 0px; top: 2px; z-index: 10; text-align: left; border: 2px ridge #5a6400;}
+div.status div.kills-per-text       {position: absolute; width: 100%; height: calc(33% - 6px); left: 0px; top: 33%; padding-top: 2px; font-size: 16px; border-top: 1px solid #a19100; margin-top: -2px;}
+div.status div.exp-per-text         {position: absolute; width: 100%; height: calc(33% - 6px); left: 0px; top: 66%; padding-top: 2px; font-size: 16px; border-top: 1px solid #a19100; margin-top: -2px;}
+div.status div.timer-text           {position: absolute; width: 100%; height: calc(33% - 6px); left: 0px; top: 0%; padding-top: 2px; font-size: 16px; margin-top: -2px;}
+div.status div.timer-value          {position: absolute; width: calc(100% - 46px); height: 100%; left: 46px; top: 0px; padding: 2px 2px 0px 0px; font-size: 16px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.status div.kills-per-hour       {position: absolute; width: calc(100% - 60px); height: 100%; left: 60px; top: 0px; padding: 2px 2px 0px 0px; font-size: 16px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.status div.exp-per-hour         {position: absolute; width: calc(100% - 50px); height: 100%; left: 50px; top: 0px; padding: 2px 2px 0px 0px; font-size: 16px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.status div.timer-text:hover     {background-color: #324e6165;}
+div.status div.kills-per-text:hover {background-color: #324e6165;}
+div.status div.exp-per-text:hover   {background-color: #324e6165;}
+div.left div.status                 {visibility: hidden;}
+div.right div.status                {visibility: hidden;}
+
+/* Extra Data (Not shown on limited) */
+div.extra-info {position: relative; width: 100%;}
+
+/* Equpiment */
+img#equip-image                             {position: relative; width: 18px; height: 18px;}
+div.equipment                               {position: relative; width: calc(100% - 8px); height: 60px; left: 5px; top: 0px; padding-top: 3px; text-align: left; border-top: 3px double #a19100;}
+div.equipment div[class*="equipInfo"]       {position: relative; width: 100%; height: auto; text-align: left;}
+div.equipment div.equipHidden               {position: absolute; width: 100%; height: auto; left: 0px; top: 42px; z-index: 11; margin-left: -3px; visibility: hidden; border: 3px groove #778899; border-top-style:none; background: url("../../images/ui/default/background.png");}
+div.equipment div.equipMore                 {position: absolute; width: 100%; height: 16px; left: 0px; top: 42px; cursor:pointer; text-decoration: underline; color: #778899; font-size: 10px; text-align: left;}
+div.equipment div[class*="equipInfo"]:hover {background-color: #64643065;}
+div.equipment div.equipMore:hover           {background-color: #64643065;}
+
+/* Locations */
+img#location-image                             {position: relative; width: 18px; height: 18px;}
+div.locations                                  {position: relative; width: calc(100% - 8px); height: 60px; left: 5px; top: 0px; padding-top: 3px; text-align: left; border-top: 3px double #a19100;}
+div.locations div[class*="locationInfo"]       {position: relative; width: 100%; height: auto; text-align: left;}
+div.locations div.locationHidden               {position: absolute; width: 100%; height: auto; left: 0px; top: 42px; z-index: 11; margin-left: -3px; visibility: hidden; border: 3px groove #778899; border-top-style:none; background: url("../../images/ui/default/background.png");}
+div.locations div.locationMore                 {position: absolute; width: 100%; height: 16px; left: 0px; top: 42px; cursor:pointer; text-decoration: underline; color: #778899; font-size: 10px; text-align: left;}
+div.locations div[class*="locationInfo"]:hover {background-color: #64643065;}
+div.locations div.locationMore:hover           {background-color: #64643065;}
+
+/* Creature Wiki */
+div#creature-container  {position: relative; width: calc(100%  - 08px); height: 32px; left: 03px; top: 0px; padding-top: 3px; border-top: 3px double #a19100;}
+select.creatures        {position: absolute; width: calc(64%   - 10px); height: 20px; left: 24px; top: 9px; cursor:pointer; background-color: #2f2f2f;}
+select.variants         {position: absolute; width: calc(34.5% - 15px); height: 20px; left: calc(65% + 16px); top: 9px; cursor:pointer; background-color: #2f2f2f;}
+div.creature-wiki       {position: absolute; width: 24px; height: 24px; left: -2px; top: 5px; cursor:pointer; text-align: left; background: transparent url("../../images/ui/default/wikipedia.png") 0px 0px / cover;}
+div.creature-wiki:hover {background-position: 0px -24px;}
+
+/* Creature Wiki Preview */
+div.preview-creature-wiki                           {position: absolute; width: calc(100% - 6px); height: 178px; left: 0px; top: -42px; z-index: 11; visibility: hidden; border: 2px ridge #a19100; background: url("../../images/ui/default/background.png"); text-align: left;}
+div.preview-creature-wiki div.image-container       {position: absolute; width: 50%; height: 50%; left: 0px; top: 0px; border-top: 1px solid #a19100; border-right: 1px ridge #a19100;}
+div.preview-creature-wiki div.stats                 {position: absolute; width: 50%; height: 50%; left: 50%; top: 0px; font-size: 12px; text-align: center; border-top: 1px solid #a19100;}
+div.preview-creature-wiki div.exp                   {position: absolute; width: 50%; height: 50%; left: 0px; top: 50%; font-size: 12px; text-align: center; border-top: 3px double #a19100; border-right: 1px ridge #a19100; padding-top: -1px;}
+div.preview-creature-wiki div.max-hits              {position: absolute; width: 50%; height: 50%; left: 50%; top: 50%; font-size: 12px; text-align: center; border-top: 3px double #a19100; padding-top: -1px;}
+div.preview-creature-wiki img.image                 {display: block; margin-left: auto; margin-right: auto; background-color: transparent;}
+div.preview-creature-wiki div.image-container:hover {background-color: #64643065;}
+div.preview-creature-wiki div.stats:hover           {background-color: #64643065;}
+div.preview-creature-wiki div.exp:hover             {background-color: #64643065;}
+div.preview-creature-wiki div.max-hits:hover        {background-color: #64643065;}
+div.left div.preview-creature-wiki                  {left: -2px;}
+div.right div.preview-creature-wiki                 {left: 3px;}
+
+/* Summary */
+div.summary       {position: relative; width: calc(100% - 8px); height: 75px; left: 5px; top: 0px; padding-top: 3px; font-size: 12px; text-align: center; border-top: 3px double #a19100;}
+div.summary:hover {background-color: #324e6165;}
+
+div.summary div.weaknessBox     {position: absolute; width: 048%; height: 35px; left: 50%; top: 5px; font-size: 12px; text-align: center;}
+div.summary div.weaknessBox img {position: relative; width: 18px; height: 18px; padding: 0px 3px 0px 3px;}
+div.summary div.weaknessBox p#weakness-text {margin: 0px; padding: 0px;}
+
+div.summary div.susceptibleBox     {position: absolute; width: 048%; height: 35px; left: 50%; top: 40px; font-size: 12px; text-align: center;}
+div.summary div.susceptibleBox img {position: relative; width: 18px; height: 18px; padding: 0px 3px 0px 3px;}
+div.summary div.susceptibleBox p#susceptible-text {margin: 0px; padding: 0px;}
+
+/* Third Sections */
+img.first-third-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 10px;}
+img.second-third-image {position: absolute; width: 15px; height: 15px; left: 5px; top: 28px;}
+img.third-third-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 43px;}
+
+.first-third  {position: absolute; width: 50%; height: 12px; left: 25px; top: 10px; font-size: 10px; text-align: left;}
+.second-third {position: absolute; width: 50%; height: 12px; left: 25px; top: 28px; font-size: 10px; text-align: left;}
+.third-third  {position: absolute; width: 50%; height: 12px; left: 25px; top: 46px; font-size: 10px; text-align: left;}
+
+/* Quarter Sections */
+img.first-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 8px;}
+img.second-quarter-image {position: absolute; width: 15px; height: 15px; left: 5px; top: 23px;}
+img.third-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 38px;}
+img.forth-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 53px;}
+img.fifth-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 68px;}
+
+.first-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 10px; font-size: 10px; text-align: left;}
+.second-quarter {position: absolute; width: 50%; height: 12px; left: 25px; top: 26px; font-size: 10px; text-align: left;}
+.third-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 40px; font-size: 10px; text-align: left;}
+.forth-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 55px; font-size: 10px; text-align: left;}
+.fifth-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 70px; font-size: 10px; text-align: left;}
\ No newline at end of file
diff --git a/dist/styles/default/settings.css b/dist/styles/default/settings.css
new file mode 100644 (file)
index 0000000..e906e8e
--- /dev/null
@@ -0,0 +1,23 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family:sans-serif; font-size:14px; overflow-x:hidden; margin: 10px; width: calc(100% - 10px)}
+h2{border-top:1px solid #000; font-weight:normal;}
+h2:first-child{margin-top:5px;}
+table{margin:auto;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/old_bundle.js b/old_bundle.js
new file mode 100644 (file)
index 0000000..3f182b6
--- /dev/null
@@ -0,0 +1,6721 @@
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(typeof exports === 'object' && typeof module === 'object')
+               module.exports = factory((function webpackLoadOptionalExternalModule() { try { return require("sharp"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("canvas"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("electron/common"); } catch(e) {} }()));
+       else if(typeof define === 'function' && define.amd)
+               define(["sharp", "canvas", "electron/common"], factory);
+       else if(typeof exports === 'object')
+               exports["SlayerAssistant"] = factory((function webpackLoadOptionalExternalModule() { try { return require("sharp"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("canvas"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return require("electron/common"); } catch(e) {} }()));
+       else
+               root["SlayerAssistant"] = factory(root["sharp"], root["canvas"], root["electron/common"]);
+})(self, (__WEBPACK_EXTERNAL_MODULE_sharp__, __WEBPACK_EXTERNAL_MODULE_canvas__, __WEBPACK_EXTERNAL_MODULE_electron_common__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       var __webpack_modules__ = ({
+
+/***/ "./images/data/reaper_collapsed_OSL.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/reaper_collapsed_OSL.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAVXG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKrnKwAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAElUlEQVRYw92YTWgcZRjHfzsz+5HdzczuJumuJS3VSkI/AlaFgmK1PVStIJTSQy9FELy0gqIgIhYlUFHpQQ9tQZFCKWLVQ/FQ60GFUtAG0dqvNG0sRtc07WZ3Z3Zmdmd2Z8bDdiabTWJjipD4v8z7Mc/H+/m8zz/06p5dHrchdyYA0CoGvSt60coltIoBQMOt06h7JJJJACzLwK7VEMQosWiETFcGVdMBUOQkplmlVq1imhVy2Vygc+TK5aAudybu2O77oFVMnnwsyQPrN6KW4yB0MifcCiF7iND+fXu8H88OkU5349o1VENHFMM4Th0lkUSIxCiVCswX85X1/5urvV3Pb9d/55N3t2DWltHwVkEoMrcTng32JSR/tjVNDYzJsjI10Jo1p47ZJsTXoRo6GPqcsrKszDpwv32GDyEw1Bs4ngjh9JRAKAahKHgWeLWWAVaR/LLj1BkbywMwNpanI9bcotWaEfxv2XZQjkYiXL12nWhk5gwqioKqqli2Pa2/te7bmqu93Qe77nDu/BDr+w28RnNSQkIExCwISXB1cCbw3KaPIa+IpMjJaVvk50v5EHeNPP8Fdr8BZz4qeAe/tPn1WhzPq/H23g2sWrmai1eGGTx0HkVR6O8t88L2BIJpVpFlhXS6G0VRWOw49UOVc6NZUqkcHYleTnz/F43aCF99e4munpWsXf8Q48YAZ87pCLVqlVKp0NzfqrroB/fUth1YtonjuFh2nQ0DywlHQqy7z2OyWMYydAqTt3h4IIdgmpXgAmg9U4sVXekI772coSMRYuvm+xm4Z4TXD/zC4w92sPVRhZJe4YPBZ0kIfyDlsjny4zcRxfCsl8Niw9Gjx3j6kQTvv7QJt6Fx+DOH4TGZL04rPL+9j7pVoFE8wqmzIoIfpGeLOYsR3/y0mlc+dLlw4TSm/idqxcbDYdJIoZcvMjxymdcOCYzXn0HqXdHL1dFRlgpi0TCuu4J3jqq8uCPP3p1J9uIBo1wY0fn45HKW53pYt7YfSSuXAkE/rix2CIKAnExy4FOLG4Uqoijguh49mTir700gigJauYTkb8t0uptbN8tLZgU9z+G7z3czdL7AeAEycp2+zq8ZPBYP3seSf1tqmjrtNbLYIYph3hw8zM7NFhuzMFGEgycl6o5AWALTrCD19a8hP34Tx6kviVDgIyyJXBtfxVtH6jQcF0kU0E2N/r5mf1//mulnbimEgumrJxDviAZ1x50qa+VSMxSIYnjGw3gpwvdfFMNoFQMh05UJ8qeltnLtiEYiQRKQ6cog+PncUgnid0KQT2o6Av9jCH4+93+CKIZR5CRScbIYpPYdsQT79+3xipNFapaN61hEYjGW9WTnRf60EkrzJYzaSahlPVkWav/48RMBVVGcLBJ6btc2DyCb7cHQdXSjCjCD37gToaMkmqxYKym0EJl0unvB9uV0mkQyycTELQCkVCpOuWwyPHz5H1mqVsWtDvg3rWrogbPth/vfyMw1qPnoUm8TUul0N6lUHKlR9zg7NDQjiPukTfsXQFV1bKtBWStNk2knlRYiczf2p2LddbY8sYm/ATWM+pwqaFlsAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./images/data/reaper_collapsed_RS3.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/reaper_collapsed_RS3.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAXKm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcQRroAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAFsUlEQVRYw9WYXYglRxXHf11d3dX39p3vnZ3sRtZ8sZF86K4JRo2oD+JDFGEhYlDfonnOQ4jowz7qg/omq0YQCYgo+CCDUUEkGgzCIOaDXU1wY3CdZDc7M3vvnXvvVHV9tA99u2auIaJvMweaunWr6lT/65w+dc4/+cwXHqt3rl9FpCkAaSppxXvHQQnek+UKAFuZ+Ptgv229d9R1QMocAOcq6lDPzDnYAjO6236rx1nHE48scuaeBxj0uyDmeEcJuyTVBvLvr1ziX69fRgiBSFOctYTgWVhawWiNsxUyywnBI0RzAJXRAMgsI1cKPZngnCVXBUKkOFsBUHS7OLt/QJXRcZ/2sBo9eRyTWT6zJ0CnWzLc2eJ95x9hPBxAssR/lURRJ8sIgFwVhBDIlSJXBVJmDG5sIzMZN2tfztmKbq8XwU5GI5yzFJ0ygm5FTyYNiOlLdns9RJoiRPOEEAghxINyzlIZjcxyVFEQfLPH7qAPwHhwFae3IQzAX2+esAt11bTxvwHUe0gpGzcUQuCsQxVFfIzWpKmMfQDnPd5aTt12mvFoNDMmM4kqStI0wU2t4q0FQBUFznvyokOCIE2TGX0A8wuLhANrllePY7RGFQWpELz48gb33DmmdluNgUQO6RqIHoQR+GvUoTFEUu+Q3HX/R+qrm/8keE85N8/m5b8mHGL54w969YWfV/zhJUUnM3zj8fu45dTtXHzlb5y/cAnrEj5+xvLYubJxSyFSRJpGCxxmeeb5CesbS+y6OW74k/zi2Tdw+lXWf3eJ0L2VvWSF9Y0lfv/nYQMOwE1d4bDLpz79MGk9oQ41lTacvfckWZ5w9201zlbYyqDSwAfPnkRIKamMJlfFkQC3spTzw/M3cf975vnyZ+/i3hOv8tVvv8DH3t/h3IdrPvTeE/zsu5+jFFeQzrlptPRHAtzTT/+Yhx4s+ebjHyW4Id/7qefZl3LueG6ZR8+dxpot3M6PeOZPgnhjC5FitD704J767btZf/4qT3z+OW551wqD3Yr5Mmd7vMiof5F/XNnhWz9xaHUfydkHP1Ffef0yldEcW7uJ1y7+5VBHy8XjN9eJENR2wtcfHXL37b04dvHyiK98v0NeLnPq1juQxmhkJoHiSFiuTRGtTfnaUzm7ozGJENR1YHmppFN2EXmGMbpxS2cdldFH4ipor6xQjXjhl19i4+Ut3tyC5XnL6blf89CTGmebHFUqVcRoeRTAAewO+qSp4snzF/jiJy0PrMG1HfjOrxSORZzRKFU0lgvBx/zx0FtOpAjhSWXG+sYiv3lRIURCZSpWjq8RwnaM/M03J7OmIvCH/zpovasymk63SeC99yRCEKZuKwFjNEKpImbq/ghkKUZr9N64qSKm3iazPCbpMZVUBcIYjRDpkQkozlYUnTLWlvvuKlBFMa0L08ZyHFFpC9pcqWnNGN7+fZa9eSqjmVtYPDL33EEw7TUmswyjGxyV0ZS9+f1KfG8yJs2yQw9KZvmUIchmKv9OtyTNMvYm41gEyPFouM9x6D3uPPOB2k4DS9Ep0Xvjt7XZ9BDSKfnjXYW1lt7cPKPdYVzrXUUq8zhedMqZ+W2/1WmtjW2r4+D8LMtIZY7eG7N8bC3qb9cP+jcilvFo2Fzirf9WxnDtjU1CCAghprxKwbDfn3Im/Th33z08wXuKbpe33tyk6JQ4WxFCoNvrURkTSaNWX5s09He2Yx15sDLJlaIyhspsRivkSjEaDiLgnetvUXS7TEajmIAc3CtGS+fsTHrTslAHy6CG0PGRqZKZJARPZTQhhBmWq33Z0XAw4zrdXg9nK/LpgQbvp4yZiGE9eB+JpRZIZRouR4gm9WrnOuuYW1gEYHBjez/YONvklsdWV/8/n5cS5xwtseSc+5/XvJN4V9Et55lMRjO86X/qWFldwznHwtIKShWRVx3tDjh+4uaZ+cdWV/k3rAQo1Oy03j4AAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/reaper_expanded_OSL.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/reaper_expanded_OSL.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAa4G5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3ePXqQAAAYVub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqIw0NAAANGG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+dZ7WgAAAAZub1BFAAAAAAAA7Gu72AAAAAlub1BFAAAAAAAAAAAAoYpy1QAAAAdub1BFAAAAAAAAAFrm3tAAAAh/SURBVHja7ZxvbBt3Gcc/vnNsJ3Z8sZM0aedMZR0J7VqgA2looMGKNHXrNGma9mIgjaIheNEiDRWpmvivakyA9gJerEUgNFQNhIAXE0JjvABENQGtEGXr2qysILUN6R8n9p3vj3323fHCvYu9JKV/k3P3fKQo9tm/ex4/9/j8u+f33Dfx5V1PBFwiP5gFwKhZlCZKGNUKRs0CoOU3aTUDsrkcAI2GhVuvo6hpMukUxeEiumECoOVz2LZD3XGw7RrjY+PRPk++dSJ6nh/M/t/tK+nDzbQlcb28LcvxeOSTRT64+R706gAogyyLXyPhHiHx7a/vCv52+AiFwgi+W0e3TFS1D89romVzKKkMlUqZK+VKx4bvW277SvqwErau9r3vtrhWqhY/+c427PoaWsF6SKSWdyRwwT1OMvxGGYYefeh8XltI5Hpj2X0slfDhPnTLBMtcdmw+ry35YcLtK+nDStiSuF7eVrPhY+nn8AIV+goLLyYykEhD0ICg3pHADom9T38mmJ4+AcDp0zPRa/2Z9hTCqVvRtobrRo/TqRQN1yWdWvwN0TQNXdcXvb7c+5fbvpI+rJQtievSthIJlb07M2ye2kSQKLbzVkmBOgZKDnwTvPMEfntsIpgnqeVzXT81/zg+k+C6mWH1mbkFbd3acX3yK/Daj8rBC792ef3tAYKgzrd2b2X97Rt4861p9u1/A03TmCpV+fyjWRTbdsjnNQqFETRNQxBWk1f/6vD6v9cyNDROf7bEy3/6L636SX7zh+MMj97Ops0fYtbawmv/NFHqjkOlUm7PTXRdoiesKtsfeox6w8TzfBpuk61b1tGXSnDXHQFz81Ualkl57iIf3jKOYtu1aBLeORcRhNVguJDiu18q0p9N8MD9d7Jl7Umeef4oH7+7nwc+qlExa3x/3yNklTMkx8fGmZm9gKr2LTnhFoSV5ODBl3jw3izfe/o+/JbBgV94TJ/O86tDGk89OkmzUaY1/yKvHlZRwuLxUrVBQVhpfv/3Dez5gc+xY4ewzbPoNZcAjzlrCLP6JtMnT7B3v8JscwfJ0kSJf506JVETYkEm3YfvT/DcQZ0vPjbD7sdz7CYATnHspMmPX1nHuvFR7to0RdKoVqKBYU1OEFYTRVHI53I8//MG58oOqqrg+wGjxQE2vCeLqioY1QrJcNpQKIxw8UJVIifEgiDw+OMvn+TIG2Vmy1DMN5kc/B37XhoA2n0iybDaYBh61yqIIKwmqtrH1/Yd4PH7G9wzBufn4YVXkjQ9hb4k2HaN5OTURmZmL+B5TSmVCbGhL6ny9ux6vvlik5bnk1QVTNtgarL9+uTUxu45r5TKhHidfRUG+tPRc89feGxUK+1Smar2AciZV4g1YX6qah9GzUIpDhej3ks58wpxJp1KRU1kxeEiStjPK4sUQi8Q9RQbJoqEQ+hVlLCfVxB650KuDy2fW+jnBaSfV4g1YX7m8xq27Sz08wLSzyvEmjA/K5UydcdZ6OftLEUIQhzpzE/brqGEmgJhKUIQ4kpnfo6PjXcvUghCr1ywGTULpTRRkhqv0FN4XpPSRAnFqFbQsm3pHennFeJMmJ9aNrfQ26CkMhQKIxIdIfYUCiMoqUx72pAfzEalMunnFeJMmJ+VSpn8YHbhBkzfrUt0hNgT5ml0wQaXxNMEIeaEeRpdsIXlB0GIO2GeRjdgdgrtfeFTOwIJkRBHDh89GvWeGzVrsW7DD3/2W4mSEEu2broNWKjzJsM6r26ZYR0tIWES4kh/JhtAR503mUpjXlKtllKZEGfC/DTrDZKpNMnOfl5dN4mHgLEgLEbTtGgxraufV/R5hbij6zq+W1/czyv6vELcabhuVOft6ueVW9+FuBPe+g4d/bxh+UEQ4k6Yp13Lw4LQS3QtD4P08wrxpjM/o35eQPp5hZ4gzFOjZi1UG0SfV4g7Tt3CMPSFasPk1MZoIiylMiHONFw3umCbnNrYPeeVUpkQZzrzU/R5hZ4784Lo8wo9euYVfV6hZxF9XuGWQPR5hZ5D9HmFnkP0eYWeRfR5hZ5F9HmFnkX0eYVb4oJN9HmFnkT0eYWeQ/R5hZ5G9HmFnkT0eYWeRvR5hZ5F9HmFnuWy+rz33j0ZACRV9aY5oCSW2Lfqt/977UY3P/BWNCihT9dr1/N9qoZFparz3Ofex54DJ1i7poiW68cPgmuO643y73K0vIV9x/H41yyjS593UZ03qao31fHlj7qy6om7bGCvkCAIcOou5y7qfHXnBO9f4/Dpj5U4d7GK02gSBMGq+ncl9MLxj22dd6UT90bSbHqUKzU+sjnLwx9o4lbLPDzVxx2jaeaqNVqeL7/713H8F9V546DP6wde9NerXx4/CDDtOs2mw7OfHcVzdPyWS70yx57tt2FbNk7dxQ+C2H65V+WMexXH/536vFE/b6EwsmL9vJ1Oxilhr8uXIMBttfjGU3cyWugnOThKZmQdmcIwY8UBdu14L82mB9eQvDfEv5ieXa/mM4X6vGE/bzLs59WyOXRdZzCbf1dOD67Xn0QiQbY/zbM/Pcsz+xt4HVMEVVXIDaQZKQySSCRuiXitRrxDfV7dMhkpaiShveRWqZTpz2TZ/uA25ufmqTdcfK9BKpNhzegY4Y2aWj6HbTvUHQfbrjE+No5RsyhNlDCqFcJFj+Jw8arHtPwma0bHxL7YX9L+oT//Bd0yo1aGxM4nHgoAxsZGsUwT03IAoiXjzvraUt1n4fbwok9JZaKx1zImdEzsi/13jlm3dpxsLsf58xfbc/ShoQGqVZvp6RPLFoU9r9nlRKeBsO6mW2bkTGdJ42rHLBc0sS/2z5w9E+1raGiAZKsZcPjIEaC7U73huqRTqUX/23MPE7fRompUusaEpYzwqvBaxoh9sX85++1bgf7Dtk/cx/8A/EcyrqMdMKAAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/reaper_expanded_RS3.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/reaper_expanded_RS3.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAe825vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz2Q1aAAABhW5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKojDQ0AAA0Ybm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD51ntaAAAABm5vUEUAAAAAAADsa7vYAAAACW5vUEUAAAAAAAAAAAChinLVAAAAB25vUEUAAAAAAAAAWube0AAAD3VJREFUeNrtXWuobddV/tZ8rLX24+xzzj335t7cpOmNaaJN0+ZVaDWlthCQVi0EFdGCSpUo4o/+0BZ/GPwjAR8IovUFPgoiKiI1UBVsNRSLcCmWliS2GtMm5nlfZ5+z99prPpc/5hpzz71z06Zau/e9zA8u+9y11nyNMdZcY4455hjFBz74cHf5wktgnAMAOBcgOGeRwjsHWVYAAKNV/Dv9P/06Z9F1HkKUAABrNTrfrTyT/gJYqZv+n9ZD/eFcwDkL7xwY5/H/1HejFRjnK/fT8VSDAdRiEcdEz6T9IXqk46Y20v6l46W+Ufn1OtO6v1Z767RepzH1Ix0zje9a5V8zO8ZHPniAe+56B6aHQ4Dt4DXhj1Ho8xD/+aUn8d9feRqMMTDOYY2B9w67+wdQbQtrNIQs4b0DY4HAWrUAACElyqpC2zSw1qCsajDGYY0GANTDIaxZElCrNrZDxAz1lPGekOVKmwAwGI4wPz4CgBUmW2MgpIR3DkKWyXUNxjnKqoJWKvbJe4+yquNz7WIOxni8RmNc7//6c1R/2v+qrnE8PVzpD9UjZAkhBbRSK/1mjEdapvQnujaz2VXpxThfKZvyS6v2muQfug533/EDmB9NgWIfXxNFha44AQYAZVX3jK1QVjWEkJheuQQhxQoTtArEGI7HkRjNbAZrDerBKBIlCkfTROICwHA8joRnjMN7D+99JKS1Blq1URi8C20cTw8jkegalWGM90zXPdEEvPewxqwIrpAlhuNxL8ShP2VV92N34bpz8N71wlbGvgshsbO7t1J22YdAn0UzD3X1ghuEyCeMsrDGREElIWOMrdCfMdYLpgq8kGUsFwTCw7vQX+p/yq9rlX/OGsynL8G2lwA/BdyF8M8fA50Ov/HaFOgWKN72zvd0Lzz31cjgqg6zS1XXUO1yMHTdOgdnDHb3DzCfzWCNivea+QxVPQLnBWz/Vrqe8FVdx2sFGDgvVuoDACkl/FoZ6gP9XdU1nOvAefGqe0JWsEatMID6lj7rXIcOHoLzV9XBpYztr4NLGcsIWcUxUP1cyjhmapfupf1Ix5XWuV4mpVtap3UOop/B1vufjvta4l9zfIxf/WmLu779TnTFidAOKwF+GmBjwM8A9zI6H17EoruM4s63v6t76fln4Z3DaGeC559+qkBGxobwL3847j721xqPf6HEUGo8+uH7ce6W2/DEl/4dj3zsSRhb4D33GDz80CioDTR1p29+RsYm8MnPNnjs/D5anMQri5P4xD+/ANt+GY99+kn44a1YFAd47Pw+Hv/cURBeUp4zMjaN7/2+HwTvGjhnYbXGvW89C1kWeMu3dbBGw2iFinu8896zYEIIaNWurMIzMjaFg/0Sf/TIGdx3+wg/8yN34603fhm/+Bufx3ffN8BD39XhO992I/7yd38YI/YchLU2rrgzMjaNj3/8z/D+B0b4tQ+/G94e4ff+wuHxL1Z402dO4CcfugNGXYS9/Cf45L8yRIs2Y3xldZqRsQn8wT++EX/72RfxCz/6GZy7+QDTY41RLXBpvofZ4RN45rnL+PU/t2ir+1Hc+8CD3XNfeRpatTh5+gz+64l/y9aGjI3hzLnbO6MNbDvFoz81w1tuG8d7Tzw9w0d/f4BydAK33PomCKVaCCkA1Hnmzdg4rLEoigIoJB754yEuX56hYAUKFNjfH2EwGoKVEkq1QW2wxkKrNpvKMrYC3juUJcfn/uYncP6LF/HiReDExOCOnb/H+z/SwprgQyGqqo7Whiy8GVshuFUFrYCf/6XfwY99j8U7TgMvXwZ+++8qWOzBqhZVVYeZl/b2MzI2DXJIKqsan3riJvzD5zXq4QhtM8f+wSl4f2npX6JUCyFkcG5x2VyWsVm0TRNNt0ZrjCd7WMznkGUNj+CVJkTQeVlV1dFTyOVdtoyNqw0+eAb2E6lqg/edVi2cMUtXhqoOMy/5hmadN2PzakMNayzq4RBlVaNdzHvXUImqrnu/YR5m3kyujG1CVdewRqNtGggpUA9GKKvqqs+y0XgCrVrs7O5lO2/GxrFo5sGB3hrMjqb9IQOLsqqg2iCnWrUYjSfLkxSLZh6dqTMyNoVwQsP1M27dH0XSmB1NwaWMJ1aCtaFtYqHxeJKpl7FxpO65Wql4TGk8nsQjRKptwswbzn05zGezTLmMjYLO9lV1Hc/KkUFhPpv1ZwyDPxmz1vanVPmrzn9lZGzC2kBqLB0Y3dnd6zfSVHJo1AZndNHrutlUlrF5lUFH1SBoBSWmVy6hHoyifAopIYQIzuhLPSJbGzI2CzpKH+Jk8GjXTeWTMR5m3lAgbwtnbI/aYI1Gu5jHmXbv5KkVGY2+DUKIZIquMvUyNr5gA4DxZBfH00OUVY3Z9LAP5rKUTyFEWLDp3iE9DaKRkbEpjHYmMVoP+Tl478F50YfNamGtDf68QkhYY7POm7EVasP8+KgPJeXQzGY4efoMVNv2sdcshJCJYw4Puxp5hy1j06jqGqOdSVQdvHdo5rO4A+x9iCy5dInsV3PZJTJj0zieHkYNoG0a7O4foG0a+CQmGmOJSyT5S+7uH2TqZWxcbSCLAuMci2Ye7+3uH8QdOKXaoPPSFly7mOO9P/TjXSZhxjbiq09+IcpqVdUQztkY61W1Lf7pr/40UyljK3HTbW+OdmDnLB3A9LBGk1E428sythUdRbgHQF5l2bch49qwRKTyygBAViGEvXNZ3c3YXpB8krwyzgVUs4g7GBkZ2wrOC3jvoZoFOBdB511Po5SRsa1IsxEJpdq4d5y3hzO2GSGGQ1isKdUuvcpE3hrOuAZAciqECDpvmi8sI2PbEdZnvc6b81FkXDs6bzhhEWbfmK3RZTtvxtaDUukKWQY7787uHoTIOm/GNaDz9ql0AYDNZ0cxxE5GxvYv2Eosmjnms6PezstC9susNmRsM9bzSLOqD+Sb+k1mZGwrFs08rM+iM3ofyDdHRs/YZpB8eueW8XmFLMPR4rxNnLHN+i7n/RH4cqk2WKMhZJm9yjK2Gs51IXav0aunhwHkQHsZ26029PK5cnqYopRka0PGtWBt0H0eNiZkGU1l2assY5uh2jbG7RWyBKPDl4tmnmfejK2feSmsvzU66LwAVmKiZmRsK2K4U9WC7R+cioH2MjK2HRRob//gFNiVSxdCsramyZsUGdttbXAupne9cunCahLBvEmRsdWz7pp8RlMZ4xyyzMGlM7YXsqzAOF+ayoDlSYrZ0TRTKGNrQfK5TCLYn6LI1oaMa8XaQFEiGRAyDmZ/3oxtB8koZcgUQogYIdI5mymUsbVo5rM+iXa9zMNmjQYATPb2cOLGWzprDISUsMZE/YI8z9Z/vXfwLgQCTp+P5o3+OfKfEFJGtzZql/6uh0M0SQpZxhiELNEu5qgHo5U2KaUnRVDRqo3n8MjRiIKp0I6M9x6MsXgNQKyL6ibQuOrhELOjaWzfe4/heAytVCxH9WnVQpYl9KIB93P85s/eiZ/7rafAqhFEWaGqa2iloFUb2y+rKtZP9CI6lFWYaebHR2CcR9UupTl9OYlf67/XE/+GozEuX3gl9MtaOknhk86aUCHjYIzFDQzqIOWvoLCoQQfxUZEOKebDoNYdfpYC42NdqcDMjqbw3i0V8sQ0EjLALNMOhFOkbOmLLGSsyzsXLSgxoiDny+eTnF6kQxGDKA9zOFHtYc3q16isasyOpnFsADAcj0OM47KCbhdomxl+5eFzuOeGFh967xugF3NYrdD2p1VIULVqwbmIviVEN2tsPGQ4vXIJo51J8qK4yNSr8et65t9yYvGvtjbQmzXamazMRFqpGGZd9ycvyqqODC+TvBZEiHR2IYcfIsZwPI6EJ4aQgxC9ofRMyuyyP7JEQkcDCgzxcRaguuIJkSQlqPcutqFV2+e3NXGmCJ+lqiemhFYt6sGoF4Ky17XkCiO1UglTFR68f4Lvv9tAH17EB75D4q6bB/DWAEWxMtsLIaHaNvqWCFlitDOBkAKqbdEu5vEZEpYwq5ZRUNf5db3z76rWhlTqqbPpW1RWFawxGE92ceLUDcknQy7zuEkeiVJWNbjk8S0N12Vfj0U9HEJIiXo4jLMKDS4QWUWhCp5EDGVVxQEJKWM5EryUwNQPGjQxn8rUw2FM0lwmtm6aDalfKSiRM9UrpIhlvQuJnUfC4NEP3QC3mMJbjfbKJXz0fTdDdC28dfDW9kIn4gxEzCRBodmevKfSr6LoM+LQ53SdX9cz/0i4ydrAz91x1y+//MKzYJyjKBhUu0DX+f7tNTC615GsgfcesiwxvXIZXdehYAXKqkJRhM9T0W/YWaNhrYHVvQ5VAM5aVINBZAx9QroudHgwCrNb0X/yVLsIyeQWDbx36LoOWikMRiMYreGcQ8EKcCFhtMZgNIL3HgUr4KyNguichSyr2F6qIoTPUgh3xYVAUTBQmgNrDBjn4ELAGg1ZVuFva9B1HoxztIsGzllwLuC7DvAOjz78Rtx3+wCFkNB+Am2G2N0b4/TJCc4/s4C1pq8z0PPUmbM4nh6iGtT9LN6i60IOMto0Ivp0XRfLCSlRFCz2h/jlnLtu+ceFgNFhzXD2DbeiuPPt7+peePYZCFlisreHV158fkX/oAUJvXVaqfj2pAsfimRCbxC9IeniAQAG4xHmR0cYT3ZDuaaJn4ygO1JGThkXTEQw+pSliwh6260xcSG1fM5EvYqu0SIhXQikC42Tp8/glRefj6rC+gKPXgCqO+rTBYPWLaxqYbRC13kURYGu6yCEBOMCKArsnTydqBkuqiXpl+Fq7RAdaHYl+tJCh/hFqsb1yL+Tp8/g6PAQ1micvaUX3ldefL7/xFTY3duH6TtaD0ZxpZj+yl6J5qKPqG41jDEY70wwOz6KZZ3V4KKM90n3Wf8/1WmMib+prkTPSynBxXL1SvWn5eNWYv9s2pazOt5f7/t6X9bLUpvpM1TPOo3SRQnRhOpM76VlqG/rNKB2Xosn6/SiPl+P/Lt88eVo5bnhxptQ3PvAg90z//HUitnkW2FSSt+4dWWeZohvpkmJZpB0Zktn1nS1nc5ar9eElM5YmzQBrv9ej/yzRuPW298cFmypCeNbYlIiover3rBy1pExlDT5m2FSCouPKlmdi2gOKqsa9XAYFxCpGShdeVN/aSxLm6eI92nF/PVMSLSg+f8yAV7P/IsThzVQqkXx7vc91F28cOF173IIIULG7T4otbX2dZd5LTirMRxN0DQzcC5es460vaqq447g7Hi68rkGEBdS3yi+Xl//r2W/Ufr9b8dxvfPv5KlT+B8FiFlLoxQJ6gAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./images/data/slayer_collapsed_OSL.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/slayer_collapsed_OSL.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAXWm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALW4o8EAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAFNklEQVRYw92YaWxUVRTHf/OWWTqvM53ptNOBVpaCLAo0ERqQILhEwEACiYnBxIiJ3wgJGhPBKAlI+KhGTEAxhEQxBgyRoAgRiQGRpUqlu0AFStuhU2Z5s79Z+vxQZugaKmAy8P/y3jvvnXvOefeee+75G95Zt0bnNmzFVgDCkRiVVZWEQ0HCkRgAmb40mbSOVVEA0LQYqWQSQTRhNhlxljpRw1EA7DaFeDxBMpEgHo9Q4a7Ij3np79b8s63Yelf5UB+0ZBaDKBGJxglHVDJaCoMg033zFlbXBHbu+JgPt24j/s8pDNs3r9PPna/D4XDRl0qixqKIokw2m8ZuVRCMZoLBW4wVY9XNfTeafKRxNC2NPxil0+tHNlupnjABk6WYxpYG5tUuYPsnOzn63ddcvFhPV90xpNzfDofVvDGbzX4n0KQ2aiAj/ZDcGGosCrHoqLo2m33EwHPygT4ICY1EMsX1zl6cpR72ffEWU8ZPxVxWzrnG65w9W8ezy1Zw+pej1J35Df3aCZp6+jC8u+F1va2tFYCOjq68EYu5f4kmkrG8TEul8vcmoxEtlcJkNA5z0G63o6rqsPejfT+aPOdDNB4hqCaYNH0uX21ZiS/pos+gIFiK0JH4fPceMqIZxSLS097A4RN/8PySWiS7TRm0ROpbugzcN7p40LAVK/qO91dz02+hs9eLL55ikseBWTbx2urn+PbgT5T4G6iZOZ2sfxxZSUSKxxPYbPb+paRG/xfHHgRWL1vM+ZMX2Hu8mWgoxIGt6/CKBjZs20VbUyNvrFqEUL2UL4+dprxPoPFiK0IykSAYvNW/vlWVQoXHU05LRy+vrnyRRXOfoLvIxfotu2mq/5P5s6s519iOzaLw9DSZqGxnzoyJCPF4JL8BDMypQoOvN0A4koJwF97OaxRJEgFfd38SdHrp9oUoLy3hmyNt1Hpg9iQnUoW7gi6vD1GUR0zqQsHVbj+GTAyj1ku7P8OVlhbefGUFlzv9VI1zsvSF5eza9SmlLgWpahYNfzUg5ArkSDWnkNDc3MINX4RzV25iFGBxzWwqyxWWL5yKQ0ixcdNGjLrORx+sp0RP0VzfhFBZVcnDAKtZwl1ShNcX4dq166x9bxsRNcrPh37g/JlTvL12Ga4KDwcPH0HMenl5dTVSOBQcVlcKES5HMVdvdPPkzCm0Xu7gQksbF5ovoWNgxZIadnx2kJpF81k4y0Nx1UQeaz99Z1k6HK6CnjmzScbjstF2pQPJaMLuLEPLZFEjMQ4cOc3kp+awakElPREre/d8z6Z97Ui53TIcVgedRgoNBoMBi9lEpdtJQkuRTmeZ6ClFEAwktDTHfv2dH4+fpFgpwm63MrdmKtLj02bQ5fWRzaYLuhT0BwiyLCLLFnRdB/oPUzZFx2lX8If8VE8ejyyJ1NbOG5xzhVwKRprJgfcmo0Sx1YLZJAMQUYP9OSeK8rCD8cOInP+iKBOOxBCcpc58//QwzdxIMBmN+SbAWepEyPVzhV7Ex4p8PxmOIvAIQ8j1c48SRFHGblOQAv5AvrW3mK1s37xOD/gDJLUUfVkNo9lMeZl7TOTPQDJnrITRUAKovMzNvdrfv/9QnqoI+AMY1q55SQdwu8uIRaNEYwmAYfzG3Qgdu7WfFRtICt2LTu6kdC/2bQ4HVkWhp6cXAKmkpIhQKE6ORxlNeeDAAx3I7bRqLJp3dmhy/xed0YIay1jqbULK4XBRUlKElEnrnK+rG1bEc6TN0GuOjkhpGULh4CCdoaTSvejcj/07te4qzy15hn8B0nEpIgoaSy8AAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/slayer_collapsed_RS3.data.png":
+/*!***************************************************!*\
+  !*** ./images/data/slayer_collapsed_RS3.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAADcAAAAZCAYAAACVfbYAAAAYyG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgO3bMAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAGeklEQVRYw9WYXWwcVxXHf3PnzsfOfnhjr22SNMjOR1OC6gRIS2gJX6ooRS7qAwIET0gRL6gSj+UBoZaKB4RQhVQRRKmQqBACVPEApUiABDSQNECCE7upiI1J7Nhexx+7O7s7H3dmeJid8W4lJHhbjrS6c/fee2bOOX/dc85f+8TnvpBsb64jdB0AXZdkEkWKfomjCMO0AAgDP3/un2djFCmSJEZKEwClApI4GdjTPwIDurN5v54oUsRxTBxFdNsuge+hCQ2h6WzV15iaPsx3n3+Orz3zLJ2lPyJvvrnAyvIiQgiErqPCkDiOGNk3hu95qDBAGiZxHCFE6oDA9wCQhoFpWXidDkqFmJaNEDoqDACwHQcV7jko8L38PZmzUj1mviYNc+CdAAWnSLvV7BkWEnQ7jI5VuXd6CrtQ4drCHO898xBff+47vPqzl7ALBludEAlgWjaB72E7Tv5xjZ0tSpWR1OthgND1/AOcUgm32UAIm47rEscRdqGI121jF4q5MV6nM+AYp1Qi8P3cSSoM873SMAh8jziOMS0by7Zpt5pIw6TV2IUkQQU+J45N842vnuPowWPY4xNcuvYvLl68zIc/NsuF377K5T+/RrL8Oy7fCpBSpjAUQqBChWXb+c/3PHRd5nMAFUVEYcjbD99L23UH1qQhsewiuq6helGJegZYto2KIky7gIZA17UBfQCVkSpx35nR8Ql8z8MwTUKvw8mZ+3np6Vnq3ghrOx2EV2eyWmb99jI/fPEFSgWdsLnGy39pcXD6KNqJ0+9P1ldvEUcRxXKF1cU3NIZQTKuQXH7lm3jNAiub29Q7AdP792EbFgiNH7/8K8aCOaYO3Mcvfn+F1+/KFJYZTLIIDKN85vGP8Pof/sYPfjOPu7vLT5/5Imu6xpeePc+N69f4/BNnEUce5YVfX2Ai0fEbdxHZ4X78D6McODDBwq1NPvv4Rzl7+p3ccWo8+fT3uH7lr5yZOcKla4tUCiUeOm7gGiOcPX0cIaUk8D1Myx5q4zY2t2m2AmiusrayjCMl2/U7AKyurHGnvsvEWJUfvXKDB/fDzPQoUimFadn5tTussrSyhR63Mf1NFrcUNxcWOPfpWf6xssWhA6M8+shjnD//bcZqJeSh+5m7OrcHSyF0fM8bWuPmFt7gdr3FpZvrmAI+eGqGeyZKPPbwMfaJgKe+/BRmkvCtrzxJNQmYv3Id7V0PP5LcXl4k8D1qk29jaf7KcN6WTil54MRhlv65TJQITr7jCB//wLu5eulPuN0On/rkLBcX6rSbG9xXS6i762kq2L67kee4YU0FlbHJJA4DzsxMcePmbbp+FxJBgsbsh06x9PdFTp09wwNHTcqHpogXL6SwVKHKS6phFadUBl3y2tUlNMOiXB2nG0bsNFx+8ssLHH7PSZ543z1stIq8+P2fc+75+RSWi2/OY1o2lWp1aGFZOzidZAV46PsITUMTAmkYtFtNiGMKtkEQKGJNMH3sRBq5OI7yYndYJa07I6Q0MUwLyykSJwlCN6jWJrCKJcq1/chCEWmY2E4R6fseUhppRxANdzpQYUh5pJgbaxeKaWC6AaCh6TIt1EWE73sIy7IRuo4Qel6wDqOk7VVazHvdNtIwcrRJw8yLdCF0hK5jWTbC9z2ESNuZYa4tAz/tLVUYYBeKeT28l6cFlm332jI9jRz/J5JCMO6DaNrQmlbavfev5QYXSxUC36M8Uh3qCiVrqnPKo2dMlsakYeB7qR2B71EsVdLImZZNt9NGN4zhvy0NE2nIvHPPpOAU0Q2DbqedO0G23eaeAq/L8VMPJmHvYumnDvpHo+cEvUf+RCogDENK5Qpuq5mfjVSALs18PaMg3jrPdIZhmI+Zjv79hmGgSxOv22a0Npnrz843dndyW9puE2lZdo7fwPfZuLNKHMcIIXI+o7m72+NBdvO9e/CIiKMI23Gor61iF4qoMCCO4wHOJPsv42tMy2Z3eyvvI/s7E9OyCHyfwF/No2BaFm6zkRu8vVnHdhw6rptzLv3vym9LpfZSQJoWxAD7lHUNGSxSjEviOMpJnX6WK/tYt9kYgI5TKqHCALPn0DiKeoyZyK/1OIrwOp2ByAV+yuUIoadcTG+vChXlkSoAjZ2tvctGhfi+h6yNj/9v+UZKlFJkxJJS6r8+858kUgFOsUKn4w7wpm/VMTY+iVKKkX1jWJad86puq8HE/oOD5dr4OP8GnWaF+iWIoRwAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./images/data/slayer_expanded_OSL.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/slayer_expanded_OSL.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAafG5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejEs8AAABhW5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKojDQ0AAA0Ybm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD51ntaAAAABm5vUEUAAAAAAADsa7vYAAAACW5vUEUAAAAAAAAAAAChinLVAAAAB25vUEUAAAAAAAAAWube0AAACUVJREFUeNrtnX2MHHUZxz87O/t2u7dzu/fe7im0tKUIpWptKoggGilSEpqYGDDGEkn8oyFBMREMakDA/9SICUUMwSjEBEM0CEJEYsAKbZVCX0/oQWnveu3dbXdn9n12Z8c/tjO3x93VXgt7s+X5JJe7m5vfPL995tnZZ57fM9/zfW/rzTaniHdGATByBVJDKYxsBiNXAKBWr1Kr2kRjMQAqlQJmuYziDxEOBUl2J9GNPABaPEaxWKJcKlEs5hjoH3CP+dZ/D7q/xzuj/3d7K+fwYdoSv56ZrXiXxvETaXL5IorPR6VSoVIxOfTOEboGV/DwQz/nJ/fdT/GdV/A9+KOt9o6du0gkeqibZfRCHr8/gGVV0aIxlGCYTGaKM+VMxzr7zbe9lXNoha2F7vtR9GulUiWdyTM6niYYibLsYx8n3BFn7/49rFu/gQd/8TDP//H3vPnmbsZ2vYDqvKMMQ3dfdDyuTQdyuTKvsbkC3jmGXshDIT/v2Hhcm/PFONtbOYdW2BK/zm+rq6ubvGEwfHSMZPcSnvj1d7ho6QrCvX3s2Pser722iy9s3MT2vz/Prlf/iX34JfadqOP7/h3ftIeHDwJw5MiYe8BIuJFClMqF6XeGabo/h4JBKqZJKBicNRlN09B1fdbf59t/vu2tnEOrbIlfZ9sqlSsUSjUuvHgdv7v3RibKPdR9MZRIBzYqjzz6GDV/mFjEz4mRPTzz0r/54jXrUbV4bMZHze4DYz7OmTEWn7Hz0Nb569d4Z8x+6J7NHE9HGJ0cZ6JocuFggnAgxDc2X8sfnv4rXek9rL3kYqz0EizVj1oslojHtcbHgZ73iIOEjxqbN17Nzpdf5/EX95PPZnnqvq2M+33ccf82hvft5dabrkJZfh2/eWE7fXWFvW8eRCmXSmQyU43cRNfFi8KiMDjYx4Ejk9xy45e5at0nONbRw+33Psq+3f9hw5rl7Ng7QjwS44pVAfIBjctXX4BSLObcJLw5FxGEVjIxeRIjZ4IxxvjoYTpUlZMTxxqJyug4xyay9HV38eRzw6wfhDUXJlEH+gcYG5/A7w/MmXALQit491gaX61AsDLJSLrGoQMHuO1rm3h7NM3QkiTXfel6tm37Jd09MdShy9jzxh4Up3g8V21QEFrF/v0HODqRY8eh4wQVuHrtGlJ9Ma6/cgUJxeSuu+8iaNv87Ie302Wb7N+9DyU1lBLPCYtONKzS39XB+ESOw4ffY8sP7ien5/nbn//Czldf4btbNtIzMMjTzzyH3xrnq5uXoxrZjHsApyYnCK2mJ9HJu0ePceklF3Hw7SO8fmCY1/e/hY2PTdes5aFfPc3aqzZw5WWDdA5dwMdGtk+nDYlEj3hQWDTCoQCDPXGGDx1BDYbQkr1UahZ6rsBTz21n2acv56bPpjiRi/L4Y3/i7idGUJ1qg2HoM1ZBBKGV+Hw+IuEQqf4kpYpJtWpxwWA3iuKjVKnywj/+xbMvvkxnrANNi7Ju7QrUlatWMzY+gWVVpVQmLHIAQyDgJxCIYNs20FjsjcdsklqMdDbN8mVLCah+1q//zMycV0plgpeuxM0/h4IqndEI4VAAgJyeaeS8fn9jg1x5BS/jxKffH8DIFVCS3Um391KuvIKXCQWDbhNZsjuJ4vTzyiKF0A64PcVGHkXcIbQritPPKwjtgt8fQIvHUJr7eTVNE88InsWJz3hco1gsTffzAtLPK3gaJz4zmSnKpdJ0P29zKUIQWk3NsqhZ1mn3aY7PYjGH4mgKOKUIQVgsVL//tH9vjs+B/oGZixSC4NXAff8Nm5ErNPp5pcYrtBOWVSU1lEIxshm0aEN6R/p5BS/jxKcWjWFkT/U2KMGw9PMKbUEi0YMSDDfShnhn1C2VST+v4GWc+Mxkpoh3RqefpKibZfGO4HmcOHVv2OCUeJogeBwnTt0bNqf8IAhex4lTI5tBdeq8Trns27fcYIuLBC+y84033N5zI1dATQ2leHtkxN3hkSefFS8JnuSTlywFpuu8qlPn1Qt5p47mEzcJXiQSjtrQVOdVgyHyp1SrpVQmeBknPvPlCmowJPq8QvugaZq7mDajn1f0eQWvo+s6dbM8u59X9HkFr1MxTbfOO6OfVx59F7yO8+g7NPXzOuUHQfA6TpzOWB4WhHZixvIwSD+v4G2a49Pt5wXR5xXaAydOjVxhutog+ryC1ymVCxiGPl1tWLlqtZsIS6lM8DIV03Rv2FauWj0z55VSmeBlmuPTzXlFn1dolysviD6v0KZXXtHnFdoW0ecVzgtEn1doO0SfV2g7RJ9XaFtEn1doW0SfV2hbRJ9XOC9u2ESfV2hLRJ9XaDtEn1doa0SfV2hLRJ9XaGtEn1doW0SfV2hbTqvPe8WnVtqwsP+LtVAU3xzH9tcb361Go1vdtlrqFGdO52rXqtfJGgUyWZ2f3nYxd247yGBfEi0WoW7bZ+3XD2p+p6P5P1B68fznCsYMfd5ZdV7V7/9QJz7/WVcWPXDndewZYts2pbLJ8Umde7YMsaavxNc/l+L4ZJZSpYpt24s6vzOhHc6/Z+u8rQ7cD5Jq1WIqk2PDpVE2XV7FzE6xaVWAZb0h0tkcNasun/vncP5n1Xm9oM9bty33q13fPHXbJl8sU62WeODWXqySTr1mUs6kuXPjUoqFIqWySd22PfvmXpQr7gLO//v1ed1+3kSip2X9vM2T9FLAntNcbBuzVuPH37qI3kQEtbOXcM8Swolu+pMdbL1hBdWqBWcRvB/I/Dx6dV3Ia3L0eZ1+XtXp59WiMXRdpzMa/0imB+c6H5/PRzQS4oHfjnL3wxWsphTB71eIdYToSXTi8/nOC38thr8dfV69kKcnqaFCY8ktk5kiEo6y8fprOZk+SbliUrcqBMNh+nr7cR7U1OIxisUS5VKJYjHHQP8ARq5AaiiFkc3gLHoku5MLHlOrV+nr7Rf7Yn9O+6+8/Cp6Ie+2Mvi23PwVG6C/v5dCPk++UAJwl4yb62tzdZ85252bPiUYdseezRhnYmJf7L9/zJLBAaKxGCdOTDZy9K6uDrLZIsPDB+ctCltWdcYkmg04dTe9kHcn01zSWOiY+Zwm9sX+0dGj7rG6ujpQa1Wbnbt2ATM71SumSSgYnPW9kXvkMSs1skZmxhinlOHcFZ7NGLEv9k9nv/Eo0Ltce83n+R+bCm28wSXdjwAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./images/data/slayer_expanded_RS3.data.png":
+/*!**************************************************!*\
+  !*** ./images/data/slayer_expanded_RS3.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports=(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js").ImageDetect).imageDataFromBase64("iVBORw0KGgoAAAANSUhEUgAAAK8AAABLCAYAAAAGR9fhAAAehm5vUEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYX5ysAAAGFbm9QRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqiMNDQAADRhub1BFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnWe1oAAAAGbm9QRQAAAAAAAOxru9gAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAAHbm9QRQAAAAAAAABa5t7QAAAQyklEQVR42u1da4wlx1X+uh7dfR9zZ2Zndvbh127sTWxjr53YRCaOQyxZBIMTBQmIBD8QIfIPIBL/CD9AJARZAgmiSBGOAhFIEUIyivIDQkA8xGPBD4Gdtb12FK8fa++ud2ZnZ+6de/t2V1dV86P61O17vSYOhJm7q/qk0b1zu7u66pzTp0+dOnVO9LGff7i6tPEmGOcAAM4FCMZoNGGNgYwTAECpCv+9+T99GqNRVRZCxAAArRUqW02d0/wEMNU2/d9sh/rDuYAxGtYYMM79/9T3UhVgnE8db44nabVQjMd+THROsz9Ej+a46R7N/jXHS32j62fbbLb9P91vltazNKZ+NMdM47vS+WetxXi0g1IpqCJHxCKwiOPSxgXccOQIvvylL+B3Pvd5ZC//K8RL3zmFN149DcYYGOfQZQlrDRaXV1DkOXSpIGQMaw0YcwRWRQ4AEFIiThLkWQatS8RJCsY4dKkAAGm7DV1OCKiK3N+HiOnaif0xIeOpewJAq93BaGcAAFNM1mUJISWsMRAybvyuwDhHnCRQReH7ZK1FnKT+vHw8AmPc/0ZjnO3/7HnUfrP/SZpip7891R9qR8gYQgqoopjqN2Pc07JJf6JrNhxell6M86lrm/xSRX7F8s8ag1LlyEc7WFldxrvfdRRpuoBnT53E++/5AB75wh/hW3/5NaQtic2shACAOEmhihxpu+0739/aRLe3OMUs6mC728Vw0AdjKbLhENYapK0O8vEIaaszEY4smyJcu9v1wkSdJwgpa8I7AUvSFKOdAYSMsdPfvixhSACoj0RwascJBffXCCmQZ5lnPjHLWuMZQczw2soaCCHRWehhtDPwxGeMTwmptQZxkvp7NYXS9U83hJZBFXl9f+bPT9ttp40YhyoK/7CoIoeQcqpda8zUwzThV3pF8k/lY6g8w203H8Pv/dYv4aZrjiHdv4Ynnn0Njz/+FO7/8Ydw4h++haf+499QvfqPeOqMQnT8ng9X515/zTeapI4gSZqiyHPfOfpdGwNTllhcXsFoOIQuC38sGw2RpB1wHkHXwmDqASZp6n+LwMB5NNUeAEgpYWeuoT7Q9yRNYUwFzqO3HBMygS6LqVcl9a15rjEVKlgIzt/SBpfS338WXEp/jZCJHwO1z6X0Y6b70rFmP5rjarY5e02Tbs02tTEQ9UM02//muK8U/kkpsX1xHbfffhxf++xPYj1fhY26YK02Kgh8+StfheYpui2OC6dP4ut/9ySuOXoTolvv/mD15tkzsMags9DD2dMvRAgI2EV0llYrnWd48q9/H/mghTc2LmE9Uzh6aBmpTAAW4S++/jdYUSdx5PDN+Kt/fhpPXhTObCDV3XzyAwJ2CyyK8ImH7seT//Jf+NO/fx7D7W089rlfwXke4dc+/yhefO5Z/OLH7wO78SP44789gbWKo+hfBGsazwEBewFrLQ4dXsOpMxv4uY/+GO67+4dwrr2KT3/2K3ju6f/EPcdvxBPPnkav1cUH3iMxlIu47+73gAkh/OQhIGAvoEuF9Y1LGOwoYHAW5994FW0hcGn9HADg7BvncW59G2srS/jzb76I9x8Cjh/dB6G1Rpyk3q0RELDrZgMXePnsJrgZIS42cHpT46VTp/CpTzyE776xiesO78NHHngQjz76RaysdiGuux0nnzk5MRsY41Oz04CA3ULSauOZk8/h9fUdPPHSm4gZ8KN3Hse1a108eO8xLDOFz/zGZxBXFf7gNz+NpUrh+aefQ/Teex+oXn/1NFSRY/XAQbz8/NPB2xCwq1g+cG2VDQe465Yb8Morr8FUDHfcciN+4kPvwzNP/DuG4ww/+9MP4fFT6xgNLuDm1Qrrwzedq+zSxQvQpUaSpsFVFrDr2Hfo+spoDVOMcc/xo3jxpTMYF2OgYqgQ4aEP34mXv30ad953D374phgL1x2BPX3CmQ261H7lJiBg170NxkDKGDLt4MS3XwZEjIXl/RiXBlv9IR775gm866478PEfuRYXdjr46p98A5/60vPObDj9necRJyl6S0vBbAjYdXT3rVVCuNVJRABnzAXmqKJehteIqgpJzKGUho0Yjh671S1SWGt8bEBAwK4Lb28ReZbBWot2t4tsOEScthCnbVhr0On1sLO1hYXFRfS3LsEag7TdASuKHEJIF9FkgrssYPdBgssYQ55ltevWQhU5Wu0O+pubEDJGxEUdYBWjKHKwJEl9lJUJq2wBewCK4nPRZhZCCh/lV+QuxFMVOUxZgjEOxjmSJHWal2JDQ2xDwF6BQkddWKlG2m4jTlLk4xHiJIWQEkma1mGd3GneQLaAufA4WAtrjQu9LFUdSyyQtjqIk+TyAt/p9qCKHAuLS2GFLWBPQMH2uiwxzkYuaF2XGA760KWCLjXiJEGROzlVRY5Ot+c0b5ykGGcjH0wdELDbaLU7botRvbPFady03oqkMBz0waXEOBv5IDJW5Fltc3B0u71AxYBdR7vbRX9rE1o7h0EzPFcVBbQukbY66HZ7Pva8yDOneYUUsNZgNBwGSgbsOrLh0Alnb9FvIE1St7+Q/lSRY1TvtxPS7ZBmWut6lyp/y/6vgIDd8jRMbNvUm7GqcLufFxaX6oU0t+KWDYfQWrtgdFHbusFVFrAnwss59u1fg5DC7XRmk+3xQsbob20ibXW8fAopIYRwmndiRwRvQ8BeaF6O9fNnfdIR+o1SMszKJ2PcaV4AYRdFwJ6CBHS0M/C5L/LxyGvapdX9UzJK35kQoqGik0DJgD2xeRljPp4BcME6O/1txEmKYX+7TvAykU9vNjgnsZhKohEQsJvQukS72wUAdBZ6yLOsVqguzsFaC86jOm1WDq01RJKkEEJClzrYvAF7Amtt7SZzKa5GOwO/XJwNh1g9cBBFnte51zSEkI3AHO5WNcIKW8BeYPXAQQwHfR8c1lnoedPBWoNsNPQrwNa6zJKTkMh6NhdCIgP2Auvnz4IxjsXlFez0t70FkGcZFpdXXLxvIycaY42QSIqXXFxeCZQM2IMJG0er20F/a3M63SznGGcjf97i8opfgSuK3Nm8tASXj0e4/2d+oQrkDJhHvHbqpJfVJEkhjNHQpUKcuBSU//TYnwUqBcwlrrnxFu8HNkbTBkwLXSpyCgd/WcC8oqIM9wAoqizENgTMP5qxDV54ZeI2wBkTzN2A+QXJJ8kr41ygyMZ+BSMgYF7BeQRrLYpsDM4pM/pMGaWAgHlFsxqRKIrcrx2H5eGAeYbL4eAma0WRT6LKRFgaDrgCQHIqhHA2L0lzQMCVADc/E5MiggEBV4bNyxEntc1LVRVpx2ZAwDyDSukKGTs/78LiEnx+1ICAebZ5hcTC4pLTwqPhwKfYCQiY/wlbjHE2wmg4mFTATNI0mA0Bc43ZOtIsqWuwNeMmAwLmFeNs5OZnPhi9TuQbMqMHzDNIPq0xk/y8QsZua3FYJg6YZ3uX83oLfDwxG3SpIGQcosoC5hrGVC53b6mmdw8DCIn2AubbbKjlc2r3MGUpCd6GgCvB26CK3GleIWPvKgtRZQHzjCLPfd5eIWMw2nw5zkZB8wbMvealtP66VM7mBTCVEzUgYF7h050WOdjyyn6faC8gYN5BifaWV/aDbW1uuGJtWRYWKQLm29tgjC/vurW5MV1EMCxSBMy11p2RT+8qY5xDxiG5dMD8QsYJGOcTVxkw2UkxHPQDhQLmFiSfkyKC9S6K4G0IuFK8DZQlkgGu4mCI5w2Yd5CMUoVMIYTwGSKN0YFCAXOLbDT0hQaFEBBauxSnANBbWsK+Q9dXuix9FW6yLyjybPbTWgNrXCLg5vnevVGfR/ETQkof1kb3pe9pu42sUUKWMQYhY+TjEdJWZ+qeVNKTMqioIvf78CjQiJKp0IqMtdZXnZlKYsy4b5tA40rbbQwHfX9/ay3a3S5UUfjrqD1V5JBxDDXOwO0If/jLt+JXv/gCWNKBiBMkaQpVFFBF7u8fJ4lvn+hFdIgTp2lGOwMwzr1p16Q5vTmJX7OfVxP/2p0uLm2su35pTTspbKOzpa++zRjzCxjUQapfQWlRnQ1ivSHtynC6Qc0G/EwExvq2mgIzHPRhrZkY5A3XiKsAMyk74HaRskksspC+LWuM96D4jIKcT85v1PQiG4oYRHWY3Y5qC11Ov43iJPX1EwjtbtflOI4TqHyMPBvidx8+gjvXcnzy/uugxiNoVSCvd6uQoKoiB+fCx5YQ3XSp/SbD/tYmOgu9xoNiPFMvx6+rmX8TxWLf6m2gJ6uz0JvSRKoofJp1Ve+8iJPUMzxu1LUgQjS1CwX8EDGoZJEuS88QChCiJ5TOaTI7rrcskdDRgBxDrNcC1JbfIdIoCWqt8fdQRV7Xty29pnCvpaQmpoQqcqStTi0EcW1rySlGqqJoMLXAA3f18NE7Sqjti/jYzRK3XduC1SUQRVPaXgiJIs99bImQMToLPQgpUOQ58vHIn0PC4rRq7AV1ll9XO/8u621oSj11tvkUxUkCXZbo9haxb/9a45UhJ3XcJPdEiZMUXHL/lLrfZd2ORtpuQ0iJtN32WoUG54hceKFykUQMcZL4AQkp/XUkeE0CUz9o0MR8uiZtt32R5rjh6yZtSP1qggo5U7tCCn+tNa6wc0eUeOSTazDjPqxWyLc28esPXgtR5bDawGpdC53wGoiYSYJC2p6ip5pvRVFXxKHX6Sy/rmb+kXCTt4Efefdtv33h3BkwzhFFDEU+RlXZ+uktUaraRtIlrLWQcYz+1iVUVYWIRYiTBFHkXk9RvWCnSwWtS2hV21ARYLRG0mp5xtArpKpch1sdp92i+pVX5GNXTG6cwVqDqqqgigKtTgelUjDGIGIRuJAolUKr04G1FhGLYLT2gmiMhowTf7+mieBeSy7dFRcCUcRAZQ50WYJxDi5cMWcZJ+67LlFVFoxz5OMMxmhXM7eqAGvwyMM34H3HWoiEhLI9qLKNxaUuDqz28NQrY2hd1m06eu4/eBg7/W0krdRXgKwqV4OMFo2IPlVV+euElIgi5vtD/DLGXLX840KgVG7OcPi6o4huvfuD1bkzr0DIGL2lJayfPztlf9CEhJ46VRT+6WlOfCiTCT1B9IQ0Jw8A0Op2MBoM0O0tuuuyzL8ynO1IFTmlnzARwehV1pxE0NOuy9JPpCbnld6uot9oktCcCDQnGqsHDmL9/FlvKsxO8OgBoLa9PR0xKJVDFzlKVaCqLKIoQlVVEEKCcQFEEZZWDzTMDOPNkuab4XL3ITqQdiX60kSH+EWmxtXIv9UDBzHY3oYuFQ5fXwvv+vmz9SsmweLSMsq6o2mr42eKzU9ZG9Fc1BnVtUJZlugu9DDcGfhrjVbgIvbHyfaZ/Z/aLMvSfzZtJTpfSgkuJrNXar95vV9KrM9t3sto5Y/P9n22L7PX0j2b51A7szRqTkqIJtRm81jzGurbLA3oPm/Hk1l6UZ+vRv5dunjBe3nWDl2D6L33PlC98t0Xptwmu+FSaj5xs8Y8aYgfpEuJNEhTszU1a3O23dRa79SF1NRYe+kCnP28GvmnS4Wjx25xE7amC2NXXEpE9HrW62bOyjOGiib/IFxKbvKRNGbnwruD4iRF2m77CUTTDdSceVN/aSwTn6fwx2nG/L1cSDSh+f9yAV7N/POKQ5coihzRhx78qerixsY7XuUQQriK23VSaq31O77m7WC0QrvTQ5YNwbl42zaa90uS1K8IDnf6U69rAH4i9f3ie/X1/3rt90u//+04rnb+re7fj/8GO6Pn3eR9G3UAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./extraFeatures.ts":
+/*!**************************!*\
+  !*** ./extraFeatures.ts ***!
+  \**************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _modules_slayer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/slayer */ "./modules/slayer.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+/* Extra Features for advanced controls in the app
+    The following functions adds some extra functionality to the app
+    - Ability to Ctrl+V to paste and image into the app
+    - Ability to drag and drop and image into the app
+    These functions can be used inside of alt1 but are not useful (mostly for other browsers)
+*/
+// Listen for pasted (ctrl-v) images, usually used in the browser version of an app
+alt1__WEBPACK_IMPORTED_MODULE_1__.PasteInput.listen(function (img) {
+    // Display the image at the bottom of the document
+    if (false) { var pixels; }
+    // Look and see if we can read a slayer task
+    _modules_slayer__WEBPACK_IMPORTED_MODULE_0__.findTask(img);
+}, function (err, errid) {
+    console.error("${errid}: ${err}");
+});
+// Handle events for when a file gets dragged or dropped onto the app
+document.addEventListener('dragover', handleDragOverFiles, false);
+document.addEventListener('drop', handleFileDropped, false);
+// Convert Blob(file) into Image Data so we can use it with alt1
+var blobToImageData = function (blob) {
+    return __awaiter(this, void 0, void 0, function () {
+        var blobUrl, img_1, _a, w, h, aspectRatio, canvas, ctx;
+        return __generator(this, function (_b) {
+            switch (_b.label) {
+                case 0:
+                    blobUrl = URL.createObjectURL(blob);
+                    return [4 /*yield*/, new Promise(function (resolve, reject) {
+                            var img = new Image();
+                            img.onload = function () { return resolve(img); };
+                            img.onerror = function (err) { return reject(err); };
+                            img.src = blobUrl;
+                        })];
+                case 1:
+                    img_1 = _b.sent();
+                    URL.revokeObjectURL(blobUrl);
+                    _a = [img_1.width, img_1.height], w = _a[0], h = _a[1];
+                    aspectRatio = w / h;
+                    canvas = document.createElement("canvas");
+                    canvas.width = w;
+                    canvas.height = h;
+                    ctx = canvas.getContext("2d");
+                    ctx.drawImage(img_1, 0, 0);
+                    return [2 /*return*/, ctx.getImageData(0, 0, w, h)];
+            }
+        });
+    });
+};
+// Handle when a file is dropped onto the app and have it load assignment from the file if it can
+function handleFileDropped(evt) {
+    return __awaiter(this, void 0, void 0, function () {
+        var files, fileReader, output, i, f, imgData, img;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    evt.stopPropagation();
+                    evt.preventDefault();
+                    files = evt.dataTransfer.files;
+                    // Only accept 1 file at a time
+                    if (files.length > 1) {
+                        console.error("We can only process 1 file at a time. Please only drag and drop 1 file at a time!");
+                        return [2 /*return*/];
+                    }
+                    fileReader = new FileReader();
+                    output = [];
+                    i = 0, f = void 0;
+                    _a.label = 1;
+                case 1:
+                    if (!(f = files[i])) return [3 /*break*/, 4];
+                    // Skip any files that aren't a supported image type
+                    if (!f.type.match('image/png'))
+                        return [3 /*break*/, 3];
+                    // Convert the file into a image we can process
+                    fileReader.readAsDataURL(f);
+                    return [4 /*yield*/, blobToImageData(f)];
+                case 2:
+                    imgData = _a.sent();
+                    img = new alt1__WEBPACK_IMPORTED_MODULE_1__.ImgRefData(imgData, 0, 0);
+                    // Look and see if we can read a slayer task
+                    _modules_slayer__WEBPACK_IMPORTED_MODULE_0__.findTask(img);
+                    _a.label = 3;
+                case 3:
+                    i++;
+                    return [3 /*break*/, 1];
+                case 4: return [2 /*return*/];
+            }
+        });
+    });
+}
+// Handle when a file is dragged onto the app and show user we will only make a copy of it (must exist or it won't work sadly)
+function handleDragOverFiles(evt) {
+    evt.stopPropagation();
+    evt.preventDefault();
+    evt.dataTransfer.dropEffect = 'copy';
+}
+
+
+/***/ }),
+
+/***/ "./modules/SearchAlgorithm.ts":
+/*!************************************!*\
+  !*** ./modules/SearchAlgorithm.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   SearchAlgorithm: () => (/* binding */ SearchAlgorithm),
+/* harmony export */   SearchData: () => (/* binding */ SearchData)
+/* harmony export */ });
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+var SearchData = /** @class */ (function () {
+    function SearchData() {
+        this.reaper = false;
+        this.task = 'Dragons';
+        this.probability = 0;
+    }
+    return SearchData;
+}());
+
+var SearchAlgorithm = /** @class */ (function () {
+    function SearchAlgorithm() {
+    }
+    // Lookup best possible assignment based on input string
+    SearchAlgorithm.prototype.lookup = function (lookup_1) {
+        return __awaiter(this, arguments, void 0, function (lookup, skipReaper) {
+            var probabilities, res, _i, res_1, a, _a, _b, b, res2, _c, res2_1, a, _d, _e, b, _f, _g, b, key, aliasKeys, i, creatureKeys, i;
+            if (skipReaper === void 0) { skipReaper = false; }
+            return __generator(this, function (_h) {
+                switch (_h.label) {
+                    case 0:
+                        this.data = new SearchData();
+                        probabilities = new Object();
+                        if (!!skipReaper) return [3 /*break*/, 2];
+                        return [4 /*yield*/, fetch("./data/reapers.json").then(function (r) { return r.json(); })];
+                    case 1:
+                        res = _h.sent();
+                        for (_i = 0, res_1 = res; _i < res_1.length; _i++) { // Search created by authors (overlord1234 & David) and redefined as needed
+                            a = res_1[_i];
+                            probabilities[a["index"]] = new Object();
+                            probabilities[a["index"]].reaper = true;
+                            probabilities[a["index"]].index = Math.round(this.similarity(a["index"], lookup) * 10000) / 100;
+                            probabilities[a["index"]].creatures = new Object();
+                            for (_a = 0, _b = a["creatures"]; _a < _b.length; _a++) {
+                                b = _b[_a];
+                                probabilities[a["index"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;
+                            }
+                        }
+                        _h.label = 2;
+                    case 2: return [4 /*yield*/, fetch("./data/assignments.json").then(function (r) { return r.json(); })];
+                    case 3:
+                        res2 = _h.sent();
+                        for (_c = 0, res2_1 = res2; _c < res2_1.length; _c++) { // Search created by authors (overlord1234 & David) and redefined as needed
+                            a = res2_1[_c];
+                            probabilities[a["index"]] = new Object();
+                            probabilities[a["index"]].reaper = false;
+                            probabilities[a["index"]].index = Math.round(this.similarity(a["index"], lookup) * 10000) / 125;
+                            probabilities[a["index"]].alias = new Object();
+                            for (_d = 0, _e = a["alias"]; _d < _e.length; _d++) {
+                                b = _e[_d];
+                                probabilities[a["index"]].alias[b] = Math.round(this.similarity(b, lookup) * 10000) / 150;
+                            }
+                            probabilities[a["index"]].creatures = new Object();
+                            for (_f = 0, _g = a["creatures"]; _f < _g.length; _f++) {
+                                b = _g[_f];
+                                probabilities[a["index"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;
+                            }
+                        }
+                        // Find highest lickelyhood of the search (overlord1234 & David) and redefined as needed
+                        for (key in probabilities) {
+                            if (probabilities[key].index > this.data.probability) {
+                                this.data.task = key;
+                                this.data.reaper = probabilities[key].reaper;
+                                this.data.probability = probabilities[key].index;
+                            }
+                            if (probabilities[key].alias) {
+                                aliasKeys = Object.keys(probabilities[key].alias);
+                                for (i = 0; i < aliasKeys.length; i++) {
+                                    if (probabilities[key].alias[aliasKeys[i]] > this.data.probability) {
+                                        this.data.task = key;
+                                        this.data.reaper = probabilities[key].reaper;
+                                        this.data.probability = probabilities[key].alias[aliasKeys[i]];
+                                    }
+                                }
+                            }
+                            if (probabilities[key].creatures) {
+                                creatureKeys = Object.keys(probabilities[key].creatures);
+                                for (i = 0; i < creatureKeys.length; i++) {
+                                    if (probabilities[key].creatures[creatureKeys[i]] > this.data.probability) {
+                                        this.data.task = key;
+                                        this.data.reaper = probabilities[key].reaper;
+                                        this.data.probability = probabilities[key].creatures[creatureKeys[i]];
+                                    }
+                                }
+                            }
+                        }
+                        return [2 /*return*/, this.data];
+                }
+            });
+        });
+    };
+    // Check the similarity of 2 strings (Refer to authors overlord1234 & David)
+    SearchAlgorithm.prototype.similarity = function (s1, s2) {
+        var longer = s1, shorter = s2;
+        if (s1.length < s2.length) {
+            longer = s2;
+            shorter = s1;
+        }
+        var longerLength = longer.length;
+        if (longerLength === 0)
+            return 1.0;
+        return (longerLength - this.editDistance(longer, shorter)) / parseFloat('' + longerLength);
+    };
+    // Used for checked the similarity of 2 strings (Refer to authors overlord1234 & David)
+    SearchAlgorithm.prototype.editDistance = function (s1, s2) {
+        s1 = s1.toLowerCase();
+        s2 = s2.toLowerCase();
+        var costs = new Array();
+        for (var i = 0; i <= s1.length; i++) {
+            var lastValue = i;
+            for (var j = 0; j <= s2.length; j++) {
+                if (i == 0)
+                    costs[j] = j;
+                else if (j > 0) {
+                    var newValue = costs[j - 1];
+                    if (s1.charAt(i - 1) != s2.charAt(j - 1))
+                        newValue = Math.min(Math.min(newValue, lastValue), costs[j]) + 1;
+                    costs[j - 1] = lastValue;
+                    lastValue = newValue;
+                }
+            }
+            if (i > 0)
+                costs[s2.length] = lastValue;
+        }
+        return costs[s2.length];
+    };
+    return SearchAlgorithm;
+}());
+
+
+
+/***/ }),
+
+/***/ "./modules/SlayerDialogReader.ts":
+/*!***************************************!*\
+  !*** ./modules/SlayerDialogReader.ts ***!
+  \***************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   SlayerData: () => (/* binding */ SlayerData),
+/* harmony export */   SlayerDialogReader: () => (/* binding */ SlayerDialogReader)
+/* harmony export */ });
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var alt1_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! alt1/dialog */ "../node_modules/alt1/dist/dialog/index.js");
+/* harmony import */ var alt1_dialog__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(alt1_dialog__WEBPACK_IMPORTED_MODULE_1__);
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+var SlayerData = /** @class */ (function () {
+    function SlayerData() {
+        this.selectYourOwn = false;
+        this.ticket = false;
+        this.reaper = false;
+        this.count = [];
+        this.task = [];
+    }
+    return SlayerData;
+}());
+
+var SlayerDialogReader = /** @class */ (function () {
+    function SlayerDialogReader() {
+    }
+    SlayerDialogReader.prototype.read = function (buffer) {
+        return __awaiter(this, void 0, void 0, function () {
+            var data, box, msg, countText, e, countText, e, i, a, msg, countText;
+            return __generator(this, function (_a) {
+                if (!buffer)
+                    buffer = alt1__WEBPACK_IMPORTED_MODULE_0__.captureHoldFullRs();
+                if (!this.dialogReader)
+                    this.dialogReader = new (alt1_dialog__WEBPACK_IMPORTED_MODULE_1___default())();
+                this.data = new SlayerData();
+                data = this.dialogReader.find(buffer);
+                if (!data)
+                    return [2 /*return*/, null];
+                box = this.dialogReader.read(buffer);
+                if (!box)
+                    return [2 /*return*/, null];
+                if (box.text && (!box.opts || box.opts.length != 2)) {
+                    msg = box.text.toString();
+                    // Show support for 120 slayer assignment chooser
+                    if (msg.toLowerCase().includes("select your own task"))
+                        this.data.selectYourOwn = true;
+                    // Get reaper assignment if it's a new reaper task dialog
+                    if (msg.toLowerCase().includes("require you to collect")) {
+                        this.data.reaper = true;
+                        countText = msg.substring(msg.indexOf("collect ") + 8, msg.indexOf(" souls"));
+                        this.data.count[0] = parseInt(countText);
+                        this.data.task[0] = msg.substring(msg.indexOf("battle: ") + 8, msg.indexOf(". Can"));
+                    }
+                    // Get single slayer assignment if it's a new task dialog
+                    if (msg.toLowerCase().includes("new task is to kill")) {
+                        e = msg.substring(msg.indexOf("kill ") + 5, msg.length - 1);
+                        countText = e.substring(0, e.includes(",") ? e.indexOf(",") : e.indexOf(" "));
+                        this.data.count[0] = parseInt(countText);
+                        this.data.task[0] = e.substring((e.includes(",") ? e.indexOf(",") : e.indexOf(" ")) + 1);
+                    }
+                    // Get single slayer assignment from still need to kill dialog
+                    if (msg.toLowerCase().includes("still need to kill")) {
+                        e = msg.substring(msg.indexOf("kill ") + 5);
+                        this.data.count[0] = parseInt(e.substring(0, e.indexOf(" ")));
+                        this.data.task[0] = e.substring(e.indexOf(" ") + 1, e.includes(".") ? e.indexOf(".") : e.length - 1);
+                    }
+                    // Get single slayer assignment from still hunting dialog
+                    if (msg.toLowerCase().includes("still hunting"))
+                        this.data.task[0] = msg.substring(msg.indexOf("hunting ") + 8, msg.indexOf(";"));
+                }
+                // Look and see if there is a slayer assignment choice on screen via 2 options and title
+                if (box.opts && box.opts.length == 2 && (box.title && box.title.toLowerCase().includes("change your assigned slayer task"))) {
+                    // Set ticket to true becuase we found 2 different assignments
+                    this.data.ticket = true;
+                    i = 0;
+                    for (a in box.opts) {
+                        msg = box.opts[a].text;
+                        countText = msg.substring(0, msg.indexOf(' '));
+                        this.data.count[i] = parseInt(countText);
+                        this.data.task[i++] = msg.substring(msg.indexOf(' ') + 1, msg.includes('(') ? msg.indexOf('(') - 1 : msg.length);
+                    }
+                }
+                return [2 /*return*/, this.data];
+            });
+        });
+    };
+    return SlayerDialogReader;
+}());
+
+
+
+/***/ }),
+
+/***/ "./modules/UICounterReader.ts":
+/*!************************************!*\
+  !*** ./modules/UICounterReader.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   UICounterData: () => (/* binding */ UICounterData),
+/* harmony export */   UICounterReader: () => (/* binding */ UICounterReader)
+/* harmony export */ });
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var alt1_ocr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! alt1/ocr */ "../node_modules/alt1/dist/ocr/index.js");
+/* harmony import */ var alt1_ocr__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(alt1_ocr__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ "./modules/settings.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+var imgs = alt1__WEBPACK_IMPORTED_MODULE_1__.webpackImages({
+    slayer_expanded_RS3: __webpack_require__(/*! ../images/data/slayer_expanded_RS3.data.png */ "./images/data/slayer_expanded_RS3.data.png"),
+    slayer_expanded_OSL: __webpack_require__(/*! ../images/data/slayer_expanded_OSL.data.png */ "./images/data/slayer_expanded_OSL.data.png"),
+    reaper_expanded_RS3: __webpack_require__(/*! ../images/data/reaper_expanded_RS3.data.png */ "./images/data/reaper_expanded_RS3.data.png"),
+    reaper_expanded_OSL: __webpack_require__(/*! ../images/data/reaper_expanded_OSL.data.png */ "./images/data/reaper_expanded_OSL.data.png"),
+    slayer_collapsed_RS3: __webpack_require__(/*! ../images/data/slayer_collapsed_RS3.data.png */ "./images/data/slayer_collapsed_RS3.data.png"),
+    slayer_collapsed_OSL: __webpack_require__(/*! ../images/data/slayer_collapsed_OSL.data.png */ "./images/data/slayer_collapsed_OSL.data.png"),
+    reaper_collapsed_RS3: __webpack_require__(/*! ../images/data/reaper_collapsed_RS3.data.png */ "./images/data/reaper_collapsed_RS3.data.png"),
+    reaper_collapsed_OSL: __webpack_require__(/*! ../images/data/reaper_collapsed_OSL.data.png */ "./images/data/reaper_collapsed_OSL.data.png"),
+});
+var UICounterData = /** @class */ (function () {
+    function UICounterData() {
+    }
+    return UICounterData;
+}());
+
+var UICounterReader = /** @class */ (function () {
+    function UICounterReader() {
+        this.countFont = null;
+        this.taskFont = null;
+        this.data = null;
+    }
+    UICounterReader.prototype.read = function (buffer) {
+        return __awaiter(this, void 0, void 0, function () {
+            var _a, _b, width, height, _i, _c, match;
+            return __generator(this, function (_d) {
+                switch (_d.label) {
+                    case 0:
+                        if (!buffer)
+                            buffer = alt1__WEBPACK_IMPORTED_MODULE_1__.captureHoldFullRs();
+                        if (!!this.countFont) return [3 /*break*/, 2];
+                        _a = this;
+                        return [4 /*yield*/, fetch(__webpack_require__(/*! ../fonts/aa_10px_mono.fontmeta.json */ "./fonts/aa_10px_mono.fontmeta.json")).then(function (r) { return r.json(); })];
+                    case 1:
+                        _a.countFont = _d.sent();
+                        _d.label = 2;
+                    case 2:
+                        if (!!this.taskFont) return [3 /*break*/, 4];
+                        _b = this;
+                        return [4 /*yield*/, fetch(__webpack_require__(/*! ../fonts/aa_8px_mono.fontmeta.json */ "./fonts/aa_8px_mono.fontmeta.json")).then(function (r) { return r.json(); })];
+                    case 3:
+                        _b.taskFont = _d.sent();
+                        _d.label = 4;
+                    case 4:
+                        // Reset data for next search
+                        this.pos = [];
+                        this.data = null;
+                        // Look for all UI Elements until we find one, then the rest will get skipped
+                        this.findUIElement(buffer, imgs.slayer_collapsed_OSL, { reaper: false, collapsed: true, OS: true });
+                        this.findUIElement(buffer, imgs.slayer_expanded_OSL, { reaper: false, collapsed: false, OS: true });
+                        this.findUIElement(buffer, imgs.slayer_collapsed_RS3, { reaper: false, collapsed: true, OS: false });
+                        this.findUIElement(buffer, imgs.slayer_expanded_RS3, { reaper: false, collapsed: false, OS: false });
+                        this.findUIElement(buffer, imgs.reaper_collapsed_OSL, { reaper: true, collapsed: true, OS: true });
+                        this.findUIElement(buffer, imgs.reaper_expanded_OSL, { reaper: true, collapsed: false, OS: true });
+                        this.findUIElement(buffer, imgs.reaper_collapsed_RS3, { reaper: true, collapsed: true, OS: false });
+                        this.findUIElement(buffer, imgs.reaper_expanded_RS3, { reaper: true, collapsed: false, OS: false });
+                        // If we don't find any data or we found too many matches then return
+                        if (!this.data && this.pos.length == 0)
+                            return [2 /*return*/, null];
+                        width = this.data.collapsed ? imgs.slayer_collapsed_OSL.width : imgs.slayer_expanded_OSL.width;
+                        height = this.data.collapsed ? imgs.slayer_collapsed_OSL.height : imgs.slayer_expanded_OSL.height;
+                        // Loop the results and return the data we find
+                        for (_i = 0, _c = this.pos; _i < _c.length; _i++) {
+                            match = _c[_i];
+                            // Overlay a rectangle around the matched area on screen if we're running in alt1
+                            if (window.alt1 && alt1.permissionOverlay && _settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.counter)
+                                alt1.overLayRect(alt1__WEBPACK_IMPORTED_MODULE_1__.mixColor(255, 255, 255), match.x, match.y, width, height, _settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.counterTimer, 3);
+                            // Get the pixel data for the matched area
+                            this.data.img = buffer.toData(match.x, match.y, width, height);
+                            // Extract the count and task (if avaliable)
+                            this.data.count = parseInt(alt1_ocr__WEBPACK_IMPORTED_MODULE_2__.findReadLine(this.data.img, this.countFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], this.data.collapsed ? 10 : 72, 15, 30, 3).text);
+                            if (!this.data.collapsed)
+                                this.data.task = alt1_ocr__WEBPACK_IMPORTED_MODULE_2__.findReadLine(this.data.img, this.taskFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], 9, 28, 156, 3).text;
+                        }
+                        return [2 /*return*/, (!this.pos || this.pos.length == 0) ? null : this.data];
+                }
+            });
+        });
+    };
+    UICounterReader.prototype.findUIElement = function (buffer, img, mode) {
+        if (!this.data && this.pos.length == 0)
+            this.pos = buffer.findSubimage(img);
+        if (!this.data && this.pos.length > 0)
+            this.data = { reaper: mode.reaper, collapsed: mode.collapsed, OS: mode.OS, img: null, count: -1, task: null };
+    };
+    return UICounterReader;
+}());
+
+
+
+/***/ }),
+
+/***/ "./modules/data/assignments.ts":
+/*!*************************************!*\
+  !*** ./modules/data/assignments.ts ***!
+  \*************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get),
+/* harmony export */   getIndexList: () => (/* binding */ getIndexList)
+/* harmony export */ });
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Fetch a single assignment based on the index or alias
+function get(assignment) {
+    return __awaiter(this, void 0, void 0, function () {
+        var res, _i, res_1, a, _a, _b, b;
+        return __generator(this, function (_c) {
+            switch (_c.label) {
+                case 0: return [4 /*yield*/, fetch("./data/assignments.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _c.sent();
+                    for (_i = 0, res_1 = res; _i < res_1.length; _i++) {
+                        a = res_1[_i];
+                        if (a["index"].toLowerCase() === assignment.toLowerCase())
+                            return [2 /*return*/, a];
+                        for (_a = 0, _b = a["alias"]; _a < _b.length; _a++) {
+                            b = _b[_a];
+                            if (b.toLowerCase() === assignment.toLowerCase())
+                                return [2 /*return*/, a];
+                        }
+                    }
+                    return [2 /*return*/, null];
+            }
+        });
+    });
+}
+// Get an array of the index
+function getIndexList() {
+    return __awaiter(this, void 0, void 0, function () {
+        var dataList, res, _i, res_2, a;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    dataList = "";
+                    return [4 /*yield*/, fetch("./data/assignments.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _a.sent();
+                    for (_i = 0, res_2 = res; _i < res_2.length; _i++) {
+                        a = res_2[_i];
+                        dataList += "<option>" + a["index"] + "</option>\n\r";
+                    }
+                    return [2 /*return*/, dataList];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/creatures.ts":
+/*!***********************************!*\
+  !*** ./modules/data/creatures.ts ***!
+  \***********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get)
+/* harmony export */ });
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+// Fetch a single creature based on the name
+function get(creature) {
+    return __awaiter(this, void 0, void 0, function () {
+        var res, _i, res_1, a;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0: return [4 /*yield*/, fetch("./data/creatures.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _a.sent();
+                    for (_i = 0, res_1 = res; _i < res_1.length; _i++) {
+                        a = res_1[_i];
+                        if (_extrafuncs__WEBPACK_IMPORTED_MODULE_0__.decodeHtml(a["name"].toLowerCase()) === creature.toLowerCase())
+                            return [2 /*return*/, a];
+                    }
+                    return [2 /*return*/, null];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/masters.ts":
+/*!*********************************!*\
+  !*** ./modules/data/masters.ts ***!
+  \*********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get)
+/* harmony export */ });
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+// Fetch a single master based on the name
+function get(master) {
+    return __awaiter(this, void 0, void 0, function () {
+        var res, _i, res_1, a;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0: return [4 /*yield*/, fetch("./data/masters.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _a.sent();
+                    for (_i = 0, res_1 = res; _i < res_1.length; _i++) {
+                        a = res_1[_i];
+                        if (_extrafuncs__WEBPACK_IMPORTED_MODULE_0__.decodeHtml(a["name"].toLowerCase()) === master.toLowerCase())
+                            return [2 /*return*/, a];
+                    }
+                    return [2 /*return*/, null];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/reapers.ts":
+/*!*********************************!*\
+  !*** ./modules/data/reapers.ts ***!
+  \*********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get),
+/* harmony export */   getIndexList: () => (/* binding */ getIndexList)
+/* harmony export */ });
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+// Fetch a single reaper based on the index or alias
+function get(reaper) {
+    return __awaiter(this, void 0, void 0, function () {
+        var res, _i, res_1, a;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0: return [4 /*yield*/, fetch("./data/reapers.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _a.sent();
+                    for (_i = 0, res_1 = res; _i < res_1.length; _i++) {
+                        a = res_1[_i];
+                        if (a["index"].toLowerCase() === reaper.toLowerCase())
+                            return [2 /*return*/, a];
+                    }
+                    return [2 /*return*/, null];
+            }
+        });
+    });
+}
+// Get an array of the index
+function getIndexList() {
+    return __awaiter(this, void 0, void 0, function () {
+        var dataList, res, _i, res_2, a;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    dataList = "";
+                    return [4 /*yield*/, fetch("./data/reapers.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _a.sent();
+                    for (_i = 0, res_2 = res; _i < res_2.length; _i++) {
+                        a = res_2[_i];
+                        dataList += "<option>" + a["index"] + "</option>\n\r";
+                    }
+                    return [2 /*return*/, dataList];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/data/variants.ts":
+/*!**********************************!*\
+  !*** ./modules/data/variants.ts ***!
+  \**********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   get: () => (/* binding */ get)
+/* harmony export */ });
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+// Fetch a single master based on the name
+function get(creature, variant) {
+    return __awaiter(this, void 0, void 0, function () {
+        var res, _i, res_1, a, _a, _b, b;
+        return __generator(this, function (_c) {
+            switch (_c.label) {
+                case 0: return [4 /*yield*/, fetch("./data/creatures.json").then(function (r) { return r.json(); })];
+                case 1:
+                    res = _c.sent();
+                    for (_i = 0, res_1 = res; _i < res_1.length; _i++) {
+                        a = res_1[_i];
+                        if (_extrafuncs__WEBPACK_IMPORTED_MODULE_0__.decodeHtml(a["name"].toLowerCase()) === creature.toLowerCase()) {
+                            for (_a = 0, _b = a["variants"]; _a < _b.length; _a++) {
+                                b = _b[_a];
+                                if (b["name"].toLowerCase() === variant.toLowerCase())
+                                    return [2 /*return*/, b];
+                            }
+                        }
+                    }
+                    return [2 /*return*/, null];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler.ts":
+/*!*******************************!*\
+  !*** ./modules/dochandler.ts ***!
+  \*******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   animate: () => (/* reexport module object */ _dochandler_animate__WEBPACK_IMPORTED_MODULE_0__),
+/* harmony export */   change: () => (/* reexport module object */ _dochandler_change__WEBPACK_IMPORTED_MODULE_1__),
+/* harmony export */   getSide: () => (/* binding */ getSide),
+/* harmony export */   hide: () => (/* reexport module object */ _dochandler_hide__WEBPACK_IMPORTED_MODULE_3__),
+/* harmony export */   hover: () => (/* reexport module object */ _dochandler_hover__WEBPACK_IMPORTED_MODULE_4__),
+/* harmony export */   main: () => (/* reexport module object */ _dochandler_main__WEBPACK_IMPORTED_MODULE_2__),
+/* harmony export */   open: () => (/* reexport module object */ _dochandler_open__WEBPACK_IMPORTED_MODULE_6__),
+/* harmony export */   show: () => (/* reexport module object */ _dochandler_show__WEBPACK_IMPORTED_MODULE_5__)
+/* harmony export */ });
+/* harmony import */ var _dochandler_animate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dochandler/animate */ "./modules/dochandler/animate.ts");
+/* harmony import */ var _dochandler_change__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dochandler/change */ "./modules/dochandler/change.ts");
+/* harmony import */ var _dochandler_main__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dochandler/main */ "./modules/dochandler/main.ts");
+/* harmony import */ var _dochandler_hide__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dochandler/hide */ "./modules/dochandler/hide.ts");
+/* harmony import */ var _dochandler_hover__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dochandler/hover */ "./modules/dochandler/hover.ts");
+/* harmony import */ var _dochandler_show__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dochandler/show */ "./modules/dochandler/show.ts");
+/* harmony import */ var _dochandler_open__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dochandler/open */ "./modules/dochandler/open.ts");
+
+
+
+
+
+
+
+
+function getSide(i) {
+    var base = _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.get.elid("base");
+    var side = _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.get.elc(i == 0 ? "left" : "right", base);
+    if (!side)
+        side = _dochandler_main__WEBPACK_IMPORTED_MODULE_2__.get.elc("single", base);
+    return side;
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/animate.ts":
+/*!***************************************!*\
+  !*** ./modules/dochandler/animate.ts ***!
+  \***************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   loading: () => (/* binding */ loading),
+/* harmony export */   loadingStop: () => (/* binding */ loadingStop)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+
+// Animate Loading Bar
+function loading() {
+    var loadingBar = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("loading-bar");
+    if (loadingBar)
+        loadingBar.style.visibility = "visible";
+}
+// Animate Loading Bar
+function loadingStop() {
+    var loadingBar = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("loading-bar");
+    if (loadingBar)
+        loadingBar.style.visibility = "hidden";
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/change.ts":
+/*!**************************************!*\
+  !*** ./modules/dochandler/change.ts ***!
+  \**************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignment: () => (/* binding */ assignment),
+/* harmony export */   creature: () => (/* binding */ creature),
+/* harmony export */   reaper: () => (/* binding */ reaper),
+/* harmony export */   variant: () => (/* binding */ variant)
+/* harmony export */ });
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _extrafuncs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../extrafuncs */ "./modules/extrafuncs.ts");
+/* harmony import */ var _data_masters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/masters */ "./modules/data/masters.ts");
+/* harmony import */ var _data_reapers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/reapers */ "./modules/data/reapers.ts");
+/* harmony import */ var _data_assignments__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/assignments */ "./modules/data/assignments.ts");
+/* harmony import */ var _data_creatures__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/creatures */ "./modules/data/creatures.ts");
+/* harmony import */ var _data_variants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../data/variants */ "./modules/data/variants.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+
+
+
+
+// TODO Clean up code and make things a lot better
+// Update the Creature variant Shown
+function variant(i_1) {
+    return __awaiter(this, arguments, void 0, function (i, creature, variant) {
+        var side, data, imageElement, imageContainerElement, newSize, weaknessElem, j, susceptibleElem, j, count;
+        if (creature === void 0) { creature = null; }
+        if (variant === void 0) { variant = null; }
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    side = _dochandler__WEBPACK_IMPORTED_MODULE_1__.getSide(i);
+                    if ((_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited || _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) && (!creature || !variant))
+                        return [2 /*return*/];
+                    if (!creature)
+                        creature = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).value;
+                    if (!variant)
+                        variant = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("variants", side).value;
+                    console.log("Change variant to: " + creature + "#" + variant);
+                    return [4 /*yield*/, _data_variants__WEBPACK_IMPORTED_MODULE_7__.get(creature, variant)];
+                case 1:
+                    data = _a.sent();
+                    if (data) {
+                        if (!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) {
+                            // Set the image of variant but replace the # with url safe Percent-encoding
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("image-container", side).innerHTML = data["image"].replace("#", "%23");
+                            imageElement = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("image-container", side).firstElementChild;
+                            imageContainerElement = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("image-container", side);
+                            newSize = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.calculateAspectRatioFit(parseInt(imageElement.getAttribute("width")), parseInt(imageElement.getAttribute("height")), imageContainerElement.offsetWidth, imageContainerElement.offsetHeight);
+                            imageElement.setAttribute("style", "max-width:" + newSize.width + "px; max-height:" + newSize.height + "px;");
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("level", side).innerHTML = data["level"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("slayer-level", side).innerHTML = data["slayer-level"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("lifepoints", side).innerHTML = data["lifepoints"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("defence", side).innerHTML = data["defence"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-melee", side).innerHTML = data["max-melee"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-ranged", side).innerHTML = data["max-ranged"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-magic", side).innerHTML = data["max-magic"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-necromancy", side).innerHTML = data["max-necromancy"];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("max-spec", side).innerHTML = data["max-spec"];
+                            weaknessElem = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("weaknessBox", side);
+                            weaknessElem.innerHTML = "<p id=\"weakness-text\">Weakness</p>";
+                            for (j = 0; j < data["weakness"].length; j++)
+                                weaknessElem.innerHTML += data["weakness"][j];
+                            susceptibleElem = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("susceptibleBox", side);
+                            susceptibleElem.innerHTML = "<p id=\"susceptible-text\">Susceptible</p>";
+                            for (j = 0; j < data["susceptible"].length; j++)
+                                susceptibleElem.innerHTML += data["susceptible"][j];
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("combat-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(data["experience"].toFixed(2));
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("lifepoints-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(data["lifepoint-exp"].toFixed(2));
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(data["slayer-exp"].toFixed(2));
+                        }
+                        count = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("kills", side).innerHTML;
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("total-slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas((data["slayer-exp"] * count).toFixed(2));
+                    }
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+// Update the Creature Shown
+function creature(i_1) {
+    return __awaiter(this, arguments, void 0, function (i, creature, variant) {
+        var side, data, _i, _a, a;
+        if (creature === void 0) { creature = null; }
+        if (variant === void 0) { variant = null; }
+        return __generator(this, function (_b) {
+            switch (_b.label) {
+                case 0:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    side = _dochandler__WEBPACK_IMPORTED_MODULE_1__.getSide(i);
+                    if ((_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited || _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) && !creature)
+                        return [2 /*return*/];
+                    if (!creature)
+                        creature = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).value;
+                    console.log("Change Creature to: " + creature + (variant ? ("#" + variant) : ''));
+                    return [4 /*yield*/, _data_creatures__WEBPACK_IMPORTED_MODULE_6__.get(creature)];
+                case 1:
+                    data = _b.sent();
+                    if (data) {
+                        if (data["variants"] && !_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded) {
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("variants", side).innerHTML = "";
+                            for (_i = 0, _a = data["variants"]; _i < _a.length; _i++) {
+                                a = _a[_i];
+                                _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("variants", side).innerHTML += "<option value=\"" + a["name"] + "\"" + ((variant && _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(a["name"]) === _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(variant)) ? " selected" : "") + ">" + a["name"] + "</option>";
+                            }
+                            if (!variant)
+                                variant = data["variants"][0]["name"];
+                        }
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.change.variant(i, creature, variant);
+                    }
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+// Update the reaper assignment data
+function reaper(task, count) {
+    return __awaiter(this, void 0, void 0, function () {
+        return __generator(this, function (_a) {
+            return [2 /*return*/, assignment(2, task, count)];
+        });
+    });
+}
+// Update the entire Assignment data
+function assignment(i, task, count) {
+    return __awaiter(this, void 0, void 0, function () {
+        var side, nameElement, slayxp, data, _a, j, img, masterData, kills, _loop_1, j, j, j, j, j, _i, _b, a, creature_1, creature_2, variant_1;
+        return __generator(this, function (_c) {
+            switch (_c.label) {
+                case 0:
+                    // Check if we are trying to load a second task when only 1 is displayed
+                    if (i == 1 && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.doubleLoaded) {
+                        console.error("Cannot load double slayer task if only 1 is diaplyed!");
+                        return [2 /*return*/];
+                    }
+                    // Check if we are trying to load a reaper task when 2 is displayed
+                    if (i == 2 && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.reaperLoaded) {
+                        console.error("Cannot load reaper task if there are 2 is diaplyed!");
+                        return [2 /*return*/];
+                    }
+                    // Show we are loading
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    side = _dochandler__WEBPACK_IMPORTED_MODULE_1__.getSide(i);
+                    nameElement = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side);
+                    if (nameElement === null)
+                        return [2 /*return*/];
+                    if ((task == null && nameElement.innerHTML != "???") || nameElement.innerHTML.toLowerCase() === task.toLowerCase()) {
+                        console.log("Update task: [" + count + "] " + task + " " + (i == 0 ? "(Default)" : (i == 2 ? "(Reaper)" : "(1 Slayer Token)")));
+                        // Update the kills and exp of the task since it's already loaded
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("kills", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(count);
+                        slayxp = parseInt(_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("slayer-exp", side).innerHTML);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("total-slayer-exp", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas((slayxp * count).toFixed(2));
+                        // TODO update the count of the task for tracking (aka for status tracking)
+                        // TODO Determine when to set start time based on count going down for first time
+                        // TODO Calulate kills/hr and xp/hr based on this info
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                        return [2 /*return*/];
+                    }
+                    // Display the task data and log what we loaded
+                    console.log("Load task: [" + count + "] " + task + " " + (i == 0 ? "(Default)" : (i == 2 ? "(Reaper)" : "(1 Slayer Token)")));
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("type", side).innerHTML = (i == 0 ? "(Default)" : (i == 2 ? "(Reaper)" : "(1 Slayer Token)"));
+                    if (i == 2)
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("type", side).id = "type-reaper";
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("kills", side).innerHTML = _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.numberWithCommas(count);
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side).innerHTML = task;
+                    if (!(i == 2)) return [3 /*break*/, 2];
+                    return [4 /*yield*/, _data_reapers__WEBPACK_IMPORTED_MODULE_4__.get(task)];
+                case 1:
+                    _a = _c.sent();
+                    return [3 /*break*/, 4];
+                case 2: return [4 /*yield*/, _data_assignments__WEBPACK_IMPORTED_MODULE_5__.get(task)];
+                case 3:
+                    _a = _c.sent();
+                    _c.label = 4;
+                case 4:
+                    data = (_a);
+                    if (!data) return [3 /*break*/, 10];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side).innerHTML = data["index"];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("name", side).title = data["index"];
+                    if (!(!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.ui.limited && !_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.limitedLoaded)) return [3 /*break*/, 9];
+                    // Setup the Masters Data
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("masters", side).innerHTML = "<div class=\"nistext masterTitle\" >Assignment Range</div>";
+                    j = 0;
+                    _c.label = 5;
+                case 5:
+                    if (!(j < data["masters"].length)) return [3 /*break*/, 8];
+                    img = "<img id=\"masterImage" + j + "\" alt=\"" + data["masters"][j] + "\" src=\"./images/masters/" + data["masters"][j] + ".png\" title=\"" + data["masters"][j] + "\"></img>";
+                    return [4 /*yield*/, _data_masters__WEBPACK_IMPORTED_MODULE_3__.get(data["masters"][j])];
+                case 6:
+                    masterData = _c.sent();
+                    kills = masterData["task-counts"][data["index"]];
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("masters", side).innerHTML += "<div class=\"nistext masterInfo" + j + "\">" + img + " Kills: " + kills + "</div>";
+                    _c.label = 7;
+                case 7:
+                    j++;
+                    return [3 /*break*/, 5];
+                case 8:
+                    _loop_1 = function (j) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("masterInfo" + j, side).addEventListener('click', function () { _dochandler__WEBPACK_IMPORTED_MODULE_1__.open.wiki.master(i, j); });
+                    };
+                    // Setup the click events for masters and size for preview-task-wiki
+                    for (j = 0; j < data["masters"].length; j++) {
+                        _loop_1(j);
+                    }
+                    // Setup the Equipment Data
+                    if (data["equipment"]) {
+                        for (j = 0; j < 3; j++)
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipInfo" + (j + 1), side).innerHTML = (j == 0 ? "None" : "");
+                        if (data["equipment"].length > 0)
+                            for (j = 0; j < data["equipment"].length; j++)
+                                _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipInfo" + (j + 1), side).innerHTML = data["equipment"][j] != "" ? data["equipment"][j] : "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Empty</span>";
+                        // Hide & Show the See More Link...
+                        if (data["equipment"].length < 3)
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipMore", side).style.visibility = "hidden";
+                        else
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipMore", side).style.visibility = "visible";
+                    }
+                    else if (!data["equipment"]) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipMore", side).style.visibility = "hidden";
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("equipInfo1", side).innerHTML = "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Missing</span>";
+                    }
+                    // Setup the Locations Data
+                    if (data["locations"]) {
+                        for (j = 0; j < 3; j++)
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationInfo" + (j + 1), side).innerHTML = (j == 0 ? "None" : "");
+                        if (data["locations"].length > 0)
+                            for (j = 0; j < data["locations"].length; j++)
+                                _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationInfo" + (j + 1), side).innerHTML = data["locations"][j] != "" ? data["locations"][j] : "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Empty</span>";
+                        // Hide & Show the See More Link...
+                        if (data["locations"].length < 3)
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationMore", side).style.visibility = "hidden";
+                        else
+                            _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationMore", side).style.visibility = "visible";
+                    }
+                    else if (!data["locations"]) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationMore", side).style.visibility = "hidden";
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("locationInfo1", side).innerHTML = "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Missing</span>";
+                    }
+                    // Setup the Creatures Data
+                    if (data["creatures"]) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).innerHTML = "";
+                        for (_i = 0, _b = data["creatures"]; _i < _b.length; _i++) {
+                            a = _b[_i];
+                            if (!_extrafuncs__WEBPACK_IMPORTED_MODULE_2__.listContains(data["hidden-creatures"], a)) {
+                                if (data["default-creature"] && data["default-creature"].includes("#")) {
+                                    creature_1 = data["default-creature"].substring(0, data["default-creature"].indexOf("#"));
+                                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).innerHTML += "<option value=\"" + a + "\"" + (_extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(a) === _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(creature_1) ? " selected" : "") + ">" + a + "</option>";
+                                }
+                                else
+                                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.elc("creatures", side).innerHTML += "<option value=\"" + a + "\"" + (_extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(a) === _extrafuncs__WEBPACK_IMPORTED_MODULE_2__.decodeHtml(data["default-creature"]) ? " selected" : "") + ">" + a + "</option>";
+                            }
+                        }
+                    }
+                    _c.label = 9;
+                case 9:
+                    if (data["default-creature"]) {
+                        creature_2 = data["default-creature"].substring(0, data["default-creature"].indexOf("#"));
+                        variant_1 = data["default-creature"].substring(data["default-creature"].indexOf("#") + 1);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.change.creature(i, creature_2, variant_1);
+                    }
+                    else
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.change.creature(i);
+                    _c.label = 10;
+                case 10:
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/hide.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/hide.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignmentWikiPreview: () => (/* binding */ assignmentWikiPreview),
+/* harmony export */   creatureWikiPreview: () => (/* binding */ creatureWikiPreview),
+/* harmony export */   moreEquip: () => (/* binding */ moreEquip),
+/* harmony export */   moreLocations: () => (/* binding */ moreLocations)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+// Hide the specific Creature's preview wiki page
+function assignmentWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).style.visibility = "hidden";
+}
+// Hide the specific Creature's preview wiki page
+function creatureWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).style.visibility = "hidden";
+}
+// Hide more Equipment for task
+function moreEquip(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).style.visibility = "hidden";
+}
+// Hide more Locations for task
+function moreLocations(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).style.visibility = "hidden";
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/hover.ts":
+/*!*************************************!*\
+  !*** ./modules/dochandler/hover.ts ***!
+  \*************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignmentWiki: () => (/* binding */ assignmentWiki),
+/* harmony export */   creatureWiki: () => (/* binding */ creatureWiki),
+/* harmony export */   moreEquip: () => (/* binding */ moreEquip),
+/* harmony export */   moreLocations: () => (/* binding */ moreLocations)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+// Hover the Assignment's wiki button
+function assignmentWiki(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer = setTimeout(function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.assignmentWikiPreview(i); }, 500);
+    var hideTimer = null;
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).onmouseleave = function () { hideTimer = setTimeout(function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.assignmentWikiPreview(i); }, 200); clearTimeout(showTimer); };
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).onmouseenter = function () { if (hideTimer != null)
+        clearTimeout(hideTimer); };
+}
+// Hover the Creature's wiki button
+function creatureWiki(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer = setTimeout(function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.creatureWikiPreview(i); }, 500);
+    var hideTimer = null;
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).onmouseleave = function () { hideTimer = setTimeout(function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.creatureWikiPreview(i); }, 200); clearTimeout(showTimer); };
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).onmouseenter = function () { if (hideTimer != null)
+        clearTimeout(hideTimer); };
+}
+// Hover more Equipment for task
+function moreEquip(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer = setTimeout(function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.moreEquip(i); }, 500);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipMore", side).onmouseleave = function () { clearTimeout(showTimer); };
+}
+// Hover more Locations for task
+function moreLocations(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    var showTimer = setTimeout(function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.show.moreLocations(i); }, 500);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationMore", side).onmouseleave = function () { clearTimeout(showTimer); };
+}
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/main.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/main.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   doubleLoaded: () => (/* binding */ doubleLoaded),
+/* harmony export */   get: () => (/* binding */ get),
+/* harmony export */   limitedLoaded: () => (/* binding */ limitedLoaded),
+/* harmony export */   reaperLoaded: () => (/* binding */ reaperLoaded),
+/* harmony export */   reset: () => (/* binding */ reset),
+/* harmony export */   set: () => (/* binding */ set),
+/* harmony export */   setup: () => (/* binding */ setup),
+/* harmony export */   singleLoaded: () => (/* binding */ singleLoaded),
+/* harmony export */   suggestedLoaded: () => (/* binding */ suggestedLoaded),
+/* harmony export */   toggle: () => (/* binding */ toggle)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+/* harmony import */ var _slayer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../slayer */ "./modules/slayer.ts");
+/* harmony import */ var _data_reapers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/reapers */ "./modules/data/reapers.ts");
+/* harmony import */ var _data_assignments__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/assignments */ "./modules/data/assignments.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+
+// TODO Clean up code
+var singleLoaded = false, doubleLoaded = false, reaperLoaded = false, suggestedLoaded = false, limitedLoaded = true;
+var get;
+(function (get) {
+    // Get first element by class
+    function elc(name, e) {
+        if (e === void 0) { e = null; }
+        if (e && e.getElementsByClassName(name).length > 0)
+            return e.getElementsByClassName(name)[0];
+        else if (!e && document.getElementsByClassName(name).length > 0)
+            return document.getElementsByClassName(name)[0];
+        return null;
+    }
+    get.elc = elc;
+    // Get the element by id
+    function elid(id) {
+        return document.getElementById(id);
+    }
+    get.elid = elid;
+    // Get the current value in the search input
+    function searchInput() {
+        return _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value;
+    }
+    get.searchInput = searchInput;
+})(get || (get = {}));
+var reset;
+(function (reset) {
+    // Reset from reaper tasks doc
+    function single() {
+        if (!singleLoaded)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base").innerHTML = "";
+        singleLoaded = false;
+    }
+    reset.single = single;
+    // Reset from reaper tasks doc
+    function double() {
+        if (!doubleLoaded)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base").innerHTML = "";
+        doubleLoaded = false;
+    }
+    reset.double = double;
+    // Reset from reaper tasks doc
+    function reaper() {
+        if (!reaperLoaded)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base").innerHTML = "";
+        reaperLoaded = false;
+    }
+    reset.reaper = reaper;
+    // Reset from suggested tasks doc
+    function suggested() {
+        if (!suggestedLoaded)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base").innerHTML = "";
+        suggestedLoaded = false;
+    }
+    reset.suggested = suggested;
+    // Reset the search box value to nothing
+    function searchBox() {
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value = "";
+        toggle.searchText();
+    }
+    reset.searchBox = searchBox;
+})(reset || (reset = {}));
+var set;
+(function (set) {
+    // Set to use a double document
+    function double(task0, task1, bypass) {
+        return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if ((task0 == null || task1 == null) && !doubleLoaded)
+                            return [2 /*return*/];
+                        console.log("Load Double: [" + task0.count + "] " + task0.name + " | [" + task1.count + "] " + task1.name);
+                        // Reset all others
+                        reset.single();
+                        reset.reaper();
+                        reset.suggested();
+                        if (!!doubleLoaded) return [3 /*break*/, 2];
+                        return [4 /*yield*/, setup.doubleAssignment()];
+                    case 1:
+                        _a.sent();
+                        _a.label = 2;
+                    case 2: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.assignment(0, task0.name, task0.count)];
+                    case 3:
+                        _a.sent();
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.assignment(1, task1.name, task1.count)];
+                    case 4:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass && task0.name && task1.name)
+                            _settings__WEBPACK_IMPORTED_MODULE_1__.change.addHistory({ type: 'double', tasks: [task0, task1] });
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.double = double;
+    // Set to use a single document
+    function single(task, bypass) {
+        return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (task == null && !singleLoaded)
+                            return [2 /*return*/];
+                        console.log("Load Single: [" + task.count + "] " + task.name);
+                        // Reset all others
+                        reset.double();
+                        reset.reaper();
+                        reset.suggested();
+                        if (!!singleLoaded) return [3 /*break*/, 2];
+                        return [4 /*yield*/, setup.singleAssignment(0)];
+                    case 1:
+                        _a.sent();
+                        _a.label = 2;
+                    case 2: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.assignment(0, task.name, task.count)];
+                    case 3:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass && task.name)
+                            _settings__WEBPACK_IMPORTED_MODULE_1__.change.addHistory({ type: 'single', tasks: [task] });
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.single = single;
+    // Set to use reaper tasks doc
+    function reaper(task, bypass) {
+        return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (task == null && !reaperLoaded)
+                            return [2 /*return*/];
+                        console.log("Load Reaper: [" + task.count + "] " + task.name);
+                        // Reset all others
+                        reset.single();
+                        reset.double();
+                        reset.suggested();
+                        return [4 /*yield*/, setup.singleAssignment(2)];
+                    case 1: 
+                    // Setup the page and display the data
+                    return [4 /*yield*/, _a.sent()];
+                    case 2:
+                        // Setup the page and display the data
+                        _a.sent();
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.reaper(task.name, task.count)];
+                    case 3:
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass && task.name)
+                            _settings__WEBPACK_IMPORTED_MODULE_1__.change.addHistory({ type: 'reaper', tasks: [task] });
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.reaper = reaper;
+    // Set to use suggested tasks doc
+    function suggested(bypass) {
+        return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        if (suggestedLoaded)
+                            return [2 /*return*/];
+                        console.log("Load Suggested!");
+                        // Reset all others
+                        reset.single();
+                        reset.double();
+                        reset.reaper();
+                        // Setup the page and display the data
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.setup.suggested()];
+                    case 1:
+                        // Setup the page and display the data
+                        _a.sent();
+                        // Log history if not bypassed
+                        if (!bypass)
+                            _settings__WEBPACK_IMPORTED_MODULE_1__.change.addHistory({ type: 'suggestion', tasks: null });
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    set.suggested = suggested;
+    // Set search button
+    function searchButtonText(s) {
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-button").innerHTML = s + "<span style=\"visibility: hidden;\">. . .</span>";
+    }
+    set.searchButtonText = searchButtonText;
+    // Set the search input
+    function searchInput(s) {
+        if (s == null)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value = s;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.toggle.searchText();
+    }
+    set.searchInput = searchInput;
+})(set || (set = {}));
+var setup;
+(function (setup) {
+    // Setup the main document
+    function documentMain() {
+        return __awaiter(this, void 0, void 0, function () {
+            var _a, str;
+            return __generator(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        _a = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("nis");
+                        return [4 /*yield*/, fetch("./pages/doc/body.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _b.sent();
+                        str = "Empty";
+                        // Setup the event listeners for everything
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("infobutton").addEventListener('click', _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.aboutInfo);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("menubutton").addEventListener('click', _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.settingsPage);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("donatebutton").addEventListener('click', _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.donate);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("backbutton").addEventListener('click', _settings__WEBPACK_IMPORTED_MODULE_1__.change.goPreviousHistory);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("forwardbutton").addEventListener('click', _settings__WEBPACK_IMPORTED_MODULE_1__.change.goNextHistory);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-button").addEventListener('click', function () { _slayer__WEBPACK_IMPORTED_MODULE_2__.searchTasks(); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").addEventListener('input', _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.toggle.searchText);
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").addEventListener('change', function () { _slayer__WEBPACK_IMPORTED_MODULE_2__.searchTasks(); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").addEventListener('keyup', function (event) {
+                            switch (event.key) {
+                                case "ArrowUp":
+                                    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchInput(_settings__WEBPACK_IMPORTED_MODULE_1__.search.getPreviousHistory());
+                                    break;
+                                case "ArrowDown":
+                                    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchInput(_settings__WEBPACK_IMPORTED_MODULE_1__.search.getNextHistory());
+                                    break;
+                            }
+                        });
+                        // Load the list of all assignments into the search feature (aka datalist)
+                        _data_reapers__WEBPACK_IMPORTED_MODULE_3__.getIndexList().then(function (r) { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info-list").innerHTML = r; });
+                        _data_assignments__WEBPACK_IMPORTED_MODULE_4__.getIndexList().then(function (r) { return _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info-list").innerHTML += r; });
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.documentMain = documentMain;
+    // Setup the base for double assignment
+    function doubleAssignment() {
+        return __awaiter(this, void 0, void 0, function () {
+            var _a, _loop_1, i;
+            return __generator(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        limitedLoaded = true;
+                        _a = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+                        return [4 /*yield*/, fetch("./pages/doc/dual.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _b.sent();
+                        _loop_1 = function (i) {
+                            var side, _c, _d;
+                            return __generator(this, function (_e) {
+                                switch (_e.label) {
+                                    case 0:
+                                        side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+                                        _c = side;
+                                        return [4 /*yield*/, fetch("./pages/doc/example.html").then(function (r) { return r.text(); })];
+                                    case 1:
+                                        _c.innerHTML = _e.sent();
+                                        // Setup the event listeners for everything
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('click', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.assignment(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('mouseover', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.assignmentWiki(i); });
+                                        if (!!_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited) return [3 /*break*/, 3];
+                                        _d = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("extra-info", side);
+                                        return [4 /*yield*/, fetch("./pages/doc/example-extra.html").then(function (r) { return r.text(); })];
+                                    case 2:
+                                        _d.innerHTML = _e.sent();
+                                        limitedLoaded = false;
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.assignmentWikiPreview(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.creatureWikiPreview(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipMore", side).addEventListener('mouseenter', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreEquip(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreEquip(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationMore", side).addEventListener('mouseenter', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreLocations(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreLocations(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('click', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.creature(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('mouseover', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.creatureWiki(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creatures", side).addEventListener('change', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.creature(i); });
+                                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("variants", side).addEventListener('change', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.variant(i); });
+                                        _e.label = 3;
+                                    case 3: return [2 /*return*/];
+                                }
+                            });
+                        };
+                        i = 0;
+                        _b.label = 2;
+                    case 2:
+                        if (!(i < 2)) return [3 /*break*/, 5];
+                        return [5 /*yield**/, _loop_1(i)];
+                    case 3:
+                        _b.sent();
+                        _b.label = 4;
+                    case 4:
+                        i++;
+                        return [3 /*break*/, 2];
+                    case 5:
+                        // Adjust the doc for limited and full
+                        adjustForSettings();
+                        doubleLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.doubleAssignment = doubleAssignment;
+    // Setup the base for single assignment
+    function singleAssignment(i) {
+        return __awaiter(this, void 0, void 0, function () {
+            var _a, side, _b, _c;
+            return __generator(this, function (_d) {
+                switch (_d.label) {
+                    case 0:
+                        limitedLoaded = true;
+                        _a = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+                        return [4 /*yield*/, fetch("./pages/doc/single.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _d.sent();
+                        side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+                        _b = side;
+                        return [4 /*yield*/, fetch("./pages/doc/example.html").then(function (r) { return r.text(); })];
+                    case 2:
+                        _b.innerHTML = _d.sent();
+                        // Setup the event listeners for everything
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('click', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.assignment(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("task-wiki", side).addEventListener('mouseover', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.assignmentWiki(i); });
+                        if (!!_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited) return [3 /*break*/, 4];
+                        _c = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("extra-info", side);
+                        return [4 /*yield*/, fetch("./pages/doc/example-extra.html").then(function (r) { return r.text(); })];
+                    case 3:
+                        _c.innerHTML = _d.sent();
+                        limitedLoaded = false;
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.assignmentWikiPreview(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.creatureWikiPreview(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipMore", side).addEventListener('mouseenter', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreEquip(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreEquip(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationMore", side).addEventListener('mouseenter', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.moreLocations(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).addEventListener('mouseleave', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hide.moreLocations(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('click', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.open.wiki.creature(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creature-wiki", side).addEventListener('mouseover', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.hover.creatureWiki(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creatures", side).addEventListener('change', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.creature(i); });
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("variants", side).addEventListener('change', function () { _dochandler__WEBPACK_IMPORTED_MODULE_0__.change.variant(i); });
+                        _d.label = 4;
+                    case 4:
+                        // Adjust if status is visible
+                        if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.status)
+                            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("status", side).style.visibility = "visible";
+                        else
+                            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("status", side).style.visibility = "hidden";
+                        // Adjust the doc for limited and full
+                        adjustForSettings();
+                        if (i == 2)
+                            reaperLoaded = true;
+                        else
+                            singleLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.singleAssignment = singleAssignment;
+    // Setup the base for suggested
+    function suggested() {
+        return __awaiter(this, void 0, void 0, function () {
+            var side, _a, suggestType, _loop_2, i;
+            return __generator(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base");
+                        _a = side;
+                        return [4 /*yield*/, fetch("./pages/doc/suggested.html").then(function (r) { return r.text(); })];
+                    case 1:
+                        _a.innerHTML = _b.sent();
+                        suggestType = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("type-suggest");
+                        if (suggestType)
+                            suggestType.addEventListener('click', function () { window.open("https://runescape.wiki/w/Slayer_training/High-levelled"); });
+                        _loop_2 = function (i) {
+                            var element = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("suggestion-" + i);
+                            if (element)
+                                element.addEventListener('click', function () { _slayer__WEBPACK_IMPORTED_MODULE_2__.searchTasks(element.innerHTML); });
+                        };
+                        for (i = 1; i <= 12; i++) {
+                            _loop_2(i);
+                        }
+                        suggestedLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    }
+    setup.suggested = suggested;
+    // If limited the lets set the size of the base
+    function adjustForSettings() {
+        if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited) {
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base").classList.remove("base-full");
+            if (_dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("divide"))
+                _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("divide").classList.remove("divide-full");
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("copyright").classList.remove("copyright-full");
+        }
+        else {
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("base").classList.add("base-full");
+            if (_dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("divide"))
+                _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("divide").classList.add("divide-full");
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("copyright").classList.add("copyright-full");
+        }
+    }
+})(setup || (setup = {}));
+var toggle;
+(function (toggle) {
+    // Toggle if we are capturing screen or searching text
+    function searchText() {
+        if (_slayer__WEBPACK_IMPORTED_MODULE_2__.searchResult || (!_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.autoCapture.enabled && _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.searchInput() === ""))
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchButtonText("Capture");
+        else
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.searchButtonText("Search");
+    }
+    toggle.searchText = searchText;
+})(toggle || (toggle = {}));
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/open.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/open.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   aboutInfo: () => (/* binding */ aboutInfo),
+/* harmony export */   donate: () => (/* binding */ donate),
+/* harmony export */   settingsPage: () => (/* binding */ settingsPage),
+/* harmony export */   wiki: () => (/* binding */ wiki)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+// Open the Donate Page (https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ)
+function donate() {
+    window.open("https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ");
+}
+// Open the about info page
+function aboutInfo() {
+    window.open("./pages/about.html", null, "width=680,height=550");
+}
+// Open the settings page
+function settingsPage() {
+    var settingsWindow = window.open("./pages/settings.html", "_blank", "width=420,height=550");
+    console.warn("Settings Opened!");
+    settingsWindow.window.console.warn("Settings Loaded!");
+    settingsWindow.addEventListener('keyup', function (e) {
+        if ((e.which || e.keyCode) == 116) {
+            // FIXME Disabled F5 for now, need to find out how to fix this so it just re-hooks events on refresh
+            e.preventDefault();
+        }
+    });
+    settingsWindow.addEventListener('beforeunload', function () {
+        // Load the new settings and apply them
+        _settings__WEBPACK_IMPORTED_MODULE_1__.controller.load();
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.toggle.searchText();
+        // FIXME Make it so when we unload, we can reload the settings in case user pressed F5
+        console.warn("Settings Closed!");
+        settingsWindow.window.console.warn("Settings Saved!");
+    });
+}
+var wiki;
+(function (wiki) {
+    // Open the specific Task's wiki page
+    function assignment(i) {
+        var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+        var task = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("name", side).innerHTML;
+        if (task != null)
+            window.open('https://runescape.wiki/' + task + '_(Slayer_assignment)');
+    }
+    wiki.assignment = assignment;
+    // Open the specific Creature's wiki page
+    function creature(i) {
+        var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+        var creature = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("creatures", side).value;
+        var variant = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("variants", side).value;
+        if (creature != null && variant != null)
+            window.open('https://runescape.wiki/' + creature + "#" + variant);
+    }
+    wiki.creature = creature;
+    // Open the specific Master wiki page
+    function master(i, j) {
+        var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+        var master = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("masterImage" + j, side).alt;
+        if (master != null)
+            window.open('https://runescape.wiki/' + master);
+    }
+    wiki.master = master;
+})(wiki || (wiki = {}));
+
+
+/***/ }),
+
+/***/ "./modules/dochandler/show.ts":
+/*!************************************!*\
+  !*** ./modules/dochandler/show.ts ***!
+  \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   assignmentWikiPreview: () => (/* binding */ assignmentWikiPreview),
+/* harmony export */   creatureWikiPreview: () => (/* binding */ creatureWikiPreview),
+/* harmony export */   moreEquip: () => (/* binding */ moreEquip),
+/* harmony export */   moreLocations: () => (/* binding */ moreLocations)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../settings */ "./modules/settings.ts");
+
+
+// Show the specific Creature's preview wiki page
+function assignmentWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-task-wiki", side).style.visibility = "visible";
+}
+// Show the specific Creature's preview wiki page
+function creatureWikiPreview(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("preview-creature-wiki", side).style.visibility = "visible";
+}
+// Show more Equipment for task
+function moreEquip(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    if (_dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).innerHTML != null && _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).innerHTML.trimEnd() != "")
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("equipHidden", side).style.visibility = "visible";
+}
+// Show more Locations for task
+function moreLocations(i) {
+    if (_settings__WEBPACK_IMPORTED_MODULE_1__.controller.data.ui.limited)
+        return;
+    var side = _dochandler__WEBPACK_IMPORTED_MODULE_0__.getSide(i);
+    if (_dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).innerHTML != null && _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).innerHTML.trimEnd() != "")
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elc("locationHidden", side).style.visibility = "visible";
+}
+
+
+/***/ }),
+
+/***/ "./modules/extrafuncs.ts":
+/*!*******************************!*\
+  !*** ./modules/extrafuncs.ts ***!
+  \*******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   calculateAspectRatioFit: () => (/* binding */ calculateAspectRatioFit),
+/* harmony export */   decodeHtml: () => (/* binding */ decodeHtml),
+/* harmony export */   listContains: () => (/* binding */ listContains),
+/* harmony export */   numberWithCommas: () => (/* binding */ numberWithCommas)
+/* harmony export */ });
+// Add commas into a number if its big enough
+function numberWithCommas(n) {
+    if (n == null)
+        return "<span style=\"color: red;\">Empty</span>";
+    if (n == -666)
+        return "<span style=\"color: red;\">Error</span>";
+    return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+}
+// Check if the list contains what you want to find
+function listContains(list, find) {
+    for (var l in list)
+        if (decodeHtml(list[l]).toLowerCase() === decodeHtml(find).toLowerCase())
+            return true;
+    return false;
+}
+// Get new width and height for image based on aspec ratio
+function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) {
+    var ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
+    return { width: srcWidth * ratio, height: srcHeight * ratio };
+}
+// Decode the Html chars that have been encoded during database downloading
+function decodeHtml(html) {
+    var txt = document.createElement("textarea");
+    txt.innerHTML = html;
+    return txt.value;
+}
+
+
+/***/ }),
+
+/***/ "./modules/settings.ts":
+/*!*****************************!*\
+  !*** ./modules/settings.ts ***!
+  \*****************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   AutoCaptureData: () => (/* binding */ AutoCaptureData),
+/* harmony export */   DefaultData: () => (/* binding */ DefaultData),
+/* harmony export */   HiddenData: () => (/* binding */ HiddenData),
+/* harmony export */   SettingsData: () => (/* binding */ SettingsData),
+/* harmony export */   SettingsDataController: () => (/* binding */ SettingsDataController),
+/* harmony export */   UIData: () => (/* binding */ UIData),
+/* harmony export */   change: () => (/* binding */ change),
+/* harmony export */   controller: () => (/* binding */ controller),
+/* harmony export */   executeDevTools: () => (/* binding */ executeDevTools),
+/* harmony export */   search: () => (/* binding */ search)
+/* harmony export */ });
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _slayer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slayer */ "./modules/slayer.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+// Add Auto Capture Data
+var AutoCaptureData = /** @class */ (function () {
+    function AutoCaptureData() {
+    }
+    return AutoCaptureData;
+}());
+
+// All UI Data
+var UIData = /** @class */ (function () {
+    function UIData() {
+    }
+    return UIData;
+}());
+
+// All Hidden Data
+var DefaultData = /** @class */ (function () {
+    function DefaultData() {
+    }
+    return DefaultData;
+}());
+
+// All Hidden Data
+var HiddenData = /** @class */ (function () {
+    function HiddenData() {
+    }
+    return HiddenData;
+}());
+
+// All settings data
+var SettingsData = /** @class */ (function () {
+    function SettingsData() {
+    }
+    return SettingsData;
+}());
+
+// Controls all the settings data
+var SettingsDataController = /** @class */ (function () {
+    function SettingsDataController() {
+        this.configLoaded = false;
+        this.data = {
+            version: 1,
+            searchAlgorithim: "default",
+            autoCapture: {
+                enabled: true,
+                counter: true,
+                search: false,
+                loopTimer: 500,
+                counterTimer: 500,
+                dialogTimer: 5000,
+                searchTimer: 10000,
+            },
+            ui: {
+                style: "default", // TODO Select sytle for the app (Needs finished later on)
+                limited: false,
+                status: true,
+                counter: false,
+                counterTimer: 500,
+                historyRetentionCount: 10, // TODO How many search results to keep in history (0 = unlimited)
+                lookupRetentionCount: 0, // TODO How many lookup results to keep in history (0 = unlimited)
+            },
+            showHidden: {
+                creatures: false,
+                eliteCreatures: false,
+                dragonkinCreatures: false,
+                godWarsCreatures: false,
+                ghorrockCreatures: false,
+                heartGielinorCreatures: false,
+                monsterCreatures: false,
+                newVarrockCreatures: false,
+                shadowReefCreatures: false,
+                strongholdSecurityCreatures: false,
+                summonedCreatures: false,
+                templeTrekkingCreatures: false,
+                unchartedIslesCreatures: false
+            },
+            default: {
+                taskName0: "waterfiends",
+                taskName1: "black demons",
+                taskCount0: 777,
+                taskCount1: 666
+                // TODO Add more default data later on
+            },
+        };
+    }
+    // Load the users settings
+    SettingsDataController.prototype.load = function () {
+        return __awaiter(this, void 0, void 0, function () {
+            var res;
+            return __generator(this, function (_a) {
+                switch (_a.label) {
+                    case 0:
+                        // Load the versioning system to make sure old settings get updated (Max Version ???.256.256)
+                        if (window.localStorage.getItem('version') != null)
+                            this.data.version = this.decodeVersion(window.localStorage.getItem('version'));
+                        // Add Versioning system to allow compatibility with future updates (Should only ever run once)
+                        if (this.data.version <= 5 && !this.configLoaded) {
+                            console.log("(Versioning System Missing) Setting up versioning system.");
+                            // Remove the alpha/beta recent task system, we are replacing it with a new defaults loading system
+                            if (window.localStorage.getItem('recent_task_0') != null)
+                                window.localStorage.removeItem('recent_task_0');
+                            if (window.localStorage.getItem('recent_task_count_0') != null)
+                                window.localStorage.removeItem('recent_task_count_0');
+                            if (window.localStorage.getItem('recent_task_1') != null)
+                                window.localStorage.removeItem('recent_task_1');
+                            if (window.localStorage.getItem('recent_task_count_1') != null)
+                                window.localStorage.removeItem('recent_task_count_1');
+                            // If this is the first setup since versions system we need to set the defaults with a save
+                            this.save();
+                        }
+                        return [4 /*yield*/, fetch("./data/version.json").then(function (r) { return r.json(); })];
+                    case 1:
+                        res = _a.sent();
+                        if (this.data.version < this.decodeVersion(res['version']))
+                            this.data.version = this.decodeVersion(res['version']);
+                        // TODO Load basic settings here
+                        controller.data.autoCapture.enabled = window.localStorage.getItem("auto-capture-enabled") === "true";
+                        controller.data.autoCapture.counter = window.localStorage.getItem("auto-capture-counter") === "true";
+                        controller.data.autoCapture.search = window.localStorage.getItem("auto-capture-search") === "true";
+                        controller.data.autoCapture.loopTimer = parseInt(window.localStorage.getItem("auto-capture-timer-loop"));
+                        controller.data.autoCapture.dialogTimer = parseInt(window.localStorage.getItem("auto-capture-timer-dialog"));
+                        controller.data.autoCapture.counterTimer = parseInt(window.localStorage.getItem("auto-capture-timer-counter"));
+                        controller.data.autoCapture.searchTimer = parseInt(window.localStorage.getItem("auto-capture-timer-search"));
+                        controller.data.ui.limited = window.localStorage.getItem("ui-limited") === "true";
+                        controller.data.ui.status = window.localStorage.getItem("ui-status") === "true";
+                        controller.data.ui.counter = window.localStorage.getItem("ui-counter") === "true";
+                        controller.data.ui.counterTimer = parseInt(window.localStorage.getItem("ui-counter-timer"));
+                        // TODO Load history here then we reset the ui and load them
+                        // Reset the ui so we make sure to update the correct info on it
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.single();
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.double();
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.reaper();
+                        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.suggested();
+                        if (!(this.data.default.taskName0 != null && this.data.default.taskName1 != null)) return [3 /*break*/, 3];
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.double({ name: this.data.default.taskName0, count: this.data.default.taskCount0 }, { name: this.data.default.taskName1, count: this.data.default.taskCount1 })];
+                    case 2:
+                        _a.sent();
+                        _a.label = 3;
+                    case 3:
+                        if (!(this.data.default.taskName0 != null && this.data.default.taskName1 == null)) return [3 /*break*/, 5];
+                        return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.single({ name: this.data.default.taskName0, count: this.data.default.taskCount0 })];
+                    case 4:
+                        _a.sent();
+                        _a.label = 5;
+                    case 5:
+                        // Print out that we loaded the settings
+                        console.warn("Config Loaded");
+                        this.configLoaded = true;
+                        return [2 /*return*/];
+                }
+            });
+        });
+    };
+    // Save the users settings
+    SettingsDataController.prototype.save = function () {
+        return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (_a) {
+                // Save versioning system
+                if (this.data.version > 1)
+                    window.localStorage.setItem('version', this.encodeVersion(this.data.version));
+                // TODO Add save settings
+                window.localStorage.setItem("auto-capture-enabled", "" + controller.data.autoCapture.enabled);
+                window.localStorage.setItem("auto-capture-counter", "" + controller.data.autoCapture.counter);
+                window.localStorage.setItem("auto-capture-search", "" + controller.data.autoCapture.search);
+                window.localStorage.setItem("auto-capture-timer-loop", "" + controller.data.autoCapture.loopTimer);
+                window.localStorage.setItem("auto-capture-timer-dialog", "" + controller.data.autoCapture.dialogTimer);
+                window.localStorage.setItem("auto-capture-timer-counter", "" + controller.data.autoCapture.counterTimer);
+                window.localStorage.setItem("auto-capture-timer-search", "" + controller.data.autoCapture.searchTimer);
+                window.localStorage.setItem("ui-limited", "" + controller.data.ui.limited);
+                window.localStorage.setItem("ui-status", "" + controller.data.ui.status);
+                window.localStorage.setItem("ui-counter", "" + controller.data.ui.counter);
+                window.localStorage.setItem("ui-counter-timer", "" + controller.data.ui.counterTimer);
+                // Print out that we saved the settings
+                console.warn("Config Saved");
+                return [2 /*return*/];
+            });
+        });
+    };
+    SettingsDataController.prototype.decodeVersion = function (version) {
+        var versionSplit = version.split("\.");
+        var versionUpper = versionSplit.length > 2 ? parseInt(versionSplit[0]) : 0;
+        var versionLower = parseInt(versionSplit.length > 2 ? versionSplit[1] : versionSplit[0]);
+        var versionPatch = parseInt(versionSplit.length > 2 ? versionSplit[2] : versionSplit[1]);
+        return ((versionUpper * 256 * 256) + (versionLower * 256) + versionPatch);
+    };
+    SettingsDataController.prototype.encodeVersion = function (version) {
+        var versionUpper = version > 256 * 256 ? version / (256 * 256) : 0;
+        var versionLower = version > 256 ? (version - (versionUpper * 256 * 256)) / 256 : 0;
+        var versionPatch = (version - (versionUpper * 256 * 256) - (versionLower * 256));
+        return versionUpper + "." + versionLower + "." + versionPatch;
+    };
+    return SettingsDataController;
+}());
+
+var controller = new SettingsDataController();
+// All functions that deal with lookup history are here
+var change;
+(function (change) {
+    change.history = [];
+    change.index = 0;
+    // Add change history for forward and back buttons
+    function addHistory(history) {
+        if (!history || !history.tasks || !change.history[change.index])
+            return;
+        // Check if is previous history and if so abort
+        if ((history.type === "single" || history.type === "reaper") && history.tasks[0].name === change.history[change.index].tasks[0].name)
+            return;
+        if (history.type === "double" && history.tasks[0].name === change.history[change.index].tasks[0].name && history.tasks[1].name === change.history[change.index].tasks[1].name)
+            return;
+        if (history.type === "suggestion" && history.type === change.history[change.index].type)
+            return;
+        // Add Change History
+        if (change.index + 1 != change.history.length)
+            change.history = change.history.slice(0, change.index + 1);
+        change.history.push(history);
+        change.index = change.history.length - 1;
+        // Save change history
+        console.warn("Save History");
+        controller.save();
+    }
+    change.addHistory = addHistory;
+    // Go to previous change history
+    function refreshCurrent() {
+        if (change.index < 0 || change.index >= change.history.length)
+            return;
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.single();
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.double();
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.reaper();
+        _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.reset.suggested();
+        // Get previous change history and then set the data
+        var previousChange = change.history[change.index];
+        if (previousChange.type === 'double')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.double(previousChange.tasks[0], previousChange.tasks[1], true);
+        if (previousChange.type === 'single')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.single(previousChange.tasks[0], true);
+        if (previousChange.type === 'reaper')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.reaper(previousChange.tasks[0], true);
+        if (previousChange.type === 'suggestion')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.suggested(true);
+        // Save change history
+        console.warn("Save History");
+        controller.save();
+    }
+    change.refreshCurrent = refreshCurrent;
+    // Go to previous change history
+    function goPreviousHistory() {
+        if (change.index - 1 < 0)
+            return;
+        // Get previous change history and then set the data
+        var previousChange = change.history[--change.index];
+        if (previousChange.type === 'double')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.double(previousChange.tasks[0], previousChange.tasks[1], true);
+        if (previousChange.type === 'single')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.single(previousChange.tasks[0], true);
+        if (previousChange.type === 'reaper')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.reaper(previousChange.tasks[0], true);
+        if (previousChange.type === 'suggestion')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.suggested(true);
+        // Save change history
+        console.warn("Save History");
+        controller.save();
+    }
+    change.goPreviousHistory = goPreviousHistory;
+    // Go to next change history
+    function goNextHistory() {
+        if (change.index + 1 >= change.history.length)
+            return;
+        // Get next change history and then set the data
+        var nextChange = change.history[++change.index];
+        if (nextChange.type === 'double')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.double(nextChange.tasks[0], nextChange.tasks[1], true);
+        if (nextChange.type === 'single')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.single(nextChange.tasks[0], true);
+        if (nextChange.type === 'reaper')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.reaper(nextChange.tasks[0], true);
+        if (nextChange.type === 'suggestion')
+            _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.set.suggested(true);
+        // Save change history
+        console.warn("Save History");
+        controller.save();
+    }
+    change.goNextHistory = goNextHistory;
+})(change || (change = {}));
+// All functions that deal with searching are here
+var search;
+(function (search) {
+    search.temp = null;
+    search.history = [];
+    search.index = 0;
+    // Add search history and then reset for next search
+    function addHistory(value) {
+        if (!value || value == '')
+            return;
+        // TODO Adjust the search history to be in sessionStorage instead
+        // Add Search History
+        search.history.push(value);
+        search.index = search.history.length;
+        search.temp = null;
+        // Save search history
+        console.warn("Save History");
+        controller.save();
+    }
+    search.addHistory = addHistory;
+    // Get the previous search history
+    function getPreviousHistory() {
+        // Deal with the temp search value
+        tempValue();
+        // Save history and then return the correct history
+        console.warn("Save History");
+        controller.save();
+        if (search.index - 1 < 0)
+            return null;
+        if (--search.index == search.history.length)
+            return search.temp;
+        return search.history[search.index];
+    }
+    search.getPreviousHistory = getPreviousHistory;
+    // Get the next search history
+    function getNextHistory() {
+        // Deal with the temp search value
+        tempValue();
+        // Save history and then return the correct history
+        console.warn("Save History");
+        controller.save();
+        if (search.index + 1 > search.history.length + (search.temp == "" ? 0 : 1))
+            return null;
+        if (++search.index == search.history.length + (search.temp == "" ? 0 : 1))
+            return "";
+        if (search.temp != "" && search.index == search.history.length)
+            return search.temp;
+        return search.history[search.index];
+    }
+    search.getNextHistory = getNextHistory;
+    function tempValue() {
+        // Setup temp search value while it is empty
+        if (search.temp == null)
+            search.temp = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value;
+        // Setup temp search value if the value changed
+        if (search.index == search.history.length && search.temp != _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value)
+            search.temp = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value;
+        // Setup temp search value if new entry is added
+        if (search.index == search.history.length + 1 && _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value != "") {
+            search.temp = _dochandler__WEBPACK_IMPORTED_MODULE_0__.main.get.elid("search-info").value;
+            --search.index;
+        }
+    }
+})(search || (search = {}));
+// ~~~~ DevTools ~~~~
+function executeDevTools(value) {
+    return __awaiter(this, void 0, void 0, function () {
+        var counterData, slayerData, a, a, pos, box, a, e_1;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    if (value === "devTools") {
+                        console.log(" ~~~ Dev Tools ~ Information Opened ~~~ ");
+                        alt1.openBrowser("https://runeapps.org/forums/viewtopic.php?id=101");
+                        return [2 /*return*/];
+                    }
+                    console.log(" ~~~ Dev Tools ~ Started ~~~ ");
+                    _a.label = 1;
+                case 1:
+                    _a.trys.push([1, 6, , 7]);
+                    if (value === "size")
+                        console.log("Current Size: " + document.body.clientWidth + ", " + document.body.clientHeight);
+                    if (!(value === "counterReader")) return [3 /*break*/, 3];
+                    return [4 /*yield*/, _slayer__WEBPACK_IMPORTED_MODULE_1__.counterReader.read()];
+                case 2:
+                    counterData = _a.sent();
+                    if (counterData) {
+                        console.log("The Counter UI Collapsed [" + counterData.collapsed + "]");
+                        console.log("The Counter UI Old School [" + counterData.OS + "]");
+                        console.log("The Counter UI Reaper [" + counterData.reaper + "]");
+                        console.log("The Counter UI Count [" + counterData.count + "]");
+                        console.log("The Counter UI Task [" + counterData.task + "]");
+                    }
+                    else
+                        console.log(" ~~~ Dev Tools ~ Error: Cannot read counter data! ~~~ ");
+                    _a.label = 3;
+                case 3:
+                    if (!(value === "slayerReader")) return [3 /*break*/, 5];
+                    return [4 /*yield*/, _slayer__WEBPACK_IMPORTED_MODULE_1__.slayerReader.read()];
+                case 4:
+                    slayerData = _a.sent();
+                    if (slayerData) {
+                        console.log("The Slayer Reader Select Your Own [" + slayerData.selectYourOwn + "]");
+                        console.log("The Slayer Reader Reaper [" + slayerData.reaper + "]");
+                        console.log("The Slayer Reader Ticket [" + slayerData.ticket + "]");
+                        for (a in slayerData.count)
+                            console.log("The Slayer Reader Count{" + a + "} [" + slayerData.count[a] + "]");
+                        for (a in slayerData.count)
+                            console.log("The Slayer Reader Task{" + a + "} [" + slayerData.task[a] + "]");
+                    }
+                    else
+                        console.log(" ~~~ Dev Tools ~ Error: Cannot read slayer data! ~~~ ");
+                    _a.label = 5;
+                case 5:
+                    if (value === "dialogReader") {
+                        console.log("Searching for Dialog...");
+                        pos = _slayer__WEBPACK_IMPORTED_MODULE_1__.slayerReader.dialogReader.find();
+                        if (!pos) {
+                            console.log(" ~~~ Dev Tools ~ Error: Cannot find the Dialog! ~~~ ");
+                            return [2 /*return*/];
+                        }
+                        box = _slayer__WEBPACK_IMPORTED_MODULE_1__.slayerReader.dialogReader.read();
+                        if (!box) {
+                            console.log(" ~~~ Dev Tools ~ Error: Cannot read the Dialog! ~~~ ");
+                            return [2 /*return*/];
+                        }
+                        // Output all relivant data to the console
+                        if (box.title)
+                            console.log("The Dialog Box Title [" + box.title.toString() + "]");
+                        if (box.text)
+                            console.log("The Dialog Box Text [" + box.text.toString() + "]");
+                        if (box.opts) {
+                            console.log("The Dialog Box Options (" + box.opts.length + ") [" + box.opts.toString() + "]");
+                            for (a in box.opts)
+                                console.log("\t" + (Number(a) + 1) + ". " + box.opts[a].text);
+                        }
+                    }
+                    return [3 /*break*/, 7];
+                case 6:
+                    e_1 = _a.sent();
+                    console.error("~~~ Dev Tools ~ Error: Issue Capturing Screen! ~~~ ");
+                    return [3 /*break*/, 7];
+                case 7:
+                    console.log(" ~~~ Dev Tools ~ Finished ~~~ ");
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./modules/slayer.ts":
+/*!***************************!*\
+  !*** ./modules/slayer.ts ***!
+  \***************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   canCaptureRunescape: () => (/* binding */ canCaptureRunescape),
+/* harmony export */   captureRunescape: () => (/* binding */ captureRunescape),
+/* harmony export */   counterReader: () => (/* binding */ counterReader),
+/* harmony export */   findTask: () => (/* binding */ findTask),
+/* harmony export */   loopRunning: () => (/* binding */ loopRunning),
+/* harmony export */   searchAlgo: () => (/* binding */ searchAlgo),
+/* harmony export */   searchResult: () => (/* binding */ searchResult),
+/* harmony export */   searchTasks: () => (/* binding */ searchTasks),
+/* harmony export */   slayerReader: () => (/* binding */ slayerReader),
+/* harmony export */   timer: () => (/* binding */ timer)
+/* harmony export */ });
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! alt1 */ "../node_modules/alt1/dist/base/index.js");
+/* harmony import */ var alt1__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(alt1__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ "./modules/settings.ts");
+/* harmony import */ var _dochandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _SearchAlgorithm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SearchAlgorithm */ "./modules/SearchAlgorithm.ts");
+/* harmony import */ var _SlayerDialogReader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SlayerDialogReader */ "./modules/SlayerDialogReader.ts");
+/* harmony import */ var _UICounterReader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UICounterReader */ "./modules/UICounterReader.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+
+
+// Get a timer, Dialog Reader, and Counter Reader
+var timer = function (ms) { return new Promise(function (res) { return setTimeout(res, ms); }); };
+var searchAlgo = new _SearchAlgorithm__WEBPACK_IMPORTED_MODULE_2__.SearchAlgorithm();
+var slayerReader = new _SlayerDialogReader__WEBPACK_IMPORTED_MODULE_3__.SlayerDialogReader();
+var counterReader = new _UICounterReader__WEBPACK_IMPORTED_MODULE_4__.UICounterReader();
+var loopRunning = false, searchResult = false;
+;
+// Check to see if we can capture the current screen
+function canCaptureRunescape() {
+    return window.alt1 && alt1.rsLinked && alt1.permissionPixel;
+}
+// Capture the current runescape screen and return it
+function captureRunescape() {
+    if (!canCaptureRunescape())
+        return null;
+    try {
+        return alt1__WEBPACK_IMPORTED_MODULE_5__.captureHoldFullRs();
+    }
+    catch (ex) {
+        if (ex.message === "capturehold failed")
+            console.warn("Capturing screen failed! Is runescape open?");
+    }
+    return null;
+}
+// Find a task on the current screen in multiple different ways
+function findTask(buffer) {
+    return __awaiter(this, void 0, void 0, function () {
+        var slayerData, counterData;
+        return __generator(this, function (_a) {
+            switch (_a.label) {
+                case 0:
+                    // If autoCapture is disabled, loo is already running, or we have a search result then return
+                    if (!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.enabled || loopRunning || searchResult)
+                        return [2 /*return*/];
+                    // If there is no image, attempt to capture a new one
+                    if (!buffer)
+                        buffer = captureRunescape();
+                    if (!buffer)
+                        return [2 /*return*/];
+                    // Set the loop to running and reset the loading icon
+                    loopRunning = true;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [4 /*yield*/, slayerReader.read(buffer)];
+                case 1:
+                    slayerData = _a.sent();
+                    if (!(slayerData && slayerData[0])) return [3 /*break*/, 11];
+                    // If we found a slayer dialog then set loading
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    if (!slayerData.selectYourOwn) return [3 /*break*/, 3];
+                    // Update the data in window
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.suggested();
+                    // End Loading animation, wait 5 secs and then return
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.dialogTimer)];
+                case 2:
+                    _a.sent();
+                    loopRunning = false;
+                    return [2 /*return*/];
+                case 3:
+                    if (!(slayerData.reaper && !slayerData.ticket)) return [3 /*break*/, 5];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.reaper({ name: slayerData[0].task, count: slayerData[0].count })];
+                case 4:
+                    _a.sent();
+                    return [3 /*break*/, 9];
+                case 5:
+                    if (!slayerData.ticket) return [3 /*break*/, 7];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.double({ name: slayerData[0].task, count: slayerData[0].count }, { name: slayerData[1].task, count: slayerData[1].count })];
+                case 6:
+                    _a.sent();
+                    return [3 /*break*/, 9];
+                case 7: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.single({ name: slayerData[0].task, count: slayerData[0].count })];
+                case 8:
+                    _a.sent();
+                    _a.label = 9;
+                case 9:
+                    // End Loading animation, wait 5 secs and then return
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.dialogTimer)];
+                case 10:
+                    _a.sent();
+                    loopRunning = false;
+                    return [2 /*return*/];
+                case 11:
+                    if (!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.counter) return [3 /*break*/, 18];
+                    return [4 /*yield*/, counterReader.read(buffer)];
+                case 12:
+                    counterData = _a.sent();
+                    if (!counterData) return [3 /*break*/, 18];
+                    // If we can see the Slayer Count UI for RS3, lets let them know we are loading
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loading();
+                    if (!(counterData.reaper && (_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.reaperLoaded || counterData.task != null))) return [3 /*break*/, 14];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.reaper({ name: counterData.task, count: counterData.count })];
+                case 13:
+                    _a.sent();
+                    return [3 /*break*/, 16];
+                case 14:
+                    if (!(!counterData.reaper && (_dochandler__WEBPACK_IMPORTED_MODULE_1__.main.singleLoaded || counterData.task != null))) return [3 /*break*/, 16];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.single({ name: counterData.task, count: counterData.count })];
+                case 15:
+                    _a.sent();
+                    _a.label = 16;
+                case 16:
+                    // End Loading animation, wait 5 secs and then return
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.counterTimer)];
+                case 17:
+                    _a.sent();
+                    loopRunning = false;
+                    return [2 /*return*/];
+                case 18:
+                    // Finish up by stoping the loading animation and wait 0.5 seconds before we start capturing again
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    loopRunning = false;
+                    return [2 /*return*/];
+            }
+        });
+    });
+}
+// Search for the task by value of the search box
+function searchTasks(value) {
+    return __awaiter(this, void 0, void 0, function () {
+        var tool, lookup, tasks, _a, _b, _c, _i, a, data;
+        return __generator(this, function (_d) {
+            switch (_d.label) {
+                case 0:
+                    // Get the current search value, reset it, & add search history
+                    if (!value)
+                        value = _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.get.searchInput();
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.reset.searchBox();
+                    _settings__WEBPACK_IMPORTED_MODULE_0__.search.addHistory(value);
+                    // Handle the search in different ways
+                    if (value.length == 0 && (searchResult || !_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.enabled)) {
+                        // Do a manual capture
+                        searchResult = false;
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.toggle.searchText();
+                        findTask();
+                        return [2 /*return*/];
+                    }
+                    else if (value.startsWith("devTools")) {
+                        tool = value;
+                        if (value.includes(" "))
+                            tool = value.substring(value.indexOf(" ") + 1);
+                        _settings__WEBPACK_IMPORTED_MODULE_0__.executeDevTools(tool);
+                        return [2 /*return*/];
+                    }
+                    else if (value.toLowerCase().includes("suggest")) {
+                        _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.suggested();
+                        return [2 /*return*/];
+                    }
+                    // Setup the loopRunnign, lookup value, and if there is a second assignment then lets add them both
+                    searchResult = true;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.toggle.searchText();
+                    lookup = [value];
+                    if (value.includes("|")) {
+                        lookup[0] = value.substring(0, value.indexOf("|"));
+                        lookup[1] = value.substring(value.indexOf("|") + 1);
+                    }
+                    tasks = [];
+                    _a = lookup;
+                    _b = [];
+                    for (_c in _a)
+                        _b.push(_c);
+                    _i = 0;
+                    _d.label = 1;
+                case 1:
+                    if (!(_i < _b.length)) return [3 /*break*/, 4];
+                    _c = _b[_i];
+                    if (!(_c in _a)) return [3 /*break*/, 3];
+                    a = _c;
+                    return [4 /*yield*/, searchAlgo.lookup(lookup[a], lookup.length > 1)];
+                case 2:
+                    data = _d.sent();
+                    if (!data)
+                        return [2 /*return*/];
+                    // Setup the data for tasks
+                    console.log("Search for (Reaper/Slayer Assignment, Alias, or Creature): " + data.task);
+                    tasks.push({ name: data.task, reaper: data.reaper });
+                    _d.label = 3;
+                case 3:
+                    _i++;
+                    return [3 /*break*/, 1];
+                case 4:
+                    if (!(tasks.length > 1)) return [3 /*break*/, 6];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.double({ name: tasks[0].name, count: 1 }, { name: tasks[1].name, count: 1 })];
+                case 5:
+                    _d.sent();
+                    return [3 /*break*/, 10];
+                case 6:
+                    if (!(tasks.length == 1 && tasks[0].reaper)) return [3 /*break*/, 8];
+                    return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.reaper({ name: tasks[0].name, count: 1 })];
+                case 7:
+                    _d.sent();
+                    return [3 /*break*/, 10];
+                case 8: return [4 /*yield*/, _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.set.single({ name: tasks[0].name, count: 1 })];
+                case 9:
+                    _d.sent();
+                    _d.label = 10;
+                case 10:
+                    // Stop loading
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.animate.loadingStop();
+                    if (!!_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.search) return [3 /*break*/, 12];
+                    return [4 /*yield*/, timer(_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.searchTimer)];
+                case 11:
+                    _d.sent();
+                    searchResult = false;
+                    _dochandler__WEBPACK_IMPORTED_MODULE_1__.main.toggle.searchText();
+                    _d.label = 12;
+                case 12: return [2 /*return*/];
+            }
+        });
+    });
+}
+
+
+/***/ }),
+
+/***/ "./fonts/aa_10px_mono.fontmeta.json":
+/*!******************************************!*\
+  !*** ./fonts/aa_10px_mono.fontmeta.json ***!
+  \******************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+module.exports = __webpack_require__.p + "aa_10px_mono.fontmeta.json";
+
+/***/ }),
+
+/***/ "./fonts/aa_8px_mono.fontmeta.json":
+/*!*****************************************!*\
+  !*** ./fonts/aa_8px_mono.fontmeta.json ***!
+  \*****************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+module.exports = __webpack_require__.p + "aa_8px_mono.fontmeta.json";
+
+/***/ }),
+
+/***/ "canvas":
+/*!*************************!*\
+  !*** external "canvas" ***!
+  \*************************/
+/***/ ((module) => {
+
+"use strict";
+if(typeof __WEBPACK_EXTERNAL_MODULE_canvas__ === 'undefined') { var e = new Error("Cannot find module 'canvas'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_canvas__;
+
+/***/ }),
+
+/***/ "electron/common":
+/*!**********************************!*\
+  !*** external "electron/common" ***!
+  \**********************************/
+/***/ ((module) => {
+
+"use strict";
+if(typeof __WEBPACK_EXTERNAL_MODULE_electron_common__ === 'undefined') { var e = new Error("Cannot find module 'electron/common'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_electron_common__;
+
+/***/ }),
+
+/***/ "sharp":
+/*!************************!*\
+  !*** external "sharp" ***!
+  \************************/
+/***/ ((module) => {
+
+"use strict";
+if(typeof __WEBPACK_EXTERNAL_MODULE_sharp__ === 'undefined') { var e = new Error("Cannot find module 'sharp'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_sharp__;
+
+/***/ }),
+
+/***/ "../node_modules/alt1/dist/base/index.js":
+/*!***********************************************!*\
+  !*** ../node_modules/alt1/dist/base/index.js ***!
+  \***********************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(true)
+               module.exports = factory((function webpackLoadOptionalExternalModule() { try { return __webpack_require__(/*! sharp */ "sharp"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return __webpack_require__(/*! canvas */ "canvas"); } catch(e) {} }()), (function webpackLoadOptionalExternalModule() { try { return __webpack_require__(/*! electron/common */ "electron/common"); } catch(e) {} }()));
+       else {}
+})(globalThis, (__WEBPACK_EXTERNAL_MODULE_sharp__, __WEBPACK_EXTERNAL_MODULE_canvas__, __WEBPACK_EXTERNAL_MODULE_electron_common__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       "use strict";
+/******/       var __webpack_modules__ = ({
+
+/***/ "./src/base/alt1api.ts":
+/*!*****************************!*\
+  !*** ./src/base/alt1api.ts ***!
+  \*****************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+
+
+/***/ }),
+
+/***/ "./src/base/declarations.ts":
+/*!**********************************!*\
+  !*** ./src/base/declarations.ts ***!
+  \**********************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+
+
+/***/ }),
+
+/***/ "./src/base/imagedata-extensions.ts":
+/*!******************************************!*\
+  !*** ./src/base/imagedata-extensions.ts ***!
+  \******************************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_2062__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageData = void 0;
+const a1lib = __importStar(__nested_webpack_require_2062__(/*! ./index */ "./src/base/index.ts"));
+const nodeimports = __importStar(__nested_webpack_require_2062__(/*! ./nodepolyfill */ "./src/base/nodepolyfill.ts"));
+// //TODO revamp this madness a bit?
+// (function () {
+//     var globalvar = (typeof self != "undefined" ? self : (typeof (global as any) != "undefined" ? (global as any) : null)) as any;
+//     //use the node-canvas version when on node
+//     if (typeof globalvar.ImageData == "undefined") {
+//             let nodecnv = requireNodeCanvas();
+//             globalvar.ImageData = nodecnv.ImageData;
+//     }
+//     var fill = typeof globalvar.ImageData == "undefined";
+//     //should never be reach anymore
+//     var constr = function (this: any) {
+//             var i = 0;
+//             var data = (arguments[i] instanceof Uint8ClampedArray ? arguments[i++] : null);
+//             var width = arguments[i++];
+//             var height = arguments[i++];
+//             if (fill) {
+//                     if (!data) { data = new Uint8ClampedArray(width * height * 4); }
+//                     this.width = width;
+//                     this.height = height;
+//                     this.data = data;
+//             }
+//             else if (oldconstr) {
+//                     return (data ? new oldconstr(data, width, height) : new oldconstr(width, height));
+//             } else {
+//                     var canvas = document.createElement('canvas');
+//                     canvas.width = width;
+//                     canvas.height = height;
+//                     var ctx = canvas.getContext("2d")!;
+//                     var imageData = ctx.createImageData(width, height);
+//                     if (data) { imageData.data.set(data); }
+//                     return imageData;
+//             }
+//     }
+//     var oldconstr = globalvar.ImageData;
+//     if (typeof document != "undefined") {
+//             try {
+//                     new oldconstr(1, 1);
+//             } catch (e) {
+//                     //direct constructor call not allowed in ie
+//                     oldconstr = null;
+//             }
+//     }
+//     if (!fill) { constr.prototype = globalvar.ImageData.prototype; }
+//     globalvar.ImageData = constr;
+//     ImageData = constr as any;
+// })();
+(function () {
+    var globalvar = (typeof self != "undefined" ? self : (typeof __nested_webpack_require_2062__.g != "undefined" ? __nested_webpack_require_2062__.g : null));
+    var filltype = typeof globalvar.ImageData == "undefined" || typeof globalvar.document == "undefined";
+    var fillconstr = filltype;
+    if (!filltype) {
+        var oldconstr = globalvar.ImageData;
+        try {
+            let data = new Uint8ClampedArray(4);
+            data[0] = 1;
+            let a = new globalvar.ImageData(data, 1, 1);
+            fillconstr = a.data[0] != 1;
+        }
+        catch (e) {
+            fillconstr = true;
+        }
+    }
+    if (fillconstr) {
+        var constr = function ImageDataShim() {
+            var i = 0;
+            var data = (arguments[i] instanceof Uint8ClampedArray ? arguments[i++] : null);
+            var width = arguments[i++];
+            var height = arguments[i++];
+            if (filltype) {
+                if (!data) {
+                    data = new Uint8ClampedArray(width * height * 4);
+                }
+                this.width = width;
+                this.height = height;
+                this.data = data;
+            }
+            else if (fillconstr) {
+                //WARNING This branch of code does not use the same pixel data backing store
+                //(problem with wasm, however all wasm browser have a native constructor (unless asm.js is used))
+                var canvas = document.createElement('canvas');
+                canvas.width = width;
+                canvas.height = height;
+                var ctx = canvas.getContext("2d");
+                var imageData = ctx.createImageData(width, height);
+                if (data) {
+                    imageData.data.set(data);
+                }
+                return imageData;
+            }
+            // else {
+            //         //oh no...
+            //         //we need this monstrocity in order to call the native constructor with variable number of args
+            //         //when es5 transpile is enable (that strips the spread operator)
+            //         return new (Function.prototype.bind.apply(oldconstr, [null,...arguments]));
+            // }
+        };
+        if (!filltype) {
+            constr.prototype = globalvar.ImageData.prototype;
+        }
+        globalvar.ImageData = constr;
+        exports.ImageData = constr;
+    }
+    else {
+        exports.ImageData = globalvar.ImageData;
+    }
+})();
+//Recast into a drawable imagedata class on all platforms, into a normal browser ImageData on browsers or a node-canvas imagedata on nodejs
+exports.ImageData.prototype.toDrawableData = function () {
+    if (typeof document == "undefined") {
+        return nodeimports.imageDataToDrawable(this);
+    }
+    else {
+        return this;
+    }
+};
+exports.ImageData.prototype.putImageData = function (buf, cx, cy) {
+    for (var dx = 0; dx < buf.width; dx++) {
+        for (var dy = 0; dy < buf.height; dy++) {
+            var i1 = (dx + cx) * 4 + (dy + cy) * 4 * this.width;
+            var i2 = dx * 4 + dy * 4 * buf.width;
+            this.data[i1] = buf.data[i2];
+            this.data[i1 + 1] = buf.data[i2 + 1];
+            this.data[i1 + 2] = buf.data[i2 + 2];
+            this.data[i1 + 3] = buf.data[i2 + 3];
+        }
+    }
+};
+exports.ImageData.prototype.pixelOffset = function (x, y) {
+    return x * 4 + y * this.width * 4;
+};
+//creates a hash of a portion of the buffer used to check for changes
+exports.ImageData.prototype.getPixelHash = function (rect) {
+    if (!rect) {
+        rect = new a1lib.Rect(0, 0, this.width, this.height);
+    }
+    var hash = 0;
+    for (var x = rect.x; x < rect.x + rect.width; x++) {
+        for (var y = rect.y; y < rect.y + rect.height; y++) {
+            var i = x * 4 + y * 4 * this.width;
+            hash = (((hash << 5) - hash) + this.data[i]) | 0;
+            hash = (((hash << 5) - hash) + this.data[i + 1]) | 0;
+            hash = (((hash << 5) - hash) + this.data[i + 2]) | 0;
+            hash = (((hash << 5) - hash) + this.data[i + 3]) | 0;
+        }
+    }
+    return hash;
+};
+exports.ImageData.prototype.clone = function (rect) {
+    return this.toImage(rect).getContext("2d").getImageData(0, 0, rect.width, rect.height);
+};
+exports.ImageData.prototype.show = function (x = 5, y = 5, zoom = 1) {
+    if (typeof document == "undefined") {
+        console.error("need a document to show an imagedata object");
+        return;
+    }
+    var imgs = document.getElementsByClassName("debugimage");
+    while (imgs.length > exports.ImageData.prototype.show.maxImages) {
+        imgs[0].remove();
+    }
+    var el = this.toImage();
+    el.classList.add("debugimage");
+    el.style.position = "absolute";
+    el.style.zIndex = "1000";
+    el.style.left = x / zoom + "px";
+    el.style.top = y / zoom + "px";
+    el.style.background = "purple";
+    el.style.cursor = "pointer";
+    el.style.imageRendering = "pixelated";
+    el.style.outline = "1px solid #0f0";
+    el.style.width = (this.width == 1 ? 100 : this.width) * zoom + "px";
+    el.style.height = (this.height == 1 ? 100 : this.height) * zoom + "px";
+    el.onclick = function () { el.remove(); };
+    document.body.appendChild(el);
+    return el;
+};
+exports.ImageData.prototype.show.maxImages = 10;
+exports.ImageData.prototype.toImage = function (rect) {
+    if (!rect) {
+        rect = new a1lib.Rect(0, 0, this.width, this.height);
+    }
+    if (typeof document != "undefined") {
+        var el = document.createElement("canvas");
+        el.width = rect.width;
+        el.height = rect.height;
+    }
+    else {
+        el = nodeimports.createCanvas(rect.width, rect.height);
+    }
+    var ctx = el.getContext("2d");
+    ctx.putImageData(this.toDrawableData(), -rect.x, -rect.y);
+    return el;
+};
+exports.ImageData.prototype.getPixel = function (x, y) {
+    var i = x * 4 + y * 4 * this.width;
+    return [this.data[i], this.data[i + 1], this.data[i + 2], this.data[i + 3]];
+};
+exports.ImageData.prototype.getPixelValueSum = function (x, y) {
+    var i = x * 4 + y * 4 * this.width;
+    return this.data[i] + this.data[i + 1] + this.data[i + 2];
+};
+exports.ImageData.prototype.getPixelInt = function (x, y) {
+    var i = x * 4 + y * 4 * this.width;
+    return (this.data[i + 3] << 24) + (this.data[i + 0] << 16) + (this.data[i + 1] << 8) + (this.data[i + 2] << 0);
+};
+exports.ImageData.prototype.getColorDifference = function (x, y, r, g, b, a = 255) {
+    var i = x * 4 + y * 4 * this.width;
+    return Math.abs(this.data[i] - r) + Math.abs(this.data[i + 1] - g) + Math.abs(this.data[i + 2] - b) * a / 255;
+};
+exports.ImageData.prototype.setPixel = function (x, y, ...color) {
+    var r, g, b, a;
+    var [r, g, b, a] = (Array.isArray(color[0]) ? color[0] : color);
+    var i = x * 4 + y * 4 * this.width;
+    this.data[i] = r;
+    this.data[i + 1] = g;
+    this.data[i + 2] = b;
+    this.data[i + 3] = a == undefined ? 255 : a;
+};
+exports.ImageData.prototype.setPixelInt = function (x, y, color) {
+    var i = x * 4 + y * 4 * this.width;
+    this.data[i] = (color >> 24) & 0xff;
+    this.data[i + 1] = (color >> 16) & 0xff;
+    this.data[i + 2] = (color >> 8) & 0xff;
+    this.data[i + 3] = (color >> 0) & 0xff;
+};
+exports.ImageData.prototype.toFileBytes = function (format, quality) {
+    if (typeof HTMLCanvasElement != "undefined") {
+        return new Promise(d => this.toImage().toBlob(b => {
+            var r = new FileReader();
+            r.readAsArrayBuffer(b);
+            r.onload = () => d(new Uint8Array(r.result));
+        }, format, quality));
+    }
+    else {
+        return nodeimports.imageDataToFileBytes(this, format, quality);
+    }
+};
+exports.ImageData.prototype.toPngBase64 = function () {
+    if (typeof HTMLCanvasElement != "undefined") {
+        var str = this.toImage().toDataURL("image/png");
+        return str.slice(str.indexOf(",") + 1);
+    }
+    else {
+        throw new Error("synchronous image conversion not supported in nodejs, try using ImageData.prototype.toFileBytes");
+    }
+};
+exports.ImageData.prototype.pixelCompare = function (buf, x = 0, y = 0, max) {
+    return a1lib.ImageDetect.simpleCompare(this, buf, x, y, max);
+};
+exports.ImageData.prototype.copyTo = function (target, sourcex, sourcey, width, height, targetx, targety) {
+    //convince v8 that these are 31bit uints
+    const targetwidth = target.width | 0;
+    const thiswidth = this.width | 0;
+    const copywidth = width | 0;
+    const fastwidth = Math.floor(width / 4) * 4;
+    const thisdata = new Int32Array(this.data.buffer, this.data.byteOffset, this.data.byteLength / 4);
+    const targetdata = new Int32Array(target.data.buffer, target.data.byteOffset, target.data.byteLength / 4);
+    for (let cy = 0; cy < height; cy++) {
+        let cx = 0;
+        let it = (cx + targetx) + (cy + targety) * targetwidth;
+        let is = (cx + sourcex) + (cy + sourcey) * thiswidth;
+        //copy 4 pixels per iter (xmm)
+        for (; cx < fastwidth; cx += 4) {
+            targetdata[it] = thisdata[is];
+            targetdata[it + 1] = thisdata[is + 1];
+            targetdata[it + 2] = thisdata[is + 2];
+            targetdata[it + 3] = thisdata[is + 3];
+            it += 4;
+            is += 4;
+        }
+        //copy remainder per pixel
+        for (; cx < copywidth; cx++) {
+            targetdata[it] = thisdata[is];
+            it += 1;
+            is += 1;
+        }
+    }
+};
+if (typeof HTMLImageElement != "undefined") {
+    HTMLImageElement.prototype.toBuffer = function (x = 0, y = 0, w = this.width, h = this.height) {
+        var cnv = document.createElement("canvas");
+        cnv.width = w;
+        cnv.height = h;
+        var ctx = cnv.getContext("2d");
+        ctx.drawImage(this, -x, -y);
+        return ctx.getImageData(0, 0, w, h);
+    };
+    HTMLImageElement.prototype.toCanvas = function (x = 0, y = 0, w = this.width, h = this.height) {
+        var cnv = document.createElement("canvas");
+        cnv.width = w;
+        cnv.height = h;
+        var ctx = cnv.getContext("2d");
+        ctx.drawImage(this, -x, -y);
+        return cnv;
+    };
+}
+
+
+/***/ }),
+
+/***/ "./src/base/imagedetect.ts":
+/*!*********************************!*\
+  !*** ./src/base/imagedetect.ts ***!
+  \*********************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_15248__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageDataSet = exports.webpackImages = exports.asyncMap = exports.coldif = exports.simpleCompareRMSE = exports.simpleCompare = exports.findSubbuffer = exports.findSubimage = exports.clearPngColorspace = exports.isPngBuffer = exports.imageDataFromFileBuffer = exports.imageDataFromBase64 = exports.imageDataFromUrl = void 0;
+const imgref_1 = __nested_webpack_require_15248__(/*! ./imgref */ "./src/base/imgref.ts");
+const wapper = __importStar(__nested_webpack_require_15248__(/*! ./wrapper */ "./src/base/wrapper.ts"));
+const nodeimports = __importStar(__nested_webpack_require_15248__(/*! ./nodepolyfill */ "./src/base/nodepolyfill.ts"));
+const _1 = __nested_webpack_require_15248__(/*! . */ "./src/base/index.ts");
+/**
+* Downloads an image and returns the ImageData
+* Make sure the png image does not have a sRGB chunk or the resulting pixels will differ for different users!!!
+* @param url http(s) or data url to the image
+*/
+async function imageDataFromUrl(url) {
+    if (typeof Image != "undefined") {
+        var img = new Image();
+        img.crossOrigin = "crossorigin";
+        return await new Promise((done, fail) => {
+            img.onload = function () { done(img.toBuffer()); };
+            img.onerror = fail;
+            img.src = url;
+        });
+    }
+    else {
+        var hdr = "data:image/png;base64,";
+        if (url.startsWith(hdr)) {
+            return imageDataFromBase64(url.slice(hdr.length));
+        }
+        throw new Error("loading remote images in nodejs has been disabled, load the raw bytes and use imageDataFromNodeBuffer instead");
+    }
+}
+exports.imageDataFromUrl = imageDataFromUrl;
+/**
+* Loads an ImageData object from a base64 encoded png image
+* Make sure the png image does not have a sRGB chunk or the resulting pixels will differ for different users!!!
+* @param data a base64 encoded png image
+*/
+async function imageDataFromBase64(data) {
+    if (typeof Image != "undefined") {
+        return imageDataFromUrl("data:image/png;base64," + data);
+    }
+    else {
+        return nodeimports.imageDataFromBase64(data);
+    }
+}
+exports.imageDataFromBase64 = imageDataFromBase64;
+/**
+ * Loads an ImageData object directly from a png encoded file buffer
+ * This method ensures that png color space headers are taken care off
+ * @param data The bytes of a png file
+ */
+async function imageDataFromFileBuffer(data) {
+    clearPngColorspace(data);
+    if (typeof Image != "undefined") {
+        let blob = new Blob([data], { type: "image/png" });
+        let url = URL.createObjectURL(blob);
+        let r = await imageDataFromUrl(url);
+        URL.revokeObjectURL(url);
+        return r;
+    }
+    else {
+        return nodeimports.imageDataFromBuffer(data);
+    }
+}
+exports.imageDataFromFileBuffer = imageDataFromFileBuffer;
+/**
+* Checks if a given byte array is a png file (by checking for ?PNG as first 4 bytes)
+* @param bytes Raw bytes of the png file
+*/
+function isPngBuffer(bytes) {
+    return bytes[0] == 137 && bytes[1] == 80 && bytes[2] == 78 && bytes[3] == 71;
+}
+exports.isPngBuffer = isPngBuffer;
+/**
+* Resets the colorspace data in the png file.
+* This makes sure the browser renders the exact colors in the file instead of filtering it in order to obtain the best real life representation of
+* what it looked like on the authors screen. (this feature is often broken and not supported)
+* For example a round trip printscreen -> open in browser results in different colors than the original
+* @param data Raw bytes of the png file
+*/
+function clearPngColorspace(data) {
+    if (!isPngBuffer(data)) {
+        throw new Error("non-png image received");
+    }
+    var i = 8;
+    while (i < data.length) {
+        var length = data[i++] * 0x1000000 + data[i++] * 0x10000 + data[i++] * 0x100 + data[i++];
+        var ancillary = !!((data[i] >> 5) & 1);
+        var chunkname = String.fromCharCode(data[i], data[i + 1], data[i + 2], data[i + 3]);
+        var chunkid = chunkname.toLowerCase();
+        if (chunkid != "trns" && ancillary) {
+            data[i + 0] = "n".charCodeAt(0);
+            data[i + 1] = "o".charCodeAt(0);
+            data[i + 2] = "P".charCodeAt(0);
+            data[i + 3] = "E".charCodeAt(0);
+            //calculate new chunk checksum
+            //http://www.libpng.org/pub/png/spec/1.2/PNG-CRCAppendix.html
+            var end = i + 4 + length;
+            var crc = 0xffffffff;
+            //should be fast enough like this
+            var bitcrc = function (bit) {
+                for (var k = 0; k < 8; k++) {
+                    if (bit & 1) {
+                        bit = 0xedb88320 ^ (bit >>> 1);
+                    }
+                    else {
+                        bit = bit >>> 1;
+                    }
+                }
+                return bit;
+            };
+            for (var a = i; a < end; a++) {
+                if (a >= i + 4) {
+                    data[a] = 0;
+                }
+                var bit = data[a];
+                crc = bitcrc((crc ^ bit) & 0xff) ^ (crc >>> 8);
+            }
+            crc = crc ^ 0xffffffff;
+            //new chunk checksum
+            data[i + 4 + length + 0] = (crc >> 24) & 0xff;
+            data[i + 4 + length + 1] = (crc >> 16) & 0xff;
+            data[i + 4 + length + 2] = (crc >> 8) & 0xff;
+            data[i + 4 + length + 3] = (crc >> 0) & 0xff;
+        }
+        if (chunkname == "IEND") {
+            break;
+        }
+        i += 4; //type
+        i += length; //data
+        i += 4; //crc
+    }
+}
+exports.clearPngColorspace = clearPngColorspace;
+/**
+* finds the given needle ImageBuffer in the given haystack ImgRef this function uses the best optimized available
+* code depending on the type of the haystack. It will use fast c# searching if the haystack is an ImgRefBind, js searching
+* is used otherwise.
+* the checklist argument is no longer used and should ignored or null/undefined
+* The optional sx,sy,sw,sh arguments indicate a bounding rectangle in which to search the needle. The rectangle should be bigger than the needle
+* @returns An array of points where the needle is found. The array is empty if none are found
+*/
+function findSubimage(haystackImgref, needleBuffer, sx = 0, sy = 0, sw = haystackImgref.width, sh = haystackImgref.height) {
+    if (!haystackImgref) {
+        throw new TypeError();
+    }
+    if (!needleBuffer) {
+        throw new TypeError();
+    }
+    var max = 30;
+    //check if we can do this in alt1
+    if (haystackImgref instanceof imgref_1.ImgRefBind && wapper.hasAlt1 && alt1.bindFindSubImg) {
+        var needlestr = wapper.encodeImageString(needleBuffer);
+        var r = alt1.bindFindSubImg(haystackImgref.handle, needlestr, needleBuffer.width, sx, sy, sw, sh);
+        if (!r) {
+            throw new wapper.Alt1Error();
+        }
+        return JSON.parse(r);
+    }
+    return findSubbuffer(haystackImgref.read(), needleBuffer, sx, sy, sw, sh);
+}
+exports.findSubimage = findSubimage;
+/**
+* Uses js to find the given needle ImageBuffer in the given haystack ImageBuffer. It is better to use the alt1.bind- functions in
+* combination with a1nxt.findsubimg.
+* the optional sx,sy,sw,sh arguments indicate a bounding rectangle in which to search.
+* @returns An array of points where the needle is found. The array is empty if none are found
+*/
+function findSubbuffer(haystack, needle, sx = 0, sy = 0, sw = haystack.width, sh = haystack.height) {
+    var r = [];
+    var maxdif = 30;
+    var maxresults = 50;
+    var needlestride = needle.width * 4;
+    var heystackstride = haystack.width * 4;
+    //built list of non trans pixel to check
+    var checkList = [];
+    for (var y = 0; y < needle.height; y++) {
+        for (var x = 0; x < needle.width; x++) {
+            var i = x * 4 + y * needlestride;
+            if (needle.data[i + 3] == 255) {
+                checkList.push({ x: x, y: y });
+            }
+            if (checkList.length == 10) {
+                break;
+            }
+        }
+        if (checkList.length == 10) {
+            break;
+        }
+    }
+    var cw = (sx + sw) - needle.width;
+    var ch = (sy + sh) - needle.height;
+    var checklength = checkList.length;
+    for (var y = sy; y <= ch; y++) {
+        outer: for (var x = sx; x <= cw; x++) {
+            for (var a = 0; a < checklength; a++) {
+                var i1 = (x + checkList[a].x) * 4 + (y + checkList[a].y) * heystackstride;
+                var i2 = checkList[a].x * 4 + checkList[a].y * needlestride;
+                var d = 0;
+                d = d + Math.abs(haystack.data[i1 + 0] - needle.data[i2 + 0]) | 0;
+                d = d + Math.abs(haystack.data[i1 + 1] - needle.data[i2 + 1]) | 0;
+                d = d + Math.abs(haystack.data[i1 + 2] - needle.data[i2 + 2]) | 0;
+                d *= 255 / needle.data[i2 + 3];
+                if (d > maxdif) {
+                    continue outer;
+                }
+            }
+            if (simpleCompare(haystack, needle, x, y, maxdif) != Infinity) {
+                r.push({ x, y });
+                if (r.length > maxresults) {
+                    return r;
+                }
+            }
+        }
+    }
+    return r;
+}
+exports.findSubbuffer = findSubbuffer;
+/**
+* Compares two images and returns the average color difference per pixel between them
+* @param max The max color difference at any point in the image before short circuiting the function and returning Infinity. set to -1 to always continue.
+* @returns The average color difference per pixel or Infinity if the difference is more than max at any point in the image
+*/
+function simpleCompare(bigbuf, checkbuf, x, y, max = 30) {
+    if (x < 0 || y < 0) {
+        throw new RangeError();
+    }
+    if (x + checkbuf.width > bigbuf.width || y + checkbuf.height > bigbuf.height) {
+        throw new RangeError();
+    }
+    if (max == -1) {
+        max = 255 * 4;
+    }
+    var dif = 0;
+    for (var step = 8; step >= 1; step /= 2) {
+        for (var cx = 0; cx < checkbuf.width; cx += step) {
+            for (var cy = 0; cy < checkbuf.height; cy += step) {
+                var i1 = (x + cx) * 4 + (y + cy) * bigbuf.width * 4;
+                var i2 = cx * 4 + cy * checkbuf.width * 4;
+                var d = 0;
+                d = d + Math.abs(bigbuf.data[i1 + 0] - checkbuf.data[i2 + 0]) | 0;
+                d = d + Math.abs(bigbuf.data[i1 + 1] - checkbuf.data[i2 + 1]) | 0;
+                d = d + Math.abs(bigbuf.data[i1 + 2] - checkbuf.data[i2 + 2]) | 0;
+                d *= checkbuf.data[i2 + 3] / 255;
+                if (step == 1) {
+                    dif += d;
+                }
+                if (d > max) {
+                    return Infinity;
+                }
+            }
+        }
+    }
+    return dif / checkbuf.width / checkbuf.height;
+}
+exports.simpleCompare = simpleCompare;
+/**
+* Calculates the root mean square error between the two buffers at the given coordinate, this method can be used in situations with significant blur or
+* transparency, it does not bail early on non-matching images like simpleCompare does so it can be expected to be much slower when called often.
+* @returns The root mean square error beteen the images, high single pixel errors are penalized more than consisten low errors. return of 0 means perfect match.
+*/
+function simpleCompareRMSE(bigbuf, checkbuf, x, y) {
+    if (x < 0 || y < 0) {
+        throw new RangeError();
+    }
+    if (x + checkbuf.width > bigbuf.width || y + checkbuf.height > bigbuf.height) {
+        throw new RangeError();
+    }
+    var dif = 0;
+    var numpix = 0;
+    for (var cx = 0; cx < checkbuf.width; cx++) {
+        for (var cy = 0; cy < checkbuf.height; cy++) {
+            var i1 = (x + cx) * 4 + (y + cy) * bigbuf.width * 4;
+            var i2 = cx * 4 + cy * checkbuf.width * 4;
+            var d = 0;
+            d = d + Math.abs(bigbuf.data[i1 + 0] - checkbuf.data[i2 + 0]) | 0;
+            d = d + Math.abs(bigbuf.data[i1 + 1] - checkbuf.data[i2 + 1]) | 0;
+            d = d + Math.abs(bigbuf.data[i1 + 2] - checkbuf.data[i2 + 2]) | 0;
+            var weight = checkbuf.data[i2 + 3] / 255;
+            numpix += weight;
+            dif += d * d * weight;
+        }
+    }
+    return Math.sqrt(dif / numpix);
+}
+exports.simpleCompareRMSE = simpleCompareRMSE;
+/**
+* Returns the difference between two colors (scaled to the alpha of the second color)
+*/
+function coldif(r1, g1, b1, r2, g2, b2, a2) {
+    return (Math.abs(r1 - r2) + Math.abs(g1 - g2) + Math.abs(b1 - b2)) * a2 / 255; //only applies alpha for 2nd buffer!
+}
+exports.coldif = coldif;
+/**
+ * Turns map of promises into a map that contains the resolved values after loading.
+ * @param input
+ */
+function asyncMap(input) {
+    var raw = {};
+    var promises = [];
+    for (var a in input) {
+        if (input.hasOwnProperty(a)) {
+            raw[a] = null;
+            promises.push(input[a].then(function (a, i) { raw[a] = i; r[a] = i; }.bind(null, a)));
+        }
+    }
+    var r = {};
+    var promise = Promise.all(promises).then(() => { r.loaded = true; return r; });
+    Object.defineProperty(r, "loaded", { enumerable: false, value: false, writable: true });
+    Object.defineProperty(r, "promise", { enumerable: false, value: promise });
+    Object.defineProperty(r, "raw", { enumerable: false, value: raw });
+    return Object.assign(r, raw);
+}
+exports.asyncMap = asyncMap;
+/**
+* Same as asyncMap, but casts the properties to ImageData in typescript
+*/
+function webpackImages(input) {
+    return asyncMap(input);
+}
+exports.webpackImages = webpackImages;
+class ImageDataSet {
+    constructor() {
+        this.buffers = [];
+    }
+    matchBest(img, x, y, max) {
+        let best = null;
+        let bestscore = max;
+        for (let a = 0; a < this.buffers.length; a++) {
+            let score = img.pixelCompare(this.buffers[a], x, y, bestscore);
+            if (isFinite(score) && (bestscore == undefined || score < bestscore)) {
+                bestscore = score;
+                best = a;
+            }
+        }
+        if (best == null) {
+            return null;
+        }
+        return { index: best, score: bestscore };
+    }
+    static fromFilmStrip(baseimg, width) {
+        if ((baseimg.width % width) != 0) {
+            throw new Error("slice size does not fit in base img");
+        }
+        let r = new ImageDataSet();
+        for (let x = 0; x < baseimg.width; x += width) {
+            r.buffers.push(baseimg.clone(new _1.Rect(x, 0, width, baseimg.height)));
+        }
+        return r;
+    }
+    static fromFilmStripUneven(baseimg, widths) {
+        let r = new ImageDataSet();
+        let x = 0;
+        for (let w of widths) {
+            r.buffers.push(baseimg.clone(new _1.Rect(x, 0, w, baseimg.height)));
+            x += w;
+            if (x > baseimg.width) {
+                throw new Error("sampling filmstrip outside bounds");
+            }
+        }
+        if (x != baseimg.width) {
+            throw new Error("unconsumed pixels left in film strip imagedata");
+        }
+        return r;
+    }
+    static fromAtlas(baseimg, slices) {
+        let r = new ImageDataSet();
+        for (let slice of slices) {
+            r.buffers.push(baseimg.clone(slice));
+        }
+        return r;
+    }
+}
+exports.ImageDataSet = ImageDataSet;
+
+
+/***/ }),
+
+/***/ "./src/base/imgref.ts":
+/*!****************************!*\
+  !*** ./src/base/imgref.ts ***!
+  \****************************/
+/***/ ((__unused_webpack_module, exports, __nested_webpack_require_31629__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImgRefData = exports.ImgRefBind = exports.ImgRefCtx = exports.ImgRef = void 0;
+const index_1 = __nested_webpack_require_31629__(/*! ./index */ "./src/base/index.ts");
+/**
+ * Represents an image that might be in different types of memory
+ * This is mostly used to represent images still in Alt1 memory that have
+ * not been transfered to js yet. Various a1lib api's use this type and
+ * choose the most efficient approach based on the memory type
+ */
+class ImgRef {
+    constructor(x, y, w, h) {
+        this.t = "none";
+        this.x = x;
+        this.y = y;
+        this.width = w;
+        this.height = h;
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        throw new Error("This imgref (" + this.t + ") does not support toData");
+    }
+    findSubimage(needle, sx = 0, sy = 0, w = this.width, h = this.height) {
+        return index_1.ImageDetect.findSubimage(this, needle, sx, sy, w, h);
+    }
+    toData(x = this.x, y = this.y, w = this.width, h = this.height) {
+        return this.read(x - this.x, y - this.y, w, h);
+    }
+    ;
+    containsArea(rect) {
+        return this.x <= rect.x && this.y <= rect.y && this.x + this.width >= rect.x + rect.width && this.y + this.height >= rect.y + rect.height;
+    }
+}
+exports.ImgRef = ImgRef;
+/**
+ * Represents an image in js render memory (canvas/image tag)
+ */
+class ImgRefCtx extends ImgRef {
+    constructor(img, x = 0, y = 0) {
+        if (img instanceof CanvasRenderingContext2D) {
+            super(x, y, img.canvas.width, img.canvas.height);
+            this.ctx = img;
+        }
+        else {
+            super(x, y, img.width, img.height);
+            var cnv = (img instanceof HTMLCanvasElement ? img : img.toCanvas());
+            this.ctx = cnv.getContext("2d");
+        }
+        this.t = "ctx";
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        return this.ctx.getImageData(x, y, w, h);
+    }
+}
+exports.ImgRefCtx = ImgRefCtx;
+/**
+ * Represents in image in Alt1 memory, This type of image can be searched for subimages
+ * very efficiently and transfering the full image to js can be avoided this way
+ */
+class ImgRefBind extends ImgRef {
+    constructor(handle, x = 0, y = 0, w = 0, h = 0) {
+        super(x, y, w, h);
+        this.handle = handle;
+        this.t = "bind";
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        return (0, index_1.transferImageData)(this.handle, x, y, w, h);
+    }
+}
+exports.ImgRefBind = ImgRefBind;
+/**
+ * Represents an image in js memory
+ */
+class ImgRefData extends ImgRef {
+    constructor(buf, x = 0, y = 0) {
+        super(x, y, buf.width, buf.height);
+        this.buf = buf;
+        this.t = "data";
+    }
+    read(x = 0, y = 0, w = this.width, h = this.height) {
+        if (x == 0 && y == 0 && w == this.width && h == this.height) {
+            return this.buf;
+        }
+        var r = new ImageData(w, h);
+        for (var b = y; b < y + h; b++) {
+            for (var a = x; a < x + w; a++) {
+                var i1 = (a - x) * 4 + (b - y) * w * 4;
+                var i2 = a * 4 + b * 4 * this.buf.width;
+                r.data[i1] = this.buf.data[i2];
+                r.data[i1 + 1] = this.buf.data[i2 + 1];
+                r.data[i1 + 2] = this.buf.data[i2 + 2];
+                r.data[i1 + 3] = this.buf.data[i2 + 3];
+            }
+        }
+        return r;
+    }
+}
+exports.ImgRefData = ImgRefData;
+
+
+/***/ }),
+
+/***/ "./src/base/index.ts":
+/*!***************************!*\
+  !*** ./src/base/index.ts ***!
+  \***************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_35283__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageDataSet = exports.findSubbuffer = exports.simpleCompare = exports.findSubimage = exports.webpackImages = exports.NodePolyfill = exports.ImageData = exports.Rect = exports.PasteInput = exports.ImageDetect = void 0;
+__nested_webpack_require_35283__(/*! ./declarations */ "./src/base/declarations.ts");
+exports.ImageDetect = __importStar(__nested_webpack_require_35283__(/*! ./imagedetect */ "./src/base/imagedetect.ts"));
+exports.PasteInput = __importStar(__nested_webpack_require_35283__(/*! ./pasteinput */ "./src/base/pasteinput.ts"));
+var rect_1 = __nested_webpack_require_35283__(/*! ./rect */ "./src/base/rect.ts");
+Object.defineProperty(exports, "Rect", ({ enumerable: true, get: function () { return __importDefault(rect_1).default; } }));
+var imagedata_extensions_1 = __nested_webpack_require_35283__(/*! ./imagedata-extensions */ "./src/base/imagedata-extensions.ts");
+Object.defineProperty(exports, "ImageData", ({ enumerable: true, get: function () { return imagedata_extensions_1.ImageData; } }));
+exports.NodePolyfill = __importStar(__nested_webpack_require_35283__(/*! ./nodepolyfill */ "./src/base/nodepolyfill.ts"));
+__exportStar(__nested_webpack_require_35283__(/*! ./imgref */ "./src/base/imgref.ts"), exports);
+__exportStar(__nested_webpack_require_35283__(/*! ./wrapper */ "./src/base/wrapper.ts"), exports);
+var imagedetect_1 = __nested_webpack_require_35283__(/*! ./imagedetect */ "./src/base/imagedetect.ts");
+Object.defineProperty(exports, "webpackImages", ({ enumerable: true, get: function () { return imagedetect_1.webpackImages; } }));
+Object.defineProperty(exports, "findSubimage", ({ enumerable: true, get: function () { return imagedetect_1.findSubimage; } }));
+Object.defineProperty(exports, "simpleCompare", ({ enumerable: true, get: function () { return imagedetect_1.simpleCompare; } }));
+Object.defineProperty(exports, "findSubbuffer", ({ enumerable: true, get: function () { return imagedetect_1.findSubbuffer; } }));
+Object.defineProperty(exports, "ImageDataSet", ({ enumerable: true, get: function () { return imagedetect_1.ImageDataSet; } }));
+
+
+/***/ }),
+
+/***/ "./src/base/nodepolyfill.ts":
+/*!**********************************!*\
+  !*** ./src/base/nodepolyfill.ts ***!
+  \**********************************/
+/***/ ((__unused_webpack_module, exports, __nested_webpack_require_38931__) => {
+
+
+//nodejs and electron polyfills for web api's
+//commented out type info as that breaks webpack with optional dependencies
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.imageDataFromBuffer = exports.imageDataFromBase64 = exports.imageDataToFileBytes = exports.createCanvas = exports.imageDataToDrawable = exports.requireElectronCommon = exports.requireNodeCanvas = exports.requireSharp = exports.polyfillRequire = void 0;
+const index_1 = __nested_webpack_require_38931__(/*! ./index */ "./src/base/index.ts");
+const imagedetect_1 = __nested_webpack_require_38931__(/*! ./imagedetect */ "./src/base/imagedetect.ts");
+var requirefunction = null;
+/**
+ * Call this function to let the libs require extra dependencies on nodejs in order
+ * to polyfill some browser api's (mostly image compression/decompression)
+ * `NodePolifill.polyfillRequire(require);` should solve most cases
+ */
+function polyfillRequire(requirefn) {
+    requirefunction = requirefn;
+}
+exports.polyfillRequire = polyfillRequire;
+function requireSharp() {
+    try {
+        if (requirefunction) {
+            return requirefunction("sharp");
+        }
+        else {
+            return __nested_webpack_require_38931__(/* webpackIgnore: true */ /*! sharp */ "sharp"); // as typeof import("sharp");
+        }
+    }
+    catch (e) { }
+    return null;
+}
+exports.requireSharp = requireSharp;
+function requireNodeCanvas() {
+    //attempt to require sharp first, after loading canvas the module sharp fails to load
+    requireSharp();
+    try {
+        if (requirefunction) {
+            return requirefunction("canvas");
+        }
+        else {
+            return __nested_webpack_require_38931__(/* webpackIgnore: true */ /*! canvas */ "canvas"); // as typeof import("sharp");
+        }
+    }
+    catch (e) { }
+    return null;
+}
+exports.requireNodeCanvas = requireNodeCanvas;
+function requireElectronCommon() {
+    try {
+        if (requirefunction) {
+            return requirefunction("electron/common");
+        }
+        else {
+            return __nested_webpack_require_38931__(/* webpackIgnore: true */ /*! electron/common */ "electron/common");
+        }
+    }
+    catch (e) { }
+    return null;
+}
+exports.requireElectronCommon = requireElectronCommon;
+function imageDataToDrawable(buf) {
+    let nodecnv = requireNodeCanvas();
+    if (!nodecnv) {
+        throw new Error("couldn't find built-in canvas or the module 'canvas'");
+    }
+    return new nodecnv.ImageData(buf.data, buf.width, buf.height);
+}
+exports.imageDataToDrawable = imageDataToDrawable;
+function createCanvas(w, h) {
+    let nodecnv = requireNodeCanvas();
+    if (!nodecnv) {
+        throw new Error("couldn't find built-in canvas or the module 'canvas'");
+    }
+    return nodecnv.createCanvas(w, h);
+}
+exports.createCanvas = createCanvas;
+function flipBGRAtoRGBA(data) {
+    for (let i = 0; i < data.length; i += 4) {
+        let tmp = data[i + 2];
+        data[i + 2] = data[i + 0];
+        data[i + 0] = tmp;
+    }
+}
+async function imageDataToFileBytes(buf, format, quality) {
+    //use the electron API if we're in electron
+    var electronCommon;
+    var sharp;
+    if (electronCommon = requireElectronCommon()) {
+        let nativeImage = electronCommon.nativeImage;
+        //need to copy the buffer in order to flip it without destroying the original
+        let bufcpy = Buffer.from(buf.data.slice(buf.data.byteOffset, buf.data.byteLength));
+        flipBGRAtoRGBA(bufcpy);
+        let nativeimg = nativeImage.createFromBitmap(bufcpy, { width: buf.width, height: buf.height });
+        return nativeimg.toPNG();
+    }
+    else if (sharp = requireSharp()) {
+        let img = sharp(Buffer.from(buf.data.buffer), { raw: { width: buf.width, height: buf.height, channels: 4 } });
+        if (format == "image/png") {
+            img.png();
+        }
+        else if (format == "image/webp") {
+            var opts = { quality: 80 };
+            if (typeof quality == "number") {
+                opts.quality = quality * 100;
+            }
+            img.webp(opts);
+        }
+        else {
+            throw new Error("unknown image format: " + format);
+        }
+        return await img.toBuffer({ resolveWithObject: false }).buffer;
+    }
+    throw new Error("coulnd't find build-in image compression methods or the module 'electron/common' or 'sharp'");
+}
+exports.imageDataToFileBytes = imageDataToFileBytes;
+function imageDataFromBase64(base64) {
+    return imageDataFromBuffer(Buffer.from(base64, "base64"));
+}
+exports.imageDataFromBase64 = imageDataFromBase64;
+async function imageDataFromBuffer(buffer) {
+    (0, imagedetect_1.clearPngColorspace)(buffer);
+    //use the electron API if we're in electron
+    var electronCommon;
+    var nodecnv;
+    if (electronCommon = requireElectronCommon()) {
+        let nativeImage = electronCommon.nativeImage;
+        let img = nativeImage.createFromBuffer(buffer);
+        let pixels = img.toBitmap();
+        let size = img.getSize();
+        let pixbuf = new Uint8ClampedArray(pixels.buffer, pixels.byteOffset, pixels.byteLength);
+        flipBGRAtoRGBA(pixbuf);
+        return new index_1.ImageData(pixbuf, size.width, size.height);
+    }
+    else if (nodecnv = requireNodeCanvas()) {
+        return new Promise((done, err) => {
+            let img = new nodecnv.Image();
+            img.onerror = err;
+            img.onload = () => {
+                var cnv = nodecnv.createCanvas(img.naturalWidth, img.naturalHeight);
+                var ctx = cnv.getContext("2d");
+                ctx.drawImage(img, 0, 0);
+                var data = ctx.getImageData(0, 0, img.naturalWidth, img.naturalHeight);
+                //use our own class
+                done(new index_1.ImageData(data.data, data.width, data.height));
+            };
+            img.src = Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+        });
+    }
+    throw new Error("couldn't find built-in canvas, module 'electron/common' or the module 'canvas'");
+}
+exports.imageDataFromBuffer = imageDataFromBuffer;
+
+
+/***/ }),
+
+/***/ "./src/base/pasteinput.ts":
+/*!********************************!*\
+  !*** ./src/base/pasteinput.ts ***!
+  \********************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_45123__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.fileDialog = exports.start = exports.startDragNDrop = exports.triggerPaste = exports.unlisten = exports.listen = exports.lastref = void 0;
+const index_1 = __nested_webpack_require_45123__(/*! ./index */ "./src/base/index.ts");
+const ImageDetect = __importStar(__nested_webpack_require_45123__(/*! ./imagedetect */ "./src/base/imagedetect.ts"));
+var listeners = [];
+var started = false;
+var dndStarted = false;
+var pasting = false;
+exports.lastref = null;
+function listen(func, errorfunc, dragndrop) {
+    listeners.push({ cb: func, error: errorfunc });
+    if (!started) {
+        start();
+    }
+    if (dragndrop && !dndStarted) {
+        startDragNDrop();
+    }
+}
+exports.listen = listen;
+function unlisten(func) {
+    let i = listeners.findIndex(c => c.cb == func);
+    if (i != -1) {
+        listeners.splice(i, 1);
+    }
+}
+exports.unlisten = unlisten;
+/**
+ * currently used in multiple document situations (iframe), might be removed in the future
+ */
+function triggerPaste(img) {
+    exports.lastref = img;
+    for (var a in listeners) {
+        listeners[a].cb(exports.lastref);
+    }
+}
+exports.triggerPaste = triggerPaste;
+function pasted(img) {
+    pasting = false;
+    let cnv = img instanceof HTMLCanvasElement ? img : img.toCanvas();
+    triggerPaste(new index_1.ImgRefCtx(cnv));
+}
+function error(error, mes) {
+    var _a, _b;
+    pasting = false;
+    for (var a in listeners) {
+        (_b = (_a = listeners[a]).error) === null || _b === void 0 ? void 0 : _b.call(_a, mes, error);
+    }
+}
+function startDragNDrop() {
+    var getitem = function (items) {
+        var foundimage = "";
+        for (var a = 0; a < items.length; a++) {
+            var item = items[a];
+            var m = item.type.match(/^image\/(\w+)$/);
+            if (m) {
+                if (m[1] == "png") {
+                    return item;
+                }
+                else {
+                    foundimage = m[1];
+                }
+            }
+        }
+        if (foundimage) {
+            error("notpng", "The image you uploaded is not a .png image. Other image type have compression noise and can't be used for image detection.");
+        }
+        return null;
+    };
+    window.addEventListener("dragover", function (e) {
+        e.preventDefault();
+    });
+    window.addEventListener("drop", function (e) {
+        if (!e.dataTransfer) {
+            return;
+        }
+        var item = getitem(e.dataTransfer.items);
+        e.preventDefault();
+        if (!item) {
+            return;
+        }
+        fromFile(item.getAsFile());
+    });
+}
+exports.startDragNDrop = startDragNDrop;
+function start() {
+    if (started) {
+        return;
+    }
+    started = true;
+    //determine if we have a clipboard api
+    //try{a=new Event("clipboard"); a="clipboardData" in a;}
+    //catch(e){a=false;}
+    var ischrome = !!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edge/);
+    //old method breaks after chrome 41, revert to good old user agent sniffing
+    //nvm, internet explorer (edge) decided that it wants to be chrome, however fails at delivering
+    //turns out this one is interesting, edge is a hybrid between the paste api's
+    var apipasted = function (e) {
+        if (!e.clipboardData) {
+            return;
+        }
+        for (var a = 0; a < e.clipboardData.items.length; a++) { //loop all data types
+            if (e.clipboardData.items[a].type.indexOf("image") != -1) {
+                var file = e.clipboardData.items[a].getAsFile();
+                if (file) {
+                    var img = new Image();
+                    img.src = (window.URL || window.webkitURL).createObjectURL(file);
+                    if (img.width > 0) {
+                        pasted(img);
+                    }
+                    else {
+                        img.onload = function () { pasted(img); };
+                    }
+                }
+            }
+        }
+    };
+    if (ischrome) {
+        document.addEventListener("paste", apipasted);
+    }
+    else {
+        var catcher = document.createElement("div");
+        catcher.setAttribute("contenteditable", "");
+        catcher.className = "forcehidden"; //retarded ie safety/bug, cant apply styles using js//TODO i don't even know what's going on
+        catcher.onpaste = function (e) {
+            if (e.clipboardData && e.clipboardData.items) {
+                apipasted(e);
+                return;
+            }
+            setTimeout(function () {
+                var b = catcher.children[0];
+                if (!b || b.tagName != "IMG") {
+                    return;
+                }
+                var img = new Image();
+                img.src = b.src;
+                var a = img.src.match(/^data:([\w\/]+);/);
+                if (img.width > 0) {
+                    pasted(img);
+                }
+                else {
+                    img.onload = function () { pasted(img); };
+                }
+                catcher.innerHTML = "";
+            }, 1);
+        };
+        document.body.appendChild(catcher);
+    }
+    //detect if ctrl-v is pressed and focus catcher if needed
+    document.addEventListener("keydown", function (e) {
+        if (e.target.tagName == "INPUT") {
+            return;
+        }
+        if (e.keyCode != "V".charCodeAt(0) || !e.ctrlKey) {
+            return;
+        }
+        pasting = true;
+        setTimeout(function () {
+            if (pasting) {
+                error("noimg", "You pressed Ctrl+V, but no image was pasted by your browser, make sure your clipboard contains an image, and not a link to an image.");
+            }
+        }, 1000);
+        if (catcher) {
+            catcher.focus();
+        }
+    });
+}
+exports.start = start;
+function fileDialog() {
+    var fileinput = document.createElement("input");
+    fileinput.type = "file";
+    fileinput.accept = "image/png";
+    fileinput.onchange = function () { if (fileinput.files && fileinput.files[0]) {
+        fromFile(fileinput.files[0]);
+    } };
+    fileinput.click();
+    return fileinput;
+}
+exports.fileDialog = fileDialog;
+function fromFile(file) {
+    if (!file) {
+        return;
+    }
+    var reader = new FileReader();
+    reader.onload = function () {
+        var bytearray = new Uint8Array(reader.result);
+        if (ImageDetect.isPngBuffer(bytearray)) {
+            ImageDetect.clearPngColorspace(bytearray);
+        }
+        var blob = new Blob([bytearray], { type: "image/png" });
+        var img = new Image();
+        img.onerror = () => error("invalidfile", "The file you uploaded could not be opened as an image.");
+        var bloburl = URL.createObjectURL(blob);
+        img.src = bloburl;
+        if (img.width > 0) {
+            pasted(img);
+            URL.revokeObjectURL(bloburl);
+        }
+        else {
+            img.onload = function () { pasted(img); URL.revokeObjectURL(bloburl); };
+        }
+    };
+    reader.readAsArrayBuffer(file);
+}
+
+
+/***/ }),
+
+/***/ "./src/base/rect.ts":
+/*!**************************!*\
+  !*** ./src/base/rect.ts ***!
+  \**************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+
+//util class for rectangle maths
+//TODO shit this sucks can we remove it again?
+//more of a shorthand to get {x,y,width,height} than a class
+//kinda starting to like it again
+//TODO remove rant
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+;
+/**
+ * Simple rectangle class with some util functions
+ */
+class Rect {
+    constructor(x, y, w, h) {
+        this.x = x;
+        this.y = y;
+        this.width = w;
+        this.height = h;
+    }
+    static fromArgs(...args) {
+        if (typeof args[0] == "object") {
+            return new Rect(args[0].x, args[0].y, args[0].width, args[0].height);
+        }
+        else if (typeof args[0] == "number" && args.length >= 4) {
+            return new Rect(args[0], args[1], args[2], args[3]);
+        }
+        else {
+            throw new Error("invalid rect args");
+        }
+    }
+    /**
+     * Resizes this Rect to include the full size of a given second rectangle
+     */
+    union(r2) {
+        var x = Math.min(this.x, r2.x);
+        var y = Math.min(this.y, r2.y);
+        this.width = Math.max(this.x + this.width, r2.x + r2.width) - x;
+        this.height = Math.max(this.y + this.height, r2.y + r2.height) - y;
+        this.x = x;
+        this.y = y;
+        return this;
+    }
+    /**
+     * Resizes this Rect to include a given point
+     */
+    includePoint(x, y) {
+        this.union(new Rect(x, y, 0, 0));
+    }
+    /**
+     * Grows the rectangle with the given dimensions
+     */
+    inflate(w, h) {
+        this.x -= w;
+        this.y -= h;
+        this.width += 2 * w;
+        this.height += 2 * h;
+    }
+    /**
+     * Resizes this Rect to the area that overlaps a given Rect
+     * width and height will be set to 0 if the intersection does not exist
+     */
+    intersect(r2) {
+        if (this.x < r2.x) {
+            this.width -= r2.x - this.x;
+            this.x = r2.x;
+        }
+        if (this.y < r2.y) {
+            this.height -= r2.y - this.y;
+            this.y = r2.y;
+        }
+        this.width = Math.min(this.x + this.width, r2.x + r2.width) - this.x;
+        this.height = Math.min(this.y + this.height, r2.y + r2.height) - this.y;
+        if (this.width <= 0 || this.height <= 0) {
+            this.width = 0;
+            this.height = 0;
+        }
+    }
+    /**
+     * Returns wether this Rect has at least one pixel overlap with a given Rect
+     */
+    overlaps(r2) {
+        return this.x < r2.x + r2.width && this.x + this.width > r2.x && this.y < r2.y + r2.height && this.y + this.height > r2.y;
+    }
+    /**
+     * Returns wether a given Rect fits completely inside this Rect
+     * @param r2
+     */
+    contains(r2) {
+        return this.x <= r2.x && this.x + this.width >= r2.x + r2.width && this.y <= r2.y && this.y + this.height >= r2.y + r2.height;
+    }
+    /**
+     * Returns wether a given point lies inside this Rect
+     */
+    containsPoint(x, y) {
+        return this.x <= x && this.x + this.width > x && this.y <= y && this.y + this.height > y;
+    }
+}
+exports["default"] = Rect;
+
+
+/***/ }),
+
+/***/ "./src/base/wrapper.ts":
+/*!*****************************!*\
+  !*** ./src/base/wrapper.ts ***!
+  \*****************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_56486__) {
+
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.captureStream = exports.captureMultiAsync = exports.captureAsync = exports.ImageStreamReader = exports.once = exports.removeListener = exports.on = exports.addResizeElement = exports.getMousePosition = exports.hasAlt1Version = exports.resetEnvironment = exports.identifyApp = exports.unmixColor = exports.mixColor = exports.encodeImageString = exports.decodeImageString = exports.transferImageData = exports.captureHoldFullRs = exports.captureHoldScreen = exports.captureHold = exports.capture = exports.getdisplaybounds = exports.requireAlt1 = exports.openbrowser = exports.skinName = exports.hasAlt1 = exports.newestversion = exports.Alt1Error = exports.NoAlt1Error = void 0;
+const rect_1 = __importDefault(__nested_webpack_require_56486__(/*! ./rect */ "./src/base/rect.ts"));
+const imgref_1 = __nested_webpack_require_56486__(/*! ./imgref */ "./src/base/imgref.ts");
+const imagedata_extensions_1 = __nested_webpack_require_56486__(/*! ./imagedata-extensions */ "./src/base/imagedata-extensions.ts");
+__nested_webpack_require_56486__(/*! ./alt1api */ "./src/base/alt1api.ts");
+/**
+ * Thrown when a method is called that can not be used outside of Alt1
+ */
+class NoAlt1Error extends Error {
+    constructor() {
+        super();
+        this.message = "This method can not be ran outside of Alt1";
+    }
+}
+exports.NoAlt1Error = NoAlt1Error;
+;
+/**
+ * Thrown when the Alt1 API returns an invalid result
+ * Errors of a different type are throw when internal Alt1 errors occur
+ */
+class Alt1Error extends Error {
+}
+exports.Alt1Error = Alt1Error;
+/**
+ * The latest Alt1 version
+ */
+exports.newestversion = "1.5.5";
+/**
+ * Whether the Alt1 API is available
+ */
+exports.hasAlt1 = (typeof alt1 != "undefined");
+/**
+ * The name of the Alt1 interface skin. (Always "default" if running in a browser)
+ */
+exports.skinName = exports.hasAlt1 ? alt1.skinName : "default";
+/**
+ * Max number of bytes that can be sent by alt1 in one function
+ * Not completely sure why this number is different than window.alt1.maxtranfer
+ */
+var maxtransfer = 4000000;
+/**
+ * Open a link in the default browser
+ * @deprecated use window.open instead
+ */
+function openbrowser(url) {
+    if (exports.hasAlt1) {
+        alt1.openBrowser(url);
+    }
+    else {
+        window.open(url, '_blank');
+    }
+}
+exports.openbrowser = openbrowser;
+/**
+ * Throw if Alt1 API is not available
+ */
+function requireAlt1() {
+    if (!exports.hasAlt1) {
+        throw new NoAlt1Error();
+    }
+}
+exports.requireAlt1 = requireAlt1;
+/**
+ * Returns an object with a rectangle that spans all screens
+ */
+function getdisplaybounds() {
+    if (!exports.hasAlt1) {
+        return false;
+    }
+    return new rect_1.default(alt1.screenX, alt1.screenY, alt1.screenWidth, alt1.screenHeight);
+}
+exports.getdisplaybounds = getdisplaybounds;
+/**
+ * gets an imagebuffer with pixel data about the requested region
+ */
+function capture(...args) {
+    //TODO change null return on error into throw instead (x3)
+    if (!exports.hasAlt1) {
+        throw new NoAlt1Error();
+    }
+    var rect = rect_1.default.fromArgs(...args);
+    if (alt1.capture) {
+        return new imagedata_extensions_1.ImageData(alt1.capture(rect.x, rect.y, rect.width, rect.height), rect.width, rect.height);
+    }
+    var buf = new imagedata_extensions_1.ImageData(rect.width, rect.height);
+    if (rect.width * rect.height * 4 <= maxtransfer) {
+        var data = alt1.getRegion(rect.x, rect.y, rect.width, rect.height);
+        if (!data) {
+            return null;
+        }
+        decodeImageString(data, buf, 0, 0, rect.width, rect.height);
+    }
+    else {
+        //split up the request to to exceed the single transfer limit (for now)
+        var x1 = rect.x;
+        var ref = alt1.bindRegion(rect.x, rect.y, rect.width, rect.height);
+        if (ref <= 0) {
+            return null;
+        }
+        while (x1 < rect.x + rect.width) {
+            var x2 = Math.min(rect.x + rect.width, Math.floor(x1 + (maxtransfer / 4 / rect.height)));
+            var data = alt1.bindGetRegion(ref, x1, rect.y, x2 - x1, rect.height);
+            if (!data) {
+                return null;
+            }
+            decodeImageString(data, buf, x1 - rect.x, 0, x2 - x1, rect.height);
+            x1 = x2;
+        }
+    }
+    return buf;
+}
+exports.capture = capture;
+/**
+ * Makes alt1 bind an area of the rs client in memory without sending it to the js client
+ * returns an imgref object which can be used to get pixel data using the imgreftobuf function
+ * currently only one bind can exist per app and the ref in (v) will always be 1
+ */
+function captureHold(x, y, w, h) {
+    x = Math.round(x);
+    y = Math.round(y);
+    w = Math.round(w);
+    h = Math.round(h);
+    requireAlt1();
+    var r = alt1.bindRegion(x, y, w, h);
+    if (r <= 0) {
+        throw new Alt1Error("capturehold failed");
+    }
+    return new imgref_1.ImgRefBind(r, x, y, w, h);
+}
+exports.captureHold = captureHold;
+/**
+ * Same as captureHoldRegion, but captures the screen instead of the rs client. it also uses screen coordinates instead and can capture outside of the rs client
+ */
+function captureHoldScreen(x, y, w, h) {
+    x = Math.round(x);
+    y = Math.round(y);
+    w = Math.round(w);
+    h = Math.round(h);
+    requireAlt1();
+    var r = alt1.bindScreenRegion(x, y, w, h);
+    if (r <= 0) {
+        return false;
+    }
+    return new imgref_1.ImgRefBind(r, x, y, w, h);
+}
+exports.captureHoldScreen = captureHoldScreen;
+/**
+ * bind the full rs window if the rs window can be detected by alt1, otherwise return the full screen
+ */
+function captureHoldFullRs() {
+    return captureHold(0, 0, alt1.rsWidth, alt1.rsHeight);
+}
+exports.captureHoldFullRs = captureHoldFullRs;
+/**
+ * returns a subregion from a bound image
+ * used internally in imgreftobuf if imgref is a bound image
+ * @deprecated This should be handled internall by the imgrefbind.toData method
+ */
+function transferImageData(handle, x, y, w, h) {
+    x = Math.round(x);
+    y = Math.round(y);
+    w = Math.round(w);
+    h = Math.round(h);
+    requireAlt1();
+    if (alt1.bindGetRegionBuffer) {
+        return new imagedata_extensions_1.ImageData(alt1.bindGetRegionBuffer(handle, x, y, w, h), w, h);
+    }
+    var r = new imagedata_extensions_1.ImageData(w, h);
+    var x1 = x;
+    while (true) { //split up the request to to exceed the single transfer limit (for now)
+        var x2 = Math.min(x + w, Math.floor(x1 + (maxtransfer / 4 / h)));
+        var a = alt1.bindGetRegion(handle, x1, y, x2 - x1, h);
+        if (!a) {
+            throw new Alt1Error();
+        }
+        decodeImageString(a, r, x1 - x, 0, x2 - x1, h);
+        x1 = x2;
+        if (x1 == x + w) {
+            break;
+        }
+        ;
+    }
+    return r;
+}
+exports.transferImageData = transferImageData;
+/**
+ * decodes a returned string from alt1 to an imagebuffer
+ */
+function decodeImageString(imagestring, target, x, y, w, h) {
+    var bin = atob(imagestring);
+    var bytes = target.data;
+    w |= 0;
+    h |= 0;
+    var offset = 4 * x + 4 * y * target.width;
+    var target_width = target.width | 0;
+    for (var a = 0; a < w; a++) {
+        for (var b = 0; b < h; b++) {
+            var i1 = (offset + (a * 4 | 0) + (b * target_width * 4 | 0)) | 0;
+            var i2 = ((a * 4 | 0) + (b * 4 * w | 0)) | 0;
+            bytes[i1 + 0 | 0] = bin.charCodeAt(i2 + 2 | 0); //fix weird red/blue swap in c#
+            bytes[i1 + 1 | 0] = bin.charCodeAt(i2 + 1 | 0);
+            bytes[i1 + 2 | 0] = bin.charCodeAt(i2 + 0 | 0);
+            bytes[i1 + 3 | 0] = bin.charCodeAt(i2 + 3 | 0);
+        }
+    }
+    return target;
+}
+exports.decodeImageString = decodeImageString;
+/**
+ * encodes an imagebuffer to a string
+ */
+function encodeImageString(buf, sx = 0, sy = 0, sw = buf.width, sh = buf.height) {
+    var raw = "";
+    for (var y = sy; y < sy + sh; y++) {
+        for (var x = sx; x < sx + sw; x++) {
+            var i = 4 * x + 4 * buf.width * y | 0;
+            raw += String.fromCharCode(buf.data[i + 2 | 0]);
+            raw += String.fromCharCode(buf.data[i + 1 | 0]);
+            raw += String.fromCharCode(buf.data[i + 0 | 0]);
+            raw += String.fromCharCode(buf.data[i + 3 | 0]);
+        }
+    }
+    return btoa(raw);
+}
+exports.encodeImageString = encodeImageString;
+/**
+ * mixes the given color into a single int. This format is used by alt1
+ */
+function mixColor(r, g, b, a = 255) {
+    return (b << 0) + (g << 8) + (r << 16) + (a << 24);
+}
+exports.mixColor = mixColor;
+function unmixColor(col) {
+    var r = (col >> 16) & 0xff;
+    var g = (col >> 8) & 0xff;
+    var b = (col >> 0) & 0xff;
+    return [r, g, b];
+}
+exports.unmixColor = unmixColor;
+function identifyApp(url) {
+    if (exports.hasAlt1) {
+        alt1.identifyAppUrl(url);
+    }
+}
+exports.identifyApp = identifyApp;
+function resetEnvironment() {
+    exports.hasAlt1 = (typeof alt1 != "undefined");
+    exports.skinName = exports.hasAlt1 ? alt1.skinName : "default";
+}
+exports.resetEnvironment = resetEnvironment;
+function convertAlt1Version(str) {
+    var a = str.match(/^(\d+)\.(\d+)\.(\d+)$/);
+    if (!a) {
+        throw new RangeError("Invalid version string");
+    }
+    return (+a[1]) * 1000 * 1000 + (+a[2]) * 1000 + (+a[3]) * 1;
+}
+var cachedVersionInt = -1;
+/**
+ * checks if alt1 is running and at least the given version. versionstr should be a string with the version eg: 1.3.2
+ * @param versionstr
+ */
+function hasAlt1Version(versionstr) {
+    if (!exports.hasAlt1) {
+        return false;
+    }
+    if (cachedVersionInt == -1) {
+        cachedVersionInt = alt1.versionint;
+    }
+    return cachedVersionInt >= convertAlt1Version(versionstr);
+}
+exports.hasAlt1Version = hasAlt1Version;
+/**
+ * Gets the current cursor position in the game, returns null if the rs window is not active (alt1.rsActive)
+ */
+function getMousePosition() {
+    var pos = alt1.mousePosition;
+    if (pos == -1) {
+        return null;
+    }
+    return { x: pos >>> 16, y: pos & 0xFFFF };
+}
+exports.getMousePosition = getMousePosition;
+/**
+ * Registers a given HTML element as a frame border, when this element is dragged by the user the Alt1 frame will resize accordingly
+ * Use the direction arguements to make a given direction stick to the mouse. eg. Only set left to true to make the element behave as the left border
+ * Or set all to true to move the whole window. Not all combinations are permitted
+ */
+function addResizeElement(el, left, top, right, bot) {
+    if (!exports.hasAlt1 || !alt1.userResize) {
+        return;
+    }
+    el.addEventListener("mousedown", function (e) {
+        alt1.userResize(left, top, right, bot);
+        e.preventDefault();
+    });
+}
+exports.addResizeElement = addResizeElement;
+/**
+ * Add an event listener
+ */
+function on(type, listener) {
+    if (!exports.hasAlt1) {
+        return;
+    }
+    if (!alt1.events) {
+        alt1.events = {};
+    }
+    if (!alt1.events[type]) {
+        alt1.events[type] = [];
+    }
+    alt1.events[type].push(listener);
+}
+exports.on = on;
+/**
+ * Removes an event listener
+ */
+function removeListener(type, listener) {
+    var elist = exports.hasAlt1 && alt1.events && alt1.events[type];
+    if (!elist) {
+        return;
+    }
+    var i = elist.indexOf(listener);
+    if (i == -1) {
+        return;
+    }
+    elist.splice(i, 1);
+}
+exports.removeListener = removeListener;
+/**
+ * Listens for the event to fire once and then stops listening
+ * @param event
+ * @param cb
+ */
+function once(type, listener) {
+    var fn = (e) => {
+        removeListener(type, fn);
+        listener(e);
+    };
+    on(type, fn);
+}
+exports.once = once;
+;
+/**
+ * Used to read a set of images from a binary stream returned by the Alt1 API
+ */
+class ImageStreamReader {
+    constructor(reader, ...args) {
+        this.framebuffer = null;
+        this.pos = 0;
+        this.reading = false;
+        this.closed = false;
+        //paused state
+        this.pausedindex = -1;
+        this.pausedbuffer = null;
+        this.streamreader = reader;
+        if (args[0] instanceof imagedata_extensions_1.ImageData) {
+            this.setFrameBuffer(args[0]);
+        }
+        else if (typeof args[0] == "number") {
+            this.setFrameBuffer(new imagedata_extensions_1.ImageData(args[0], args[1]));
+        }
+    }
+    /**
+     *
+     */
+    setFrameBuffer(buffer) {
+        if (this.reading) {
+            throw new Error("can't change framebuffer while reading");
+        }
+        this.framebuffer = buffer;
+    }
+    /**
+     * Closes the underlying stream and ends reading
+     */
+    close() {
+        this.streamreader.cancel();
+    }
+    /**
+     * Reads a single image from the stream
+     */
+    async nextImage() {
+        if (this.reading) {
+            throw new Error("already reading from this stream");
+        }
+        if (!this.framebuffer) {
+            throw new Error("framebuffer not set");
+        }
+        this.reading = true;
+        var synctime = -Date.now();
+        var starttime = Date.now();
+        var r = false;
+        while (!r) {
+            if (this.pausedindex != -1 && this.pausedbuffer) {
+                r = this.readChunk(this.pausedindex, this.framebuffer.data, this.pausedbuffer);
+            }
+            else {
+                synctime += Date.now();
+                var res = await this.streamreader.read();
+                synctime -= Date.now();
+                if (res.done) {
+                    throw new Error("Stream closed while reading");
+                }
+                var data = res.value;
+                r = this.readChunk(0, this.framebuffer.data, data);
+            }
+        }
+        synctime += Date.now();
+        //console.log("Decoded async image, " + this.framebuffer.width + "x" + this.framebuffer.height + " time: " + (Date.now() - starttime) + "ms (" + synctime + "ms main thread)");
+        this.reading = false;
+        return this.framebuffer;
+    }
+    readChunk(i, framedata, buffer) {
+        //very hot code, explicit int32 casting with |0 speeds it up by ~ x2
+        i = i | 0;
+        var framesize = framedata.length | 0;
+        var pos = this.pos;
+        var datalen = buffer.length | 0;
+        //var data32 = new Float64Array(buffer.buffer);
+        //var framedata32 = new Float64Array(framedata.buffer);
+        //fix possible buffer misalignment
+        //align to 16 for extra loop unrolling
+        while (i < datalen) {
+            //slow loop, fix alignment and other issues
+            while (i < datalen && pos < framesize && (pos % 16 != 0 || !((i + 16 | 0) <= datalen && (pos + 16 | 0) <= framesize))) {
+                var rel = pos;
+                if (pos % 4 == 0) {
+                    rel = rel + 2 | 0;
+                }
+                if (pos % 4 == 2) {
+                    rel = rel - 2 | 0;
+                }
+                framedata[rel | 0] = buffer[i | 0];
+                i = i + 1 | 0;
+                pos = pos + 1 | 0;
+            }
+            //fast unrolled loop for large chunks i wish js had some sort of memcpy
+            if (pos % 16 == 0) {
+                while ((i + 16 | 0) <= datalen && (pos + 16 | 0) <= framesize) {
+                    framedata[pos + 0 | 0] = buffer[i + 2 | 0];
+                    framedata[pos + 1 | 0] = buffer[i + 1 | 0];
+                    framedata[pos + 2 | 0] = buffer[i + 0 | 0];
+                    framedata[pos + 3 | 0] = buffer[i + 3 | 0];
+                    framedata[pos + 4 | 0] = buffer[i + 6 | 0];
+                    framedata[pos + 5 | 0] = buffer[i + 5 | 0];
+                    framedata[pos + 6 | 0] = buffer[i + 4 | 0];
+                    framedata[pos + 7 | 0] = buffer[i + 7 | 0];
+                    framedata[pos + 8 | 0] = buffer[i + 10 | 0];
+                    framedata[pos + 9 | 0] = buffer[i + 9 | 0];
+                    framedata[pos + 10 | 0] = buffer[i + 8 | 0];
+                    framedata[pos + 11 | 0] = buffer[i + 11 | 0];
+                    framedata[pos + 12 | 0] = buffer[i + 14 | 0];
+                    framedata[pos + 13 | 0] = buffer[i + 13 | 0];
+                    framedata[pos + 14 | 0] = buffer[i + 12 | 0];
+                    framedata[pos + 15 | 0] = buffer[i + 15 | 0];
+                    //could speed it up another x2 but wouldn't be able to swap r/b swap and possible alignment issues
+                    //framedata32[pos / 8 + 0 | 0] = data32[i / 8 + 0 | 0];
+                    //framedata32[pos / 8 + 1 | 0] = data32[i / 8 + 1 | 0];
+                    //framedata32[pos / 4 + 2 | 0] = data32[i / 4 + 2 | 0];
+                    //framedata32[pos / 4 + 3 | 0] = data32[i / 4 + 3 | 0];
+                    pos = pos + 16 | 0;
+                    i = i + 16 | 0;
+                }
+            }
+            if (pos >= framesize) {
+                this.pausedbuffer = null;
+                this.pausedindex = -1;
+                this.pos = 0;
+                if (i != buffer.length - 1) {
+                    this.pausedbuffer = buffer;
+                    this.pausedindex = i;
+                }
+                return true;
+            }
+        }
+        this.pos = pos;
+        this.pausedbuffer = null;
+        this.pausedindex = -1;
+        return false;
+    }
+}
+exports.ImageStreamReader = ImageStreamReader;
+/**
+ * Asynchronously captures a section of the game screen
+ */
+async function captureAsync(...args) {
+    requireAlt1();
+    var rect = rect_1.default.fromArgs(...args);
+    if (alt1.captureAsync) {
+        let img = await alt1.captureAsync(rect.x, rect.y, rect.width, rect.height);
+        return new imagedata_extensions_1.ImageData(img, rect.width, rect.height);
+    }
+    if (!hasAlt1Version("1.4.6")) {
+        return capture(rect.x, rect.y, rect.width, rect.height);
+    }
+    var url = "https://alt1api/pixel/getregion/" + encodeURIComponent(JSON.stringify(Object.assign(Object.assign({}, rect), { format: "raw", quality: 1 })));
+    var res = await fetch(url);
+    var imgreader = new ImageStreamReader(res.body.getReader(), rect.width, rect.height);
+    return imgreader.nextImage();
+}
+exports.captureAsync = captureAsync;
+/**
+ * Asynchronously captures multple area's. This method captures the images in the same render frame if possible
+ * @param areas
+ */
+async function captureMultiAsync(areas) {
+    requireAlt1();
+    var r = {};
+    if (alt1.captureMultiAsync) {
+        let bufs = await alt1.captureMultiAsync(areas);
+        for (let a in areas) {
+            if (!bufs[a]) {
+                r[a] = null;
+            }
+            r[a] = new imagedata_extensions_1.ImageData(bufs[a], areas[a].width, areas[a].height);
+        }
+        return r;
+    }
+    var capts = [];
+    var captids = [];
+    for (var id in areas) {
+        if (areas[id]) {
+            capts.push(areas[id]);
+            captids.push(id);
+        }
+        else {
+            r[id] = null;
+        }
+    }
+    if (capts.length == 0) {
+        return r;
+    }
+    if (!hasAlt1Version("1.5.1")) {
+        var proms = [];
+        for (var a = 0; a < capts.length; a++) {
+            proms.push(captureAsync(capts[a]));
+        }
+        var results = await Promise.all(proms);
+        for (var a = 0; a < capts.length; a++) {
+            r[captids[a]] = results[a];
+        }
+    }
+    else {
+        var res = await fetch("https://alt1api/pixel/getregionmulti/" + encodeURIComponent(JSON.stringify({ areas: capts, format: "raw", quality: 1 })));
+        var imgreader = new ImageStreamReader(res.body.getReader());
+        for (var a = 0; a < capts.length; a++) {
+            var capt = capts[a];
+            imgreader.setFrameBuffer(new imagedata_extensions_1.ImageData(capt.width, capt.height));
+            r[captids[a]] = await imgreader.nextImage();
+        }
+    }
+    return r;
+}
+exports.captureMultiAsync = captureMultiAsync;
+/**
+ * Starts capturing a realtime stream of the game. Make sure you keep reading the stream and close it when you're done or Alt1 WILL crash
+ * @param framecb Called whenever a new frame is decoded
+ * @param errorcb Called whenever an error occurs, the error is rethrown if not defined
+ * @param fps Maximum fps of the stream
+ */
+function captureStream(x, y, width, height, fps, framecb, errorcb) {
+    requireAlt1();
+    if (!hasAlt1Version("1.4.6")) {
+        throw new Alt1Error("This function is not supported in this version of Alt1");
+    }
+    var url = "https://alt1api/pixel/streamregion/" + encodeURIComponent(JSON.stringify({ x, y, width, height, fps, format: "raw" }));
+    var res = fetch(url).then(async (res) => {
+        var reader = new ImageStreamReader(res.body.getReader(), width, height);
+        try {
+            while (!reader.closed && !state.closed) {
+                var img = await reader.nextImage();
+                if (!state.closed) {
+                    framecb(img);
+                    state.framenr++;
+                }
+            }
+        }
+        catch (e) {
+            if (!state.closed) {
+                reader.close();
+                if (errorcb) {
+                    errorcb(e);
+                }
+                else {
+                    throw e;
+                }
+            }
+        }
+        if (!reader.closed && state.closed) {
+            reader.close();
+        }
+    });
+    var state = {
+        x, y, width, height,
+        framenr: 0,
+        close: () => { state.closed = true; },
+        closed: false,
+    };
+    return state;
+}
+exports.captureStream = captureStream;
+
+
+/***/ }),
+
+/***/ "canvas":
+/*!*************************!*\
+  !*** external "canvas" ***!
+  \*************************/
+/***/ ((module) => {
+
+if(typeof __WEBPACK_EXTERNAL_MODULE_canvas__ === 'undefined') { var e = new Error("Cannot find module 'canvas'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_canvas__;
+
+/***/ }),
+
+/***/ "electron/common":
+/*!**********************************!*\
+  !*** external "electron/common" ***!
+  \**********************************/
+/***/ ((module) => {
+
+if(typeof __WEBPACK_EXTERNAL_MODULE_electron_common__ === 'undefined') { var e = new Error("Cannot find module 'electron/common'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_electron_common__;
+
+/***/ }),
+
+/***/ "sharp":
+/*!************************!*\
+  !*** external "sharp" ***!
+  \************************/
+/***/ ((module) => {
+
+if(typeof __WEBPACK_EXTERNAL_MODULE_sharp__ === 'undefined') { var e = new Error("Cannot find module 'sharp'"); e.code = 'MODULE_NOT_FOUND'; throw e; }
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_sharp__;
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __nested_webpack_require_79245__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_79245__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       /* webpack/runtime/global */
+/******/       (() => {
+/******/               __nested_webpack_require_79245__.g = (function() {
+/******/                       if (typeof globalThis === 'object') return globalThis;
+/******/                       try {
+/******/                               return this || new Function('return this')();
+/******/                       } catch (e) {
+/******/                               if (typeof window === 'object') return window;
+/******/                       }
+/******/               })();
+/******/       })();
+/******/       
+/************************************************************************/
+/******/       
+/******/       // startup
+/******/       // Load entry module and return exports
+/******/       // This entry module is referenced by other modules so it can't be inlined
+/******/       var __nested_webpack_exports__ = __nested_webpack_require_79245__("./src/base/index.ts");
+/******/       
+/******/       return __nested_webpack_exports__;
+/******/ })()
+;
+});
+
+/***/ }),
+
+/***/ "../node_modules/alt1/dist/dialog/index.js":
+/*!*************************************************!*\
+  !*** ../node_modules/alt1/dist/dialog/index.js ***!
+  \*************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(true)
+               module.exports = factory(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js"), __webpack_require__(/*! alt1/ocr */ "../node_modules/alt1/dist/ocr/index.js"));
+       else {}
+})(globalThis, (__WEBPACK_EXTERNAL_MODULE_alt1_base__, __WEBPACK_EXTERNAL_MODULE_alt1_ocr__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       var __webpack_modules__ = ({
+
+/***/ "./src/dialog/imgs/boxtl.data.png":
+/*!****************************************!*\
+  !*** ./src/dialog/imgs/boxtl.data.png ***!
+  \****************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_871__) => {
+
+module.exports=(__nested_webpack_require_871__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAx0lEQVQ4T5VRywrCMBBMaytYyMFHDw16CNWDBg8WoWAFpTf//4ecsGENMQ0UhmVmO5PdNEKZru0GVCLEL/cnS/MYwU3/Jo+AFiKbgevrE7bSmArksgk6DumVsrIKOmJ/G8JWGrMvjUBkbgLBhFzufBkB7uBPQKDcKJYR4C39ALhUuqj15J7/KwHIVIfztjWoZXOkmYuVtB4OQAM4GAFUh+UabmelZ0GANXdh+mW83eyoUz/ykeQm0G4g/j+wnC9NNQAl+VNR6y/yyxm6AFlANgAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/boxtl_leg.data.png":
+/*!********************************************!*\
+  !*** ./src/dialog/imgs/boxtl_leg.data.png ***!
+  \********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_1594__) => {
+
+module.exports=(__nested_webpack_require_1594__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAE0SURBVDhPjZFNTsMwEIVtJ45D05YmLVKBJRISsOIILNiw5QosOXpIKcpPHduFl0wINAHEJ+tpPB6/Gcv8+emRHZIX1TQ6QuBLbs37QNnVxQlj/P+L31yuH+7vZrNptt2QhxSy0vXe6SAMlYrQqshzyiPmt9fny2WslMqyrQr4+vQsTV8m0eTtdRNN582IjGmtob4nrNsLiqBJcjxfxKhGXBblIk6cNVL68AKwQDUCUVuHCsJZR8egrCpkdq0SSEIbb89vhoOZ53vNSYv0JeVpHni16fYCYYztsz10hzDWQEXQulI7Aq266BD0hHYdqC+BVl30CXlDUUZv+Bp9DIrIG4pBxE7XdPAb/bTkK0IVjN/6I1QmVquE9mMGo2KLJdI06xIjBOff72CLn/rr0YOfwVZr/QEeBH9rQlJ0YgAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/boxtr.data.png":
+/*!****************************************!*\
+  !*** ./src/dialog/imgs/boxtr.data.png ***!
+  \****************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_2513__) => {
+
+module.exports=(__nested_webpack_require_2513__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA3UlEQVQ4T6WTwQrCMBBEk9oKigEVFSweLOLF6sFehOYgePP/P2jNrE1ZcJFUD68J2cwkO23NofF0vD0IY1k3VLfveXVu+jWMALVYxzowxtjw+A2YGVtM1WIKl/szjEohlb8NuAWtkMru6sMYJplbkR0vKF9XH5s0kBs0fYgxyJRAM7clV1YMGxB9R4pxAG6J04tlOdwAIm63uzVnoIkk2unRAF+kKpJEg9HEcdAwQA59iJpIEg2kEEa4QbIBNkMYM0Arg0NEC1KM14i/WBVJuPcutHy+YQMw259CiJ5egv+YzBEq3jQAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/boxtr_leg.data.png":
+/*!********************************************!*\
+  !*** ./src/dialog/imgs/boxtr_leg.data.png ***!
+  \********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_3264__) => {
+
+module.exports=(__nested_webpack_require_3264__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAFgSURBVDhPnZO9TsMwFIWPHZuUpo2g6hswsbMzsbEgMfAKiIUnYOWNWBh4F1CFhFKKojatmx/jY+E2RRWK+KSrm9ycHF//iceHO7tal5hM3tGLDyAkIIVAY+0maxUBjYApDYSwOOgdulqMxXwOAbjKPzk9GUPc315bLTWWZo2mNs69hzhOvIAjKC3A72Q4HOAj+9zUnp5fIG6uzm2WTdFP+si/ZkgGqRcTY4zPKpKo6sbnfjJAsZj79+l0BsmfSbEocHQ8Ql2V0Fq5LmIfNKaYz8x5nvsckEHIKJZLX1z95AC/kTRNN1rpullXNdyab9FKI3JBQvu1EwVCjVBLdgwCwSRQumm1aRsJ6/b5Ly4vzvYKInc23l4n+zv4DTtoj0pUpHzuZMD5hoUMBMNOBmx3Hyt3+DoZhJ3g+Wib8e507oBRltXOto7Ho24GvJVcNHbACGTuXnQy4MhcNGbGdhrAN5b0ly21yuFfAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimg.data.png":
+/*!******************************************!*\
+  !*** ./src/dialog/imgs/chatimg.data.png ***!
+  \******************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_4247__) => {
+
+module.exports=(__nested_webpack_require_4247__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAAwUlEQVQYV2OYPGlSV1dXcnJyRmqSqbUdQ3VNNRB5uTkJCwuLKqgxtLS0ACVVFGQ4eQUFpRUZgBxHWytOHl4oX0tLS1lZGaiYkZOXW1CUQVXXGChkbGwsJSUFFGI4YM+fqycmpahqoG8AVMVwxJipUptPUFIOqEtEkJdBT4JPSVYSqBgoCTSSQUVLG8QCms/DCzI/OjrK0syEgYERaDiI7+3lHRwcDNQC5bu6ukKEgLp4RKUZsjPSgEJAfrC/t7GhHgChFSifluVS6gAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimg_leg.data.png":
+/*!**********************************************!*\
+  !*** ./src/dialog/imgs/chatimg_leg.data.png ***!
+  \**********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_4970__) => {
+
+module.exports=(__nested_webpack_require_4970__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEOSURBVChTVY+7SgNBFIZnZ3aTWdCYddVcRBIVREEC2gcsFnwMO9/JxsrGzkbQB1AkleArWJjLXhRhJnNbf9ltcviL/3z/nDMzXjI+Hx0PDoadh6dJI6DGOUKIT6kPenZ6eHv/fDTo7vbbRSF5GCCjoDd3j/v9rThel0sLKoWG2DzN97rxdrwhlFHaCqGNdRAF7e1EUhlrHIQl1sAbGjb/N1aFXgqptYEoD3nx/Yu+QvURXI6+tqtFPcpru1os3my5oBX6tgaEaOtcWbKmTywJGF+rMlA8Cgm9vkry+ed0luXLxo9Q+I12JcSGvc7F+ORt8oE5a32pvEositqeI5fJ6OX1/Ws2TbNFUWR5nv4B2LeYEU2WizoAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimgactive.data.png":
+/*!************************************************!*\
+  !*** ./src/dialog/imgs/chatimgactive.data.png ***!
+  \************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_5869__) => {
+
+module.exports=(__nested_webpack_require_5869__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAApklEQVQYV2Po6upqaWmJjo4CIk1dQ4ZiMLCzNGVgYGQRkGCorqmOjggTEeQF8hm4BRmCg4ONDfVAHAhfWVlZWFgYygciKUVVSVkFoCgnD1jLHkOGZHlWbkFRoBCIf0CdIV+GgZGTF6pLnoNBkJcLqhiIBCXloCwgAprv7eWtraGG4FtZWXq5OQG1QPnGxsaurq5AIRCfhYshKTYKqASoy83RRkVBBgAFhh2w1olrrAAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimgactive_leg.data.png":
+/*!****************************************************!*\
+  !*** ./src/dialog/imgs/chatimgactive_leg.data.png ***!
+  \****************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_6580__) => {
+
+module.exports=(__nested_webpack_require_6580__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEESURBVChTPY4xTgMxEEXtmfFmE1hpRSQECqIIVRBCEanpuABnyImo09FzASokjgAVVUQBURpCSMiKHdt8ZwVf1mj8/veM7dXlxbBfnvTad4/vmSMNwRgjRAJ6fno4uX3IssA5k5KV5BHozeQedK9s5bm0dwmVmfh1OisLAa3rEJV8DCFE7wOBFjsO1AbGBAg0jerkDNTQSL6hyRDrfIjN5f8RRPpjmCw6NEhgjakdKknWJGCnhFj8yKDSfK7IQla2/p+46LBRaTkiNlETwvoYDY2vBx/V6m2x2u5IpxH3j4+Gg4Pnl1mluvSi335TBRwuu/vO+NFZ72m6+FxvlnW99v5L9ReDbXkhpJVqYwAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimghover.data.png":
+/*!***********************************************!*\
+  !*** ./src/dialog/imgs/chatimghover.data.png ***!
+  \***********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_7463__) => {
+
+module.exports=(__nested_webpack_require_7463__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAOCAIAAABoykFxAAAAz0lEQVQYV2M4dfLEjp07W1pamhrrnL38GFavXr10yeKk2ChhYWEpFW2GLVu2dLQ1a2uocfIKiipoMABVRoaFcPLwcguKiiqoMVhZWRob6kmKCgGFBMSkGUztnU2t7VxdXZWVlYFCDP9DhSfbyaloaQMVSklJMfz3YF1sJSylqKqlpQW0gsFOQVhLTRnC4RGVZjAyBymDma/BUF1T7e3lzcDACJQUlFZkSE5OLsjNAmoByoP4YZGR2RlpQCGgLpD+Sb2d0dFR2dnZQC8Y6WkBAPN1NR2AAHfmAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/chatimghover_leg.data.png":
+/*!***************************************************!*\
+  !*** ./src/dialog/imgs/chatimghover_leg.data.png ***!
+  \***************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_8222__) => {
+
+module.exports=(__nested_webpack_require_8222__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAIAAACdNMrBAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAEjSURBVChTVc89SwNBEIDh2727fChqFosQLExMY4gIsbOIBLT0B9joX9RKTCOksLESSa1Y5TSa+8rdze7s7jl4lfAUw7sMy7CL8cnx4f5Bt3338FzzubbWcRyPc4/q6Kg/nT7eXA72erurz2xHNCBXnOrt/ex01G2JjSwq6nUeh5Ci67ISR30x7DVXqQVAkmegC+BUOx3xFhilNEmTQgIS3qh79JtWOksKkudQ4TXPWyxCpXWSAQGpK3wZrmmDJqn+4VSryRgkIFXF3doUvldyVtJlf8c5gFbbkh5qa822mz5FUBYRpTJaG359dRYE3/OPKEpgncu0MBJtCMztdtqT8eDl9V0xP0cXFe05BktXiBazzvlkOHuaB8vVVxj/xOkySn4BoaPZbEW+44oAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimg.data.png":
+/*!**********************************************!*\
+  !*** ./src/dialog/imgs/continueimg.data.png ***!
+  \**********************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_9141__) => {
+
+module.exports=(__nested_webpack_require_9141__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAABTklEQVRIS72PMUsDQRCFB2Jjk85KsPEPmMYmgig2gWAlKWwCIiIihIC1WIpiJZY2SpqgpLCQNDZRAjZWHqmvsVEQ1Ebl8J0D4zIXD5HdgY/lzey7fffoeVD9fFxikpfaP/jLhxLhojy+kPdRjZKokhIvBieqIC+6WcVpkfjdiz5u55P7BR6CgqDu2dbeaQdnGpoxeAcpaT0buBsD/XQ1pwwhoPde2YDX/oxbTxpir5x+sasXt8vZhm/9knL6hR5OJm0YHI2D9c1GdeWH7sG0svmF4uMJA7jbbnPW7YaR98rsC7xMHGBAttvd/pjyeIeQYcD1TtGtB42N8oSAettFBnkgR+SPEIxaytVlc5Qb4oQG7q37FSOjMiibQjwMcZIBnY0RcNiYYqFuA0GtOl0s0/laYSj4D6XdjSBLCLENdQru7W9OeUpGhsd8YGvV6Qu6U2ehlR3eegAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimg_leg.data.png":
+/*!**************************************************!*\
+  !*** ./src/dialog/imgs/continueimg_leg.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_10068__) => {
+
+module.exports=(__nested_webpack_require_10068__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAASPSURBVEhLrVZLaFxVGD7nPubeO5NMZpIQTYfaNn2RREsrbQXbuOnKR4WCiKtCV2JABF24qTvdCK5ciIWudeFCqkuLC6WKQqVmEVsMjUkTyySTec993+t37n/n5CZNShQ/Dof/db7z/efce2f4J+++PDbqsgz0sN2y9a7NYResmIKPgTVgptY26IOpwViz0cnFdur04XFrqJDw64OargZ+ODKQJPaAWr1td5zs1lq+pKpmztBzYaPWYcxvV9cN/v7sa4cr1ulzz6Oitv7As0OqBnzH6ThRr1VPfcbyxfKAqeimWRotwe1126hHGWW3Fft2jwzdyn/42U2ygatvXaAU4iAsl/KwiQTMoqK/deymbNwoY95oBiZvJwGhhAzSk7PUbr1brdZkCkoWVmzR3jOT+1p+Keita/nRRnVpYEDs1+n0YGAWHAkCvVwyXGyw3lbhbstKtBylaEbNFg4wxRc3bn19fSaf97hy5O8H9y6/9+vrLz2naoIE4Lki6skmZJmJTQZB67DCE0XxZFEKcZKdlKdAcHhIm5tfFe1V9o1hJapjrxUG4vZ8P8BsWgZmx3Z1XYMaMihFoDgMpMjFTJVBIMo0TYPxzfd3Pv/giFUq5y02NHKMOnxxZpoKABgAtiMeLKGgNAjZOGbYMGSQXMsySRKaWlmtpu3B6rS7iEpIIkC6j4JIUycDCnp++qjf/PmPj9/cPzRmjIyXZYcXzhxmqo5sTk9vcjdInj0ChNPTRxcWltXzZ6YUzpuNtud5UQZJXwEMWkBBx/U5Z4qiUFDWIEKGBLKbmkJ/ojJ87cbiC5OFKPYVtTf65LFzx/Offjk3MT7EFDWMYjlUNSUHwEDB1N8zsAQaOp2uaM80crWaeIkl3W7DdV0ehX4Y+0GIIYK+F8YctpS1RVPoszhygwjuU+Pl69/+9cYrxcDrdZvL+4+ffPrg4LWvfhcdxhGaTFYLZXJQ5L+hULAcx+XvXLnIrOFWdVlIAZKnZRvQVWrtAsMQbymBig1NdIvGkpjAj7/d/2h2Csbd+bWV9bXbS2a96Zw/dYgqBR7dGpIQ3F3YYzA2NtyoN9WTkwcCp92znfTM+tB4LA4VZ5/5lmSBWwtjRoNF6SqAsqCy/UgW/HRn8erlibxqz99tNZuL9Vb050N29sRBVeG0r6bgoe+/gaGPTUEFBi/ZnYRJSZuVu0M8nVGknjhaCYMgK4UG1KMIvJiznciRxbYURIvlUcC4gvmXuaW3Xy2xwL2/EqG3jY5+a8E4PVXhDI1FIcQmTW4eaHLnJCBLLiUlxyiQLsmcCzEggs+4aO/U5IG2GwoplMCAJiru824BVVJNfxUuD5McUdKVyCMes9W19nihttFouW4Dvf1wL4fekEWK40sV480UTSIC6fKgd4SUhBMRLt180qS48MSliO/hNDi/cmmGVv5fwNnL14nuweT2d7cfwiga4n/Z2elDIpfAiS3MKCBj8z38lyiqvpP5DyjBZy8+qxs5WGEURH76JVB0sY2q7PxbtyOwnAwiIQbp7hFy1Y4QVKrNQnEQBNRnRWrGFsGBG/wD9kSQTvgpZ/YAAAAASUVORK5CYII=")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimgdown.data.png":
+/*!**************************************************!*\
+  !*** ./src/dialog/imgs/continueimgdown.data.png ***!
+  \**************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_12171__) => {
+
+module.exports=(__nested_webpack_require_12171__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAABMklEQVRIS92VoU4DQRCG5wKGNyEo3gB1BtWEYGqaNAGBoQ3BoAiqKVXwDJUEgcAgCQIUBoPgVfg2/2WzGUpqdk40+XqZ3Z3u3Le32bXbQbMc2UaCmj2cbr1dWTSvl4mXC3s82+appsupDmqp3ueNRaN6s+nBaHzCU82Pa59WF9TSihJ9zex7EQgl7s/3cRPEcqNuUGkmRy2tohsIotSTIW/gcurS6f3c9QFf6a8hL+HSKoJatznzPsm7pWyu7FlL+RfmZzdS73BwtNseZ56nOyq9dv6VCerMQwSKZZS+Xj9Hi9wmw73SjSadcQdMOlr4qUYczP+fm3D5VWDapNfPvQelHjE7xyVUJ9173O66ZKNhLWUoNzcaAWqd3vsknFxSgRutjmrZvG34iE9D2zCQmrfNLxl9slarbU3QAAAAAElFTkSuQmCC")
+
+/***/ }),
+
+/***/ "./src/dialog/imgs/continueimgdown_leg.data.png":
+/*!******************************************************!*\
+  !*** ./src/dialog/imgs/continueimgdown_leg.data.png ***!
+  \******************************************************/
+/***/ ((module, __unused_webpack_exports, __nested_webpack_require_13074__) => {
+
+module.exports=(__nested_webpack_require_13074__(/*! alt1/base */ "alt1/base").ImageDetect.imageDataFromBase64)("iVBORw0KGgoAAAANSUhEUgAAAEoAAAANCAIAAACB72/yAAAAAW5vUEUAYtdMlAAAAARub1BFAAAAAEEgjiIAAAAJbm9QRQAAAAAAAAAAAKGKctUAAAQQSURBVEhL1VW9bxxFFN/52NvbO59sEic5GZMIEHFkAiICKaRDAlGAlJKGioqShpqejn+ABiEoqFIhkIJEk44miSCRyIcSJXawfT6f7253dueD39xbz62/Ekei4ae5pzdv3rz3fm9m59jHb780N5tFu1GWttKOgDjmlXY4DgsY9nKRQkppaAqkup3JUTXZh0IViFlP3UgalTZZhexvpezyu6ePH4u73QXMc+15ltZBxpxBscNxVnhXQtpo8JkWlljccGVlJ394QpKzZSl3WaZYmjiSV69PO/j+mymMUGCHZ+eFhOwEBIek1GQJGJUCYUlHJaRQPVCwZdTrBzsq2eiVnt7phZOYb6u8HRuEoOWAEBGlkKLyPGk2SQ+AkchU8x2oTP/xoPj2m8+gt9qdR3/f/PLr395alILzJJXkQ6CYSBcShR7VU0PCk5ZI7yRNFF9f8l1Lmg8e/yOWFmfjNM1LheWssEbrPWM0NI4Jbdh4O4+YhTTaqrzAwJR8yAg3X8KEUlHosjTWOGPt6sBeXErKfOzc+MTi2UvL7e9+vjPfjIyxlY9GHEvRkI4iI2ae+yWEhU4ZyRMKLZG+PRyHJWxEqb4qFuWZ8vSSpgQ31EQeewbKrSuT+iuQPRjrU+f8jYU0pTs1w3+8+vDCa3NWS602uy8vg+H3v9ydSyxzzBgXce8Jqhi4+BTKR5zAx7QWDkcBBcFIW8lokHt60CaHsKv0A4E0lP6ZgJsu8AFV02Mtd+Xa6jtLLYbuqhEx/OHXe2COVbhhcOEj1+MTK1ggyYIrHfSnA46jceHpzXQ6w8GuNyrEreuFMigCzQ79BgGaCjl9waad3uFWWv8ezrejK9fWPnpvCXdyfWXtzLnzyy+qn35fIYYAMUSiEKGyOxdYOc3wRWJa54wLQg2iwSMhJJMxz7LS/zHMd2cHm0NUD9dGIlgZafQpjrwirDRcTep7CrCLFGzZ70z0bq1FX31+yfLW9b/+XF/Zunl/Y6DSN07teskEF/TaoIBIVO1BAZAuppkHshBghE4y1EyeeLe2+8rTQ3HErQ7KhD349ivT84OIAeD2xScXoNy7/2R9q9/rjWE5dwJ/A1N6CRfTth6UN5QEWad0GEBKnDk+I7kIBx0Ai8HvaBf9MDSUKSy73Ys+/fDVXJnV1R644Q27sWLOzk3uEm4a27nYjKNuYyOc2oE9nZbEOPbS4Yb+gC3zD6cfkYiaPFZai1dOdmod/C+Bo5PGlYxt5FFHqs3+AO83/Q2CGwF/JYEe1Q3lmfeFh45gl/W3GJRwkuCFgTVM8YXjr51dfr0rW3v/o+sXnUB3GvJ5QZ/ijSdeaq2llPXvDRey0nYQsoQaKHXQgf3l4awqrYZBlrMPzi+00IH/P/Yf0iAr/gXJh0N13Pe/YwAAAABJRU5ErkJggg==")
+
+/***/ }),
+
+/***/ "./src/dialog/index.ts":
+/*!*****************************!*\
+  !*** ./src/dialog/index.ts ***!
+  \*****************************/
+/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_14933__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const a1lib = __importStar(__nested_webpack_require_14933__(/*! alt1/base */ "alt1/base"));
+const OCR = __importStar(__nested_webpack_require_14933__(/*! alt1/ocr */ "alt1/ocr"));
+const base_1 = __nested_webpack_require_14933__(/*! alt1/base */ "alt1/base");
+var imgs_rs3 = (0, base_1.webpackImages)({
+    chatimg: __nested_webpack_require_14933__(/*! ./imgs/chatimg.data.png */ "./src/dialog/imgs/chatimg.data.png"),
+    chatimghover: __nested_webpack_require_14933__(/*! ./imgs/chatimghover.data.png */ "./src/dialog/imgs/chatimghover.data.png"),
+    chatimgactive: __nested_webpack_require_14933__(/*! ./imgs/chatimgactive.data.png */ "./src/dialog/imgs/chatimgactive.data.png"),
+    continueimg: __nested_webpack_require_14933__(/*! ./imgs/continueimg.data.png */ "./src/dialog/imgs/continueimg.data.png"),
+    continueimgdown: __nested_webpack_require_14933__(/*! ./imgs/continueimgdown.data.png */ "./src/dialog/imgs/continueimgdown.data.png"),
+    boxtl: __nested_webpack_require_14933__(/*! ./imgs/boxtl.data.png */ "./src/dialog/imgs/boxtl.data.png"),
+    boxtr: __nested_webpack_require_14933__(/*! ./imgs/boxtr.data.png */ "./src/dialog/imgs/boxtr.data.png")
+});
+var imgs_leg = (0, base_1.webpackImages)({
+    chatimg: __nested_webpack_require_14933__(/*! ./imgs/chatimg_leg.data.png */ "./src/dialog/imgs/chatimg_leg.data.png"),
+    chatimghover: __nested_webpack_require_14933__(/*! ./imgs/chatimghover_leg.data.png */ "./src/dialog/imgs/chatimghover_leg.data.png"),
+    chatimgactive: __nested_webpack_require_14933__(/*! ./imgs/chatimgactive_leg.data.png */ "./src/dialog/imgs/chatimgactive_leg.data.png"),
+    continueimg: __nested_webpack_require_14933__(/*! ./imgs/continueimg_leg.data.png */ "./src/dialog/imgs/continueimg_leg.data.png"),
+    continueimgdown: __nested_webpack_require_14933__(/*! ./imgs/continueimgdown_leg.data.png */ "./src/dialog/imgs/continueimgdown_leg.data.png"),
+    boxtl: __nested_webpack_require_14933__(/*! ./imgs/boxtl_leg.data.png */ "./src/dialog/imgs/boxtl_leg.data.png"),
+    boxtr: __nested_webpack_require_14933__(/*! ./imgs/boxtr_leg.data.png */ "./src/dialog/imgs/boxtr_leg.data.png")
+});
+var fontmono = __nested_webpack_require_14933__(/*! ../fonts/aa_8px_mono.fontmeta.json */ "./src/fonts/aa_8px_mono.fontmeta.json");
+var fontheavy = __nested_webpack_require_14933__(/*! ../fonts/aa_8px_mono_allcaps.fontmeta.json */ "./src/fonts/aa_8px_mono_allcaps.fontmeta.json");
+class DialogReader {
+    constructor() {
+        this.pos = null;
+    }
+    find(imgref) {
+        if (!imgref) {
+            imgref = a1lib.captureHoldFullRs();
+        }
+        if (!imgref) {
+            return null;
+        }
+        var boxes = [];
+        for (let imgs of [imgs_rs3, imgs_leg]) {
+            var pos = imgref.findSubimage(imgs.boxtl);
+            for (var a in pos) {
+                var p = pos[a];
+                if (imgref.findSubimage(imgs.boxtr, p.x + 492, p.y, 16, 16).length != 0) {
+                    boxes.push(Object.assign(Object.assign({}, p), { legacy: imgs == imgs_leg }));
+                }
+            }
+        }
+        if (boxes.length == 0) {
+            return false;
+        }
+        var box = boxes[0];
+        if (boxes.length > 1) {
+            console.log("More than one dialog box found");
+        }
+        this.pos = { x: box.x + 1, y: box.y + 1, width: 506, height: 130, legacy: box.legacy };
+        return this.pos;
+    }
+    ensureimg(imgref) {
+        if (!this.pos) {
+            return null;
+        }
+        if (imgref && a1lib.Rect.fromArgs(imgref).contains(this.pos)) {
+            return imgref;
+        }
+        return a1lib.captureHold(this.pos.x, this.pos.y, this.pos.width, this.pos.height);
+    }
+    read(imgref) {
+        imgref = this.ensureimg(imgref);
+        if (!imgref) {
+            return false;
+        }
+        let title = this.readTitle(imgref);
+        var r = {
+            text: null,
+            opts: null,
+            title
+        };
+        if (this.checkDialog(imgref)) {
+            r.text = this.readDialog(imgref, true);
+            return r;
+        }
+        else {
+            var opts = this.findOptions(imgref);
+            if (opts.length != 0) {
+                r.opts = this.readOptions(imgref, opts);
+                return r;
+            }
+            else {
+                return null;
+            }
+        }
+    }
+    readTitle(imgref) {
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        var buf = imgref.toData(this.pos.x, this.pos.y, this.pos.width, 32);
+        //somehow y coord can change, 19 for "choose and option:" 18 for npc names
+        var pos = OCR.findChar(buf, fontheavy, [255, 203, 5], Math.round(this.pos.width / 2) - 10, 16, 20, 4);
+        if (!pos) {
+            return "";
+        }
+        var read = OCR.readSmallCapsBackwards(buf, fontheavy, [[255, 203, 5]], Math.round(this.pos.width / 2) - 10, pos.y, 150, 1);
+        return read.text.toLowerCase(); //normalize case since we don't actually know the original
+    }
+    checkDialog(imgref) {
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        var locs = [];
+        let imgs = (this.pos.legacy ? imgs_leg : imgs_rs3);
+        locs = locs.concat(imgref.findSubimage(imgs.continueimg, this.pos.x - imgref.x, this.pos.y - imgref.y, this.pos.width, this.pos.height));
+        locs = locs.concat(imgref.findSubimage(imgs.continueimgdown, this.pos.x - imgref.x, this.pos.y - imgref.y, this.pos.width, this.pos.height));
+        return locs.length != 0;
+    }
+    readDialog(imgref, checked) {
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        imgref = this.ensureimg(imgref);
+        if (!imgref) {
+            return null;
+        }
+        if (!checked) {
+            checked = this.checkDialog(imgref);
+        }
+        if (!checked) {
+            return null;
+        }
+        var lines = [];
+        var buf = imgref.toData(this.pos.x, this.pos.y + 33, this.pos.width, 80);
+        for (var y = 0; y < buf.height; y++) {
+            var hastext = false;
+            for (var x = 200; x < 300; x++) {
+                var i = x * 4 + y * 4 * buf.width;
+                if (buf.data[i] + buf.data[i + 1] + buf.data[i + 2] < 50) {
+                    hastext = true;
+                    break;
+                }
+            }
+            if (hastext) {
+                var chr = null;
+                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 192, y + 5, 12, 3);
+                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 246, y + 5, 12, 3);
+                chr = chr || OCR.findChar(buf, fontmono, [0, 0, 0], 310, y + 5, 12, 3);
+                if (chr) {
+                    var read = OCR.readLine(buf, fontmono, [0, 0, 0], chr.x, chr.y, true, true);
+                    if (read.text.length >= 3) {
+                        lines.push(read.text);
+                    }
+                    y = chr.y + 5;
+                }
+            }
+        }
+        return lines;
+    }
+    findOptions(imgref) {
+        var locs = [];
+        if (!this.pos) {
+            throw new Error("position not found yet");
+        }
+        let imgs = (this.pos.legacy ? imgs_leg : imgs_rs3);
+        var a = imgref.findSubimage(imgs.chatimg);
+        for (var b in a) {
+            locs.push({ x: a[b].x, y: a[b].y, hover: false, active: false });
+        }
+        var a = imgref.findSubimage(imgs.chatimghover);
+        for (var b in a) {
+            locs.push({ x: a[b].x, y: a[b].y, hover: true, active: false });
+        }
+        var a = imgref.findSubimage(imgs.chatimgactive);
+        for (var b in a) {
+            locs.push({ x: a[b].x, y: a[b].y, hover: false, active: true });
+        }
+        return locs;
+    }
+    readOptions(imgref, locs) {
+        imgref = this.ensureimg(imgref);
+        if (!imgref) {
+            return null;
+        }
+        if (!this.pos) {
+            throw new Error("interface not found");
+        }
+        var buf = imgref.toData();
+        if (!locs) {
+            locs = this.findOptions(imgref);
+        }
+        var bgcol = [150, 135, 105];
+        var fontcol = this.pos.legacy ? [255, 255, 255] : [174, 208, 224];
+        var r = [];
+        for (var a = 0; a < locs.length; a++) {
+            var dx = locs[a].x + 30;
+            var dy = locs[a].y + 6;
+            var checkline = imgref.toData(dx, dy, Math.min(500, imgref.width - a), 1);
+            var row = null;
+            for (var x = 0; x < checkline.width; x++) {
+                var i = x * 4;
+                if (row) {
+                    if (coldiff(checkline.data[i], checkline.data[i + 1], checkline.data[i + 2], bgcol[0], bgcol[1], bgcol[2]) < 75) {
+                        row.width = x + 20;
+                        break;
+                    }
+                }
+                else if (coldiff(checkline.data[i], checkline.data[i + 1], checkline.data[i + 2], fontcol[0], fontcol[1], fontcol[2]) < 100) {
+                    var text = "";
+                    var chr = OCR.findChar(buf, fontmono, fontcol, dx + x + 2 - imgref.x, dy + 3 - imgref.y, 30, 1);
+                    if (chr) {
+                        var read = OCR.readLine(buf, fontmono, fontcol, chr.x, chr.y, true, true);
+                        var text = read.text;
+                    }
+                    row = { text: text, x: dx + x, y: dy, width: 200, buttonx: dx - 31, hover: !!locs[a].hover, active: locs[a].active };
+                }
+            }
+            if (row) {
+                r.push(row);
+            }
+        }
+        r.sort((a, b) => a.y - b.y);
+        return r;
+    }
+}
+exports["default"] = DialogReader;
+//TODO get rid of this or make it standard
+function coldiff(r1, g1, b1, r2, g2, b2) {
+    return Math.abs(r1 - r2) + Math.abs(g1 - g2) + Math.abs(b1 - b2);
+}
+
+
+/***/ }),
+
+/***/ "alt1/base":
+/*!**************************************************************************************************!*\
+  !*** external {"root":"A1lib","commonjs2":"alt1/base","commonjs":"alt1/base","amd":"alt1/base"} ***!
+  \**************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = __WEBPACK_EXTERNAL_MODULE_alt1_base__;
+
+/***/ }),
+
+/***/ "alt1/ocr":
+/*!*********************************************************************************************!*\
+  !*** external {"root":"OCR","commonjs2":"alt1/ocr","commonjs":"alt1/ocr","amd":"alt1/ocr"} ***!
+  \*********************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = __WEBPACK_EXTERNAL_MODULE_alt1_ocr__;
+
+/***/ }),
+
+/***/ "./src/fonts/aa_8px_mono.fontmeta.json":
+/*!*********************************************!*\
+  !*** ./src/fonts/aa_8px_mono.fontmeta.json ***!
+  \*********************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = JSON.parse('{"chars":[{"width":7,"bonus":75,"chr":"a","pixels":[0,7,187,1,3,221,1,6,170,1,8,255,2,3,255,2,5,187,2,8,255,3,3,255,3,5,255,3,8,221,4,4,238,4,5,255,4,6,204,4,7,255,4,8,238],"secondary":false},{"width":7,"bonus":105,"chr":"b","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,204,1,4,170,1,7,170,1,8,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,170,4,4,170,4,7,170,5,5,187,5,6,187],"secondary":false},{"width":7,"bonus":50,"chr":"c","pixels":[0,5,170,0,6,187,1,4,187,1,7,187,2,3,255,2,8,255,3,3,255,3,8,255,4,3,221,4,8,221],"secondary":false},{"width":7,"bonus":105,"chr":"d","pixels":[0,5,187,0,6,187,1,4,170,1,7,170,1,8,170,2,3,255,2,8,255,3,3,255,3,8,255,4,3,204,4,4,170,4,7,170,4,8,187,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,221,5,7,221,5,8,204],"secondary":false},{"width":7,"bonus":75,"chr":"e","pixels":[0,5,187,0,6,170,1,4,187,1,5,255,1,7,204,2,3,255,2,5,255,2,8,255,3,3,255,3,5,255,3,8,255,4,3,187,4,5,255,4,8,221,5,5,204],"secondary":false},{"width":4,"bonus":50,"chr":"f","pixels":[0,3,204,1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204,2,1,255,2,3,255],"secondary":false},{"width":7,"bonus":115,"chr":"g","pixels":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,170,1,11,153,2,3,255,2,8,255,2,11,238,3,3,255,3,8,255,3,11,221,4,3,221,4,7,153,4,8,221,4,10,204,5,3,204,5,4,221,5,5,221,5,6,221,5,7,221,5,8,221,5,9,170],"secondary":false},{"width":7,"bonus":90,"chr":"h","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,170,1,4,204,2,3,255,3,3,255,4,3,170,4,4,221,4,5,221,4,6,221,4,7,221,4,8,204],"secondary":false},{"width":3,"bonus":35,"chr":"i","pixels":[0,1,238,0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204],"secondary":false},{"width":4,"bonus":50,"chr":"j","pixels":[0,11,153,1,11,170,2,1,204,2,3,204,2,4,221,2,5,221,2,6,221,2,7,221,2,8,221,2,9,221],"secondary":false},{"width":6,"bonus":70,"chr":"k","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,4,153,2,5,255,2,6,221,3,3,204,3,7,221],"secondary":false},{"width":3,"bonus":40,"chr":"l","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,1,8,255],"secondary":false},{"width":10,"bonus":115,"chr":"m","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,153,4,4,255,4,5,221,4,6,221,4,7,221,4,8,204,5,4,187,6,3,255,7,3,238,8,4,170,8,5,221,8,6,221,8,7,221,8,8,204],"secondary":false},{"width":7,"bonus":75,"chr":"n","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,221,2,3,238,3,3,255,4,3,238,5,4,170,5,5,221,5,6,221,5,7,221,5,8,204],"secondary":false},{"width":8,"bonus":70,"chr":"o","pixels":[0,5,187,0,6,170,1,4,204,1,7,221,2,3,238,2,8,238,3,3,255,3,8,255,4,3,238,4,8,255,5,4,204,5,7,221,6,5,170,6,6,170],"secondary":false},{"width":6,"bonus":90,"chr":"p","pixels":[0,3,238,0,4,255,0,5,187,0,6,204,0,7,255,0,8,221,0,9,221,0,10,221,1,3,255,1,8,238,2,3,255,2,8,255,3,3,238,3,8,238,4,4,238,4,5,255,4,6,255,4,7,238],"secondary":false},{"width":7,"bonus":90,"chr":"q","pixels":[0,5,187,0,6,187,1,3,170,1,4,153,1,7,153,1,8,170,2,3,255,2,8,255,3,3,238,3,8,238,4,3,255,4,4,255,4,5,187,4,6,187,4,7,255,4,8,238,4,9,221,4,10,221],"secondary":false},{"width":4,"bonus":45,"chr":"r","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,3,187,1,4,204,2,3,255],"secondary":false},{"width":6,"bonus":50,"chr":"s","pixels":[0,4,187,1,3,255,1,5,238,1,8,255,2,3,255,2,8,255,3,3,255,3,6,238,3,8,255,4,7,187],"secondary":false},{"width":5,"bonus":45,"chr":"t","pixels":[1,2,221,1,3,255,1,4,221,1,5,221,1,6,221,1,7,170,2,3,255,2,8,238,3,8,153],"secondary":false},{"width":6,"bonus":70,"chr":"u","pixels":[0,3,204,0,4,221,0,5,221,0,6,221,0,7,170,1,8,238,2,8,255,3,8,204,4,3,204,4,4,221,4,5,221,4,6,204,4,7,255,4,8,221],"secondary":false},{"width":6,"bonus":50,"chr":"v","pixels":[0,3,238,1,5,238,1,6,204,2,7,255,2,8,255,3,5,153,3,6,255,3,7,153,4,3,238,4,4,204],"secondary":false},{"width":10,"bonus":95,"chr":"w","pixels":[1,3,153,1,4,238,1,5,187,2,6,153,2,7,238,2,8,187,3,6,204,3,7,238,3,8,153,4,3,170,4,4,255,5,4,221,5,5,221,6,7,255,6,8,221,7,6,238,7,7,204,8,3,238,8,4,204],"secondary":false},{"width":6,"bonus":55,"chr":"x","pixels":[0,8,170,1,3,170,1,4,204,1,7,221,2,5,255,2,6,238,3,4,255,3,6,187,3,7,187,4,3,221,4,8,255],"secondary":false},{"width":6,"bonus":65,"chr":"y","pixels":[0,3,255,0,4,153,0,11,221,1,5,204,1,6,221,1,11,187,2,7,187,2,8,255,2,9,238,3,6,238,3,7,187,4,3,204,4,4,221],"secondary":false},{"width":6,"bonus":70,"chr":"z","pixels":[0,3,153,0,8,204,1,3,255,1,7,221,1,8,255,2,3,255,2,6,255,2,8,255,3,3,255,3,4,170,3,5,170,3,8,255,4,3,255,4,8,255],"secondary":false},{"width":8,"bonus":85,"chr":"A","pixels":[0,8,153,1,6,221,1,7,238,2,3,170,2,4,255,2,5,187,2,6,255,3,1,255,3,2,255,3,6,255,4,2,255,4,3,238,4,6,255,5,5,255,5,6,255,6,7,187,6,8,255],"secondary":false},{"width":7,"bonus":125,"chr":"B","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,4,255,1,8,255,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,1,221,4,4,255,4,5,170,4,8,204,5,2,170,5,3,170,5,6,187,5,7,153],"secondary":false},{"width":9,"bonus":80,"chr":"C","pixels":[0,4,187,0,5,187,1,2,221,1,3,153,1,6,153,1,7,204,2,1,170,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,170,6,8,170],"secondary":false},{"width":8,"bonus":100,"chr":"D","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,8,255,2,1,255,2,8,255,3,1,255,3,8,255,4,1,204,4,8,204,5,2,221,5,7,221,6,4,187,6,5,187],"secondary":false},{"width":6,"bonus":95,"chr":"E","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,1,8,255,2,1,255,2,5,255,2,8,255,3,1,255,3,5,255,3,8,255,4,1,153,4,8,221],"secondary":false},{"width":6,"bonus":70,"chr":"F","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255],"secondary":false},{"width":9,"bonus":105,"chr":"G","pixels":[0,4,170,0,5,187,1,2,204,1,3,153,1,7,221,2,1,170,2,8,187,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,238,6,1,170,6,5,255,6,7,153,6,8,170,7,5,153,7,6,221,7,7,221,7,8,204],"secondary":false},{"width":8,"bonus":105,"chr":"H","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,5,255,2,5,255,3,5,255,4,5,255,5,5,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],"secondary":false},{"width":4,"bonus":60,"chr":"I","pixels":[0,1,192,0,8,191,1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,2,1,192,2,8,191],"secondary":false},{"width":6,"bonus":70,"chr":"J","pixels":[0,6,153,0,7,153,1,8,204,2,1,221,2,8,255,3,1,255,3,8,204,4,1,204,4,2,221,4,3,221,4,4,221,4,5,221,4,6,221,4,7,153],"secondary":false},{"width":7,"bonus":85,"chr":"K","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,4,255,2,4,255,3,3,221,3,5,170,3,6,204,4,1,204,4,2,153,4,7,238,4,8,153],"secondary":false},{"width":6,"bonus":60,"chr":"L","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,8,255,2,8,255,3,8,255,4,8,255],"secondary":false},{"width":9,"bonus":130,"chr":"M","pixels":[0,1,245,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,1,2,170,1,3,225,2,4,207,2,5,190,3,6,232,4,6,232,5,4,207,5,5,190,6,2,170,6,3,224,7,1,245,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255],"secondary":false},{"width":8,"bonus":110,"chr":"N","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,2,255,2,3,221,3,4,187,3,5,187,4,6,221,5,7,255,6,1,204,6,2,221,6,3,221,6,4,221,6,5,221,6,6,221,6,7,221,6,8,204],"secondary":false},{"width":10,"bonus":110,"chr":"O","pixels":[0,4,187,0,5,170,1,2,204,1,3,153,1,6,170,1,7,204,2,1,153,2,8,153,3,1,255,3,8,255,4,1,255,4,8,255,5,1,255,5,8,255,6,1,153,6,8,153,7,2,204,7,3,153,7,6,170,7,7,204,8,4,187,8,5,170],"secondary":false},{"width":7,"bonus":85,"chr":"P","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,4,1,187,4,5,187,5,3,221],"secondary":false},{"width":9,"bonus":100,"chr":"Q","pixels":[0,4,187,0,5,187,1,2,221,1,6,153,1,7,221,2,1,187,2,8,170,3,1,255,3,8,255,4,1,255,4,8,255,5,1,238,5,8,238,6,2,204,6,7,255,7,3,255,7,4,204,7,5,221,7,6,255,7,8,204],"secondary":false},{"width":7,"bonus":100,"chr":"R","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,1,255,1,5,255,2,1,255,2,5,255,3,1,255,3,5,255,3,6,187,4,2,238,4,3,204,4,4,255,4,7,238,4,8,170],"secondary":false},{"width":6,"bonus":70,"chr":"S","pixels":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,1,255,2,4,170,2,8,255,3,1,255,3,5,255,3,8,255,4,1,170,4,6,221,4,7,238],"secondary":false},{"width":8,"bonus":65,"chr":"T","pixels":[0,1,255,1,1,255,2,1,255,3,1,255,3,2,221,3,3,221,3,4,221,3,5,221,3,6,221,3,7,221,3,8,204,4,1,255,5,1,255],"secondary":false},{"width":8,"bonus":85,"chr":"U","pixels":[0,1,204,0,2,221,0,3,221,0,4,221,0,5,221,0,6,187,1,7,170,2,8,255,3,8,255,4,8,221,5,1,204,5,2,221,5,3,221,5,4,221,5,5,221,5,6,255,5,7,238],"secondary":false},{"width":7,"bonus":70,"chr":"V","pixels":[0,1,255,0,2,187,1,3,153,1,4,255,1,5,153,2,6,187,2,7,238,3,7,255,3,8,204,4,4,204,4,5,238,5,1,170,5,2,255,5,3,153],"secondary":false},{"width":10,"bonus":125,"chr":"W","pixels":[0,1,255,0,2,221,1,4,187,1,5,255,1,6,204,2,7,255,2,8,255,3,3,153,3,4,238,3,5,221,4,1,255,4,2,255,4,3,153,5,3,170,5,4,238,5,5,204,6,7,255,6,8,255,7,4,153,7,5,238,7,6,238,7,7,153,8,1,238,8,2,238,8,3,153],"secondary":false},{"width":7,"bonus":75,"chr":"X","pixels":[0,8,170,1,1,187,1,2,204,1,7,238,2,3,221,2,4,153,2,5,255,2,6,153,3,4,255,3,5,238,4,2,238,4,6,204,4,7,170,5,1,204,5,8,255],"secondary":false},{"width":7,"bonus":55,"chr":"Y","pixels":[0,1,170,1,2,238,2,3,153,2,4,255,3,4,221,3,5,204,3,6,221,3,7,221,3,8,204,4,3,255,5,1,238],"secondary":false},{"width":7,"bonus":75,"chr":"Z","pixels":[0,8,187,1,1,255,1,7,221,1,8,255,2,1,255,2,5,204,2,8,255,3,1,255,3,4,204,3,8,255,4,1,255,4,2,221,4,8,255,5,1,187,5,8,153],"secondary":false},{"width":7,"bonus":90,"chr":"0","pixels":[0,2,153,0,3,221,0,4,255,0,5,255,0,6,238,0,7,170,1,1,187,1,8,204,2,1,187,2,8,187,3,1,221,3,8,204,4,2,170,4,3,255,4,4,187,4,5,187,4,6,238,4,7,170],"secondary":false},{"width":7,"bonus":50,"chr":"1","pixels":[1,8,187,2,1,204,2,2,204,2,3,187,2,4,187,2,5,187,2,6,187,2,7,187,2,8,238,3,8,204],"secondary":false},{"width":7,"bonus":55,"chr":"2","pixels":[1,8,255,2,1,187,2,6,153,2,8,187,3,1,204,3,5,153,3,8,187,4,1,187,4,2,153,4,4,204,4,8,187],"secondary":false},{"width":7,"bonus":50,"chr":"3","pixels":[0,8,204,1,1,187,1,8,187,2,1,187,2,4,187,2,8,204,3,2,221,3,3,204,3,5,204,3,7,170],"secondary":false},{"width":7,"bonus":80,"chr":"4","pixels":[0,6,238,1,4,187,1,6,187,2,3,170,2,6,187,3,1,187,3,2,153,3,6,204,4,1,187,4,2,187,4,3,187,4,4,187,4,5,187,4,6,238,4,7,187,4,8,187],"secondary":false},{"width":7,"bonus":70,"chr":"5","pixels":[1,1,238,1,2,187,1,3,187,1,4,187,1,8,204,2,1,187,2,4,187,2,8,187,3,1,187,3,4,204,3,8,204,4,5,238,4,6,187,4,7,221],"secondary":false},{"width":7,"bonus":80,"chr":"6","pixels":[0,3,170,0,4,255,0,5,255,0,6,238,0,7,153,1,2,187,1,8,187,2,1,204,2,4,187,2,8,187,3,1,187,3,4,204,3,8,187,4,5,221,4,6,255,4,7,187],"secondary":false},{"width":7,"bonus":55,"chr":"7","pixels":[0,1,187,1,1,187,1,8,204,2,1,187,2,6,238,2,7,153,3,1,187,3,3,153,3,4,221,4,1,255,4,2,187],"secondary":false},{"width":7,"bonus":95,"chr":"8","pixels":[1,2,238,1,3,221,1,6,204,1,7,221,2,1,204,2,4,204,2,5,170,2,8,221,3,1,187,3,4,170,3,8,187,4,1,221,4,4,170,4,5,204,4,8,187,5,2,170,5,3,153,5,6,238,5,7,238],"secondary":false},{"width":7,"bonus":85,"chr":"9","pixels":[1,2,221,1,3,187,1,4,238,1,8,153,2,1,204,2,5,221,2,8,187,3,1,187,3,5,187,3,8,204,4,1,187,4,7,170,5,2,153,5,3,238,5,4,255,5,5,255,5,6,187],"secondary":false},{"width":8,"bonus":75,"chr":"%","pixels":[0,3,255,0,8,255,1,2,255,1,4,255,1,7,255,2,3,255,2,6,255,3,5,255,4,4,255,4,7,255,5,3,255,5,6,255,5,8,255,6,2,255,6,7,255],"secondary":false},{"width":4,"bonus":40,"chr":"/","pixels":[0,7,153,0,8,238,0,9,221,1,4,187,1,5,238,1,6,170,2,1,221,2,2,221],"secondary":false},{"width":7,"bonus":60,"chr":"+","pixels":[0,5,221,1,5,255,2,5,255,3,2,153,3,3,221,3,4,221,3,5,255,3,6,221,3,7,221,3,8,204,4,5,255,5,5,255],"secondary":false},{"width":5,"bonus":40,"chr":"?","pixels":[0,1,170,1,1,255,1,6,221,1,8,255,2,1,255,2,5,170,3,2,255,3,3,221],"secondary":false},{"width":2,"bonus":35,"chr":"!","pixels":[0,1,170,0,2,187,0,3,187,0,4,187,0,5,187,0,6,170,0,8,255],"secondary":false},{"width":8,"bonus":130,"chr":"@","pixels":[0,4,255,0,5,255,0,6,221,0,7,255,0,8,187,1,3,221,1,9,238,2,2,221,2,5,255,2,6,238,2,7,255,2,10,153,3,2,255,3,4,255,3,8,204,3,10,187,4,2,238,4,4,255,4,8,255,5,3,238,5,4,255,5,5,221,5,6,221,5,7,221,5,8,238,6,8,221],"secondary":false},{"width":8,"bonus":120,"chr":"#","pixels":[0,6,255,1,3,255,1,6,255,1,7,170,1,8,238,2,1,170,2,2,238,2,3,255,2,4,221,2,5,170,2,6,255,3,3,255,3,6,255,4,3,255,4,4,153,4,5,204,4,6,255,4,7,238,4,8,187,5,1,255,5,2,187,5,3,255,5,6,255,6,3,255],"secondary":false},{"width":6,"bonus":70,"chr":"$","pixels":[0,2,153,0,3,170,1,1,204,1,4,221,1,8,238,2,0,204,2,1,238,2,8,238,2,9,204,3,1,238,3,5,238,3,8,255,4,6,170,4,7,170],"secondary":false},{"width":6,"bonus":40,"chr":"^","pixels":[0,4,153,0,5,238,1,2,204,1,3,221,2,1,221,2,2,221,3,3,187,3,4,221],"secondary":false},{"width":6,"bonus":20,"chr":"~","pixels":[1,5,255,2,5,221,3,6,221,4,5,204],"secondary":false},{"width":7,"bonus":95,"chr":"&","pixels":[0,6,187,1,2,238,1,3,255,1,4,187,1,5,187,1,8,187,2,1,255,2,4,255,2,8,255,3,1,255,3,4,255,3,8,255,4,4,255,4,8,187,5,3,204,5,4,255,5,5,221,5,6,187,6,4,153],"secondary":false},{"width":6,"bonus":45,"chr":"*","pixels":[0,2,170,1,2,170,1,3,204,1,4,255,2,1,204,2,2,238,2,3,255,3,2,170,3,4,153],"secondary":false},{"width":4,"bonus":55,"chr":"(","pixels":[0,3,173,0,4,239,0,5,253,0,6,230,0,7,171,1,1,194,1,2,204,1,8,204,1,9,191,2,0,210,2,10,216],"secondary":false},{"width":4,"bonus":55,"chr":")","pixels":[1,0,211,1,10,216,2,1,194,2,2,203,2,8,203,2,9,191,3,3,174,3,4,240,3,5,253,3,6,229,3,7,171],"secondary":false},{"width":7,"bonus":30,"chr":"_","pixels":[0,9,153,1,9,255,2,9,255,3,9,255,4,9,255,5,9,255],"secondary":false},{"width":4,"bonus":15,"chr":"-","pixels":[0,5,255,1,5,255,2,5,255],"secondary":true},{"width":8,"bonus":50,"chr":"=","pixels":[0,4,255,0,6,255,1,4,255,1,6,255,2,4,255,2,6,255,3,4,255,3,6,255,4,4,255,4,6,255],"secondary":false},{"width":3,"bonus":55,"chr":"[","pixels":[0,0,204,0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,204,1,0,238,1,8,238],"secondary":false},{"width":3,"bonus":55,"chr":"]","pixels":[0,0,238,0,8,238,1,0,204,1,1,221,1,2,221,1,3,221,1,4,221,1,5,221,1,6,221,1,7,221,1,8,204],"secondary":false},{"width":5,"bonus":50,"chr":"{","pixels":[0,5,153,1,2,170,1,3,221,1,4,221,1,5,204,1,6,255,1,7,221,1,8,170,2,1,238,2,9,238],"secondary":false},{"width":5,"bonus":50,"chr":"}","pixels":[1,1,238,1,9,238,2,2,170,2,3,221,2,4,221,2,5,204,2,6,255,2,7,221,2,8,170,3,5,153],"secondary":false},{"width":3,"bonus":10,"chr":":","pixels":[1,3,255,1,7,255],"secondary":true},{"width":3,"bonus":20,"chr":";","pixels":[0,9,201,1,3,255,1,7,241,1,8,255],"secondary":true},{"width":3,"bonus":20,"chr":"\\"","pixels":[0,1,255,0,2,255,2,1,255,2,2,255],"secondary":true},{"width":2,"bonus":10,"chr":"\'","pixels":[0,1,255,0,2,177],"secondary":true},{"width":7,"bonus":40,"chr":"<","pixels":[0,5,204,1,5,255,2,4,238,2,6,238,3,4,170,3,6,170,4,3,221,4,7,221],"secondary":false},{"width":7,"bonus":45,"chr":">","pixels":[0,3,204,0,7,204,1,7,187,2,4,238,2,6,255,3,4,170,3,5,153,3,6,204,4,5,255],"secondary":false},{"width":5,"bonus":35,"chr":"\\\\","pixels":[1,1,153,1,2,255,1,3,204,2,5,255,2,6,204,3,8,255,3,9,204],"secondary":false},{"width":2,"bonus":5,"chr":".","pixels":[0,8,255],"secondary":true},{"width":3,"bonus":15,"chr":",","pixels":[0,9,205,1,7,205,1,8,255],"secondary":true},{"width":3,"bonus":50,"chr":"|","pixels":[0,1,221,0,2,221,0,3,221,0,4,221,0,5,221,0,6,221,0,7,221,0,8,221,0,9,221,0,10,204],"secondary":false}],"width":10,"spacewidth":3,"shadow":false,"height":12,"basey":8}');
+
+/***/ }),
+
+/***/ "./src/fonts/aa_8px_mono_allcaps.fontmeta.json":
+/*!*****************************************************!*\
+  !*** ./src/fonts/aa_8px_mono_allcaps.fontmeta.json ***!
+  \*****************************************************/
+/***/ ((module) => {
+
+"use strict";
+module.exports = JSON.parse('{"chars":[{"width":3,"bonus":35,"chr":"!","pixels":[0,2,170,1,1,221,1,2,255,1,3,221,1,4,187,1,5,170,1,9,204],"secondary":false},{"width":6,"bonus":20,"chr":"\\"","pixels":[1,2,221,1,3,255,3,2,221,3,3,255],"secondary":true},{"width":8,"bonus":125,"chr":"#","pixels":[0,7,187,1,4,255,1,7,255,1,10,170,2,3,170,2,4,255,2,5,255,2,6,221,2,7,255,2,8,170,3,4,255,3,7,255,4,4,255,4,5,153,4,7,255,4,8,238,4,9,255,4,10,204,5,2,238,5,3,204,5,4,255,5,5,153,5,7,255,6,4,255,6,7,153],"secondary":false},{"width":7,"bonus":115,"chr":"$","pixels":[0,8,187,1,2,255,1,3,255,1,4,221,1,9,238,2,1,187,2,4,255,2,5,204,2,8,170,2,9,255,2,10,221,3,0,187,3,1,238,3,2,187,3,3,170,3,4,153,3,5,255,3,6,221,3,9,221,4,1,221,4,6,255,4,7,255,4,8,255],"secondary":false},{"width":12,"bonus":135,"chr":"%","pixels":[1,2,255,1,3,255,1,4,221,2,5,153,3,1,153,3,9,187,4,1,170,4,2,255,4,3,255,4,4,221,4,7,238,4,8,204,5,4,153,5,5,238,5,6,153,6,1,153,6,2,187,6,3,204,6,6,221,6,7,255,6,8,255,7,1,153,7,9,187,8,9,187,9,6,221,9,7,255,9,8,255],"secondary":false},{"width":11,"bonus":190,"chr":"&","pixels":[0,6,187,0,7,255,0,8,170,1,2,204,1,3,255,1,4,153,1,5,238,1,6,170,1,7,187,1,8,255,1,9,153,2,1,170,2,2,153,2,3,153,2,4,255,2,5,187,2,9,238,3,1,221,3,5,238,3,6,170,3,9,255,4,1,238,4,6,238,4,7,153,4,9,204,5,1,187,5,2,187,5,7,255,5,8,204,6,7,170,6,8,255,7,5,238,7,6,255,7,7,170,7,8,170,7,9,221,8,9,238,9,9,153],"secondary":false},{"width":4,"bonus":10,"chr":"\'","pixels":[1,2,204,1,3,255],"secondary":true},{"width":4,"bonus":50,"chr":"(","pixels":[0,3,170,0,4,238,0,5,255,0,6,221,0,7,153,1,1,153,1,2,221,1,3,153,1,7,170,1,8,238],"secondary":false},{"width":4,"bonus":40,"chr":")","pixels":[1,1,170,1,2,221,1,7,170,1,8,238,2,3,187,2,4,238,2,5,255,2,6,204],"secondary":false},{"width":5,"bonus":25,"chr":"*","pixels":[1,1,170,1,2,221,1,3,153,2,2,255,2,3,204],"secondary":false},{"width":8,"bonus":45,"chr":"+","pixels":[1,6,255,2,6,255,3,4,255,3,5,255,3,6,255,3,7,255,3,8,255,4,6,255,5,6,255],"secondary":false},{"width":3,"bonus":10,"chr":",","pixels":[1,8,187,1,9,221],"secondary":true},{"width":5,"bonus":20,"chr":"-","pixels":[0,7,204,1,7,255,2,7,238,3,7,187],"secondary":true},{"width":3,"bonus":5,"chr":".","pixels":[0,9,204],"secondary":true},{"width":7,"bonus":40,"chr":"/","pixels":[0,9,221,1,7,187,1,8,187,2,6,221,3,4,221,4,2,170,4,3,187,5,1,187],"secondary":false},{"width":8,"bonus":105,"chr":"0","pixels":[0,6,153,1,3,221,1,4,255,1,5,255,1,6,255,1,7,255,1,8,238,2,2,187,2,8,153,2,9,204,3,2,187,3,9,204,4,2,221,4,9,187,5,3,238,5,4,255,5,5,255,5,6,255,5,7,255,5,8,221,6,5,153],"secondary":false},{"width":6,"bonus":85,"chr":"1","pixels":[1,3,170,1,9,153,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,3,2,153,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221],"secondary":false},{"width":8,"bonus":100,"chr":"2","pixels":[1,2,187,1,3,153,1,9,255,2,2,187,2,8,221,2,9,255,3,2,221,3,7,221,3,9,255,4,2,187,4,3,238,4,4,187,4,5,238,4,6,238,4,9,255,5,3,221,5,4,255,5,5,170,5,8,153,5,9,238],"secondary":false},{"width":7,"bonus":100,"chr":"3","pixels":[0,2,170,0,8,170,0,9,204,1,2,221,1,9,238,2,2,238,2,5,221,2,9,221,3,2,221,3,3,187,3,4,204,3,5,255,3,6,153,3,9,187,4,3,238,4,4,153,4,6,255,4,7,255,4,8,255,5,7,153],"secondary":false},{"width":8,"bonus":85,"chr":"4","pixels":[0,7,153,1,6,187,1,7,255,2,5,187,2,7,255,3,4,187,3,7,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,7,255,5,9,204,6,7,221],"secondary":false},{"width":7,"bonus":95,"chr":"5","pixels":[0,8,153,0,9,221,1,2,255,1,3,187,1,4,238,1,9,221,2,2,255,2,4,187,2,5,170,2,9,204,3,2,255,3,5,255,3,9,170,4,2,255,4,5,204,4,6,255,4,7,255,4,8,238,5,7,153],"secondary":false},{"width":8,"bonus":105,"chr":"6","pixels":[0,7,153,1,4,153,1,5,255,1,6,255,1,7,255,1,8,255,2,4,204,2,9,221,3,3,170,3,5,153,3,9,204,4,2,153,4,5,187,4,9,204,5,6,238,5,7,170,5,8,187,5,9,153,6,6,187,6,7,255,6,8,170],"secondary":false},{"width":7,"bonus":75,"chr":"7","pixels":[0,2,204,0,3,187,1,2,255,1,9,187,2,2,255,2,7,238,2,8,255,2,9,170,3,2,255,3,5,221,3,6,204,4,2,255,4,3,204,4,4,170,5,2,204],"secondary":false},{"width":8,"bonus":120,"chr":"8","pixels":[1,3,221,1,4,204,1,6,187,1,7,255,1,8,255,2,2,187,2,4,204,2,5,221,2,6,153,2,9,221,3,2,153,3,5,255,3,9,187,4,2,187,4,5,238,4,6,204,4,9,204,5,2,170,5,3,255,5,4,238,5,6,238,5,7,255,5,8,255,6,7,153],"secondary":false},{"width":8,"bonus":95,"chr":"9","pixels":[0,4,153,1,3,255,1,4,255,1,5,255,2,2,187,2,6,153,3,2,204,3,6,153,3,9,153,4,2,221,4,7,153,4,8,204,5,3,255,5,4,255,5,5,255,5,6,255,5,7,187,6,4,153,6,5,153],"secondary":false},{"width":3,"bonus":10,"chr":":","pixels":[0,3,204,0,7,204],"secondary":true},{"width":3,"bonus":20,"chr":";","pixels":[0,2,204,0,6,153,0,7,187,0,8,153],"secondary":true},{"width":7,"bonus":55,"chr":"<","pixels":[0,6,187,0,7,153,1,6,221,1,7,238,2,5,153,3,5,238,3,8,238,4,5,153,4,8,187,5,4,187,5,9,153],"secondary":false},{"width":7,"bonus":60,"chr":"=","pixels":[0,5,255,0,8,255,1,5,255,1,8,255,2,5,255,2,8,255,3,5,255,3,8,255,4,5,255,4,8,255,5,5,221,5,8,221],"secondary":false},{"width":7,"bonus":50,"chr":">","pixels":[0,4,204,0,9,170,1,5,170,1,8,187,2,5,238,2,8,221,3,7,153,4,6,238,4,7,238,5,6,153],"secondary":false},{"width":6,"bonus":65,"chr":"?","pixels":[0,2,153,0,3,187,1,2,221,1,7,221,2,2,238,2,6,238,2,10,204,3,2,204,3,3,221,3,4,204,3,5,255,4,3,238,4,4,221],"secondary":false},{"width":11,"bonus":180,"chr":"@","pixels":[0,4,187,0,5,255,0,6,255,0,7,238,1,3,170,1,8,204,2,5,187,2,6,238,2,7,187,2,9,204,3,4,204,3,5,153,3,6,153,3,7,204,3,9,204,4,3,153,4,6,153,4,9,187,5,0,153,5,3,221,5,4,170,5,5,238,5,6,255,5,7,187,5,9,170,6,3,221,6,4,153,6,7,238,7,1,153,7,7,170,8,1,170,8,2,153,8,6,170,9,3,187,9,4,221,9,5,170],"secondary":false},{"width":9,"bonus":110,"chr":"A","pixels":[1,9,238,2,6,153,2,7,255,2,8,170,2,9,170,3,4,187,3,5,238,3,7,221,4,2,187,4,3,255,4,4,238,4,7,221,5,4,221,5,5,255,5,6,238,5,7,238,6,6,187,6,7,255,6,8,255,6,9,187,7,8,170,7,9,255],"secondary":false},{"width":7,"bonus":150,"chr":"B","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,255,3,2,221,3,5,221,3,9,204,4,2,187,4,3,255,4,4,255,4,5,170,4,6,255,4,7,170,4,8,187,4,9,187,5,6,153,5,7,255,5,8,204],"secondary":false},{"width":8,"bonus":120,"chr":"C","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,3,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,221,5,2,221,5,9,221,6,2,187,6,3,187,6,8,153,6,9,170],"secondary":false},{"width":10,"bonus":165,"chr":"D","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,9,221,4,2,238,4,9,221,5,2,221,5,9,204,6,2,153,6,3,238,6,8,187,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,8,5,187,8,6,170],"secondary":false},{"width":7,"bonus":110,"chr":"E","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,170,2,9,239,3,2,214,3,5,221,3,9,212,4,2,212,4,5,226,4,9,238],"secondary":false},{"width":7,"bonus":100,"chr":"F","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,2,221,3,5,221,4,2,238,4,5,238],"secondary":false},{"width":9,"bonus":135,"chr":"G","pixels":[0,4,170,0,5,238,0,6,255,0,7,187,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,238,5,2,238,5,9,221,6,2,204,6,6,255,6,7,255,6,8,255,6,9,204,7,6,204,7,7,153,7,8,153],"secondary":false},{"width":10,"bonus":175,"chr":"H","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,5,221,4,5,221,5,5,221,6,2,204,6,3,153,6,4,153,6,5,238,6,6,153,6,7,153,6,8,153,6,9,221,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255],"secondary":false},{"width":5,"bonus":80,"chr":"I","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,153,2,9,221],"secondary":false},{"width":6,"bonus":90,"chr":"J","pixels":[2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,187,3,2,204,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,153],"secondary":false},{"width":10,"bonus":140,"chr":"K","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,187,2,7,153,2,8,153,2,9,204,3,5,238,3,6,238,4,6,170,4,7,255,5,2,238,5,3,153,5,7,170,5,8,255,6,2,204,6,8,170,6,9,238,7,9,204],"secondary":false},{"width":7,"bonus":95,"chr":"L","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,9,221,4,9,221,5,9,204],"secondary":false},{"width":12,"bonus":150,"chr":"M","pixels":[1,6,170,1,7,221,1,8,255,1,9,255,2,2,170,2,3,255,2,4,255,2,5,221,3,4,204,3,5,255,3,6,238,4,6,204,4,7,255,4,8,221,5,7,187,5,8,255,6,6,221,7,4,238,7,5,204,8,2,187,8,3,255,8,4,255,8,5,255,8,6,255,8,7,238,8,8,204,8,9,187,9,7,170,9,8,204,9,9,255],"secondary":false},{"width":10,"bonus":130,"chr":"N","pixels":[1,2,204,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,3,221,2,4,238,3,4,221,3,5,238,4,5,238,4,6,238,5,6,238,5,7,238,6,7,238,6,8,238,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,204],"secondary":false},{"width":10,"bonus":155,"chr":"O","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,170,2,8,204,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,238,6,8,170,7,3,238,7,4,255,7,5,255,7,6,255,7,7,255,7,8,187,8,4,153,8,5,221,8,6,204],"secondary":false},{"width":8,"bonus":130,"chr":"P","pixels":[1,1,255,1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,1,238,2,2,153,2,3,153,2,4,153,2,5,170,2,6,153,2,7,153,2,8,153,2,9,221,3,1,204,4,1,238,4,5,187,5,1,153,5,2,255,5,3,255,5,4,255,6,3,153],"secondary":false},{"width":10,"bonus":180,"chr":"Q","pixels":[0,4,153,0,5,238,0,6,238,0,7,170,1,3,221,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,8,221,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,221,6,8,153,6,9,238,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,7,9,187,7,10,153,8,4,153,8,5,204,8,6,204,8,10,255,9,10,204],"secondary":false},{"width":7,"bonus":140,"chr":"R","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,238,2,7,153,2,8,153,2,9,221,3,2,238,3,6,238,4,2,204,4,3,204,4,4,153,4,5,204,4,6,204,4,7,255,5,3,221,5,4,221,5,8,255,6,9,238],"secondary":false},{"width":6,"bonus":115,"chr":"S","pixels":[0,3,221,0,4,238,0,8,187,0,9,187,1,2,187,1,4,204,1,5,255,1,9,238,2,2,187,2,5,255,2,6,187,2,9,221,3,2,204,3,5,153,3,6,255,3,7,170,3,8,153,3,9,170,4,2,204,4,3,153,4,6,170,4,7,255,4,8,187],"secondary":false},{"width":9,"bonus":105,"chr":"T","pixels":[1,2,238,2,2,221,3,2,238,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,2,221,6,2,221,7,2,255],"secondary":false},{"width":10,"bonus":120,"chr":"U","pixels":[1,2,204,1,3,153,1,4,153,1,5,153,1,6,153,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,3,9,221,4,9,238,5,9,221,6,9,170,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,204,8,2,153],"secondary":false},{"width":10,"bonus":90,"chr":"V","pixels":[1,2,255,1,3,153,2,2,238,2,3,255,2,4,255,2,5,187,3,5,238,3,6,255,3,7,221,4,7,221,4,8,255,4,9,187,5,6,187,5,7,204,6,4,221,6,5,187,7,2,255,7,3,170],"secondary":false},{"width":13,"bonus":165,"chr":"W","pixels":[1,2,255,1,3,221,2,2,204,2,3,221,2,4,255,2,5,255,2,6,221,3,6,187,3,7,255,3,8,255,3,9,187,4,6,153,4,7,221,5,4,221,5,5,187,6,2,187,6,3,255,6,4,255,6,5,153,7,4,170,7,5,255,7,6,255,7,7,187,8,7,255,8,8,255,8,9,187,9,5,153,9,6,221,9,7,170,10,2,221,10,3,238,10,4,187,11,2,187],"secondary":false},{"width":9,"bonus":115,"chr":"X","pixels":[1,2,221,1,9,238,2,2,255,2,3,255,2,7,153,2,8,221,2,9,153,3,3,153,3,4,255,3,5,221,3,6,204,4,5,255,4,6,255,4,7,170,5,3,187,5,4,170,5,7,255,5,8,255,5,9,153,6,2,255,6,8,204,6,9,255,7,9,170],"secondary":false},{"width":8,"bonus":95,"chr":"Y","pixels":[0,2,187,1,2,255,1,3,221,2,3,221,2,4,255,2,5,153,3,5,238,3,6,255,3,7,255,3,8,255,3,9,255,4,5,204,4,6,170,4,7,153,4,8,153,4,9,204,5,3,187,5,4,187,6,2,238],"secondary":false},{"width":8,"bonus":105,"chr":"Z","pixels":[0,9,204,1,2,238,1,7,153,1,8,255,1,9,255,2,2,221,2,6,221,2,7,255,2,9,221,3,2,221,3,4,153,3,5,255,3,6,221,3,9,221,4,2,238,4,3,221,4,4,255,4,9,221,5,2,255,5,3,204,5,9,255],"secondary":false},{"width":4,"bonus":65,"chr":"[","pixels":[0,0,255,0,1,255,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,0,9,255,0,10,187,1,0,187,1,10,170],"secondary":false},{"width":8,"bonus":40,"chr":"\\\\","pixels":[1,1,170,1,2,187,2,3,221,3,5,221,4,6,187,4,7,187,5,8,221,6,9,153],"secondary":false},{"width":5,"bonus":65,"chr":"]","pixels":[1,0,153,1,10,153,2,0,255,2,1,255,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,187],"secondary":false},{"width":7,"bonus":40,"chr":"^","pixels":[0,5,204,1,3,238,1,4,170,2,1,238,3,1,221,3,2,204,4,3,187,4,4,238],"secondary":false},{"width":7,"bonus":30,"chr":"_","pixels":[0,10,221,1,10,221,2,10,221,3,10,221,4,10,221,5,10,221],"secondary":false},{"width":9,"bonus":110,"chr":"a","pixels":[1,9,238,2,6,153,2,7,255,2,8,170,2,9,170,3,4,187,3,5,238,3,7,221,4,2,187,4,3,255,4,4,238,4,7,221,5,4,221,5,5,255,5,6,238,5,7,238,6,6,187,6,7,255,6,8,255,6,9,187,7,8,170,7,9,255],"secondary":false},{"width":7,"bonus":150,"chr":"b","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,255,3,2,221,3,5,221,3,9,204,4,2,187,4,3,255,4,4,255,4,5,170,4,6,255,4,7,170,4,8,187,4,9,187,5,6,153,5,7,255,5,8,204],"secondary":false},{"width":8,"bonus":120,"chr":"c","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,3,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,221,5,2,221,5,9,221,6,2,187,6,3,187,6,8,153,6,9,170],"secondary":false},{"width":10,"bonus":165,"chr":"d","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,9,221,4,2,238,4,9,221,5,2,221,5,9,204,6,2,153,6,3,238,6,8,187,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,8,5,187,8,6,170],"secondary":false},{"width":7,"bonus":110,"chr":"e","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,170,2,9,255,3,2,221,3,5,221,3,9,221,4,2,238,4,5,238,4,9,238],"secondary":false},{"width":7,"bonus":100,"chr":"f","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,2,221,3,5,221,4,2,238,4,5,238],"secondary":false},{"width":10,"bonus":135,"chr":"g","pixels":[0,4,170,0,5,238,0,6,255,0,7,187,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,153,2,8,221,2,9,153,3,2,221,3,9,221,4,2,221,4,9,238,5,2,238,5,9,221,6,2,204,6,6,255,6,7,255,6,8,255,6,9,204,7,6,204,7,7,153,7,8,153],"secondary":false},{"width":10,"bonus":175,"chr":"h","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,153,2,7,153,2,8,153,2,9,221,3,5,221,4,5,221,5,5,221,6,2,204,6,3,153,6,4,153,6,5,238,6,6,153,6,7,153,6,8,153,6,9,221,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,255],"secondary":false},{"width":5,"bonus":80,"chr":"i","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,153,2,9,221],"secondary":false},{"width":5,"bonus":90,"chr":"j","pixels":[2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,2,9,255,2,10,255,2,11,187,3,2,204,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,153],"secondary":false},{"width":9,"bonus":140,"chr":"k","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,238,2,6,187,2,7,153,2,8,153,2,9,204,3,5,238,3,6,238,4,6,170,4,7,255,5,2,238,5,3,153,5,7,170,5,8,255,6,2,204,6,8,170,6,9,238,7,9,204],"secondary":false},{"width":7,"bonus":95,"chr":"l","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,204,2,3,153,2,4,153,2,5,153,2,6,153,2,7,153,2,8,170,2,9,255,3,9,221,4,9,221,5,9,204],"secondary":false},{"width":12,"bonus":150,"chr":"m","pixels":[1,6,170,1,7,221,1,8,255,1,9,255,2,2,170,2,3,255,2,4,255,2,5,221,3,4,204,3,5,255,3,6,238,4,6,204,4,7,255,4,8,221,5,7,187,5,8,255,6,6,221,7,4,238,7,5,204,8,2,187,8,3,255,8,4,255,8,5,255,8,6,255,8,7,238,8,8,204,8,9,187,9,7,170,9,8,204,9,9,255],"secondary":false},{"width":10,"bonus":130,"chr":"n","pixels":[1,2,204,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,3,221,2,4,238,3,4,221,3,5,238,4,5,238,4,6,238,5,6,238,5,7,238,6,7,238,6,8,238,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,255,7,9,204],"secondary":false},{"width":10,"bonus":155,"chr":"o","pixels":[0,4,170,0,5,238,0,6,238,0,7,170,1,3,238,1,4,238,1,5,187,1,6,204,1,7,255,1,8,238,2,2,170,2,8,204,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,238,6,8,170,7,3,238,7,4,255,7,5,255,7,6,255,7,7,255,7,8,187,8,4,153,8,5,221,8,6,204],"secondary":false},{"width":7,"bonus":115,"chr":"p","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,170,2,7,153,2,8,153,2,9,221,3,2,221,4,2,221,4,3,204,4,4,153,4,5,221,5,3,221,5,4,221],"secondary":false},{"width":10,"bonus":180,"chr":"q","pixels":[0,4,153,0,5,238,0,6,238,0,7,170,1,3,221,1,4,255,1,5,221,1,6,238,1,7,255,1,8,238,2,2,153,2,8,221,2,9,170,3,2,221,3,9,238,4,2,221,4,9,221,5,2,238,5,9,204,6,2,153,6,3,221,6,8,153,6,9,238,7,3,221,7,4,255,7,5,255,7,6,255,7,7,255,7,8,170,7,9,187,7,10,153,8,4,153,8,5,204,8,6,204,8,10,255,9,10,204],"secondary":false},{"width":9,"bonus":145,"chr":"r","pixels":[1,2,255,1,3,255,1,4,255,1,5,255,1,6,255,1,7,255,1,8,255,1,9,255,2,2,238,2,3,153,2,4,153,2,5,153,2,6,238,2,7,153,2,8,153,2,9,221,3,2,238,3,6,238,4,2,204,4,3,204,4,4,153,4,5,204,4,6,204,4,7,255,5,3,221,5,4,221,5,8,255,6,9,238,7,9,153],"secondary":false},{"width":6,"bonus":115,"chr":"s","pixels":[0,3,221,0,4,238,0,8,187,0,9,187,1,2,187,1,4,204,1,5,255,1,9,238,2,2,187,2,5,255,2,6,187,2,9,221,3,2,204,3,5,153,3,6,255,3,7,170,3,8,153,3,9,170,4,2,204,4,3,153,4,6,170,4,7,255,4,8,187],"secondary":false},{"width":9,"bonus":105,"chr":"t","pixels":[1,2,238,2,2,221,3,2,238,3,3,153,3,4,153,3,5,153,3,6,153,3,7,153,3,8,153,3,9,221,4,2,255,4,3,255,4,4,255,4,5,255,4,6,255,4,7,255,4,8,255,4,9,255,5,2,221,6,2,221,7,2,255],"secondary":false},{"width":10,"bonus":120,"chr":"u","pixels":[1,2,204,1,3,153,1,4,153,1,5,153,1,6,153,2,2,255,2,3,255,2,4,255,2,5,255,2,6,255,2,7,255,2,8,255,3,9,221,4,9,238,5,9,221,6,9,170,7,2,255,7,3,255,7,4,255,7,5,255,7,6,255,7,7,255,7,8,204,8,2,153],"secondary":false},{"width":10,"bonus":90,"chr":"v","pixels":[1,2,255,1,3,153,2,2,238,2,3,255,2,4,255,2,5,187,3,5,238,3,6,255,3,7,221,4,7,221,4,8,255,4,9,187,5,6,187,5,7,204,6,4,221,6,5,187,7,2,255,7,3,170],"secondary":false},{"width":13,"bonus":165,"chr":"w","pixels":[1,2,255,1,3,221,2,2,204,2,3,221,2,4,255,2,5,255,2,6,221,3,6,187,3,7,255,3,8,255,3,9,187,4,6,153,4,7,221,5,4,221,5,5,187,6,2,187,6,3,255,6,4,255,6,5,153,7,4,170,7,5,255,7,6,255,7,7,187,8,7,255,8,8,255,8,9,187,9,5,153,9,6,221,9,7,170,10,2,221,10,3,238,10,4,187,11,2,187],"secondary":false},{"width":9,"bonus":115,"chr":"x","pixels":[1,2,221,1,9,238,2,2,255,2,3,255,2,7,153,2,8,221,2,9,153,3,3,153,3,4,255,3,5,221,3,6,204,4,5,255,4,6,255,4,7,170,5,3,187,5,4,170,5,7,255,5,8,255,5,9,153,6,2,255,6,8,204,6,9,255,7,9,170],"secondary":false},{"width":8,"bonus":95,"chr":"y","pixels":[0,2,187,1,2,255,1,3,221,2,3,221,2,4,255,2,5,153,3,5,238,3,6,255,3,7,255,3,8,255,3,9,255,4,5,204,4,6,170,4,7,153,4,8,153,4,9,204,5,3,187,5,4,187,6,2,238],"secondary":false},{"width":8,"bonus":105,"chr":"z","pixels":[0,9,204,1,2,238,1,7,153,1,8,255,1,9,255,2,2,221,2,6,221,2,7,255,2,9,221,3,2,221,3,4,153,3,5,255,3,6,221,3,9,221,4,2,238,4,3,221,4,4,255,4,9,221,5,2,255,5,3,204,5,9,255],"secondary":false},{"width":4,"bonus":45,"chr":"{","pixels":[1,1,255,1,2,255,1,3,255,1,5,187,1,6,255,1,7,255,1,8,255,1,9,221,2,0,153],"secondary":false},{"width":2,"bonus":60,"chr":"|","pixels":[0,0,255,0,1,255,0,2,255,0,3,255,0,4,255,0,5,255,0,6,255,0,7,255,0,8,255,0,9,255,0,10,255,0,11,255],"secondary":true},{"width":4,"bonus":45,"chr":"}","pixels":[0,0,153,1,1,255,1,2,255,1,3,255,1,5,187,1,6,255,1,7,255,1,8,255,1,9,221],"secondary":false},{"width":7,"bonus":30,"chr":"~","pixels":[0,5,221,1,4,255,2,4,187,3,5,187,4,5,255,5,4,204],"secondary":false}],"width":13,"spacewidth":3,"shadow":false,"height":12,"basey":9}');
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __nested_webpack_require_63941__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_63941__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       
+/******/       // startup
+/******/       // Load entry module and return exports
+/******/       // This entry module is referenced by other modules so it can't be inlined
+/******/       var __nested_webpack_exports__ = __nested_webpack_require_63941__("./src/dialog/index.ts");
+/******/       
+/******/       return __nested_webpack_exports__;
+/******/ })()
+;
+});
+
+/***/ }),
+
+/***/ "../node_modules/alt1/dist/ocr/index.js":
+/*!**********************************************!*\
+  !*** ../node_modules/alt1/dist/ocr/index.js ***!
+  \**********************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+       if(true)
+               module.exports = factory(__webpack_require__(/*! alt1/base */ "../node_modules/alt1/dist/base/index.js"));
+       else {}
+})(globalThis, (__WEBPACK_EXTERNAL_MODULE_alt1_base__) => {
+return /******/ (() => { // webpackBootstrap
+/******/       "use strict";
+/******/       var __webpack_modules__ = ({
+
+/***/ "./src/ocr/index.ts":
+/*!**************************!*\
+  !*** ./src/ocr/index.ts ***!
+  \**************************/
+/***/ ((__unused_webpack_module, exports, __nested_webpack_require_728__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.generatefont = exports.readChar = exports.readSmallCapsBackwards = exports.readLine = exports.getChatColor = exports.GetChatColorMono = exports.findReadLine = exports.findChar = exports.decompose3col = exports.decomposeblack = exports.decompose2col = exports.canblend = exports.unblendTrans = exports.unblendKnownBg = exports.unblendBlackBackground = exports.debugFont = exports.debugout = exports.debug = void 0;
+const base_1 = __nested_webpack_require_728__(/*! alt1/base */ "alt1/base");
+exports.debug = {
+    printcharscores: false,
+    trackread: false
+};
+exports.debugout = {};
+/**
+ * draws the font definition to a buffer and displays it in the dom for debugging purposes
+ * @param font
+ */
+function debugFont(font) {
+    var spacing = font.width + 2;
+    var buf = new base_1.ImageData(spacing * font.chars.length, font.height + 1);
+    for (var a = 0; a < buf.data.length; a += 4) {
+        buf.data[a] = buf.data[a + 1] = buf.data[a + 2] = 0;
+        buf.data[a + 3] = 255;
+    }
+    for (var a = 0; a < font.chars.length; a++) {
+        var bx = a * spacing;
+        var chr = font.chars[a];
+        for (var b = 0; b < chr.pixels.length; b += (font.shadow ? 4 : 3)) {
+            buf.setPixel(bx + chr.pixels[b], chr.pixels[b + 1], [chr.pixels[b + 2], chr.pixels[b + 2], chr.pixels[b + 2], 255]);
+            if (font.shadow) {
+                buf.setPixel(bx + chr.pixels[b], chr.pixels[b + 1], [chr.pixels[b + 3], 0, 0, 255]);
+            }
+        }
+    }
+    buf.show();
+}
+exports.debugFont = debugFont;
+function unblendBlackBackground(img, r, g, b) {
+    var rimg = new base_1.ImageData(img.width, img.height);
+    for (var i = 0; i < img.data.length; i += 4) {
+        var col = decomposeblack(img.data[i], img.data[i + 1], img.data[i + 2], r, g, b);
+        rimg.data[i + 0] = col[0] * 255;
+        rimg.data[i + 1] = rimg.data[i + 0];
+        rimg.data[i + 2] = rimg.data[i + 0];
+        rimg.data[i + 3] = 255;
+    }
+    return rimg;
+}
+exports.unblendBlackBackground = unblendBlackBackground;
+/**
+ * unblends a imagebuffer into match strength with given color
+ * the bgimg argument should contain a second image with pixel occluded by the font visible.
+ * @param img
+ * @param shadow detect black as second color
+ * @param bgimg optional second image to
+ */
+function unblendKnownBg(img, bgimg, shadow, r, g, b) {
+    if (bgimg && (img.width != bgimg.width || img.height != bgimg.height)) {
+        throw "bgimg size doesn't match";
+    }
+    var rimg = new base_1.ImageData(img.width, img.height);
+    var totalerror = 0;
+    for (var i = 0; i < img.data.length; i += 4) {
+        var col = decompose2col(img.data[i], img.data[i + 1], img.data[i + 2], r, g, b, bgimg.data[i + 0], bgimg.data[i + 1], bgimg.data[i + 2]);
+        if (shadow) {
+            if (col[2] > 0.01) {
+                console.log("high error component: " + (col[2] * 100).toFixed(1) + "%");
+            }
+            totalerror += col[2];
+            var m = 1 - col[1] - Math.abs(col[2]); //main color+black=100%-bg-error
+            rimg.data[i + 0] = m * 255;
+            rimg.data[i + 1] = col[0] / m * 255;
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        else {
+            rimg.data[i + 0] = col[0] * 255;
+            rimg.data[i + 1] = rimg.data[i + 0];
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        rimg.data[i + 3] = 255;
+    }
+    return rimg;
+}
+exports.unblendKnownBg = unblendKnownBg;
+/**
+ * Unblends a font image that is already conpletely isolated to the raw image used ingame. This is the easiest mode for pixel fonts where alpha is 0 or 255, or for extracted font files.
+ * @param img
+ * @param r
+ * @param g
+ * @param b
+ * @param shadow whether the font has a black shadow
+ */
+function unblendTrans(img, shadow, r, g, b) {
+    var rimg = new base_1.ImageData(img.width, img.height);
+    var pxlum = r + g + b;
+    for (var i = 0; i < img.data.length; i += 4) {
+        if (shadow) {
+            var lum = img.data[i + 0] + img.data[i + 1] + img.data[i + 2];
+            rimg.data[i + 0] = img.data[i + 3];
+            rimg.data[i + 1] = lum / pxlum * 255;
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        else {
+            rimg.data[i + 0] = img.data[i + 3];
+            rimg.data[i + 1] = rimg.data[i + 0];
+            rimg.data[i + 2] = rimg.data[i + 0];
+        }
+        rimg.data[i + 3] = 255;
+    }
+    return rimg;
+}
+exports.unblendTrans = unblendTrans;
+/**
+ * Determised wether color [rgb]m can be a result of a blend with color [rgb]1 that is p (0-1) of the mix
+ * It returns the number that the second color has to lie outside of the possible color ranges
+ * @param rm resulting color
+ * @param r1 first color of the mix (the other color is unknown)
+ * @param p the portion of the [rgb]1 in the mix (0-1)
+ */
+function canblend(rm, gm, bm, r1, g1, b1, p) {
+    var m = Math.min(50, p / (1 - p));
+    var r = rm + (rm - r1) * m;
+    var g = gm + (gm - g1) * m;
+    var b = bm + (bm - b1) * m;
+    return Math.max(0, -r, -g, -b, r - 255, g - 255, b - 255);
+}
+exports.canblend = canblend;
+/**
+ * decomposes a color in 2 given component colors and returns the amount of each color present
+ * also return a third (noise) component which is the the amount leftover orthagonal from the 2 given colors
+ */
+function decompose2col(rp, gp, bp, r1, g1, b1, r2, g2, b2) {
+    //get the normal of the error (cross-product of both colors)
+    var r3 = g1 * b2 - g2 * b1;
+    var g3 = b1 * r2 - b2 * r1;
+    var b3 = r1 * g2 - r2 * g1;
+    //normalize to length 255
+    var norm = 255 / Math.sqrt(r3 * r3 + g3 * g3 + b3 * b3);
+    r3 *= norm;
+    g3 *= norm;
+    b3 *= norm;
+    return decompose3col(rp, gp, bp, r1, g1, b1, r2, g2, b2, r3, g3, b3);
+}
+exports.decompose2col = decompose2col;
+/**
+ * decomposes a pixel in a given color component and black and returns what proportion of the second color it contains
+ * this is not as formal as decompose 2/3 and only give a "good enough" number
+ */
+function decomposeblack(rp, gp, bp, r1, g1, b1) {
+    var dr = Math.abs(rp - r1);
+    var dg = Math.abs(gp - g1);
+    var db = Math.abs(bp - b1);
+    var maxdif = Math.max(dr, dg, db);
+    return [1 - maxdif / 255];
+}
+exports.decomposeblack = decomposeblack;
+/**
+ * decomposes a color in 3 given component colors and returns the amount of each color present
+ */
+function decompose3col(rp, gp, bp, r1, g1, b1, r2, g2, b2, r3, g3, b3) {
+    //P=x*C1+y*C2+z*C3
+    //assemble as matrix 
+    //M*w=p
+    //get inverse of M
+    //dirty written out version of cramer's rule
+    var A = g2 * b3 - b2 * g3;
+    var B = g3 * b1 - b3 * g1;
+    var C = g1 * b2 - b1 * g2;
+    var D = b2 * r3 - r2 * b3;
+    var E = b3 * r1 - r3 * b1;
+    var F = b1 * r2 - r1 * b2;
+    var G = r2 * g3 - g2 * r3;
+    var H = r3 * g1 - g3 * r1;
+    var I = r1 * g2 - g1 * r2;
+    var det = r1 * A + g1 * D + b1 * G;
+    //M^-1*p=w
+    var x = (A * rp + D * gp + G * bp) / det;
+    var y = (B * rp + E * gp + H * bp) / det;
+    var z = (C * rp + F * gp + I * bp) / det;
+    return [x, y, z];
+}
+exports.decompose3col = decompose3col;
+/**
+ * brute force to the exact position of the text
+ */
+function findChar(buffer, font, col, x, y, w, h) {
+    if (x < 0) {
+        return null;
+    }
+    if (y - font.basey < 0) {
+        return null;
+    }
+    if (x + w + font.width > buffer.width) {
+        return null;
+    }
+    if (y + h - font.basey + font.height > buffer.height) {
+        return null;
+    }
+    var best = 1000; //TODO finetune score constants
+    var bestchar = null;
+    for (var cx = x; cx < x + w; cx++) {
+        for (var cy = y; cy < y + h; cy++) {
+            var chr = readChar(buffer, font, col, cx, cy, false, false);
+            if (chr != null && chr.sizescore < best) {
+                best = chr.sizescore;
+                bestchar = chr;
+            }
+        }
+    }
+    return bestchar;
+}
+exports.findChar = findChar;
+/**
+ * reads text with unknown exact coord or color. The given coord should be inside the text
+ * color selection not implemented yet
+ */
+function findReadLine(buffer, font, cols, x, y, w = -1, h = -1) {
+    if (w == -1) {
+        w = font.width + font.spacewidth;
+        x -= Math.ceil(w / 2);
+    }
+    if (h == -1) {
+        h = 7;
+        y -= 1;
+    }
+    var chr = null;
+    if (cols.length > 1) {
+        //TODO use getChatColor() instead for non-mono?
+        var sorted = GetChatColorMono(buffer, new base_1.Rect(x, y - font.basey, w, h), cols);
+        //loop until we have a match (max 2 cols)
+        for (var a = 0; a < 2 && a < sorted.length && chr == null; a++) {
+            chr = findChar(buffer, font, sorted[a].col, x, y, w, h);
+        }
+    }
+    else {
+        chr = findChar(buffer, font, cols[0], x, y, w, h);
+    }
+    if (chr == null) {
+        return { debugArea: { x, y, w, h }, text: "", fragments: [] };
+    }
+    return readLine(buffer, font, cols, chr.x, chr.y, true, true);
+}
+exports.findReadLine = findReadLine;
+function GetChatColorMono(buf, rect, colors) {
+    var colormap = colors.map(c => ({ col: c, score: 0 }));
+    if (rect.x < 0 || rect.y < 0 || rect.x + rect.width > buf.width || rect.y + rect.height > buf.height) {
+        return colormap;
+    }
+    var data = buf.data;
+    var maxd = 50;
+    for (var colobj of colormap) {
+        var score = 0;
+        var col = colobj.col;
+        for (var y = rect.y; y < rect.y + rect.height; y++) {
+            for (var x = rect.x; x < rect.x + rect.width; x++) {
+                var i = x * 4 + y * 4 * buf.width;
+                var d = Math.abs(data[i] - col[0]) + Math.abs(data[i + 1] - col[1]) + Math.abs(data[i + 2] - col[2]);
+                if (d < maxd) {
+                    score += maxd - d;
+                }
+            }
+        }
+        colobj.score = score;
+    }
+    return colormap.sort((a, b) => b.score - a.score);
+}
+exports.GetChatColorMono = GetChatColorMono;
+function unblend(r, g, b, R, G, B) {
+    var m = Math.sqrt(r * r + g * g + b * b);
+    var n = Math.sqrt(R * R + G * G + B * B);
+    var x = (r * R + g * G + b * B) / n;
+    var y = Math.sqrt(Math.max(0, m * m - x * x));
+    var r1 = Math.max(0, (63.75 - y) * 4);
+    var r2 = x / n * 255;
+    if (r2 > 255) //brighter than refcol
+     {
+        r1 = Math.max(0, r1 - r2 + 255);
+        r2 = 255;
+    }
+    return [r1, r2];
+}
+function getChatColor(buf, rect, colors) {
+    var bestscore = -1.0;
+    var best = null;
+    var b2 = 0.0;
+    var data = buf.data;
+    for (let col of colors) {
+        var score = 0.0;
+        for (var y = rect.y; y < rect.y + rect.height; y++) {
+            for (var x = rect.x; x < rect.x + rect.width; x++) {
+                if (x < 0 || x + 1 >= buf.width) {
+                    continue;
+                }
+                if (y < 0 || y + 1 >= buf.width) {
+                    continue;
+                }
+                let i1 = buf.pixelOffset(x, y);
+                let i2 = buf.pixelOffset(x + 1, y + 1);
+                var pixel1 = unblend(data[i1 + 0], data[i1 + 1], data[i1 + 2], col[0], col[1], col[2]);
+                var pixel2 = unblend(data[i2 + 0], data[i2 + 1], data[i2 + 2], col[0], col[1], col[2]);
+                //TODO this is from c# can simplify a bit
+                var s = (pixel1[0] / 255 * pixel1[1] / 255) * (pixel2[0] / 255 * (255.0 - pixel2[1]) / 255);
+                score += s;
+            }
+        }
+        if (score > bestscore) {
+            b2 = bestscore;
+            bestscore = score;
+            best = col;
+        }
+        else if (score > b2) {
+            b2 = score;
+        }
+    }
+    //Console.WriteLine("color: " + bestcol + " - " + (bestscore - b2));
+    //bestscore /= rect.width * rect.height;
+    return best;
+}
+exports.getChatColor = getChatColor;
+/**
+ * reads a line of text with exactly known position and color. y should be the y coord of the text base line, x should be the first pixel of a new character
+ */
+function readLine(buffer, font, colors, x, y, forward, backward = false) {
+    if (typeof colors[0] != "number" && colors.length == 1) {
+        colors = colors[0];
+    }
+    var multicol = typeof colors[0] != "number";
+    var allcolors = multicol ? colors : [colors];
+    var detectcolor = function (sx, sy, backward) {
+        var w = Math.floor(font.width * 1.5);
+        if (backward) {
+            sx -= w;
+        }
+        sy -= font.basey;
+        return getChatColor(buffer, { x: sx, y: sy, width: w, height: font.height }, allcolors);
+    };
+    var fragments = [];
+    var x1 = x;
+    var x2 = x;
+    var maxspaces = (typeof font.maxspaces == "number" ? font.maxspaces : 1);
+    let fragtext = "";
+    let fraghadprimary = false;
+    var lastcol = null;
+    let addfrag = (forward) => {
+        if (!fragtext) {
+            return;
+        }
+        let frag = {
+            text: fragtext,
+            color: lastcol,
+            index: 0,
+            xstart: x + (forward ? fragstartdx : fragenddx),
+            xend: x + (forward ? fragenddx : fragstartdx)
+        };
+        if (forward) {
+            fragments.push(frag);
+        }
+        else {
+            fragments.unshift(frag);
+        }
+        fragtext = "";
+        fragstartdx = dx;
+        fraghadprimary = false;
+    };
+    for (var dirforward of [true, false]) {
+        //init vars
+        if (dirforward && !forward) {
+            continue;
+        }
+        if (!dirforward && !backward) {
+            continue;
+        }
+        var dx = 0;
+        var fragstartdx = dx;
+        var fragenddx = dx;
+        var triedspaces = 0;
+        var triedrecol = false;
+        var col = multicol ? null : colors;
+        while (true) {
+            col = col || detectcolor(x + dx, y, !dirforward);
+            var chr = (col ? readChar(buffer, font, col, x + dx, y, !dirforward, true) : null);
+            if (col == null || chr == null) {
+                if (triedspaces < maxspaces) {
+                    dx += (dirforward ? 1 : -1) * font.spacewidth;
+                    triedspaces++;
+                    continue;
+                }
+                if (multicol && !triedrecol && fraghadprimary) {
+                    dx -= (dirforward ? 1 : -1) * triedspaces * font.spacewidth;
+                    triedspaces = 0;
+                    col = null;
+                    triedrecol = true;
+                    continue;
+                }
+                if (dirforward) {
+                    x2 = x + dx - font.spacewidth;
+                }
+                else {
+                    x1 = x + dx + font.spacewidth;
+                }
+                break;
+            }
+            else {
+                if (lastcol && (col[0] != lastcol[0] || col[1] != lastcol[1] || col[2] != lastcol[2])) {
+                    addfrag(dirforward);
+                }
+                var spaces = "";
+                for (var a = 0; a < triedspaces; a++) {
+                    spaces += " ";
+                }
+                if (dirforward) {
+                    fragtext += spaces + chr.chr;
+                }
+                else {
+                    fragtext = chr.chr + spaces + fragtext;
+                }
+                if (!chr.basechar.secondary) {
+                    fraghadprimary = true;
+                }
+                triedspaces = 0;
+                triedrecol = false;
+                dx += (dirforward ? 1 : -1) * chr.basechar.width;
+                fragenddx = dx;
+                lastcol = col;
+            }
+        }
+        if (lastcol && fraghadprimary) {
+            addfrag(dirforward);
+        }
+    }
+    fragments.forEach((f, i) => f.index = i);
+    return {
+        debugArea: { x: x1, y: y - 9, w: x2 - x1, h: 10 },
+        text: fragments.map(f => f.text).join(""),
+        fragments
+    };
+}
+exports.readLine = readLine;
+/**
+ * Reads a line of text that uses a smallcaps font, these fonts can have duplicate chars that only have a different amount of
+ * empty space after the char before the next char starts.
+ * The coordinates should be near the end of the string, or a rectangle with high 1 containing all points where the string can end.
+ */
+function readSmallCapsBackwards(buffer, font, cols, x, y, w = -1, h = -1) {
+    if (w == -1) {
+        w = font.width + font.spacewidth;
+        x -= Math.ceil(w / 2);
+    }
+    if (h == -1) {
+        h = 7;
+        y -= 1;
+    }
+    var matchedchar = null;
+    var sorted = (cols.length == 1 ? [{ col: cols[0], score: 1 }] : GetChatColorMono(buffer, new base_1.Rect(x, y - font.basey, w, h), cols));
+    //loop until we have a match (max 2 cols)
+    for (var a = 0; a < 2 && a < sorted.length && matchedchar == null; a++) {
+        for (var cx = x + w - 1; cx >= x; cx--) {
+            var best = 1000; //TODO finetune score constants
+            var bestchar = null;
+            for (var cy = y; cy < y + h; cy++) {
+                var chr = readChar(buffer, font, sorted[a].col, cx, cy, true, false);
+                if (chr != null && chr.sizescore < best) {
+                    best = chr.sizescore;
+                    bestchar = chr;
+                }
+            }
+            if (bestchar) {
+                matchedchar = bestchar;
+                break;
+            }
+        }
+    }
+    if (matchedchar == null) {
+        return { text: "", debugArea: { x, y, w, h } };
+    }
+    return readLine(buffer, font, cols, matchedchar.x, matchedchar.y, false, true);
+}
+exports.readSmallCapsBackwards = readSmallCapsBackwards;
+/**
+ * Reads a single character at the exact given location
+ * @param x exact x location of the start of the character domain (includes part of the spacing between characters)
+ * @param y exact y location of the baseline pixel of the character
+ * @param backwards read in backwards direction, the x location should be the first pixel after the character domain in that case
+ */
+function readChar(buffer, font, col, x, y, backwards, allowSecondary) {
+    y -= font.basey;
+    var shiftx = 0;
+    var shifty = font.basey;
+    var shadow = font.shadow;
+    var debugobj = null;
+    var debugimg = null;
+    if (exports.debug.trackread) {
+        var name = x + ";" + y + " " + JSON.stringify(col);
+        if (!exports.debugout[name]) {
+            exports.debugout[name] = [];
+        }
+        debugobj = exports.debugout[name];
+    }
+    //===== make sure the full domain is inside the bitmap/buffer ======
+    if (y < 0 || y + font.height >= buffer.height) {
+        return null;
+    }
+    if (!backwards) {
+        if (x < 0 || x + font.width > buffer.width) {
+            return null;
+        }
+    }
+    else {
+        if (x - font.width < 0 || x > buffer.width) {
+            return null;
+        }
+    }
+    //====== start reading the char ======
+    var scores = [];
+    for (var chr = 0; chr < font.chars.length; chr++) {
+        var chrobj = font.chars[chr];
+        if (chrobj.secondary && !allowSecondary) {
+            continue;
+        }
+        scores[chr] = { score: 0, sizescore: 0, chr: chrobj };
+        var chrx = (backwards ? x - chrobj.width : x);
+        if (exports.debug.trackread) {
+            debugimg = new base_1.ImageData(font.width, font.height);
+        }
+        for (var a = 0; a < chrobj.pixels.length;) {
+            var i = (chrx + chrobj.pixels[a]) * 4 + (y + chrobj.pixels[a + 1]) * buffer.width * 4;
+            var penalty = 0;
+            if (!shadow) {
+                penalty = canblend(buffer.data[i], buffer.data[i + 1], buffer.data[i + 2], col[0], col[1], col[2], chrobj.pixels[a + 2] / 255);
+                a += 3;
+            }
+            else {
+                var lum = chrobj.pixels[a + 3] / 255;
+                penalty = canblend(buffer.data[i], buffer.data[i + 1], buffer.data[i + 2], col[0] * lum, col[1] * lum, col[2] * lum, chrobj.pixels[a + 2] / 255);
+                a += 4;
+            }
+            scores[chr].score += Math.max(0, penalty);
+            //TODO add compiler flag to this to remove it for performance
+            if (debugimg) {
+                debugimg.setPixel(chrobj.pixels[a], chrobj.pixels[a + 1], [penalty, penalty, penalty, 255]);
+            }
+        }
+        scores[chr].sizescore = scores[chr].score - chrobj.bonus;
+        if (debugobj) {
+            debugobj.push({ chr: chrobj.chr, score: scores[chr].sizescore, rawscore: scores[chr].score, img: debugimg });
+        }
+    }
+    scores.sort((a, b) => a.sizescore - b.sizescore);
+    if (exports.debug.printcharscores) {
+        scores.slice(0, 5).forEach(q => console.log(q.chr.chr, q.score.toFixed(3), q.sizescore.toFixed(3)));
+    }
+    var winchr = scores[0];
+    if (!winchr || winchr.score > 400) {
+        return null;
+    }
+    return { chr: winchr.chr.chr, basechar: winchr.chr, x: x + shiftx, y: y + shifty, score: winchr.score, sizescore: winchr.sizescore };
+}
+exports.readChar = readChar;
+/**
+ * Generates a font json description to use in reader functions
+ * @param unblended A source image with all characters lined up. The image should be unblended into components using the unblend functions
+ * The lowest pixel line of this image is used to mark the location and size of the charecters if the red component is 255 it means there is a character on that pixel column
+ * @param chars A string containing all the characters of the image in the same order
+ * @param seconds A string with characters that are considered unlikely and should only be detected if no other character is possible.
+ * For example the period (.) character matches positive inside many other characters and should be marked as secondary
+ * @param bonusses An object that contains bonus scores for certain difficult characters to make the more likely to be red.
+ * @param basey The y position of the baseline pixel of the font
+ * @param spacewidth the number of pixels a space takes
+ * @param treshold minimal color match proportion (0-1) before a pixel is used for the font
+ * @param shadow whether this font also uses the black shadow some fonts have. The "unblended" image should be unblended correspondingly
+ * @returns a javascript object describing the font which is used as input for the different read functions
+ */
+function generatefont(unblended, chars, seconds, bonusses, basey, spacewidth, treshold, shadow) {
+    //settings vars
+    treshold *= 255;
+    //initial vars
+    var miny = unblended.height - 1;
+    var maxy = 0;
+    var font = { chars: [], width: 0, spacewidth: spacewidth, shadow: shadow, height: 0, basey: 0 };
+    var ds = false;
+    var chardata = [];
+    //index all chars
+    for (var dx = 0; dx < unblended.width; dx++) {
+        var i = 4 * dx + 4 * unblended.width * (unblended.height - 1);
+        if (unblended.data[i] == 255 && unblended.data[i + 3] == 255) {
+            if (ds === false) {
+                ds = dx;
+            }
+        }
+        else {
+            if (ds !== false) {
+                //char found, start detection
+                var de = dx;
+                var char = chars[chardata.length];
+                var chr = {
+                    ds: ds,
+                    de: de,
+                    width: de - ds,
+                    chr: char,
+                    bonus: (bonusses && bonusses[char]) || 0,
+                    secondary: seconds.indexOf(chars[chardata.length]) != -1,
+                    pixels: []
+                };
+                chardata.push(chr);
+                font.width = Math.max(font.width, chr.width);
+                for (x = 0; x < de - ds; x++) {
+                    for (y = 0; y < unblended.height - 1; y++) {
+                        var i = (x + ds) * 4 + y * unblended.width * 4;
+                        if (unblended.data[i] >= treshold) {
+                            miny = Math.min(miny, y);
+                            maxy = Math.max(maxy, y);
+                        }
+                    }
+                }
+                ds = false;
+            }
+        }
+    }
+    font.height = maxy + 1 - miny;
+    font.basey = basey - miny;
+    //detect all pixels
+    for (var a in chardata) {
+        var chr = chardata[a];
+        for (var x = 0; x < chr.width; x++) {
+            for (var y = 0; y < maxy + 1 - miny; y++) {
+                var i = (x + chr.ds) * 4 + (y + miny) * unblended.width * 4;
+                if (unblended.data[i] >= treshold) {
+                    chr.pixels.push(x, y);
+                    chr.pixels.push(unblended.data[i]);
+                    if (shadow) {
+                        chr.pixels.push(unblended.data[i + 1]);
+                    }
+                    chr.bonus += 5;
+                }
+            }
+        }
+        //prevent js from doing the thing with unnecessary output precision
+        chr.bonus = +chr.bonus.toFixed(3);
+        font.chars.push({ width: chr.width, bonus: chr.bonus, chr: chr.chr, pixels: chr.pixels, secondary: chr.secondary });
+    }
+    return font;
+}
+exports.generatefont = generatefont;
+
+
+/***/ }),
+
+/***/ "alt1/base":
+/*!**************************************************************************************************!*\
+  !*** external {"root":"A1lib","commonjs2":"alt1/base","commonjs":"alt1/base","amd":"alt1/base"} ***!
+  \**************************************************************************************************/
+/***/ ((module) => {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_alt1_base__;
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __nested_webpack_require_26177__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_26177__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       
+/******/       // startup
+/******/       // Load entry module and return exports
+/******/       // This entry module is referenced by other modules so it can't be inlined
+/******/       var __nested_webpack_exports__ = __nested_webpack_require_26177__("./src/ocr/index.ts");
+/******/       
+/******/       return __nested_webpack_exports__;
+/******/ })()
+;
+});
+
+/***/ })
+
+/******/       });
+/************************************************************************/
+/******/       // The module cache
+/******/       var __webpack_module_cache__ = {};
+/******/       
+/******/       // The require function
+/******/       function __webpack_require__(moduleId) {
+/******/               // Check if module is in cache
+/******/               var cachedModule = __webpack_module_cache__[moduleId];
+/******/               if (cachedModule !== undefined) {
+/******/                       return cachedModule.exports;
+/******/               }
+/******/               // Create a new module (and put it into the cache)
+/******/               var module = __webpack_module_cache__[moduleId] = {
+/******/                       // no module.id needed
+/******/                       // no module.loaded needed
+/******/                       exports: {}
+/******/               };
+/******/       
+/******/               // Execute the module function
+/******/               __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
+/******/       
+/******/               // Return the exports of the module
+/******/               return module.exports;
+/******/       }
+/******/       
+/************************************************************************/
+/******/       /* webpack/runtime/compat get default export */
+/******/       (() => {
+/******/               // getDefaultExport function for compatibility with non-harmony modules
+/******/               __webpack_require__.n = (module) => {
+/******/                       var getter = module && module.__esModule ?
+/******/                               () => (module['default']) :
+/******/                               () => (module);
+/******/                       __webpack_require__.d(getter, { a: getter });
+/******/                       return getter;
+/******/               };
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/define property getters */
+/******/       (() => {
+/******/               // define getter functions for harmony exports
+/******/               __webpack_require__.d = (exports, definition) => {
+/******/                       for(var key in definition) {
+/******/                               if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/                                       Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/                               }
+/******/                       }
+/******/               };
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/global */
+/******/       (() => {
+/******/               __webpack_require__.g = (function() {
+/******/                       if (typeof globalThis === 'object') return globalThis;
+/******/                       try {
+/******/                               return this || new Function('return this')();
+/******/                       } catch (e) {
+/******/                               if (typeof window === 'object') return window;
+/******/                       }
+/******/               })();
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/hasOwnProperty shorthand */
+/******/       (() => {
+/******/               __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/make namespace object */
+/******/       (() => {
+/******/               // define __esModule on exports
+/******/               __webpack_require__.r = (exports) => {
+/******/                       if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/                               Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/                       }
+/******/                       Object.defineProperty(exports, '__esModule', { value: true });
+/******/               };
+/******/       })();
+/******/       
+/******/       /* webpack/runtime/publicPath */
+/******/       (() => {
+/******/               var scriptUrl;
+/******/               if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
+/******/               var document = __webpack_require__.g.document;
+/******/               if (!scriptUrl && document) {
+/******/                       if (document.currentScript)
+/******/                               scriptUrl = document.currentScript.src;
+/******/                       if (!scriptUrl) {
+/******/                               var scripts = document.getElementsByTagName("script");
+/******/                               if(scripts.length) {
+/******/                                       var i = scripts.length - 1;
+/******/                                       while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
+/******/                               }
+/******/                       }
+/******/               }
+/******/               // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
+/******/               // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
+/******/               if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
+/******/               scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
+/******/               __webpack_require__.p = scriptUrl;
+/******/       })();
+/******/       
+/************************************************************************/
+var __webpack_exports__ = {};
+// This entry need to be wrapped in an IIFE because it need to be in strict mode.
+(() => {
+"use strict";
+/*!******************!*\
+  !*** ./index.ts ***!
+  \******************/
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _modules_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/settings */ "./modules/settings.ts");
+/* harmony import */ var _modules_slayer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/slayer */ "./modules/slayer.ts");
+/* harmony import */ var _modules_dochandler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/dochandler */ "./modules/dochandler.ts");
+/* harmony import */ var _extraFeatures__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./extraFeatures */ "./extraFeatures.ts");
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+};
+
+
+
+
+/* COPYRIGHT NOTICE - DO NOT REMOVE
+    2021 @ Unlishema Dragonsworn
+    I have programmed this enitre app myself; however, I must give credit where credit is due.
+    
+    The credits have been moved into their own file @ https://unlishema.github.io/slayerassistant/credits.html
+*/
+/*
+    Features coming in the near future (Also my current TODO List)
+
+    ~ Before Release for Sure ~
+    Update the about page. (Done but needs adjustment in next release)
+    Update the changelog page. (Will need updated again on next release)
+    Update the credits page. (May need more later on)
+
+    ~ Coming Next Release ~
+    Adjust histories to use sessionStorage
+    Add in a status tracking area to keep track of xp/hr, kills/hr, and more (Needs finished)
+    Add settings into the app finally (Needs rest added)
+
+    ~ Near future Release ~
+    Add support for Ushubti
+    Adjust the caching of the json database files to make sure they get updated timely (use .htaccess and mode_expires.c)
+
+    ~ Settings for the app ~
+    Settings:
+    - Ability to toggle auto find task via dialog (Done)
+    - Ability to toggle auto find current task via Slayer Count RS3UI (Done)
+    - Ability to toggle extra info to make box smaller without scrollbar (Done)
+    - Ability to toggle all hidden creatures
+    -- Ability to toggle sub-classes of hidden creatures like (elite), (dragonkin lab) and such
+    - Ability to select default loading
+    -- Default Task(s) on open and adjust doc based on it (Done)
+    -- Load previous task(s) and adjust doc based on it
+    - Ability to select defaults for everything (Later On)
+    -- Select default creature per task
+    -- Select default variant per creature
+    - Ability to customize the Look N Feel of the Slayer Assistant UI (Way Later On)
+    - Ability to select how long to save search history (Way Later On)
+    - Ability to select the type of search algo for the app (Maybe Later On)
+
+*/
+// Check if we are running in alt1 and if so then tell alt1 about the config
+if (window.alt1)
+    alt1.identifyAppUrl("./appconfig.json");
+// Initialize the javascript for the entire app
+document.addEventListener("DOMContentLoaded", function (event) { return __awaiter(void 0, void 0, void 0, function () {
+    return __generator(this, function (_a) {
+        switch (_a.label) {
+            case 0: 
+            // Setup the main document and load assignment index
+            return [4 /*yield*/, _modules_dochandler__WEBPACK_IMPORTED_MODULE_2__.main.setup.documentMain()];
+            case 1:
+                // Setup the main document and load assignment index
+                _a.sent();
+                // Run the Config Setup Process
+                _modules_settings__WEBPACK_IMPORTED_MODULE_0__.controller.load();
+                // Run the first capture loop and then setup the infinite sec loop
+                setInterval(function () { _modules_slayer__WEBPACK_IMPORTED_MODULE_1__.findTask(); }, _modules_settings__WEBPACK_IMPORTED_MODULE_0__.controller.data.autoCapture.loopTimer);
+                return [2 /*return*/];
+        }
+    });
+}); });
+// When we close the app, lets make sure we save the settings
+document.addEventListener("beforeunload", function (event) { return __awaiter(void 0, void 0, void 0, function () {
+    return __generator(this, function (_a) {
+        _modules_settings__WEBPACK_IMPORTED_MODULE_0__.controller.save();
+        return [2 /*return*/];
+    });
+}); });
+
+})();
+
+/******/       return __webpack_exports__;
+/******/ })()
+;
+});
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644 (file)
index 0000000..9811212
--- /dev/null
@@ -0,0 +1,29 @@
+{
+       "scripts": {
+               "prebuild": "node scripts/increment-version.js",
+               "build": "webpack",
+               "watch": "webpack --watch",
+               "preclean": "node scripts/install-rimraf.js",
+               "clean": "rimraf dist",
+               "tree": "node scripts/list-directories.js"
+       },
+       "dependencies": {
+               "acorn": "^8.12.1",
+               "alt1": "^0.0.1",
+               "copy-webpack-plugin": "^12.0.2",
+               "css-loader": "^7.1.2",
+               "sass-loader": "^16.0.0",
+               "source-map": "^0.7.4",
+               "style-loader": "^4.0.0",
+               "webpack-bundle-analyzer": "^4.10.2"
+       },
+       "devDependencies": {
+               "@types/node": "^12.12.54",
+               "sharp": "^0.31.3",
+               "source-map-explorer": "^2.5.3",
+               "ts-loader": "^9.5.1",
+               "typescript": "^5.6.3",
+               "webpack": "^5.95.0",
+               "webpack-cli": "^4.10.0"
+       }
+}
diff --git a/scripts/increment-version.js b/scripts/increment-version.js
new file mode 100644 (file)
index 0000000..248789f
--- /dev/null
@@ -0,0 +1,21 @@
+const fs = require('fs');
+const path = require('path');
+
+const versionFilePath = path.resolve(__dirname, '..', 'src/data/version.json');
+
+// Read the version file
+const versionData = JSON.parse(fs.readFileSync(versionFilePath, 'utf8'));
+let [major, minor, patch] = versionData.version.split('.').map(Number);
+
+// Increment the patch version (or change to minor/major if needed)
+patch++;
+if (patch >= 256) { minor++; patch = 0; }
+if (minor >= 256) { major++; minor = 0; }
+
+// Update the version data
+versionData.version = `${major}.${minor}.${patch}`;
+
+// Write the updated version back to the file
+fs.writeFileSync(versionFilePath, JSON.stringify(versionData, null, 2));
+
+console.log(`Updated version to ${versionData.version}`);
diff --git a/scripts/install-rimraf.js b/scripts/install-rimraf.js
new file mode 100644 (file)
index 0000000..f3c985f
--- /dev/null
@@ -0,0 +1,22 @@
+const { exec } = require('child_process');
+const fs = require('fs');
+const path = require('path');
+
+const packageJsonPath = path.resolve(__dirname, '..', 'node_modules', 'rimraf', 'package.json');
+
+console.log('Checking package.json path:', packageJsonPath);
+
+if (!fs.existsSync(packageJsonPath)) {
+    console.log('rimraf is not installed. Installing...');
+    exec('npm install --save-dev rimraf', (error, stdout, stderr) => {
+        if (error) {
+            console.error(`Error installing rimraf: ${error.message}`);
+            return;
+        }
+        if (stderr) {
+            console.error(`Error: ${stderr}`);
+            return;
+        }
+        console.log(stdout);
+    });
+}
diff --git a/scripts/list-directories.js b/scripts/list-directories.js
new file mode 100644 (file)
index 0000000..f5305be
--- /dev/null
@@ -0,0 +1,32 @@
+const fs = require('fs');
+const path = require('path');
+
+function listDirectories(dir, indent = '') {
+    const files = fs.readdirSync(dir);
+    const total = files.length;
+
+    files.forEach((file, index) => {
+        if (file !== 'node_modules' && file !== '.git') {
+            const fullPath = path.join(dir, file);
+            const stats = fs.statSync(fullPath);
+            const isDirectory = stats.isDirectory();
+
+            // Determine the prefix to use based on whether it's the last item
+            let prefix = '';
+            if (index === total - 1) {
+                prefix = isDirectory ? '└── ' : '└── ';
+            } else {
+                prefix = isDirectory ? '├── ' : '├── ';
+            }
+
+            // Print current directory/file with appropriate indentation
+            console.log(indent + prefix + file);
+
+            if (isDirectory) {
+                const nextIndent = indent + (index === total - 1 ? '    ' : '│   ');
+                listDirectories(fullPath, nextIndent); // Recursively list directories
+            }
+        }
+    });
+}
+listDirectories(path.join(__dirname, '..'));
\ No newline at end of file
diff --git a/slayer.unlishema.org.code-workspace b/slayer.unlishema.org.code-workspace
new file mode 100644 (file)
index 0000000..876a149
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "folders": [
+               {
+                       "path": "."
+               }
+       ],
+       "settings": {}
+}
\ No newline at end of file
diff --git a/src/appconfig.json b/src/appconfig.json
new file mode 100644 (file)
index 0000000..ae52cb6
--- /dev/null
@@ -0,0 +1,18 @@
+{
+       "appName": "Slayer Assistant",
+       "description": "Slayer Assistant is your go-to tool for efficient Slayer tasks in RuneScape. Designed for the Alt1 Toolkit, it provides instant access to task information, helping you make informed decisions quickly. Whether you're a new player or an experienced Slayer, this app streamlines the task selection process, making your gameplay smoother and more enjoyable.",
+       "appUrl": "https://slayer.unlishema.org/",
+       "configUrl": "https://slayer.unlishema.org/appconfig.json",
+       "iconUrl": "https://slayer.unlishema.org/images/icon.png",
+       "defaultWidth": 360,
+       "defaultHeight": 395,
+       "minWidth": 360,
+       "minHeight": 142,
+       "maxWidth": 400,
+       "maxHeight": 550,
+       "requestHandlers": [],
+       "activators": [
+               "regex:^Get task .*"
+       ],
+       "permissions": "pixel,gamestate,overlay"
+}
diff --git a/src/data/.htaccess b/src/data/.htaccess
new file mode 100644 (file)
index 0000000..6996f3c
--- /dev/null
@@ -0,0 +1,10 @@
+# Enable mod_rewrite
+RewriteEngine On
+
+# Apply rules inside the /data/ folder
+RewriteBase /data/
+
+# Rewrite any URL ending with .json to load the corresponding .php file
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule ^(.*)\.json$ $1.php [L]
diff --git a/src/data/assignments.php b/src/data/assignments.php
new file mode 100644 (file)
index 0000000..6f7b9a3
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+// Database credentials
+$host = 'localhost';  
+$db = 'slayer.unlishema.org'; 
+$user = 'slayer.db'; 
+$pass = 'r2YWbde6V9hr'; 
+
+// Function to return error as JSON and exit
+function respondWithError($message) {
+    header('Content-Type: application/json');
+    echo json_encode(['error' => $message]);
+    exit;
+}
+
+// Create connection
+$mysqli = new mysqli($host, $user, $pass, $db);
+if ($mysqli->connect_error) {
+    respondWithError("Connection failed: " . $mysqli->connect_error);
+}
+
+// Check for the 'q' query parameter
+$q = $_GET['q'] ?? 'all'; // Default to 'all'
+
+// Prepare SQL query
+$query = $q === 'all' ? "SELECT * FROM assignments" : "SELECT * FROM assignments WHERE `index` = ?";
+$stmt = $mysqli->prepare($query);
+if ($stmt === false) {
+    respondWithError("Prepare failed: " . $mysqli->error);
+}
+if ($q !== 'all') {
+    $stmt->bind_param("s", $q);
+}
+$stmt->execute();
+$result = $stmt->get_result();
+$data = [];
+
+// Helper function to process multiline string into array
+function parseLines($string) {
+    return array_filter(array_map('trim', explode("\r\n", $string)));
+}
+
+// Fetch data
+while ($row = $result->fetch_assoc()) {
+    $data[] = [
+        'id' => $row['id'],
+        'index' => $row['index'],
+        'default-creature' => $row['default_creature'],
+        'hidden-creatures' => parseLines($row['hidden_creatures'] ?? ''),
+        'alias' => parseLines($row['aliases'] ?? ''),
+        'masters' => parseLines($row['masters'] ?? ''),
+        'creatures' => parseLines($row['creatures'] ?? ''),
+        'equipment' => parseLines($row['equipment'] ?? ''),
+        'locations' => parseLines($row['locations'] ?? '')
+    ];
+}
+
+// Free the result set
+$result->free();
+
+// Set the header and output JSON
+header('Content-Type: application/json');
+echo json_encode($data, JSON_PRETTY_PRINT);
+
+// Close the statement and connection
+$stmt->close();
+$mysqli->close();
+?>
diff --git a/src/data/creatures.php b/src/data/creatures.php
new file mode 100644 (file)
index 0000000..9913a14
--- /dev/null
@@ -0,0 +1,97 @@
+<?php
+// Database credentials
+$host = 'localhost';  
+$db = 'slayer.unlishema.org'; 
+$user = 'slayer.db'; 
+$pass = 'r2YWbde6V9hr'; 
+
+// Function to return error as JSON and exit
+function respondWithError($message) {
+    header('Content-Type: application/json');
+    echo json_encode(['error' => $message]);
+    exit;
+}
+
+// Create connection
+$mysqli = new mysqli($host, $user, $pass, $db);
+if ($mysqli->connect_error) {
+    respondWithError("Connection failed: " . $mysqli->connect_error);
+}
+
+// Check for the 'q' query parameter
+$q = $_GET['q'] ?? 'all'; // Null coalescing operator for default value
+
+// Prepare SQL query for creatures and variants
+$query = $q === 'all' 
+    ? "SELECT c.*, v.id AS variant_id, v.name AS variant_name, v.image, v.experience, 
+              v.slayer_exp, v.lifepoint_exp, v.level, v.slayer_level, 
+              v.defence, v.lifepoints, v.max_melee, v.max_ranged, 
+              v.max_magic, v.max_necromancy, v.max_spec, v.susceptible, v.weaknesses 
+       FROM creatures c 
+       LEFT JOIN variants v ON c.id = v.creature_id"
+    : "SELECT c.*, v.id AS variant_id, v.name AS variant_name, v.image, v.experience, 
+              v.slayer_exp, v.lifepoint_exp, v.level, v.slayer_level, 
+              v.defence, v.lifepoints, v.max_melee, v.max_ranged, 
+              v.max_magic, v.max_necromancy, v.max_spec, v.susceptible, v.weaknesses 
+       FROM creatures c 
+       LEFT JOIN variants v ON c.id = v.creature_id WHERE c.name = ?";
+
+$stmt = $mysqli->prepare($query);
+if ($stmt === false) {
+    respondWithError("Prepare failed: " . $mysqli->error);
+}
+
+if ($q !== 'all') {
+    $stmt->bind_param("s", $q);
+}
+
+$stmt->execute();
+$result = $stmt->get_result();
+$data = [];
+
+// Fetch data
+while ($row = $result->fetch_assoc()) {
+    $creatureId = $row['id'];
+    // Check if this creature already exists in the data array
+    if (!isset($data[$creatureId])) {
+        $data[$creatureId] = [
+            'id' => $row['id'],
+            'name' => $row['name'],
+            'variants' => []
+        ];
+    }
+
+    // Check if the row contains variant data
+    if (isset($row['variant_id'])) { // Ensure variant_id exists
+        $variant = [
+            'id' => $row['variant_id'],
+            'name' => $row['variant_name'],
+            'image' => $row['image'],
+            'experience' => $row['experience'],
+            'slayer-exp' => $row['slayer_exp'],
+            'lifepoint-exp' => $row['lifepoint_exp'],
+            'level' => $row['level'],
+            'slayer-level' => $row['slayer_level'],
+            'defence' => $row['defence'],
+            'lifepoints' => $row['lifepoints'],
+            'max-melee' => $row['max_melee'],
+            'max-ranged' => $row['max_ranged'],
+            'max-magic' => $row['max_magic'],
+            'max-necromancy' => $row['max_necromancy'],
+            'max-spec' => $row['max_spec'],
+            'susceptible' => explode("\r\n", $row['susceptible'] ?: ''),
+            'weakness' => explode("\r\n", $row['weaknesses'] ?: '')
+        ];
+        $data[$creatureId]['variants'][] = $variant;
+    }
+}
+
+// Output JSON
+header('Content-Type: application/json');
+echo json_encode(array_values($data), JSON_PRETTY_PRINT);
+
+// Free the result set and close the connection
+$result->free();
+$stmt->close();
+$mysqli->close();
+?>
diff --git a/src/data/masters.php b/src/data/masters.php
new file mode 100644 (file)
index 0000000..d9a6aed
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+// Database credentials
+$host = 'localhost';  
+$db = 'slayer.unlishema.org'; 
+$user = 'slayer.db'; 
+$pass = 'r2YWbde6V9hr'; 
+
+// Function to return error as JSON and exit
+function respondWithError($message) {
+    header('Content-Type: application/json');
+    echo json_encode(['error' => $message]);
+    exit;
+}
+
+// Create connection
+$mysqli = new mysqli($host, $user, $pass, $db);
+if ($mysqli->connect_error) {
+    respondWithError("Connection failed: " . $mysqli->connect_error);
+}
+
+// Check for the 'q' query parameter and sanitize input
+$q = isset($_GET['q']) ? trim($_GET['q']) : 'all'; // Default to 'all'
+
+// Prepare SQL query with a safeguard against SQL injection
+$query = $q === 'all' ? "SELECT * FROM masters" : "SELECT * FROM masters WHERE `name` = ?";
+$stmt = $mysqli->prepare($query);
+if ($stmt === false) {
+    respondWithError("Prepare failed: " . $mysqli->error);
+}
+if ($q !== 'all') {
+    $stmt->bind_param("s", $q);
+}
+$stmt->execute();
+$result = $stmt->get_result();
+$data = [];
+
+// Fetch data
+while ($row = $result->fetch_assoc()) {
+    $taskCounts = [];
+    
+    // Handle empty counts gracefully
+    $countLines = !empty($row['counts']) ? explode("\r\n", $row['counts']) : []; 
+
+    foreach ($countLines as $line) {
+        if (strpos($line, ':') !== false) {
+            [$key, $count] = array_map('trim', explode(':', $line, 2)); // Limit to 2 parts
+            $taskCounts[$key] = $count;
+        }
+    }
+
+    $data[] = [
+        'id' => $row['id'],
+        'name' => $row['name'],
+        'url' => $row['url'],
+        'task-counts' => $taskCounts
+    ];
+}
+
+// Output JSON
+header('Content-Type: application/json');
+echo json_encode($data, JSON_PRETTY_PRINT);
+
+// Close the connection
+$stmt->close();
+$mysqli->close();
+?>
diff --git a/src/data/old/assignments.json b/src/data/old/assignments.json
new file mode 100644 (file)
index 0000000..b474aa5
--- /dev/null
@@ -0,0 +1,3787 @@
+[
+    {
+        "default-creature": "Aberrant spectre#Slayer Tower",
+        "weakness": [],
+        "creatures": ["Aberrant spectre"],
+        "hidden-creatures": [],
+        "index": "Aberrant spectres",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Nose_peg\" title=\"Nose peg\" target=\"_blank\">Nose peg<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal demon#Default",
+        "weakness": [],
+        "creatures": [
+            "Abyssal beast",
+            "Abyssal demon",
+            "Abyssal demon (elite)",
+            "Abyssal lord",
+            "Abyssal savage"
+        ],
+        "hidden-creatures": ["Abyssal demon (elite)"],
+        "index": "Abyssal Demons",
+        "alias": ["Abyssal demons"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Abyssal_Area\" title=\"Abyssal Area\" target=\"_blank\">Abyssal Area<\/a>",
+            "<a href=\"https://runescape.wiki/w/Graveyard_of_Shadows\" title=\"Graveyard of Shadows\" target=\"_blank\">Graveyard of Shadows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Forinthry_Dungeon\" title=\"Forinthry Dungeon\" target=\"_blank\">Forinthry Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal beast#Default",
+        "weakness": [],
+        "creatures": ["Abyssal beast"],
+        "hidden-creatures": [],
+        "index": "Abyssal beasts",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Senntisten_Asylum\" title=\"Senntisten Asylum\" target=\"_blank\">Senntisten Asylum<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal lord#Default",
+        "weakness": [],
+        "creatures": ["Abyssal lord"],
+        "hidden-creatures": [],
+        "index": "Abyssal lords",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Senntisten_Asylum\" title=\"Senntisten Asylum\" target=\"_blank\">Senntisten Asylum<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Abyssal savage#Asylum",
+        "weakness": [],
+        "creatures": ["Abyssal savage"],
+        "hidden-creatures": [],
+        "index": "Abyssal savages",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Senntisten_Asylum\" title=\"Senntisten Asylum\" target=\"_blank\">Senntisten Asylum<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Acheron mammoth#Default",
+        "weakness": [],
+        "creatures": ["Acheron mammoth"],
+        "hidden-creatures": [],
+        "index": "Acheron mammoths",
+        "alias": ["Acheron mammoth"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Mammoth_iceberg\" title=\"Mammoth iceberg\" target=\"_blank\">Mammoth iceberg<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Adamant dragon#Default",
+        "weakness": [],
+        "creatures": ["Adamant dragon"],
+        "hidden-creatures": [],
+        "index": "Adamant dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Adamant_dragon_dungeon\" title=\"Adamant dragon dungeon\" target=\"_blank\">Adamant dragon dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonkin_Lair\" title=\"Dragonkin Lair\" target=\"_blank\">Dragonkin Lair<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Airut#Melee",
+        "weakness": [],
+        "creatures": ["Airut"],
+        "hidden-creatures": [],
+        "index": "Airut",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Piscatoris_Fishing_Colony\" title=\"Piscatoris Fishing Colony\" target=\"_blank\">Piscatoris Fishing Colony<\/a>",
+            "<a href=\"https://runescape.wiki/w/Mazcab\" title=\"Mazcab\" target=\"_blank\">Mazcab<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ankou#Default",
+        "weakness": [],
+        "creatures": [
+            "Ankou",
+            "Ankou (Kili's Knowledge IV)",
+            "Ankou (elite)"
+        ],
+        "hidden-creatures": ["Ankou (elite)"],
+        "index": "Ankou",
+        "alias": ["Ankous"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Aquanite#Default",
+        "weakness": [],
+        "creatures": [
+            "Aquanite",
+            "Aquanite (elite)"
+        ],
+        "hidden-creatures": ["Aquanite (elite)"],
+        "index": "Aquanites",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Armoured phantom#1",
+        "weakness": [],
+        "creatures": ["Armoured phantom"],
+        "hidden-creatures": [],
+        "index": "Armoured phantoms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">Crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Capsarius#1",
+        "weakness": [],
+        "creatures": [
+            "Capsarius",
+            "Gladius",
+            "Legio Primus",
+            "Legio Quartus",
+            "Legio Quintus",
+            "Legio Secundus",
+            "Legio Sextus",
+            "Legio Tertius",
+            "Rorarius",
+            "Scutarius"
+        ],
+        "hidden-creatures": [],
+        "index": "Ascension members",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Monastery_of_Ascension\" title=\"Monastery of Ascension\" target=\"_blank\">Monastery of Ascension<\/a>"]
+    },
+    {
+        "default-creature": "Kree'arra#Normal",
+        "weakness": [],
+        "creatures": [
+            "Aviansie",
+            "Flight Kilisa",
+            "Flockleader Geerin",
+            "Kree'arra",
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior",
+            "Wingman Skree"
+        ],
+        "hidden-creatures": [
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior"
+        ],
+        "index": "Aviansies",
+        "alias": ["Aviansie"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<sup id=\"cite_ref-4\" class=\"reference\" target=\"_blank\" href=\"https://runescape.wiki\"><a href=\"#cite_note-4\">[n 3]<\/a><\/sup>"
+        ]
+    },
+    {
+        "default-creature": "Banshee#Default",
+        "weakness": [],
+        "creatures": [
+            "Banshee",
+            "Mighty banshee"
+        ],
+        "hidden-creatures": ["Mighty banshee"],
+        "index": "Banshees",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Earmuffs\" title=\"Earmuffs\" target=\"_blank\">Earmuffs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Masked_earmuffs\" title=\"Masked earmuffs\" target=\"_blank\">Masked earmuffs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>"
+        ],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"]
+    },
+    {
+        "default-creature": "Basilisk#Large",
+        "weakness": [],
+        "creatures": ["Basilisk"],
+        "hidden-creatures": [],
+        "index": "Basilisks",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Mirror_shield\" title=\"Mirror shield\" target=\"_blank\">Mirror shield<\/a>"],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bat#Default",
+        "weakness": [],
+        "creatures": [
+            "Albino bat",
+            "Bat",
+            "Giant bat",
+            "Warped bat"
+        ],
+        "hidden-creatures": [],
+        "index": "Bats",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Silvarea\" title=\"Silvarea\" target=\"_blank\">Silvarea<\/a>",
+            "<a href=\"https://runescape.wiki/w/Morytania\" title=\"Morytania\" target=\"_blank\">Morytania<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Black bear#Default",
+        "weakness": [],
+        "creatures": [
+            "Angry bear",
+            "Bear cub",
+            "Black bear",
+            "Grizzly bear",
+            "Grizzly bear cub"
+        ],
+        "hidden-creatures": [
+            "Angry bear",
+            "Bear cub",
+            "Grizzly bear",
+            "Grizzly bear cub"
+        ],
+        "index": "Bears",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": []
+    },
+    {
+        "default-creature": "Chicken#White",
+        "weakness": [],
+        "creatures": [
+            "Bird",
+            "Chicken",
+            "Chompy bird",
+            "Duck",
+            "Duckling",
+            "Jubbly bird",
+            "Mounted terrorbird gnome",
+            "Oomlie bird",
+            "Pekin",
+            "Penguin (monster)",
+            "Pernicious parrot",
+            "Rooster",
+            "Seagull",
+            "Tenacious toucan",
+            "Terrorbird",
+            "Undead chicken",
+            "Undead pekin"
+        ],
+        "hidden-creatures": [
+            "Bird",
+            "Chompy bird",
+            "Duckling",
+            "Jubbly bird",
+            "Mounted terrorbird gnome",
+            "Oomlie bird",
+            "Pekin",
+            "Penguin (monster)",
+            "Pernicious parrot",
+            "Rooster",
+            "Seagull",
+            "Tenacious toucan",
+            "Undead chicken",
+            "Undead pekin"
+        ],
+        "index": "Birds",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Jacquelyn"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ape_Atoll\" title=\"Ape Atoll\" target=\"_blank\">Ape Atoll<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crash_Island\" title=\"Crash Island\" target=\"_blank\">Crash Island<\/a>",
+            "<a href=\"https://runescape.wiki/w/Life_altar\" title=\"Life altar\" target=\"_blank\">Life altar<\/a>",
+            "<a href=\"https://runescape.wiki/w/Nature_altar\" title=\"Nature altar\" target=\"_blank\">Nature altar<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Black demon#1",
+        "weakness": [],
+        "creatures": [
+            "Balfrug Kreeyath",
+            "Black demon"
+        ],
+        "hidden-creatures": ["Balfrug Kreeyath"],
+        "index": "Black demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Queen Black Dragon#Normal",
+        "weakness": [],
+        "creatures": [
+            "Alanogard the Black",
+            "Baby black dragon",
+            "Black dragon",
+            "Black dragon (Dragonkin Laboratory)",
+            "King Black Dragon",
+            "Queen Black Dragon",
+            "Verak Lith",
+            "Verak Little"
+        ],
+        "hidden-creatures": [
+            "Alanogard the Black",
+            "Verak Lith",
+            "Verak Little"
+        ],
+        "index": "Black dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze\" title=\"Lava Maze\" target=\"_blank\">Lava Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Evil_Chicken%27s_Lair\" title=\"Evil Chicken's Lair\" target=\"_blank\">Evil Chicken's Lair<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bloodveld#Default",
+        "weakness": [],
+        "creatures": [
+            "Bloodveld",
+            "Bloodveld (God Wars Dungeon)",
+            "Bloodveld (Heart of Gielinor)",
+            "Mutated bloodveld"
+        ],
+        "hidden-creatures": [],
+        "index": "Bloodveld",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Meiyerditch_Dungeon\" class=\"mw-redirect\" title=\"Meiyerditch Dungeon\" target=\"_blank\">Meiyerditch Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Blue dragon#1",
+        "weakness": [],
+        "creatures": [
+            "Baby blue dragon",
+            "Blue dragon",
+            "Vorkath"
+        ],
+        "hidden-creatures": [],
+        "index": "Blue dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Kuradal",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Heroes%27_Guild\" title=\"Heroes' Guild\" target=\"_blank\">Heroes' Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bound skeleton#1",
+        "weakness": [],
+        "creatures": ["Bound skeleton"],
+        "hidden-creatures": [],
+        "index": "Bound skeletons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"]
+    },
+    {
+        "default-creature": "Brine rat#Default",
+        "weakness": [],
+        "creatures": ["Brine rat"],
+        "hidden-creatures": [],
+        "index": "Brine rats",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Brine_Rat_Cavern\" title=\"Brine Rat Cavern\" target=\"_blank\">Brine Rat Cavern<\/a>"]
+    },
+    {
+        "default-creature": "Bronze dragon#Default",
+        "weakness": [],
+        "creatures": ["Bronze dragon"],
+        "hidden-creatures": [],
+        "index": "Bronze dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Camel Warrior#Default",
+        "weakness": [],
+        "creatures": ["Camel Warrior"],
+        "hidden-creatures": [],
+        "index": "Camel warriors",
+        "alias": ["Camel Warrior"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Camel_Warriors_island\" title=\"Camel Warriors island\" target=\"_blank\">Camel Warriors island<\/a>"]
+    },
+    {
+        "default-creature": "Catablepon#Default",
+        "weakness": [],
+        "creatures": ["Catablepon"],
+        "hidden-creatures": [],
+        "index": "Catablepon",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>"]
+    },
+    {
+        "default-creature": "Cave bug#Level 11",
+        "weakness": [],
+        "creatures": ["Cave bug"],
+        "hidden-creatures": [],
+        "index": "Cave bugs",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Jacquelyn"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Burthorpe_Slayer_Cave\" title=\"Burthorpe Slayer Cave\" target=\"_blank\">Burthorpe Slayer Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Cave crawler#Level 24",
+        "weakness": [],
+        "creatures": ["Cave crawler"],
+        "hidden-creatures": [],
+        "index": "Cave crawlers",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Unspeakable horror#Default",
+        "weakness": [],
+        "creatures": [
+            "Cave horror",
+            "Cave horror (elite)",
+            "Unspeakable horror",
+            "Unspeakable horror (elite)"
+        ],
+        "hidden-creatures": [
+            "Cave horror (elite)",
+            "Unspeakable horror (elite)"
+        ],
+        "index": "Cave horrors",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Witchwood_icon\" title=\"Witchwood icon\" target=\"_blank\">Witchwood icon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Light_source\" class=\"mw-redirect\" title=\"Light source\" target=\"_blank\">Light source<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mos_Le%27Harmless_Caves\" title=\"Mos Le'Harmless Caves\" target=\"_blank\">Mos Le'Harmless Caves<\/a>"]
+    },
+    {
+        "default-creature": "Cave slime#Default",
+        "weakness": [],
+        "creatures": [
+            "Cave slime",
+            "Giant slime",
+            "Laboratory slime"
+        ],
+        "hidden-creatures": [
+            "Giant slime",
+            "Laboratory slime"
+        ],
+        "index": "Cave slimes",
+        "alias": ["Cave slime"],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Celestial dragon#Default",
+        "weakness": [],
+        "creatures": [
+            "Astellarn",
+            "Celestial dragon",
+            "Celestial dragon (Dragonkin Laboratory)",
+            "Elegorn the Celestial"
+        ],
+        "hidden-creatures": [
+            "Astellarn",
+            "Celestial dragon (Dragonkin Laboratory)"
+        ],
+        "index": "Celestial dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_antifire\" title=\"Super antifire\" target=\"_blank\">Super antifire<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Dragontooth_Island_resource_dungeon\" title=\"Dragontooth Island resource dungeon\" target=\"_blank\">Dragontooth Island resource dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Chaos Giant#Default",
+        "weakness": [],
+        "creatures": ["Chaos Giant"],
+        "hidden-creatures": [],
+        "index": "Chaos giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Barendir\" title=\"Barendir\" target=\"_blank\">Barendir<\/a>"]
+    },
+    {
+        "default-creature": "Cockatrice#Default",
+        "weakness": [],
+        "creatures": ["Cockatrice"],
+        "hidden-creatures": [],
+        "index": "Cockatrice",
+        "alias": ["Cockatrices"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Mirror_shield\" title=\"Mirror shield\" target=\"_blank\">Mirror shield<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Cockroach drone#Default",
+        "weakness": [],
+        "creatures": [
+            "Cockroach drone",
+            "Cockroach soldier",
+            "Cockroach worker",
+            "Warped cockroach"
+        ],
+        "hidden-creatures": [],
+        "index": "Cockroaches",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Catacombs\" title=\"Lumbridge Catacombs\" target=\"_blank\">Lumbridge Catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Player_Safety\" title=\"Stronghold of Player Safety\" target=\"_blank\">Stronghold of Player Safety<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Corrupted scorpion#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted dust devil",
+            "Corrupted kalphite guardian",
+            "Corrupted kalphite marauder",
+            "Corrupted lizard",
+            "Corrupted scarab",
+            "Corrupted scorpion",
+            "Corrupted worker"
+        ],
+        "hidden-creatures": [],
+        "index": "Corrupted creatures",
+        "alias": [
+            "Corrupted dust devils",
+            "Corrupted kalphites",
+            "Corrupted lizards",
+            "Corrupted scarabs",
+            "Corrupted scorpions",
+            "Corrupted worker"
+        ],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Feather_of_Ma%27at\" title=\"Feather of Ma'at\" target=\"_blank\">Feather of Ma'at<\/a>"],
+        "masters": [
+            "Sumona",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Sophanem_Slayer_Dungeon\" title=\"Sophanem Slayer Dungeon\" target=\"_blank\">Sophanem Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Cow#Standard (1)",
+        "weakness": [],
+        "creatures": [
+            "Cow",
+            "Cow calf",
+            "Super Cow",
+            "Undead cow"
+        ],
+        "hidden-creatures": [
+            "Cow calf",
+            "Super Cow",
+            "Undead cow"
+        ],
+        "index": "Cows",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Jacquelyn"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Crawling hand#10a",
+        "weakness": [],
+        "creatures": [
+            "Crawling hand",
+            "Skeletal hand",
+            "Zombie hand"
+        ],
+        "hidden-creatures": [
+            "Skeletal hand",
+            "Zombie hand"
+        ],
+        "index": "Crawling hands",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Chaeldar"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Burthorpe_Slayer_Cave\" title=\"Burthorpe Slayer Cave\" target=\"_blank\">Burthorpe Slayer Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Edimmu#Default",
+        "weakness": [],
+        "creatures": [
+            "Edimmu",
+            "Edimmu (elite)",
+            "Frost dragon",
+            "Kal'gerion demon",
+            "Seeker",
+            "Soulgazer"
+        ],
+        "hidden-creatures": ["Edimmu (elite)"],
+        "index": "Creatures of Daemonheim",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": []
+    },
+    {
+        "default-creature": "Bulbous crawler#Default",
+        "weakness": [],
+        "creatures": [
+            "Bulbous crawler",
+            "Moss golem",
+            "Vinecrawler"
+        ],
+        "hidden-creatures": [],
+        "index": "Creatures of the Lost Grove",
+        "alias": ["Lost Grove creatures"],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/The_Lost_Grove\" title=\"The Lost Grove\" target=\"_blank\">The Lost Grove<\/a>"]
+    },
+    {
+        "default-creature": "Automaton Generator#Post-quest",
+        "weakness": [],
+        "creatures": [
+            "Automaton Generator",
+            "Automaton Guardian",
+            "Automaton Tracer"
+        ],
+        "hidden-creatures": [],
+        "index": "Cres's creations",
+        "alias": ["Automatons"],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Guthix%27s_Cave\" class=\"mw-redirect\" title=\"Guthix's Cave\" target=\"_blank\">Guthix's Cave<\/a>"]
+    },
+    {
+        "default-creature": "Crocodile#40",
+        "weakness": [],
+        "creatures": [
+            "Crocodile",
+            "Crocodile akh",
+            "Ol' Sawtooth",
+            "Sea crocodile"
+        ],
+        "hidden-creatures": [
+            "Ol' Sawtooth",
+            "Sea crocodile"
+        ],
+        "index": "Crocodiles",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/River_Elid\" title=\"River Elid\" target=\"_blank\">Elid<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kharidian_Desert\" title=\"Kharidian Desert\" target=\"_blank\">Kharidian Desert<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Crystal Shapeshifter#Magic",
+        "weakness": [],
+        "creatures": ["Crystal Shapeshifter"],
+        "hidden-creatures": [],
+        "index": "Crystal shapeshifters",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Tarddiad\" title=\"Tarddiad\" target=\"_blank\">Tarddiad<\/a>"]
+    },
+    {
+        "default-creature": "Cyclops#57 (Crush)",
+        "weakness": [],
+        "creatures": [
+            "Cyclops",
+            "Cyclossus"
+        ],
+        "hidden-creatures": ["Cyclossus"],
+        "index": "Cyclopes",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<span class=\"floornumber\" target=\"_blank\" href=\"https://runescape.wiki\"><span class=\"floornumber-gb\">2<sup class=\"floornumber-ordinal-suffix\">nd<\/sup>&nbsp;floor<sup class=\"floornumber-help noexcerpt\">[<span class=\"fact-text floor-convention\" title=\"British convention; floor 3 in the US\">UK<\/span>]<\/sup><\/span><span class=\"floornumber-us noexcerpt\">3<sup class=\"floornumber-ordinal-suffix\">rd<\/sup>&nbsp;floor<sup class=\"floornumber-help noexcerpt\">[<span class=\"fact-text floor-convention\" title=\"US convention; floor 2 in the UK\">US<\/span>]<\/sup><\/span><\/span>",
+            "<a href=\"https://runescape.wiki/w/Warriors%27_Guild\" title=\"Warriors' Guild\" target=\"_blank\">Warriors' Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ardougne_Zoo\" title=\"Ardougne Zoo\" target=\"_blank\">Ardougne Zoo<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Dagannoth Rex#Default",
+        "weakness": [],
+        "creatures": [
+            "Dagannoth (Lighthouse)",
+            "Dagannoth (Waterbirth Island)",
+            "Dagannoth (Waterbirth Island, ranged)",
+            "Dagannoth Prime",
+            "Dagannoth Rex",
+            "Dagannoth Supreme",
+            "Dagannoth fledgeling",
+            "Dagannoth guardian",
+            "Dagannoth spawn"
+        ],
+        "hidden-creatures": [
+            "Dagannoth (Lighthouse)",
+            "Dagannoth (Waterbirth Island)",
+            "Dagannoth (Waterbirth Island, ranged)",
+            "Dagannoth fledgeling",
+            "Dagannoth guardian",
+            "Dagannoth spawn"
+        ],
+        "index": "Dagannoth",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lighthouse\" title=\"Lighthouse\" target=\"_blank\">Lighthouse<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterbirth_Island\" title=\"Waterbirth Island\" target=\"_blank\">Waterbirth Island<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Dark beast#19,000 life points",
+        "weakness": [],
+        "creatures": [
+            "Dark beast",
+            "Dark beast (elite)",
+            "Revenant dark beast"
+        ],
+        "hidden-creatures": [
+            "Dark beast (elite)",
+            "Revenant dark beast"
+        ],
+        "index": "Dark beasts",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Temple_of_Light\" title=\"Temple of Light\" target=\"_blank\">Temple of Light<\/a>"
+        ]
+    },
+    {
+        "default-creature": "K'ril Tsutsaroth#Normal",
+        "weakness": [],
+        "creatures": [
+            "Abyssal beast",
+            "Abyssal demon",
+            "Abyssal lord",
+            "Abyssal savage",
+            "Balfrug Kreeyath",
+            "Black demon",
+            "Cerberus Juvenile",
+            "Gargoyle",
+            "Greater demon",
+            "Greater demon ash lord",
+            "Greater demon berserker",
+            "Greater demon brute",
+            "Greater demon pyromancer",
+            "Greater demon sage",
+            "Greater demon savage",
+            "Imp",
+            "Imp scavenger",
+            "K'ril Tsutsaroth",
+            "Kal'gerion demon",
+            "Kal'gerion demon (The Shadow Reef)",
+            "Lesser demon",
+            "Revenant demon",
+            "Ripper Demon",
+            "Tormented demon",
+            "Tstanon Karlak",
+            "Yor'Ger the Deceiver",
+            "Zakl'n Gritch"
+        ],
+        "hidden-creatures": [
+            "Gargoyle",
+            "Imp",
+            "Kal'gerion demon",
+            "Kal'gerion demon (The Shadow Reef)",
+            "Tstanon Karlak",
+            "Yor'Ger the Deceiver",
+            "Zakl'n Gritch"
+        ],
+        "index": "Demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Corrupted lizard#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted lizard",
+            "Desert Lizard",
+            "Lizard",
+            "Small Lizard"
+        ],
+        "hidden-creatures": [],
+        "index": "Desert lizards",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Ice_cooler\" title=\"Ice cooler\" target=\"_blank\">Ice cooler<\/a>"],
+        "masters": [
+            "Mazchna",
+            "Sumona"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Kharidian_Desert\" title=\"Kharidian Desert\" target=\"_blank\">Kharidian Desert<\/a>"]
+    },
+    {
+        "default-creature": "Desert strykewyrm#Default",
+        "weakness": [],
+        "creatures": ["Desert strykewyrm"],
+        "hidden-creatures": [],
+        "index": "Desert strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Al_Kharid\" title=\"Al Kharid\" target=\"_blank\">Al Kharid<\/a>"]
+    },
+    {
+        "default-creature": "Ripper dinosaur#Normal",
+        "weakness": [],
+        "creatures": [
+            "Baby Dinosaur Skeleton",
+            "Brutish dinosaur",
+            "Feral Dinosaur",
+            "Orikalka",
+            "Osseous",
+            "Pthentraken",
+            "Rathis",
+            "Ripper dinosaur",
+            "Venomous dinosaur"
+        ],
+        "hidden-creatures": [],
+        "index": "Dinosaurs",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Anachronia\" title=\"Anachronia\" target=\"_blank\">Anachronia<\/a>"]
+    },
+    {
+        "default-creature": "Jackal#Default",
+        "weakness": [],
+        "creatures": [
+            "Guard dog",
+            "Jackal",
+            "Shadow Hound",
+            "Wild dog"
+        ],
+        "hidden-creatures": [
+            "Guard dog",
+            "Shadow Hound",
+            "Wild dog"
+        ],
+        "index": "Dogs",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ardougne\" title=\"Ardougne\" target=\"_blank\">Ardougne<\/a>",
+            "<a href=\"https://runescape.wiki/w/McGrubor%27s_Wood\" title=\"McGrubor's Wood\" target=\"_blank\">McGrubor's Wood<\/a>",
+            "<a href=\"https://runescape.wiki/w/Black_Arm_Gang\" title=\"Black Arm Gang\" target=\"_blank\">Black Arm Gang<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven\" title=\"Brimhaven\" target=\"_blank\">Brimhaven<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Queen Black Dragon#Normal",
+        "weakness": [],
+        "creatures": [
+            "Adamant dragon",
+            "Alanogard the Black",
+            "Astellarn",
+            "Baby blue dragon",
+            "Baby red dragon",
+            "Black dragon",
+            "Black dragon (Dragonkin Laboratory)",
+            "Black stone dragon",
+            "Blue dragon",
+            "Bronze dragon",
+            "Brutal green dragon",
+            "Celestial dragon",
+            "Celestial dragon (Dragonkin Laboratory)",
+            "Dragonstone dragon",
+            "Dragonstone dragon (Dragonkin Laboratory)",
+            "Elegorn the Celestial",
+            "Frost dragon",
+            "Green dragon",
+            "Hydrix dragon",
+            "Hydrix dragon (Dragonkin Laboratory)",
+            "Iron dragon",
+            "King Black Dragon",
+            "Mithril dragon",
+            "Nodon artificer",
+            "Nodon engineer",
+            "Nodon guard",
+            "Nodon hunter",
+            "Onyx dragon",
+            "Onyx dragon (Dragonkin Laboratory)",
+            "Queen Black Dragon",
+            "Red dragon",
+            "Red dragon (Dragonkin Laboratory)",
+            "Rune dragon",
+            "Sangri the Red",
+            "Siege engine",
+            "Steel dragon",
+            "Verak Lith",
+            "Verak Little",
+            "Vorkath"
+        ],
+        "hidden-creatures": [],
+        "index": "Dragons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Corrupted dust devil#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted dust devil",
+            "Dust devil",
+            "Dust devil (elite)"
+        ],
+        "hidden-creatures": ["Dust devil (elite)"],
+        "index": "Dust devils",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Face_mask\" title=\"Face mask\" target=\"_blank\">Face mask<\/a>",
+            "<a href=\"https://runescape.wiki/w/Masked_earmuffs\" title=\"Masked earmuffs\" target=\"_blank\">Masked earmuffs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>",
+            "<a href=\"https://runescape.wiki/w/Gas_mask\" title=\"Gas mask\" target=\"_blank\">Gas mask<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Smoke_Dungeon\" title=\"Smoke Dungeon\" target=\"_blank\">Smoke Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Earth warrior#Default",
+        "weakness": [],
+        "creatures": [
+            "Earth warrior",
+            "Earth warrior (elite)"
+        ],
+        "hidden-creatures": ["Earth warrior (elite)"],
+        "index": "Earth warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Edimmu#Default",
+        "weakness": [],
+        "creatures": [
+            "Edimmu",
+            "Edimmu (elite)"
+        ],
+        "hidden-creatures": ["Edimmu (elite)"],
+        "index": "Edimmu",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Dungeoneering\" title=\"Dungeoneering\" target=\"_blank\">Dungeoneering<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Edimmu_resource_dungeon\" title=\"Edimmu resource dungeon\" target=\"_blank\">Edimmu resource dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Elf warrior#Melee",
+        "weakness": [],
+        "creatures": [
+            "Cadarn magus",
+            "Cadarn ranger",
+            "Elf warrior",
+            "Iorwerth guard",
+            "Iorwerth scout",
+            "Knight of Ardougne (West Ardougne)",
+            "Mourner (Mourner Tunnels)",
+            "Seren archer",
+            "Seren mage",
+            "Seren warrior"
+        ],
+        "hidden-creatures": [
+            "Knight of Ardougne (West Ardougne)",
+            "Mourner (Mourner Tunnels)",
+            "Seren archer",
+            "Seren mage",
+            "Seren warrior"
+        ],
+        "index": "Elves",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lletya\" title=\"Lletya\" target=\"_blank\">Lletya<\/a>",
+            "<a href=\"https://runescape.wiki/w/Elf_Camp\" title=\"Elf Camp\" target=\"_blank\">Elf Camp<\/a>",
+            "<a href=\"https://runescape.wiki/w/Prifddinas\" title=\"Prifddinas\" target=\"_blank\">Prifddinas<\/a>",
+            "<a href=\"https://runescape.wiki/w/Heart_of_Gielinor\" title=\"Heart of Gielinor\" target=\"_blank\">Heart of Gielinor<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Fetid zombie#1",
+        "weakness": [],
+        "creatures": ["Fetid zombie"],
+        "hidden-creatures": [],
+        "index": "Fetid zombies",
+        "alias": [],
+        "equipment": [],
+        "masters": ["The Raptor"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Fever spider#Default",
+        "weakness": [],
+        "creatures": ["Fever spider"],
+        "hidden-creatures": [],
+        "index": "Fever spiders",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_gloves\" title=\"Slayer gloves\" target=\"_blank\">Slayer gloves<\/a>"],
+        "masters": ["Chaeldar"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Braindeath_Island\" title=\"Braindeath Island\" target=\"_blank\">Braindeath Island<\/a>"]
+    },
+    {
+        "default-creature": "Fire giant#Default",
+        "weakness": [],
+        "creatures": ["Fire giant"],
+        "hidden-creatures": [],
+        "index": "Fire giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Smoke_Dungeon\" title=\"Smoke Dungeon\" target=\"_blank\">Smoke Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Resource_dungeon\" class=\"mw-redirect\" title=\"Resource dungeon\" target=\"_blank\">Resource dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterfall_Dungeon\" title=\"Waterfall Dungeon\" target=\"_blank\">Waterfall Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Flesh Crawler#Default",
+        "weakness": [],
+        "creatures": ["Flesh Crawler"],
+        "hidden-creatures": [],
+        "index": "Fleshcrawlers",
+        "alias": ["Flesh Crawlers"],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>"]
+    },
+    {
+        "default-creature": "Plague frog#Default",
+        "weakness": [],
+        "creatures": [
+            "Big frog",
+            "Frog",
+            "Frogeel",
+            "Giant frog",
+            "Plague frog",
+            "Swamp frog"
+        ],
+        "hidden-creatures": [
+            "Big frog",
+            "Frogeel",
+            "Giant frog"
+        ],
+        "index": "Frogs",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp\" title=\"Lumbridge Swamp\" target=\"_blank\">Lumbridge Swamp<\/a>",
+            "<a href=\"https://runescape.wiki/w/Sophanem\" title=\"Sophanem\" target=\"_blank\">Sophanem<\/a>",
+            "<a href=\"https://runescape.wiki/w/Jade_vine_maze\" title=\"Jade vine maze\" target=\"_blank\">Jade vine maze<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Fungal mage#Normal",
+        "weakness": [],
+        "creatures": ["Fungal mage"],
+        "hidden-creatures": [],
+        "index": "Fungal magi",
+        "alias": ["Fungal mages"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Ganodermic beast#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ganodermic beast",
+            "Ganodermic runt"
+        ],
+        "hidden-creatures": [],
+        "index": "Ganodermic creatures",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Gargoyle#Regular",
+        "weakness": [],
+        "creatures": ["Gargoyle"],
+        "hidden-creatures": [],
+        "index": "Gargoyles",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Rock_hammer\" title=\"Rock hammer\" target=\"_blank\">Rock hammer<\/a>"],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ruins_(east)\" title=\"Ruins (east)\" target=\"_blank\">Ruins (east)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Gelatinous abomination#Default",
+        "weakness": [],
+        "creatures": ["Gelatinous abomination"],
+        "hidden-creatures": [],
+        "index": "Gelatinous abominations",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Spiked_gloves\" class=\"mw-redirect\" title=\"Spiked gloves\" target=\"_blank\">Spiked gloves<\/a>"],
+        "masters": ["Turael"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Burthorpe_Slayer_Cave\" title=\"Burthorpe Slayer Cave\" target=\"_blank\">Burthorpe Slayer Cave<\/a>"]
+    },
+    {
+        "default-creature": "Hydrix dragon#Default",
+        "weakness": [],
+        "creatures": [
+            "Black stone dragon",
+            "Dragonstone dragon",
+            "Dragonstone dragon (Dragonkin Laboratory)",
+            "Hydrix dragon",
+            "Hydrix dragon (Dragonkin Laboratory)",
+            "Onyx dragon",
+            "Onyx dragon (Dragonkin Laboratory)"
+        ],
+        "hidden-creatures": [],
+        "index": "Gemstone dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_anti-fire_potion\" class=\"mw-redirect\" title=\"Super anti-fire potion\" target=\"_blank\">Super anti-fire potion<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Gemstone_cavern\" title=\"Gemstone cavern\" target=\"_blank\">Gemstone cavern<\/a>"]
+    },
+    {
+        "default-creature": "Ghost#1",
+        "weakness": [],
+        "creatures": [
+            "Aberrant spectre",
+            "Ahrim the Blighted",
+            "Akrisae the Doomed",
+            "Ankou",
+            "Banshee",
+            "Dharok the Wretched",
+            "Edimmu",
+            "Edimmu (elite)",
+            "Ghast",
+            "Ghost",
+            "Ghost (Abandoned Mine)",
+            "Ghost (Ourania Runecrafting Altar)",
+            "Ghost (Shattered Worlds)",
+            "Ghost (Spirit of Summer)",
+            "Ghost (Stronghold of Security)",
+            "Ghost healer",
+            "Ghostly troll bruiser",
+            "Ghostly troll thrower",
+            "Ghostly warrior",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Linza the Disgraced",
+            "Masuta the Descended",
+            "Mighty banshee",
+            "Revenant cyclops",
+            "Revenant dark beast",
+            "Revenant demon",
+            "Revenant dragon",
+            "Revenant goblin",
+            "Revenant hellhound",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant knight",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf",
+            "Risen ghost",
+            "Shade",
+            "Shadow warrior",
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior",
+            "Torag the Corrupted",
+            "Tormented soul (Uncharted Isles)",
+            "Tormented wraith",
+            "Tortured soul (Port Phasmatys)",
+            "Verac the Defiled",
+            "Wight",
+            "Wight (Missing, Presumed Death)",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)"
+        ],
+        "hidden-creatures": [
+            "Edimmu (elite)",
+            "Ghost (Abandoned Mine)",
+            "Ghost (Ourania Runecrafting Altar)",
+            "Ghost (Shattered Worlds)",
+            "Ghost (Spirit of Summer)",
+            "Ghost (Stronghold of Security)",
+            "Revenant cyclops",
+            "Revenant demon",
+            "Revenant goblin",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf",
+            "Tormented soul (Uncharted Isles)",
+            "Tormented wraith",
+            "Tortured soul (Port Phasmatys)",
+            "Wight",
+            "Wight (Missing, Presumed Death)",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)"
+        ],
+        "index": "Ghosts",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka",
+            "The Raptor"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Draynor_Manor\" title=\"Draynor Manor\" target=\"_blank\">Draynor Manor<\/a>",
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Tarn%27s_Lair\" class=\"mw-redirect\" title=\"Tarn's Lair\" target=\"_blank\">Tarn's Lair<\/a>",
+            "<a href=\"https://runescape.wiki/w/Death_Altar\" class=\"mw-redirect\" title=\"Death Altar\" target=\"_blank\">Death Altar<\/a>",
+            "<a href=\"https://runescape.wiki/w/Haunted_Mine\" title=\"Haunted Mine\" target=\"_blank\">Haunted Mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clan_Wars\" title=\"Clan Wars\" target=\"_blank\">Clan Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Forgotten_Cemetery\" class=\"mw-redirect\" title=\"Forgotten Cemetery\" target=\"_blank\">Forgotten Cemetery<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ravenous ghoul#Default",
+        "weakness": [],
+        "creatures": [
+            "Ghoul",
+            "Ghoul (Paterdomus)",
+            "Ravenous ghoul",
+            "Ravenous ghoul (Mazchna)"
+        ],
+        "hidden-creatures": [
+            "Ghoul (Paterdomus)",
+            "Ravenous ghoul (Mazchna)"
+        ],
+        "index": "Ghouls",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Canifis\" title=\"Canifis\" target=\"_blank\">Canifis<\/a>"]
+    },
+    {
+        "default-creature": "Arch-Glacor#Normal mode",
+        "weakness": [],
+        "creatures": [
+            "Arch-Glacor",
+            "Bolstered Glacyte",
+            "Enduring glacyte",
+            "Glacor",
+            "Glacyte",
+            "Glacyte (Arch-Glacor)",
+            "Sapping glacyte",
+            "Unstable glacyte"
+        ],
+        "hidden-creatures": [],
+        "index": "Glacors",
+        "alias": ["Glacor"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Glacor_Cave\" title=\"Glacor Cave\" target=\"_blank\">Glacor Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Glacor_Front\" title=\"Glacor Front\" target=\"_blank\">Glacor front<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Goblin#Level 11",
+        "weakness": [],
+        "creatures": [
+            "Angry goblin",
+            "Brokeface",
+            "Cave goblin (monster)",
+            "Cave goblin guard",
+            "Cave goblin miner",
+            "Goblin",
+            "Goblin (Goblin Village)",
+            "Goblin (God Wars Dungeon)",
+            "Goblin (Stronghold of Security)",
+            "Guard (cave goblin)",
+            "Lumpnose",
+            "Sergeant Grimspike",
+            "Sergeant Steelwill",
+            "Sergeant Strongstack",
+            "Skoblin",
+            "Stinkears"
+        ],
+        "hidden-creatures": [
+            "Angry goblin",
+            "Brokeface",
+            "Cave goblin (monster)",
+            "Cave goblin guard",
+            "Cave goblin miner",
+            "Guard (cave goblin)",
+            "Lumpnose",
+            "Sergeant Grimspike",
+            "Sergeant Steelwill",
+            "Sergeant Strongstack",
+            "Skoblin"
+        ],
+        "index": "Goblins",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Jacquelyn"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_catacombs\" class=\"mw-redirect\" title=\"Lumbridge catacombs\" target=\"_blank\">Lumbridge catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Goblin_Village\" title=\"Goblin Village\" target=\"_blank\">Goblin Village<\/a>",
+            "<a href=\"https://runescape.wiki/w/Port_Sarim\" title=\"Port Sarim\" target=\"_blank\">Port Sarim<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Dig_Site\" title=\"Varrock Dig Site\" target=\"_blank\">Varrock Dig Site<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass<\/a>",
+            "<a href=\"https://runescape.wiki/w/Goblin_Cave\" title=\"Goblin Cave\" target=\"_blank\">Goblin Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Coal_truck_mining_site\" class=\"mw-redirect\" title=\"Coal truck mining site\" target=\"_blank\">Coal truck mining site<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Observatory\" title=\"Observatory\" target=\"_blank\">Observatory<\/a>",
+            "<a href=\"https://runescape.wiki/w/Gunnarsgrunn\" class=\"mw-redirect\" title=\"Gunnarsgrunn\" target=\"_blank\">Gunnarsgrunn<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Gorak#God Wars Dungeon",
+        "weakness": [],
+        "creatures": ["Gorak"],
+        "hidden-creatures": [],
+        "index": "Goraks",
+        "alias": ["Gorak"],
+        "equipment": [],
+        "masters": ["Duradel"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fairy_ring\" class=\"mw-redirect\" title=\"Fairy ring\" target=\"_blank\">Fairy ring<\/a>",
+            "<span class=\"fairycode\" style=\"word-break:keep-all\" target=\"_blank\" href=\"https://runescape.wiki\"><b>D<\/b><b>I<\/b><b>R<\/b><\/span>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Greater demon ash lord#Wilderness",
+        "weakness": [],
+        "creatures": [
+            "Greater demon ash lord",
+            "Greater demon berserker"
+        ],
+        "hidden-creatures": [],
+        "index": "Greater demon berserkers and ash lords",
+        "alias": [
+            "Greater demon ash lords",
+            "Greater demon berserkers"
+        ],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/The_Zamorakian_Undercity\" title=\"The Zamorakian Undercity\" target=\"_blank\">The Zamorakian Undercity<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "K'ril Tsutsaroth#Normal",
+        "weakness": [],
+        "creatures": [
+            "Butcher demon",
+            "Champion of Infernus",
+            "Chaos Demon",
+            "Chaos Demon Savage",
+            "Denizen of Infernus",
+            "Greater demon",
+            "Greater demon (elite)",
+            "Greater demon ash lord",
+            "Greater demon berserker",
+            "Greater demon brute",
+            "Greater demon pyromancer",
+            "Greater demon sage",
+            "Greater demon savage",
+            "K'ril Tsutsaroth",
+            "Kor'Vath the Blightbringer",
+            "La'Kalor the Unbroken",
+            "Shara'Kor the Widowmaker",
+            "Tstanon Karlak"
+        ],
+        "hidden-creatures": [
+            "Butcher demon",
+            "Champion of Infernus",
+            "Greater demon (elite)"
+        ],
+        "index": "Greater demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Entrana_Dungeon\" title=\"Entrana Dungeon\" target=\"_blank\">Entrana Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Demonic_ruins\" class=\"mw-redirect\" title=\"Demonic ruins\" target=\"_blank\">Demonic ruins<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze_Dungeon\" title=\"Lava Maze Dungeon\" target=\"_blank\">Lava Maze Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Green dragon#1",
+        "weakness": [],
+        "creatures": [
+            "Brutal green dragon",
+            "Green dragon"
+        ],
+        "hidden-creatures": [],
+        "index": "Green dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Mazchna",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Chaos_tunnels\" class=\"mw-redirect\" title=\"Chaos tunnels\" target=\"_blank\">Chaos tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clan_Wars\" title=\"Clan Wars\" target=\"_blank\">Clan Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Goblin_Village\" title=\"Goblin Village\" target=\"_blank\">Goblin Village<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Grifolapine#Normal",
+        "weakness": [],
+        "creatures": ["Grifolapine"],
+        "hidden-creatures": [],
+        "index": "Grifolapines",
+        "alias": [],
+        "equipment": [
+            "<span class=\"pic-link inventory-image\" target=\"_blank\" href=\"https://runescape.wiki\"><span class=\"mw-default-size\" typeof=\"mw:File\"><a href=\"/w/Neem_oil\" title=\"Neem oil\"><img alt=\"Neem oil.png: RS3 Inventory image of Neem oil\" src=\"/images/Neem_oil.png?f5dec\" decoding=\"async\" loading=\"lazy\" width=\"27\" height=\"29\" class=\"mw-file-element\" data-file-width=\"27\" data-file-height=\"29\"><\/a><\/span><\/span>",
+            "<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Grifolaroo#Normal",
+        "weakness": [],
+        "creatures": ["Grifolaroo"],
+        "hidden-creatures": [],
+        "index": "Grifolaroos",
+        "alias": [],
+        "equipment": [
+            "<span class=\"pic-link inventory-image\" target=\"_blank\" href=\"https://runescape.wiki\"><span class=\"mw-default-size\" typeof=\"mw:File\"><a href=\"/w/Neem_oil\" title=\"Neem oil\"><img alt=\"Neem oil.png: RS3 Inventory image of Neem oil\" src=\"/images/Neem_oil.png?f5dec\" decoding=\"async\" loading=\"lazy\" width=\"27\" height=\"29\" class=\"mw-file-element\" data-file-width=\"27\" data-file-height=\"29\"><\/a><\/span><\/span>",
+            "<a href=\"https://runescape.wiki/w/Neem_oil\" title=\"Neem oil\" target=\"_blank\">Neem oil<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Polypore_Dungeon\" title=\"Polypore Dungeon\" target=\"_blank\">Polypore Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Mature grotworm#Default",
+        "weakness": [],
+        "creatures": [
+            "Giant worm",
+            "Grotworm",
+            "Mature grotworm",
+            "Young grotworm"
+        ],
+        "hidden-creatures": ["Giant worm"],
+        "index": "Grotworms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "The Raptor",
+            "Mazchna",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Grotworm_Lair\" title=\"Grotworm Lair\" target=\"_blank\">Grotworm Lair<\/a>"]
+    },
+    {
+        "default-creature": "Harpie Bug Swarm#Default",
+        "weakness": [],
+        "creatures": [
+            "Harpie Bug Swarm",
+            "Harpie Bug Swarm (elite)"
+        ],
+        "hidden-creatures": ["Harpie Bug Swarm (elite)"],
+        "index": "Harpie bug swarms",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Bug_lantern\" class=\"mw-redirect\" title=\"Bug lantern\" target=\"_blank\">Bug lantern<\/a>"],
+        "masters": ["Chaeldar"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Karamja\" title=\"Karamja\" target=\"_blank\">Karamja<\/a>"]
+    },
+    {
+        "default-creature": "Hellhound#Normal",
+        "weakness": [],
+        "creatures": [
+            "Cerberus Juvenile",
+            "Hellhound",
+            "Hellhound (Heart of Gielinor)",
+            "Hellhound (The Zamorakian Undercity)",
+            "Hellhound (summoned)",
+            "Hellhound Alpha",
+            "Hellhound Hunter",
+            "Hellhound Hunter (summoned)",
+            "Revenant hellhound"
+        ],
+        "hidden-creatures": ["Hellhound (Heart of Gielinor)"],
+        "index": "Hellhounds",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Deserted_Keep\" title=\"Deserted Keep\" target=\"_blank\">Deserted Keep<\/a>",
+            "<a href=\"https://runescape.wiki/w/Witchaven_Shrine_Dungeon\" class=\"mw-redirect\" title=\"Witchaven Shrine Dungeon\" target=\"_blank\">Witchaven Shrine Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Hill Giant#Default",
+        "weakness": [],
+        "creatures": ["Hill Giant"],
+        "hidden-creatures": [],
+        "index": "Hill giants",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Deep_Wilderness_Dungeon\" title=\"Deep Wilderness Dungeon\" target=\"_blank\">Deep Wilderness Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<sup target=\"_blank\" href=\"https://runescape.wiki\">(<a href=\"/w/Edgeville_Dungeon_hill_giant_resource_dungeon\" title=\"Edgeville Dungeon hill giant resource dungeon\">resource dungeon<\/a>)<\/sup>",
+            "<a href=\"https://runescape.wiki/w/Gnome_Stronghold\" class=\"mw-redirect\" title=\"Gnome Stronghold\" target=\"_blank\">Gnome Stronghold<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze\" title=\"Lava Maze\" target=\"_blank\">Lava Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Observatory\" title=\"Observatory\" target=\"_blank\">Observatory<\/a>",
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Tree_Gnome_Village_(location)\" title=\"Tree Gnome Village (location)\" target=\"_blank\">Tree Gnome Village<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Hobgoblin#Level 15",
+        "weakness": [],
+        "creatures": [
+            "Hobgoblin",
+            "Hobgoblin (elite)"
+        ],
+        "hidden-creatures": ["Hobgoblin (elite)"],
+        "index": "Hobgoblins",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Dungeon\" title=\"Asgarnian Ice Dungeon\" target=\"_blank\">Asgarnian Ice Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crandor\" title=\"Crandor\" target=\"_blank\">Crandor<\/a>",
+            "<a href=\"https://runescape.wiki/w/Hobgoblin_Peninsula\" title=\"Hobgoblin Peninsula\" target=\"_blank\">Hobgoblin Peninsula<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Rellekka\" title=\"Rellekka\" target=\"_blank\">Rellekka<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterbirth_Island\" title=\"Waterbirth Island\" target=\"_blank\">Waterbirth Island<\/a>",
+            "<a href=\"https://runescape.wiki/w/Hobgoblin_Mine\" class=\"mw-redirect\" title=\"Hobgoblin Mine\" target=\"_blank\">Hobgoblin Mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Witchaven_Dungeon\" title=\"Witchaven Dungeon\" target=\"_blank\">Witchaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Hydrix dragon#Default",
+        "weakness": [],
+        "creatures": ["Hydrix dragon"],
+        "hidden-creatures": [],
+        "index": "Hydrix dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_anti-fire_potion\" class=\"mw-redirect\" title=\"Super anti-fire potion\" target=\"_blank\">Super anti-fire potion<\/a>"],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Wilderness_(level_47)_Lava_Maze_mine\" title=\"Wilderness (level 47) Lava Maze mine\" target=\"_blank\">Wilderness (level 47) Lava Maze mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Deep_Wilderness_Dungeon\" title=\"Deep Wilderness Dungeon\" target=\"_blank\">Deep Wilderness Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ice giant#Level 47 (1)",
+        "weakness": [],
+        "creatures": ["Ice giant"],
+        "hidden-creatures": [],
+        "index": "Ice giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Caves\" class=\"mw-redirect\" title=\"Asgarnian Ice Caves\" target=\"_blank\">Asgarnian Ice Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>",
+            "<a href=\"https://runescape.wiki/w/White_Wolf_Mountain\" title=\"White Wolf Mountain\" target=\"_blank\">White Wolf Mountain<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ice strykewyrm#Default",
+        "weakness": [],
+        "creatures": ["Ice strykewyrm"],
+        "hidden-creatures": [],
+        "index": "Ice strykewyrms",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Fire_cape\" title=\"Fire cape\" target=\"_blank\">Fire cape<\/a>"],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ice_strykewyrm_cave\" title=\"Ice strykewyrm cave\" target=\"_blank\">Ice strykewyrm cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Ice warrior#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ice warrior",
+            "Icelord"
+        ],
+        "hidden-creatures": ["Icelord"],
+        "index": "Ice warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/White_Wolf_Mountain\" title=\"White Wolf Mountain\" target=\"_blank\">White Wolf Mountain<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>",
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Caves\" class=\"mw-redirect\" title=\"Asgarnian Ice Caves\" target=\"_blank\">Asgarnian Ice Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Icefiend#God Wars Dungeon",
+        "weakness": [],
+        "creatures": [
+            "Icefiend",
+            "Icefiend (Ghorrock)",
+            "Revenant icefiend"
+        ],
+        "hidden-creatures": ["Icefiend (Ghorrock)"],
+        "index": "Icefiends",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ice_mountain\" class=\"mw-redirect\" title=\"Ice mountain\" target=\"_blank\">Ice mountain<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Infernal Mage#Default",
+        "weakness": [],
+        "creatures": [
+            "Infernal Mage",
+            "Infernal Mage (elite)"
+        ],
+        "hidden-creatures": ["Infernal Mage (elite)"],
+        "index": "Infernal mages",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Iron dragon#Default",
+        "weakness": [],
+        "creatures": ["Iron dragon"],
+        "hidden-creatures": [],
+        "index": "Iron dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>",
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Jelly#Default",
+        "weakness": [],
+        "creatures": ["Jelly"],
+        "hidden-creatures": [],
+        "index": "Jellies",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Soul_Wars\" title=\"Soul Wars\" target=\"_blank\">Soul Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Mahjarrat_Ritual_Site_Cavern\" class=\"mw-redirect\" title=\"Mahjarrat Ritual Site Cavern\" target=\"_blank\">Mahjarrat Ritual Site Cavern<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Jungle horror#Default",
+        "weakness": [],
+        "creatures": [
+            "Jungle horror",
+            "Quetzathog",
+            "Sea horror"
+        ],
+        "hidden-creatures": [
+            "Quetzathog",
+            "Sea horror"
+        ],
+        "index": "Jungle horrors",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mos_Le%27Harmless\" title=\"Mos Le'Harmless\" target=\"_blank\">Mos Le'Harmless<\/a>"]
+    },
+    {
+        "default-creature": "Jungle strykewyrm#Default",
+        "weakness": [],
+        "creatures": ["Jungle strykewyrm"],
+        "hidden-creatures": [],
+        "index": "Jungle strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/South_Feldip_Hills\" title=\"South Feldip Hills\" target=\"_blank\">South Feldip Hills<\/a>"]
+    },
+    {
+        "default-creature": "Kal'gerion demon#Bloodchiller",
+        "weakness": [],
+        "creatures": [
+            "Kal'gerion demon",
+            "Kal'gerion demon (The Shadow Reef)",
+            "Yor'Ger the Deceiver"
+        ],
+        "hidden-creatures": [],
+        "index": "Kal'gerion demons",
+        "alias": ["Kal'gerion demon"],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kal%27gerion_resource_dungeon\" title=\"Kal'gerion resource dungeon\" target=\"_blank\">Kal'gerion resource dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Demonic_Ruins\" title=\"Demonic Ruins\" target=\"_blank\">Demonic Ruins<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Corrupted kalphite guardian#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted kalphite guardian",
+            "Corrupted kalphite marauder",
+            "Exiled Kalphite Queen",
+            "Exiled kalphite guardian",
+            "Exiled kalphite marauder",
+            "Exiled kalphite paragon",
+            "Exiled kalphite soldier",
+            "Exiled kalphite worker",
+            "Kalphite Guardian",
+            "Kalphite King",
+            "Kalphite Queen",
+            "Kalphite Soldier",
+            "Kalphite Worker"
+        ],
+        "hidden-creatures": [
+            "Exiled kalphite guardian",
+            "Exiled kalphite marauder",
+            "Exiled kalphite paragon"
+        ],
+        "index": "Kalphite",
+        "alias": ["Kalphites"],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "The Raptor",
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kalphite_Lair\" class=\"mw-redirect\" title=\"Kalphite Lair\" target=\"_blank\">Kalphite Lair<\/a>",
+            "<a href=\"https://runescape.wiki/w/Exiled_Kalphite_Hive\" title=\"Exiled Kalphite Hive\" target=\"_blank\">Exiled Kalphite Hive<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Killerwatt#Default",
+        "weakness": [],
+        "creatures": ["Killerwatt"],
+        "hidden-creatures": [],
+        "index": "Killerwatts",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Insulated_boots\" title=\"Insulated boots\" target=\"_blank\">Insulated boots<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Killerwatt_plane\" title=\"Killerwatt plane\" target=\"_blank\">Killerwatt plane<\/a>"]
+    },
+    {
+        "default-creature": "Kurask#Examine #1",
+        "weakness": [],
+        "creatures": ["Kurask"],
+        "hidden-creatures": [],
+        "index": "Kurask",
+        "alias": ["Kurasks"],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_sword\" title=\"Leaf-bladed sword\" target=\"_blank\">Leaf-bladed sword<\/a>",
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_spear\" title=\"Leaf-bladed spear\" target=\"_blank\">Leaf-bladed spear<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Dart\" title=\"Slayer Dart\" target=\"_blank\">Slayer Dart<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad_arrows\" class=\"mw-redirect\" title=\"Broad arrows\" target=\"_blank\">Broad arrows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad-tipped_bolts\" title=\"Broad-tipped bolts\" target=\"_blank\">Broad-tipped bolts<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Lava strykewyrm#Default",
+        "weakness": [],
+        "creatures": [
+            "Engorged lava strykewyrm",
+            "Lava strykewyrm",
+            "Lava strykewyrm (Dragonkin Laboratory)",
+            "WildyWyrm (2015, historical)"
+        ],
+        "hidden-creatures": [
+            "Engorged lava strykewyrm",
+            "Lava strykewyrm (Dragonkin Laboratory)"
+        ],
+        "index": "Lava strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"]
+    },
+    {
+        "default-creature": "Lesser demon#1",
+        "weakness": [],
+        "creatures": [
+            "Lesser demon",
+            "Lesser demon (Wizards' Tower)",
+            "Zakl'n Gritch"
+        ],
+        "hidden-creatures": [],
+        "index": "Lesser demons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Mazchna",
+            "Chaeldar",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Wizards%27_Tower\" title=\"Wizards' Tower\" target=\"_blank\">Wizards' Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Resource_dungeon\" class=\"mw-redirect\" title=\"Resource dungeon\" target=\"_blank\">Resource dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja_Dungeon\" class=\"mw-redirect\" title=\"Karamja Dungeon\" target=\"_blank\">Karamja Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crandor\" title=\"Crandor\" target=\"_blank\">Crandor<\/a>",
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Demonic_Ruins\" title=\"Demonic Ruins\" target=\"_blank\">Demonic Ruins<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clan_Wars\" title=\"Clan Wars\" target=\"_blank\">Clan Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lava_Maze\" title=\"Lava Maze\" target=\"_blank\">Lava Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Living rock patriarch#Default",
+        "weakness": [],
+        "creatures": [
+            "Living rock patriarch",
+            "Living rock protector",
+            "Living rock striker"
+        ],
+        "hidden-creatures": [],
+        "index": "Living rock creatures",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Kuradal"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Living_rock_caverns\" class=\"mw-redirect\" title=\"Living rock caverns\" target=\"_blank\">Living rock caverns<\/a>"]
+    },
+    {
+        "default-creature": "Wyvern#Default",
+        "weakness": [],
+        "creatures": [
+            "Wyvern",
+            "Wyvern (elite)"
+        ],
+        "hidden-creatures": ["Wyvern (elite)"],
+        "index": "Living wyverns",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Wyrmfire_potion\" title=\"Wyrmfire potion\" target=\"_blank\">Wyrmfire potion<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Elemental_Workshop_equipment\" title=\"Elemental Workshop equipment\" target=\"_blank\">Elemental Workshop shield<\/a>"
+        ],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Dungeon\" title=\"Asgarnian Ice Dungeon\" target=\"_blank\">Asgarnian Ice Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Frozen_Waste_Plateau\" title=\"Frozen Waste Plateau\" target=\"_blank\">Frozen Waste Plateau<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Minotaur#Level 12",
+        "weakness": [],
+        "creatures": ["Minotaur"],
+        "hidden-creatures": [],
+        "index": "Minotaurs",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>"]
+    },
+    {
+        "default-creature": "Mithril dragon#Default",
+        "weakness": [],
+        "creatures": ["Mithril dragon"],
+        "hidden-creatures": [],
+        "index": "Mithril dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Ancient_Cavern\" title=\"Ancient Cavern\" target=\"_blank\">Ancient Cavern<\/a>"]
+    },
+    {
+        "default-creature": "Mogre#Default",
+        "weakness": [],
+        "creatures": ["Mogre"],
+        "hidden-creatures": [],
+        "index": "Mogres",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Super_fishing_explosive\" title=\"Super fishing explosive\" target=\"_blank\">Super<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fishing_explosive\" title=\"Fishing explosive\" target=\"_blank\">Fishing explosives<\/a>"
+        ],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mudskipper_Point\" title=\"Mudskipper Point\" target=\"_blank\">Mudskipper Point<\/a>"]
+    },
+    {
+        "default-creature": "Molanisk#Default",
+        "weakness": [],
+        "creatures": ["Molanisk"],
+        "hidden-creatures": [],
+        "index": "Molanisks",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_bell\" title=\"Slayer bell\" target=\"_blank\">Slayer bell<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Moss giant#Common (1)",
+        "weakness": [],
+        "creatures": ["Moss giant"],
+        "hidden-creatures": [],
+        "index": "Moss giants",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Mazchna"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crandor_Isle\" class=\"mw-redirect\" title=\"Crandor Isle\" target=\"_blank\">Crandor Isle<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fishing_Guild\" title=\"Fishing Guild\" target=\"_blank\">Fishing Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Moss_Giant_Island\" title=\"Moss Giant Island\" target=\"_blank\">Moss Giant Island<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pirates%27_Cove\" title=\"Pirates' Cove\" target=\"_blank\">Pirates' Cove<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Glarial%27s_Tomb\" title=\"Glarial's Tomb\" target=\"_blank\">Glarial's Tomb<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Bladed muspah#Default",
+        "weakness": [],
+        "creatures": [
+            "Bladed muspah",
+            "Force muspah",
+            "Throwing muspah"
+        ],
+        "hidden-creatures": [],
+        "index": "Muspah",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Freneskae\" title=\"Freneskae\" target=\"_blank\">Freneskae<\/a>"]
+    },
+    {
+        "default-creature": "Mutated jadinko baby#Default",
+        "weakness": [],
+        "creatures": [
+            "Mutated jadinko baby",
+            "Mutated jadinko guard",
+            "Mutated jadinko male"
+        ],
+        "hidden-creatures": [],
+        "index": "Mutated jadinkos",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Jadinko_Lair\" title=\"Jadinko Lair\" target=\"_blank\">Jadinko Lair<\/a>"]
+    },
+    {
+        "default-creature": "Mutated zygomite#Level 58",
+        "weakness": [],
+        "creatures": ["Mutated zygomite"],
+        "hidden-creatures": [],
+        "index": "Mutated zygomites",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Fungicide_spray\" title=\"Fungicide spray\" target=\"_blank\">Fungicide spray<\/a>"],
+        "masters": ["Chaeldar"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Zanaris\" title=\"Zanaris\" target=\"_blank\">Zanaris<\/a>"]
+    },
+    {
+        "default-creature": "Nechryael#Default",
+        "weakness": [],
+        "creatures": [
+            "Nechryael",
+            "Nechryael (Heart of Gielinor)",
+            "Nechryael (elite)"
+        ],
+        "hidden-creatures": [
+            "Nechryael (Heart of Gielinor)",
+            "Nechryael (elite)"
+        ],
+        "index": "Nechryael",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Slayer_Tower\" title=\"Slayer Tower\" target=\"_blank\">Slayer Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Nightmare#Default",
+        "weakness": [],
+        "creatures": ["Nightmare"],
+        "hidden-creatures": [],
+        "index": "Nightmare creatures",
+        "alias": ["Nightmare"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Freneskae#The_Ritual_Site\" title=\"Freneskae\" target=\"_blank\">Freneskae (Ritual Site)<\/a>"]
+    },
+    {
+        "default-creature": "Blood nihil#normal",
+        "weakness": [],
+        "creatures": [
+            "Blood nihil",
+            "Ice nihil",
+            "Shadow nihil",
+            "Smoke nihil"
+        ],
+        "hidden-creatures": [],
+        "index": "Nihil",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Freneskae#The_Pit\" title=\"Freneskae\" target=\"_blank\">Freneskae (the Pit)<\/a>"]
+    },
+    {
+        "default-creature": "Nodon guard#Default",
+        "weakness": [],
+        "creatures": [
+            "Kerapac, the bound",
+            "Nodon artificer",
+            "Nodon enforcer",
+            "Nodon engineer",
+            "Nodon guard",
+            "Nodon hunter",
+            "Siege engine"
+        ],
+        "hidden-creatures": [],
+        "index": "Nodon dragonkin",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Nodon_Front\" title=\"Nodon Front\" target=\"_blank\">Nodon Front<\/a>"]
+    },
+    {
+        "default-creature": "Enclave guard#Default",
+        "weakness": [],
+        "creatures": [
+            "Enclave guard",
+            "Mogre",
+            "Ogre",
+            "Ogre chieftain",
+            "Ogress",
+            "Ogress champion",
+            "Ogress warrior",
+            "Skogre",
+            "Zogre"
+        ],
+        "hidden-creatures": ["Skogre"],
+        "index": "Ogres",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Yanille\" title=\"Yanille\" target=\"_blank\">Yanille<\/a>",
+            "<a href=\"https://runescape.wiki/w/Castle_Wars\" title=\"Castle Wars\" target=\"_blank\">Castle Wars<\/a>",
+            "<a href=\"https://runescape.wiki/w/Gu%27Tanoth\" title=\"Gu'Tanoth\" target=\"_blank\">Gu'Tanoth<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Druid_Tower\" title=\"Chaos Druid Tower\" target=\"_blank\">Chaos Druid Tower<\/a>",
+            "<a href=\"https://runescape.wiki/w/Clock_Tower_Dungeon\" title=\"Clock Tower Dungeon\" target=\"_blank\">Clock Tower Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Witchaven_Dungeon\" title=\"Witchaven Dungeon\" target=\"_blank\">Witchaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass (dungeon)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Combat_Training_Camp\" title=\"Combat Training Camp\" target=\"_blank\">Combat Training Camp<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Onyx dragon#Default",
+        "weakness": [],
+        "creatures": ["Onyx dragon"],
+        "hidden-creatures": [],
+        "index": "Onyx dragons",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_anti-fire_potion\" class=\"mw-redirect\" title=\"Super anti-fire potion\" target=\"_blank\">Super anti-fire potion<\/a>"],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Gemstone_cavern\" title=\"Gemstone cavern\" target=\"_blank\">Gemstone cavern<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Deep_Wilderness_Dungeon\" title=\"Deep Wilderness Dungeon\" target=\"_blank\">Deep Wilderness Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Otherworldly being#Default",
+        "weakness": [],
+        "creatures": ["Otherworldly being"],
+        "hidden-creatures": [],
+        "index": "Otherworldly beings",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Zanaris\" title=\"Zanaris\" target=\"_blank\">Zanaris<\/a>"]
+    },
+    {
+        "default-creature": "Pyrefiend#Level 38",
+        "weakness": [],
+        "creatures": [
+            "Pyrefiend",
+            "Pyrefiend (The Zamorakian Undercity)",
+            "Pyrefiend (summoned)",
+            "Revenant pyrefiend",
+            "Seething Pyrefiend",
+            "Smoulders",
+            "Smoulders, the Revenger"
+        ],
+        "hidden-creatures": [],
+        "index": "Pyrefiends",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Smoke_Dungeon\" title=\"Smoke Dungeon\" target=\"_blank\">Smoke Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Warped rat#Default",
+        "weakness": [],
+        "creatures": [
+            "Angry giant rat",
+            "Brine rat",
+            "Crypt rat",
+            "Dungeon rat",
+            "Giant crypt rat",
+            "Giant rat",
+            "Rat",
+            "Warped rat"
+        ],
+        "hidden-creatures": [],
+        "index": "Rats",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Jacquelyn"],
+        "locations": []
+    },
+    {
+        "default-creature": "Red dragon#1",
+        "weakness": [],
+        "creatures": [
+            "Baby red dragon",
+            "Red dragon",
+            "Red dragon (Dragonkin Laboratory)",
+            "Sangri the Red"
+        ],
+        "hidden-creatures": [
+            "Red dragon (Dragonkin Laboratory)",
+            "Sangri the Red"
+        ],
+        "index": "Red dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Sumona",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Red_Dragon_Isle\" title=\"Red Dragon Isle\" target=\"_blank\">Red Dragon Isle<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Revenant cyclops#Default",
+        "weakness": [],
+        "creatures": [
+            "Revenant cyclops",
+            "Revenant dark beast",
+            "Revenant demon",
+            "Revenant dragon",
+            "Revenant goblin",
+            "Revenant hellhound",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant knight",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf"
+        ],
+        "hidden-creatures": [],
+        "index": "Revenants",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Forinthry_Dungeon\" title=\"Forinthry Dungeon\" target=\"_blank\">Forinthry Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Ripper Demon#Default",
+        "weakness": [],
+        "creatures": [
+            "Ripper Demon",
+            "Slasher Demon"
+        ],
+        "hidden-creatures": ["Slasher Demon"],
+        "index": "Ripper demons",
+        "alias": ["Ripper Demon"],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Kuradal",
+            "Morvran",
+            "Laniakea",
+            "Mandrith"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ripper_Demon_cave\" title=\"Ripper Demon cave\" target=\"_blank\">Ripper Demon cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Risen ghost#Default",
+        "weakness": [],
+        "creatures": ["Risen ghost"],
+        "hidden-creatures": [],
+        "index": "Risen ghosts",
+        "alias": ["Risen ghost"],
+        "equipment": [],
+        "masters": ["The Raptor"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">Crypt (Wilderness)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Rock slug#Default",
+        "weakness": [],
+        "creatures": ["Rock slug"],
+        "hidden-creatures": [],
+        "index": "Rockslugs",
+        "alias": ["Rock slugs"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Bag_of_salt\" title=\"Bag of salt\" target=\"_blank\">Bag of salt<\/a>"],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dorgesh-Kaan_South_Dungeon\" title=\"Dorgesh-Kaan South Dungeon\" target=\"_blank\">Dorgesh-Kaan South Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Rune dragon#Armoured",
+        "weakness": [],
+        "creatures": [
+            "Elite rune dragon",
+            "Rune dragon"
+        ],
+        "hidden-creatures": ["Elite rune dragon"],
+        "index": "Rune dragons",
+        "alias": ["Rune dragon"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Super_antifire\" title=\"Super antifire\" target=\"_blank\">Super antifire<\/a>"],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Mount_Firewake\" title=\"Mount Firewake\" target=\"_blank\">Mount Firewake<\/a>"]
+    },
+    {
+        "default-creature": "Scarab akh#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted scarab",
+            "Locust lancer",
+            "Locust ranger",
+            "Locust rider",
+            "Scabaras lancer",
+            "Scabaras mage",
+            "Scabaras ranger",
+            "Scarab akh",
+            "Scarab mage",
+            "Small scarab"
+        ],
+        "hidden-creatures": [],
+        "index": "Scabarites",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Sophanem\" title=\"Sophanem\" target=\"_blank\">Sophanem<\/a>",
+            "<a href=\"https://runescape.wiki/w/Agility_pyramid\" class=\"mw-redirect\" title=\"Agility pyramid\" target=\"_blank\">Agility pyramid<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dealing_with_Scabaras\" title=\"Dealing with Scabaras\" target=\"_blank\">Dealing with Scabaras<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Corrupted scorpion#Default",
+        "weakness": [],
+        "creatures": [
+            "Corrupted scorpion",
+            "Grave scorpion",
+            "King Scorpion",
+            "Pit Scorpion",
+            "Poison Scorpion",
+            "Scorpion",
+            "Scorpion (Ape Atoll)"
+        ],
+        "hidden-creatures": [
+            "Grave scorpion",
+            "King Scorpion",
+            "Pit Scorpion",
+            "Poison Scorpion",
+            "Scorpion (Ape Atoll)"
+        ],
+        "index": "Scorpions",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Vannaka",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Al_Kharid_mining_site\" class=\"mw-redirect\" title=\"Al Kharid mining site\" target=\"_blank\">Al Kharid mining site<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dwarven_mines\" title=\"Dwarven mines\" target=\"_blank\">Dwarven mines<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ardougne_Zoo\" title=\"Ardougne Zoo\" target=\"_blank\">Ardougne Zoo<\/a>",
+            "<a href=\"https://runescape.wiki/w/Scorpion_Pit\" title=\"Scorpion Pit\" target=\"_blank\">Scorpion Pit<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja_Volcano\" title=\"Karamja Volcano\" target=\"_blank\">Karamja Volcano<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Sea Snake Hatchling#Default",
+        "weakness": [],
+        "creatures": [
+            "Sea Snake Hatchling",
+            "Sea Snake Young"
+        ],
+        "hidden-creatures": [],
+        "index": "Sea snakes",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Miscellania_%26_Etceteria_Dungeon\" class=\"mw-redirect\" title=\"Miscellania &amp; Etceteria Dungeon\" target=\"_blank\">Miscellania &amp; Etceteria Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Shade#Default",
+        "weakness": [],
+        "creatures": ["Shade"],
+        "hidden-creatures": [],
+        "index": "Shades",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Mort%27ton\" title=\"Mort'ton\" target=\"_blank\">Mort'ton<\/a>",
+            "<a href=\"https://runescape.wiki/w/Shade_Catacombs\" title=\"Shade Catacombs\" target=\"_blank\">Shade Catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Temple_Trekking\" title=\"Temple Trekking\" target=\"_blank\">Temple Trekking<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Manifest shadow#Default",
+        "weakness": [],
+        "creatures": [
+            "Blissful shadow",
+            "Manifest shadow",
+            "Shadow (Temple of Light)",
+            "Truthful shadow"
+        ],
+        "hidden-creatures": [],
+        "index": "Shadow creatures",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Temple_of_Light\" title=\"Temple of Light\" target=\"_blank\">Temple of Light<\/a>",
+            "<a href=\"https://runescape.wiki/w/Prifddinas\" title=\"Prifddinas\" target=\"_blank\">Prifddinas<\/a>",
+            "<a href=\"https://runescape.wiki/w/Amlodd_Clan\" title=\"Amlodd Clan\" target=\"_blank\">Amlodd Clan<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Shadow warrior#Default",
+        "weakness": [],
+        "creatures": ["Shadow warrior"],
+        "hidden-creatures": [],
+        "index": "Shadow warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Mazchna",
+            "Chaeldar"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Legends%27_Guild\" title=\"Legends' Guild\" target=\"_blank\">Legends' Guild<\/a>"]
+    },
+    {
+        "default-creature": "Skeletal Wyvern#1",
+        "weakness": [],
+        "creatures": ["Skeletal Wyvern"],
+        "hidden-creatures": [],
+        "index": "Skeletal wyverns",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Wyrmfire_potion\" title=\"Wyrmfire potion\" target=\"_blank\">Wyrmfire potion<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Elemental_Workshop_equipment\" title=\"Elemental Workshop equipment\" target=\"_blank\">Elemental Workshop shield<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Asgarnian_Ice_Dungeon\" title=\"Asgarnian Ice Dungeon\" target=\"_blank\">Asgarnian Ice Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Skeleton (Lumbridge Catacombs)#Default",
+        "weakness": [],
+        "creatures": [
+            "Ankou",
+            "Ankou (elite)",
+            "Baby Dinosaur Skeleton",
+            "Bossy McBossFace's First mate",
+            "Bound skeleton",
+            "Giant skeleton (Shadow Dungeon)",
+            "Giant skeleton (Tarn's Lair)",
+            "Huge skeleton",
+            "Osseous",
+            "Skeletal Wyvern",
+            "Skeletal hand",
+            "Skeletal miner",
+            "Skeletal shielder",
+            "Skeleton",
+            "Skeleton (Ape Atoll)",
+            "Skeleton (Barrows)",
+            "Skeleton (Dark Warriors' Fortress)",
+            "Skeleton (Heart of Gielinor)",
+            "Skeleton (Lumbridge Catacombs)",
+            "Skeleton (Tarn's Lair)",
+            "Skeleton (Temple Trekking)",
+            "Skeleton (Ullek)",
+            "Skeleton (Uncharted Isles)",
+            "Skeleton Archer",
+            "Skeleton Mage",
+            "Skeleton archer (Ancient Awakening)",
+            "Skeleton brute",
+            "Skeleton fremennik",
+            "Skeleton heavy",
+            "Skeleton hero",
+            "Skeleton knight",
+            "Skeleton ranger (Ancient Awakening)",
+            "Skeleton thug",
+            "Skeleton warlord",
+            "Skeleton warrior (Ancient Awakening)",
+            "Skeleton warrior (Rasial)",
+            "Skoblin",
+            "Skogre",
+            "Summoned skeleton",
+            "Summoned skeleton archer",
+            "Training dummy",
+            "Undead one",
+            "Warped skeleton"
+        ],
+        "hidden-creatures": [
+            "Skeletal miner",
+            "Skeleton (Tarn's Lair)",
+            "Skeleton (Temple Trekking)",
+            "Skeleton fremennik",
+            "Undead one"
+        ],
+        "index": "Skeletons",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka",
+            "The Raptor"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Catacombs\" title=\"Lumbridge Catacombs\" target=\"_blank\">Lumbridge Catacombs<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Digsite_Dungeon\" class=\"mw-redirect\" title=\"Digsite Dungeon\" target=\"_blank\">Digsite Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Draynor_Sewers\" title=\"Draynor Sewers\" target=\"_blank\">Draynor Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja_Volcano\" title=\"Karamja Volcano\" target=\"_blank\">Karamja Volcano<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Steel_Mine\" class=\"mw-redirect\" title=\"Steel Mine\" target=\"_blank\">Steel Mine<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Taverley_Dungeon\" title=\"Taverley Dungeon\" target=\"_blank\">Taverley Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Temple_of_Ikov_(dungeon)\" title=\"Temple of Ikov (dungeon)\" target=\"_blank\">Temple of Ikov<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Waterfall_Dungeon\" title=\"Waterfall Dungeon\" target=\"_blank\">Waterfall Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Barrows\" title=\"Barrows\" target=\"_blank\">Barrows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ruins_of_Ullek\" class=\"mw-redirect\" title=\"Ruins of Ullek\" target=\"_blank\">Ruins of Ullek<\/a>",
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness_Crater\" title=\"Wilderness Crater\" target=\"_blank\">Wilderness Crater<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ape_Atoll_Dungeon\" title=\"Ape Atoll Dungeon\" target=\"_blank\">Ape Atoll Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Senntisten_Temple\" title=\"Senntisten Temple\" target=\"_blank\">Senntisten Temple<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass (dungeon)<\/a>",
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "The Magister#Default",
+        "weakness": [],
+        "creatures": [
+            "Crocodile akh",
+            "Feline akh",
+            "Gorilla akh",
+            "Imperial mage akh",
+            "Imperial ranger akh",
+            "Imperial warrior akh",
+            "Oreb, the Magister",
+            "Salawa akh",
+            "Scarab akh",
+            "The Magister"
+        ],
+        "hidden-creatures": ["Oreb, the Magister"],
+        "index": "Soul devourers",
+        "alias": [
+            "Crocodile akh",
+            "Feline akh",
+            "Gorilla akh",
+            "Imperial guard akh",
+            "Salawa akh",
+            "Scarab akh",
+            "Soul devourer"
+        ],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Feather_of_Ma%27at\" title=\"Feather of Ma'at\" target=\"_blank\">Feather of Ma'at<\/a>"],
+        "masters": [
+            "Sumona",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Sophanem_Slayer_Dungeon\" title=\"Sophanem Slayer Dungeon\" target=\"_blank\">Sophanem Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Soulgazer#Default",
+        "weakness": [],
+        "creatures": [
+            "Soulgazer",
+            "Soulgazer (elite)"
+        ],
+        "hidden-creatures": ["Soulgazer (elite)"],
+        "index": "Soulgazers",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mandrith"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stalker_Dungeon\" class=\"mw-redirect\" title=\"Stalker Dungeon\" target=\"_blank\">Stalker Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Deadly red spider#Default",
+        "weakness": [],
+        "creatures": [
+            "Corpse spider",
+            "Crypt spider",
+            "Deadly red spider",
+            "Fever spider",
+            "Giant crypt spider",
+            "Giant spider",
+            "Ice spider",
+            "Jungle spider",
+            "Lava spider",
+            "Poison spider",
+            "Shadow spider",
+            "Spider",
+            "Spyndra"
+        ],
+        "hidden-creatures": [],
+        "index": "Spiders",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Melzar%27s_Maze\" title=\"Melzar's Maze\" target=\"_blank\">Melzar's Maze<\/a>",
+            "<a href=\"https://runescape.wiki/w/Sorceress\" title=\"Sorceress\" target=\"_blank\">Sorceress<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lumbridge_Castle\" title=\"Lumbridge Castle\" target=\"_blank\">Lumbridge Castle<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ape_Atoll\" title=\"Ape Atoll\" target=\"_blank\">Ape Atoll<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ogre_Enclave\" title=\"Ogre Enclave\" target=\"_blank\">Ogre Enclave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Karamja\" title=\"Karamja\" target=\"_blank\">Karamja<\/a>",
+            "<a href=\"https://runescape.wiki/w/Underground_Pass_(dungeon)\" title=\"Underground Pass (dungeon)\" target=\"_blank\">Underground Pass<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Spiritual mage#Armadyl",
+        "weakness": [],
+        "creatures": ["Spiritual mage"],
+        "hidden-creatures": [],
+        "index": "Spiritual mages",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Spiritual warrior#Armadyl",
+        "weakness": [],
+        "creatures": ["Spiritual warrior"],
+        "hidden-creatures": [],
+        "index": "Spiritual warriors",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Sumona"],
+        "locations": ["<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Veil-ripper Ozharakha#Default",
+        "weakness": [],
+        "creatures": [
+            "Seeker",
+            "Soulgazer",
+            "Soulgazer (elite)",
+            "Veil-ripper Ozharakha"
+        ],
+        "hidden-creatures": ["Soulgazer (elite)"],
+        "index": "Stalker creatures",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stalker_dungeon\" title=\"Stalker dungeon\" target=\"_blank\">Stalker dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Steel dragon#Default",
+        "weakness": [],
+        "creatures": ["Steel dragon"],
+        "hidden-creatures": [],
+        "index": "Steel dragons",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Anti-dragon_shield\" title=\"Anti-dragon shield\" target=\"_blank\">Anti-dragon shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Dragonfire_shield\" title=\"Dragonfire shield\" target=\"_blank\">Dragonfire shield<\/a>",
+            "<a href=\"https://runescape.wiki/w/Antifire_potion\" class=\"mw-redirect\" title=\"Antifire potion\" target=\"_blank\">Antifire potion<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Kuradal%27s_Dungeon\" title=\"Kuradal's Dungeon\" target=\"_blank\">Kuradal's Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Brimhaven_Dungeon\" title=\"Brimhaven Dungeon\" target=\"_blank\">Brimhaven Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Desert strykewyrm#Default",
+        "weakness": [],
+        "creatures": [
+            "Desert strykewyrm",
+            "Ice strykewyrm",
+            "Jungle strykewyrm",
+            "Lava strykewyrm",
+            "Lava strykewyrm (Dragonkin Laboratory)",
+            "WildyWyrm (2015, historical)"
+        ],
+        "hidden-creatures": ["WildyWyrm (2015, historical)"],
+        "index": "Strykewyrms",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": []
+    },
+    {
+        "default-creature": "Suqah#Level 73 (Dual wielding swords)",
+        "weakness": [],
+        "creatures": ["Suqah"],
+        "hidden-creatures": [],
+        "index": "Suqahs",
+        "alias": ["Suqah"],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Seal_of_passage\" title=\"Seal of passage\" target=\"_blank\">Seal of passage<\/a>",
+            "<a href=\"https://runescape.wiki/w/Moon_Clan\" title=\"Moon Clan\" target=\"_blank\">Moon Clan<\/a>"
+        ],
+        "masters": [
+            "Duradel",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Lunar_Isle\" title=\"Lunar Isle\" target=\"_blank\">Lunar Isle<\/a>"]
+    },
+    {
+        "default-creature": "Terror dog#Level 61",
+        "weakness": [],
+        "creatures": ["Terror dog"],
+        "hidden-creatures": [],
+        "index": "Terror dogs",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Sumona",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Tarn%27s_Lair\" class=\"mw-redirect\" title=\"Tarn's Lair\" target=\"_blank\">Tarn's Lair<\/a>"]
+    },
+    {
+        "default-creature": "Tormented demon#Standard",
+        "weakness": [],
+        "creatures": ["Tormented demon"],
+        "hidden-creatures": [],
+        "index": "Tormented demons",
+        "alias": ["Tormented demon"],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Slayer_master\" class=\"mw-redirect\" title=\"Slayer master\" target=\"_blank\">Slayer master<\/a>"],
+        "masters": [
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Ancient_Guthix_Temple\" class=\"mw-redirect\" title=\"Ancient Guthix Temple\" target=\"_blank\">Ancient Guthix Temple<\/a>"]
+    },
+    {
+        "default-creature": "Ice troll runt#Default",
+        "weakness": [],
+        "creatures": [
+            "Ghostly troll bruiser",
+            "Ghostly troll thrower",
+            "Ice troll",
+            "Ice troll female",
+            "Ice troll grunt",
+            "Ice troll male",
+            "Ice troll runt",
+            "Kraka",
+            "Mountain troll",
+            "Mountain troll (well)",
+            "Pee Hat",
+            "River troll",
+            "Rock (monster)",
+            "Stick",
+            "Stove",
+            "Thrower Troll",
+            "Troll brute",
+            "Troll brute (Davendale)",
+            "Troll chucker",
+            "Troll chucker (Davendale)",
+            "Troll general",
+            "Troll lout",
+            "Troll shaman",
+            "Troll shaman (Davendale)",
+            "Troll spectator",
+            "Undead troll"
+        ],
+        "hidden-creatures": [
+            "Mountain troll (well)",
+            "Stove",
+            "Troll brute (Davendale)"
+        ],
+        "index": "Trolls",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Mountain_troll\" title=\"Mountain troll\" target=\"_blank\">Mountain trolls<\/a>",
+            "<a href=\"https://runescape.wiki/w/Trollheim\" title=\"Trollheim\" target=\"_blank\">Trollheim<\/a>",
+            "<a href=\"https://runescape.wiki/w/Keldagrim\" title=\"Keldagrim\" target=\"_blank\">Keldagrim<\/a>",
+            "<a href=\"https://runescape.wiki/w/Death_Plateau\" title=\"Death Plateau\" target=\"_blank\">Death Plateau<\/a>",
+            "<a href=\"https://runescape.wiki/w/Burthorpe_Troll_Cave\" title=\"Burthorpe Troll Cave\" target=\"_blank\">Burthorpe Troll Cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Troll_cave\" title=\"Troll cave\" target=\"_blank\">Troll cave<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ice_troll\" title=\"Ice troll\" target=\"_blank\">Ice trolls<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fremennik_Isles\" title=\"Fremennik Isles\" target=\"_blank\">Fremennik Isles<\/a>",
+            "<a href=\"https://runescape.wiki/w/Undead_troll\" title=\"Undead troll\" target=\"_blank\">Undead trolls<\/a>",
+            "<a href=\"https://runescape.wiki/w/Lucien%27s_camp\" title=\"Lucien's camp\" target=\"_blank\">Lucien's camp<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Turoth#60 - Large",
+        "weakness": [],
+        "creatures": ["Turoth"],
+        "hidden-creatures": [],
+        "index": "Turoth",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_sword\" title=\"Leaf-bladed sword\" target=\"_blank\">Leaf-bladed sword<\/a>",
+            "<a href=\"https://runescape.wiki/w/Leaf-bladed_spear\" title=\"Leaf-bladed spear\" target=\"_blank\">Leaf-bladed spear<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_Dart\" title=\"Slayer Dart\" target=\"_blank\">Slayer Dart<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad_arrows\" class=\"mw-redirect\" title=\"Broad arrows\" target=\"_blank\">Broad arrows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Broad-tipped_bolts\" title=\"Broad-tipped bolts\" target=\"_blank\">Broad-tipped bolts<\/a>"
+        ],
+        "masters": [
+            "Mazchna",
+            "Chaeldar",
+            "Sumona"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Fremennik_Slayer_Dungeon\" title=\"Fremennik Slayer Dungeon\" target=\"_blank\">Fremennik Slayer Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Pollnivneach_Slayer_Dungeon\" title=\"Pollnivneach Slayer Dungeon\" target=\"_blank\">Pollnivneach Slayer Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "TzHaar-Hur#Level 86",
+        "weakness": [],
+        "creatures": [
+            "TzHaar-Hur",
+            "TzHaar-Ket",
+            "TzHaar-Mej",
+            "TzHaar-Xil"
+        ],
+        "hidden-creatures": [],
+        "index": "TzHaar",
+        "alias": ["Volcanic creatures"],
+        "equipment": [],
+        "masters": [
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/TzHaar_city\" class=\"mw-redirect\" title=\"TzHaar city\" target=\"_blank\">TzHaar city<\/a>"]
+    },
+    {
+        "default-creature": "Ghost#1",
+        "weakness": [],
+        "creatures": [
+            "Aberrant spectre",
+            "Ahrim the Blighted",
+            "Akrisae the Doomed",
+            "Animated spade",
+            "Ankou",
+            "Ankou (elite)",
+            "Armoured phantom",
+            "Armoured zombie",
+            "Banshee",
+            "Bloated monstrosity",
+            "Bound skeleton",
+            "Corpse archer",
+            "Corpse carrier",
+            "Corpse mage",
+            "Corpse spider",
+            "Crawling corpse torso",
+            "Crawling hand",
+            "Dharok the Wretched",
+            "Dragith Nurn",
+            "Edimmu",
+            "Edimmu (elite)",
+            "Fetid zombie",
+            "General malpractitioner",
+            "Ghast",
+            "Ghost",
+            "Ghost (Abandoned Mine)",
+            "Ghost (Ourania Runecrafting Altar)",
+            "Ghost (Shattered Worlds)",
+            "Ghost (Spirit of Summer)",
+            "Ghost (Stronghold of Security)",
+            "Ghostly troll bruiser",
+            "Ghostly troll thrower",
+            "Graveside Phantom",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Linza the Disgraced",
+            "Magic axe",
+            "Masuta the Descended",
+            "Mighty banshee",
+            "Monkey Zombie",
+            "Mummy (Jaldraocht Pyramid)",
+            "Mummy (Ullek)",
+            "Osseous",
+            "Phantom sorcerer",
+            "Phantom wizard",
+            "Possessed pickaxe",
+            "Possessed pickaxe (Lava Flow Mine)",
+            "Putrid zombie (Rasial)",
+            "Revenant cyclops",
+            "Revenant dark beast",
+            "Revenant demon",
+            "Revenant dragon",
+            "Revenant goblin",
+            "Revenant hellhound",
+            "Revenant hobgoblin",
+            "Revenant icefiend",
+            "Revenant imp",
+            "Revenant knight",
+            "Revenant ork",
+            "Revenant pyrefiend",
+            "Revenant vampyre",
+            "Revenant werewolf",
+            "Risen ghost",
+            "Shade",
+            "Shadow warrior",
+            "Skeletal Wyvern",
+            "Skeletal hand",
+            "Skeletal miner",
+            "Skeleton",
+            "Skeleton (Lumbridge Catacombs)",
+            "Skeleton (Tarn's Lair)",
+            "Skeleton Mage",
+            "Skeleton archer (Ancient Awakening)",
+            "Skeleton knight",
+            "Skeleton ranger (Ancient Awakening)",
+            "Skeleton warrior (Ancient Awakening)",
+            "Skeleton warrior (Rasial)",
+            "Skoblin",
+            "Skogre",
+            "Small scarab",
+            "Soulless armoured zombie",
+            "Soulless unarmoured zombie",
+            "Spiritual mage",
+            "Spiritual ranger",
+            "Spiritual warrior",
+            "Taraket the Necromancer",
+            "Torag the Corrupted",
+            "Tormented wraith",
+            "Training dummy",
+            "Undead chicken",
+            "Undead cow",
+            "Undead giant (Battle of Forinthry)",
+            "Undead one",
+            "Undead pekin",
+            "Undead troll",
+            "Unstable zombie",
+            "Verac the Defiled",
+            "Vorkath",
+            "Wight",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)",
+            "Zogre",
+            "Zombie",
+            "Zombie (New Varrock)",
+            "Zombie cow (New Varrock)",
+            "Zombie hand",
+            "Zombie knight",
+            "Zombie pirate",
+            "Zombie swab",
+            "Zombie warrior"
+        ],
+        "hidden-creatures": [
+            "Wight",
+            "Wight ranger",
+            "Wight ranger (Sliske's Endgame)"
+        ],
+        "index": "Undead",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "The Raptor",
+            "Laniakea"
+        ],
+        "locations": []
+    },
+    {
+        "default-creature": "Vampyre#Default",
+        "weakness": [],
+        "creatures": [
+            "Angry vampyre",
+            "Feral vampyre",
+            "Revenant vampyre",
+            "Vampyre",
+            "Vampyre Juvenile",
+            "Vampyre Juvinate"
+        ],
+        "hidden-creatures": ["Feral vampyre"],
+        "index": "Vampyres",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Haunted_Woods\" title=\"Haunted Woods\" target=\"_blank\">Haunted Woods<\/a>",
+            "<a href=\"https://runescape.wiki/w/Abandoned_Mine\" title=\"Abandoned Mine\" target=\"_blank\">Abandoned Mine<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Liverworts#Default",
+        "weakness": [],
+        "creatures": [
+            "Devil's snare",
+            "Lampenflora",
+            "Liverworts",
+            "Luminous snaggler"
+        ],
+        "hidden-creatures": [],
+        "index": "Vile blooms",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Laniakea"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Anachronia\" title=\"Anachronia\" target=\"_blank\">Anachronia<\/a>"]
+    },
+    {
+        "default-creature": "Vyrewatch#Level 70",
+        "weakness": [],
+        "creatures": [
+            "Vyrelady",
+            "Vyrelord",
+            "Vyrewatch"
+        ],
+        "hidden-creatures": [],
+        "index": "Vyrewatch",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Ivandis_flail\" title=\"Ivandis flail\" target=\"_blank\">Ivandis flail<\/a>",
+            "<a href=\"https://runescape.wiki/w/Blisterwood_polearm\" title=\"Blisterwood polearm\" target=\"_blank\">Blisterwood polearm<\/a>",
+            "<a href=\"https://runescape.wiki/w/Blisterwood_staff\" title=\"Blisterwood staff\" target=\"_blank\">Blisterwood staff<\/a>",
+            "<a href=\"https://runescape.wiki/w/Blisterwood_stake\" title=\"Blisterwood stake\" target=\"_blank\">Blisterwood stake<\/a>"
+        ],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Duradel",
+            "Kuradal",
+            "Morvran",
+            "Laniakea"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Darkmeyer\" title=\"Darkmeyer\" target=\"_blank\">Darkmeyer<\/a>",
+            "<a href=\"https://runescape.wiki/w/Burgh_de_Rott_Woods\" title=\"Burgh de Rott Woods\" target=\"_blank\">Burgh de Rott Woods<\/a>",
+            "<a href=\"https://runescape.wiki/w/Meiyerditch\" title=\"Meiyerditch\" target=\"_blank\">Meiyerditch<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Wall beast#Default",
+        "weakness": [],
+        "creatures": ["Wall beast"],
+        "hidden-creatures": [],
+        "index": "Wall beasts",
+        "alias": [],
+        "equipment": [
+            "<a href=\"https://runescape.wiki/w/Spiny_helmet\" title=\"Spiny helmet\" target=\"_blank\">Spiny helmet<\/a>",
+            "<a href=\"https://runescape.wiki/w/Spiked_helmet\" title=\"Spiked helmet\" target=\"_blank\">Spiked helmet<\/a>",
+            "<a href=\"https://runescape.wiki/w/Slayer_helmet\" title=\"Slayer helmet\" target=\"_blank\">Slayer helmet<\/a>"
+        ],
+        "masters": ["Vannaka"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Lumbridge_Swamp_Caves\" title=\"Lumbridge Swamp Caves\" target=\"_blank\">Lumbridge Swamp Caves<\/a>"]
+    },
+    {
+        "default-creature": "Warped terrorbird#1",
+        "weakness": [],
+        "creatures": ["Warped terrorbird"],
+        "hidden-creatures": [],
+        "index": "Warped terrorbirds",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Crystal_chime\" title=\"Crystal chime\" target=\"_blank\">Crystal chime<\/a>"],
+        "masters": ["Duradel"],
+        "locations": ["<a href=\"https://runescape.wiki/w/Poison_Waste_Slayer_Dungeon\" title=\"Poison Waste Slayer Dungeon\" target=\"_blank\">Poison Waste Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Warped tortoise#Vulnerable",
+        "weakness": [],
+        "creatures": ["Warped tortoise"],
+        "hidden-creatures": [],
+        "index": "Warped tortoises",
+        "alias": [],
+        "equipment": ["<a href=\"https://runescape.wiki/w/Crystal_chime\" title=\"Crystal chime\" target=\"_blank\">Crystal chime<\/a>"],
+        "masters": [
+            "Chaeldar",
+            "Sumona",
+            "Kuradal"
+        ],
+        "locations": ["<a href=\"https://runescape.wiki/w/Poison_Waste_Slayer_Dungeon\" title=\"Poison Waste Slayer Dungeon\" target=\"_blank\">Poison Waste Slayer Dungeon<\/a>"]
+    },
+    {
+        "default-creature": "Waterfiend#Default",
+        "weakness": [],
+        "creatures": [
+            "Maelstrom, Raging Waterfiend",
+            "Torrential Waterfiend",
+            "Torrential Waterfiend (summoned)",
+            "Waterfiend",
+            "Waterfiend (Ghorrock)",
+            "Waterfiend (Temple of Aminishi)",
+            "Waterfiend (The Zamorakian Undercity)",
+            "Waterfiend (elite)",
+            "Waterfiend (summoned)"
+        ],
+        "hidden-creatures": [
+            "Waterfiend (Ghorrock)",
+            "Waterfiend (Temple of Aminishi)",
+            "Waterfiend (elite)"
+        ],
+        "index": "Waterfiends",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Duradel",
+            "Kuradal",
+            "Morvran"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Ancient_Cavern\" title=\"Ancient Cavern\" target=\"_blank\">Ancient Cavern<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Ghorrock\" title=\"Ghorrock\" target=\"_blank\">Ghorrock<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Werewolf#Alexis",
+        "weakness": [],
+        "creatures": ["Werewolf"],
+        "hidden-creatures": [],
+        "index": "Werewolves",
+        "alias": [],
+        "equipment": [],
+        "masters": ["Mazchna"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Canifis\" title=\"Canifis\" target=\"_blank\">Canifis<\/a>",
+            "<a href=\"https://runescape.wiki/w/God_Wars_Dungeon\" title=\"God Wars Dungeon\" target=\"_blank\">God Wars Dungeon<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Adolescent White wolf#Default",
+        "weakness": [],
+        "creatures": [
+            "Adolescent White wolf",
+            "Big Wolf",
+            "Desert wolf",
+            "Dire Wolf",
+            "Fenris wolf",
+            "Fenris wolf (Sköll)",
+            "Ice wolf",
+            "Jungle Wolf",
+            "White wolf",
+            "Wolf"
+        ],
+        "hidden-creatures": [
+            "Fenris wolf",
+            "Fenris wolf (Sköll)"
+        ],
+        "index": "Wolves",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Turael",
+            "Vannaka"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/White_Wolf_Mountain\" title=\"White Wolf Mountain\" target=\"_blank\">White Wolf Mountain<\/a>",
+            "<a href=\"https://runescape.wiki/w/Feldip_Hills\" title=\"Feldip Hills\" target=\"_blank\">Feldip Hills<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Armoured phantom#1",
+        "weakness": [],
+        "creatures": [
+            "Armoured phantom",
+            "Bound skeleton",
+            "Fetid zombie",
+            "Risen ghost"
+        ],
+        "hidden-creatures": [],
+        "index": "Zemouregal's undead",
+        "alias": [],
+        "equipment": [],
+        "masters": ["The Raptor"],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Crypt_(Wilderness)\" title=\"Crypt (Wilderness)\" target=\"_blank\">Crypt<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wilderness\" title=\"Wilderness\" target=\"_blank\">Wilderness<\/a>",
+            "<a href=\"https://runescape.wiki/w/Fort_Forinthry\" title=\"Fort Forinthry\" target=\"_blank\">Fort Forinthry<\/a>"
+        ]
+    },
+    {
+        "default-creature": "Zombie#Level 29",
+        "weakness": [],
+        "creatures": [
+            "Armoured zombie",
+            "Armoured zombie (The Shadow Reef)",
+            "Armoured zombie (Uncharted Isles)",
+            "Bloated monstrosity",
+            "Bossy McBossFace",
+            "Corpse archer",
+            "Corpse carrier",
+            "Corpse mage",
+            "Corpse spider",
+            "Crawling corpse torso",
+            "Crawling hand",
+            "Dragith Nurn",
+            "Dried zombie",
+            "Edimmu",
+            "Edimmu (elite)",
+            "Empowering zombie",
+            "Fetid zombie",
+            "General malpractitioner",
+            "Monkey Zombie",
+            "Mummy (Jaldraocht Pyramid)",
+            "Mummy (Ullek)",
+            "Putrid zombie (Rasial)",
+            "Small scarab",
+            "Soulless armoured zombie",
+            "Soulless unarmoured zombie",
+            "Summoned Zombie",
+            "Summoned Zombie (The Shadow Reef)",
+            "Summoned armoured zombie",
+            "Ulthven Keith",
+            "Undead Witch",
+            "Undead chicken",
+            "Undead cow",
+            "Undead giant (Battle of Forinthry)",
+            "Undead one",
+            "Undead pekin",
+            "Undead troll",
+            "Unstable zombie",
+            "Zogre",
+            "Zombie",
+            "Zombie (Lair of Tarn Razorlor)",
+            "Zombie (New Varrock)",
+            "Zombie (Stronghold of Security)",
+            "Zombie (Temple Trekking)",
+            "Zombie (The Shadow Reef)",
+            "Zombie (Uncharted Isles)",
+            "Zombie (Wilderness)",
+            "Zombie (Zogre Flesh Eaters)",
+            "Zombie cow (New Varrock)",
+            "Zombie hand",
+            "Zombie knight",
+            "Zombie pirate",
+            "Zombie swab",
+            "Zombie warrior"
+        ],
+        "hidden-creatures": [
+            "Zombie (Zogre Flesh Eaters)",
+            "Zombie cow (New Varrock)"
+        ],
+        "index": "Zombies",
+        "alias": [],
+        "equipment": [],
+        "masters": [
+            "Jacquelyn",
+            "Vannaka",
+            "The Raptor"
+        ],
+        "locations": [
+            "<a href=\"https://runescape.wiki/w/Gnome_Village_Dungeon\" title=\"Gnome Village Dungeon\" target=\"_blank\">Gnome Village Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Entrana_Dungeon\" title=\"Entrana Dungeon\" target=\"_blank\">Entrana Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Edgeville_Dungeon\" title=\"Edgeville Dungeon\" target=\"_blank\">Edgeville Dungeon<\/a>",
+            "<a href=\"https://runescape.wiki/w/Chaos_Tunnels\" title=\"Chaos Tunnels\" target=\"_blank\">Chaos Tunnels<\/a>",
+            "<a href=\"https://runescape.wiki/w/Graveyard_of_Shadows\" title=\"Graveyard of Shadows\" target=\"_blank\">Graveyard of Shadows<\/a>",
+            "<a href=\"https://runescape.wiki/w/Stronghold_of_Security\" title=\"Stronghold of Security\" target=\"_blank\">Stronghold of Security<\/a>",
+            "<a href=\"https://runescape.wiki/w/Varrock_Sewers\" title=\"Varrock Sewers\" target=\"_blank\">Varrock Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Wizards%27_Guild\" title=\"Wizards' Guild\" target=\"_blank\">Wizards' Guild<\/a>",
+            "<a href=\"https://runescape.wiki/w/Draynor_Sewers\" title=\"Draynor Sewers\" target=\"_blank\">Draynor Sewers<\/a>",
+            "<a href=\"https://runescape.wiki/w/Tarn%27s_Lair\" class=\"mw-redirect\" title=\"Tarn's Lair\" target=\"_blank\">lair of Tarn Razorlor<\/a>"
+        ]
+    }
+]
diff --git a/src/data/old/creatures.json b/src/data/old/creatures.json
new file mode 100644 (file)
index 0000000..7b1fe5e
--- /dev/null
@@ -0,0 +1,26988 @@
+[
+    {
+        "name": "Aberrant spectre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"157\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "60",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Pollnivneach Slayer Dungeon",
+                "slayer-exp": 123.19999694824219,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "224",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aberrant spectre#Slayer Tower.png\" decoding=\"async\" loading=\"lazy\" width=\"157\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "60",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Slayer Tower",
+                "slayer-exp": 109.4000015258789,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Abyssal beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"168\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "105",
+            "experience": 1950,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 643.5,
+            "max-melee": "1415",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "1415",
+            "name": "Default",
+            "slayer-exp": 1448.4000244140625,
+            "lifepoints": "39000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"257\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "85",
+            "experience": 425,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 140.1999969482422,
+            "max-melee": "672",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 278,
+            "lifepoints": "8500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal demon (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal demon (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"254\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "70",
+            "slayer-level": "85",
+            "experience": 1700,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 561,
+            "max-melee": "2016",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1069,
+            "lifepoints": "34000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal lord",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Abyssal lord#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"226\" id=\"image-?\">",
+            "level": "133",
+            "defence": "95",
+            "slayer-level": "115",
+            "experience": 3700,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1221,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "816",
+            "name": "Default",
+            "slayer-exp": 8235,
+            "lifepoints": "74000",
+            "max-ranged": "0",
+            "max-magic": "1163",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Abyssal savage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Abyssal savage#Asylum.png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "75",
+                "slayer-level": "95",
+                "experience": 750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Asylum",
+                "slayer-exp": 423.20001220703125,
+                "lifepoints": "15000",
+                "max-ranged": "0",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Abyssal savage#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "75",
+                "slayer-level": "95",
+                "experience": 750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Abyssal_bane_equipment\" title=\"Abyssal bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Abyssal_head.png\" decoding=\"async\" loading=\"lazy\" width=\"22\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 423.20001220703125,
+                "lifepoints": "15000",
+                "max-ranged": "0",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Acheron mammoth",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Acheron mammoth#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "135",
+            "defence": "95",
+            "slayer-level": "96",
+            "experience": 2531.199951171875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 835.2000122070312,
+            "max-melee": "1819",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "8000",
+            "name": "Default",
+            "slayer-exp": 3628.800048828125,
+            "lifepoints": "50625",
+            "max-ranged": "4412",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Adamant dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Adamant dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"179\" id=\"image-?\">",
+            "level": "116",
+            "defence": "87",
+            "slayer-level": "1",
+            "experience": 1640.5999755859375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 541.2999877929688,
+            "max-melee": "1120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "1300",
+            "name": "Default",
+            "slayer-exp": 655.5999755859375,
+            "lifepoints": "32812",
+            "max-ranged": "1120",
+            "max-magic": "1120",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Airut",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Airut#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+                "level": "122",
+                "defence": "90",
+                "slayer-level": "92",
+                "experience": 843.7000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 278.3999938964844,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1600",
+                "name": "Melee",
+                "slayer-exp": 800.2000122070312,
+                "lifepoints": "16875",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Airut#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"238\" id=\"image-?\">",
+                "level": "122",
+                "defence": "90",
+                "slayer-level": "92",
+                "experience": 843.7000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 278.3999938964844,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1600",
+                "name": "Ranged",
+                "slayer-exp": 800.2000122070312,
+                "lifepoints": "16875",
+                "max-ranged": "816",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ankou",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ankou#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"105\" height=\"300\" id=\"image-?\">",
+            "level": "54",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 307.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 98,
+            "lifepoints": "6150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ankou (Kili's Knowledge IV)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ankou (Kili's Knowledge IV)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"105\" height=\"300\" id=\"image-?\">",
+            "level": "72",
+            "defence": "?",
+            "slayer-level": "1",
+            "experience": 0,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 0,
+            "max-melee": "624",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 313.6000061035156,
+            "lifepoints": "31000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ankou (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ankou (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"105\" height=\"300\" id=\"image-?\">",
+            "level": "67",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 1177.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 388.5,
+            "max-melee": "1100",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 314,
+            "lifepoints": "23550",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Aquanite",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Aquanite#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "78",
+            "experience": 350,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 115.5,
+            "max-melee": "652",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "652",
+            "name": "Default",
+            "slayer-exp": 212.60000610351562,
+            "lifepoints": "7000",
+            "max-ranged": "652",
+            "max-magic": "652",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Aquanite (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Aquanite (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+            "level": "104",
+            "defence": "68",
+            "slayer-level": "78",
+            "experience": 1400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 462,
+            "max-melee": "1958",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1958",
+            "name": "Default",
+            "slayer-exp": 968,
+            "lifepoints": "28000",
+            "max-ranged": "1958",
+            "max-magic": "1958",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Armoured phantom",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured phantom#1.png\" decoding=\"async\" loading=\"lazy\" width=\"204\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "87",
+                "slayer-level": "113",
+                "experience": 2625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 866.2000122070312,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "7000",
+                "name": "1",
+                "slayer-exp": 2500,
+                "lifepoints": "52500",
+                "max-ranged": "1745",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured phantom#2.png\" decoding=\"async\" loading=\"lazy\" width=\"131\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "87",
+                "slayer-level": "113",
+                "experience": 2625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 866.2000122070312,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "7000",
+                "name": "2",
+                "slayer-exp": 2500,
+                "lifepoints": "52500",
+                "max-ranged": "1745",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured phantom#3.png\" decoding=\"async\" loading=\"lazy\" width=\"180\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "87",
+                "slayer-level": "113",
+                "experience": 2625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 866.2000122070312,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "7000",
+                "name": "3",
+                "slayer-exp": 2500,
+                "lifepoints": "52500",
+                "max-ranged": "1745",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Capsarius",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Capsarius#1.png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "81",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 146.60000610351562,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "168",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Capsarius#2.png\" decoding=\"async\" loading=\"lazy\" width=\"108\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "81",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 146.60000610351562,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "168",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Gladius",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Gladius#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "91",
+            "defence": "65",
+            "slayer-level": "81",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 220.1999969482422,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "624",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Primus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Primus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"155\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3300",
+            "name": "Default",
+            "slayer-exp": 1938.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Quartus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Quartus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Quintus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Quintus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Secundus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Secundus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Sextus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Sextus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Legio Tertius",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Legio Tertius#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"197\" height=\"300\" id=\"image-?\">",
+            "level": "304",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1829.199951171875,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1102",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rorarius",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rorarius#1.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "81",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "576",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rorarius#2.png\" decoding=\"async\" loading=\"lazy\" width=\"229\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "81",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "576",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Scutarius",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Scutarius#1.png\" decoding=\"async\" loading=\"lazy\" width=\"222\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "81",
+                "experience": 500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 165,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 390.20001220703125,
+                "lifepoints": "10000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scutarius#2.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "81",
+                "experience": 500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 165,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 390.20001220703125,
+                "lifepoints": "10000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Aviansie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Melee, level 89 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 491.79998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 162.1999969482422,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee, level 89 (1)",
+                "slayer-exp": 170.39999389648438,
+                "lifepoints": "6400",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Melee, level 89 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 491.79998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 162.1999969482422,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee, level 89 (2)",
+                "slayer-exp": 187.8000030517578,
+                "lifepoints": "6400",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Melee, level 92.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "92",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 542.2000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 178.89999389648438,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee, level 92",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "6600",
+                "max-ranged": "264",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Ranged, level 89.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 491.79998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 162.1999969482422,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged, level 89",
+                "slayer-exp": 170.39999389648438,
+                "lifepoints": "6400",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Ranged, level 92.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "92",
+                "defence": "66",
+                "slayer-level": "1",
+                "experience": 542.2000122070312,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 178.89999389648438,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged, level 92",
+                "slayer-exp": 187.8000030517578,
+                "lifepoints": "6600",
+                "max-ranged": "264",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Aviansie#Ranged, level 95.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 340,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 112.19999694824219,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged, level 95",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "6800",
+                "max-ranged": "272",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Flight Kilisa",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Flight Kilisa#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"236\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "250",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 363.79998779296875,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Flockleader Geerin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Flockleader Geerin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"201\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 363.79998779296875,
+            "lifepoints": "10000",
+            "max-ranged": "250",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kree'arra",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kree'arra#Hard Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "580",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 825,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Hard Mode",
+                "slayer-exp": 3912,
+                "lifepoints": "100000",
+                "max-ranged": "3000",
+                "max-magic": "700",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kree'arra#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "580",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 1875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 618.7000122070312,
+                "max-melee": "1676",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 2934.199951171875,
+                "lifepoints": "75000",
+                "max-ranged": "1080",
+                "max-magic": "1080",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kree'arra#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "210",
+                "defence": "75",
+                "slayer-level": "N/A",
+                "experience": 2500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 825,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2000",
+                "name": "The World Wakes",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "3000",
+                "max-magic": "700",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spiritual mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Zamorak.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zamorak",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Armadyl.png\" decoding=\"async\" loading=\"lazy\" width=\"260\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Armadyl",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Saradomin.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Saradomin",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "350",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#Bandos.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "83",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bandos",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "350",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual mage#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "83",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 229,
+                "lifepoints": "1120",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spiritual ranger",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Zamorak.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zamorak",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Armadyl.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"251\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Armadyl",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Saradomin.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Saradomin",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#Bandos.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bandos",
+                "slayer-exp": 122,
+                "lifepoints": "7000",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual ranger#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "63",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 122,
+                "lifepoints": "1120",
+                "max-ranged": "280",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spiritual warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Zamorak.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zamorak",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Armadyl.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"238\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Armadyl",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Saradomin.png\" decoding=\"async\" loading=\"lazy\" width=\"235\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Saradomin",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#Bandos.png\" decoding=\"async\" loading=\"lazy\" width=\"295\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bandos",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spiritual warrior#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"235\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "68",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 229,
+                "lifepoints": "1120",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Wingman Skree",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wingman Skree#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 363.79998779296875,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "900",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Banshee",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Banshee#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"226\" height=\"300\" id=\"image-?\">",
+            "level": "24",
+            "defence": "14",
+            "slayer-level": "15",
+            "experience": 125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "990",
+            "name": "Default",
+            "slayer-exp": 46,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "440",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mighty banshee",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mighty banshee#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "38",
+            "slayer-level": "15",
+            "experience": 307.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "860",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 89.4000015258789,
+            "lifepoints": "6150",
+            "max-ranged": "0",
+            "max-magic": "1020",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Basilisk",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Basilisk#Large.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"202\" id=\"image-?\">",
+                "level": "49",
+                "defence": "30",
+                "slayer-level": "40",
+                "experience": 240,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Basiliskbane_ammunition\" title=\"Basiliskbane ammunition\" target=\"_blank\"><img src=\"./images/susceptible/Basilisk_head.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"16\"><\/a>"
+                ],
+                "lifepoint-exp": 79.19999694824219,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Large",
+                "slayer-exp": 79.5999984741211,
+                "lifepoints": "4800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Basilisk#Small.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+                "level": "49",
+                "defence": "30",
+                "slayer-level": "40",
+                "experience": 240,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Basiliskbane_ammunition\" title=\"Basiliskbane ammunition\" target=\"_blank\"><img src=\"./images/susceptible/Basilisk_head.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"16\"><\/a>"
+                ],
+                "lifepoint-exp": 79.19999694824219,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Small",
+                "slayer-exp": 79.5999984741211,
+                "lifepoints": "4800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Albino bat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Albino bat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"124\" id=\"image-?\">",
+            "level": "43",
+            "defence": "31",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "620",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 18,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"101\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8.199999809265137,
+            "lifepoints": "1000",
+            "max-ranged": "0",
+            "max-magic": "40",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant bat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant bat#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "14",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 18.799999237060547,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant bat#Brine Cavern.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"101\" id=\"image-?\">",
+                "level": "23",
+                "defence": "17",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "340",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Brine Cavern",
+                "slayer-exp": 10.199999809265137,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped bat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Warped bat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"92\" id=\"image-?\">",
+            "level": "16",
+            "defence": "12",
+            "slayer-level": "1",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9.199999809265137,
+            "lifepoints": "2250",
+            "max-ranged": "0",
+            "max-magic": "240",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Angry bear",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Angry bear#A Soul's Bane.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+                "level": "40",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "175",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A Soul's Bane",
+                "slayer-exp": 0,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry bear#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bear cub",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bear cub#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+            "level": "21",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "300",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7.599999904632568,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black bear",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Black bear#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+            "level": "23",
+            "defence": "17",
+            "slayer-level": "1",
+            "experience": 145,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 47.79999923706055,
+            "max-melee": "340",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 10.199999809265137,
+            "lifepoints": "2900",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Grizzly bear",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Grizzly bear#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "460",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard",
+                "slayer-exp": 13,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Grizzly bear#Tirannwn.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 187.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 61.79999923706055,
+                "max-melee": "460",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Tirannwn",
+                "slayer-exp": 16.600000381469727,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Grizzly bear cub",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Grizzly bear cub#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+            "level": "17",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bird",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Bird#Black.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"124\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Black",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bird#Green.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"225\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Chicken",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Chicken#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"223\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "15",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Chicken#White.png\" decoding=\"async\" loading=\"lazy\" width=\"260\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "15",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "White",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Chompy bird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chompy bird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"300\" id=\"image-?\">",
+            "level": "2",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 15,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.900000095367432,
+            "max-melee": "6",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.399999618530273,
+            "lifepoints": "300",
+            "max-ranged": "8",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Duck",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Duck#Male.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Male",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Duck#Female.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"211\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Female",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Duck#Land.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Land",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Duckling",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Duckling#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"270\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "?",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jubbly bird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jubbly bird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+            "level": "11",
+            "defence": "8",
+            "slayer-level": "1",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "24",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7.599999904632568,
+            "lifepoints": "400",
+            "max-ranged": "32",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mounted terrorbird gnome",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mounted terrorbird gnome#Level 46.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "660",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 46",
+                "slayer-exp": 19.600000381469727,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mounted terrorbird gnome#Level 53.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+                "level": "53",
+                "defence": "38",
+                "slayer-level": "1",
+                "experience": 307.5,
+                "susceptible": [],
+                "lifepoint-exp": 101.4000015258789,
+                "max-melee": "950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 53",
+                "slayer-exp": 24.799999237060547,
+                "lifepoints": "6150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Oomlie bird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Oomlie bird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"233\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 570,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 188.10000610351562,
+            "max-melee": "1280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 85.19999694824219,
+            "lifepoints": "11400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pekin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pekin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "15",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Penguin (monster)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Penguin (monster)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+            "level": "8",
+            "defence": "6",
+            "slayer-level": "1",
+            "experience": 77.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 25.5,
+            "max-melee": "120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7,
+            "lifepoints": "1550",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pernicious parrot",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pernicious parrot#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"130\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 185,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 61,
+            "max-melee": "900",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 34.20000076293945,
+            "lifepoints": "3700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rooster",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rooster#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "15",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seagull",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seagull#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"289\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tenacious toucan",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tenacious toucan#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"122\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 262.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 86.5999984741211,
+            "max-melee": "1200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "5250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Terrorbird",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Terrorbird#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "42",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 240,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 17.200000762939453,
+            "lifepoints": "4800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead chicken",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Undead chicken#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 35,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 11.5,
+            "max-melee": "75",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead pekin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Undead pekin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 35,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 11.5,
+            "max-melee": "75",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Balfrug Kreeyath",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Balfrug Kreeyath#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 272.79998779296875,
+            "lifepoints": "7500",
+            "max-ranged": "0",
+            "max-magic": "750",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Black demon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 450,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 148.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "9000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"189\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 294.3999938964844,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black demon#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 850,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 280.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 564.4000244140625,
+                "lifepoints": "17000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Alanogard the Black",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Alanogard the Black#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+            "level": "117",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1353",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "5000",
+            "name": "Default",
+            "slayer-exp": 9794,
+            "lifepoints": "180000",
+            "max-ranged": "1353",
+            "max-magic": "1353",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Baby black dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Baby black dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "150",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 43.20000076293945,
+            "lifepoints": "2500",
+            "max-ranged": "200",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"229\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "3",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "4",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Black dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "100",
+                "defence": "72",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "475",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "5",
+                "slayer-exp": 245,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "475",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Black dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Black dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 1950,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 643.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1550,
+            "lifepoints": "39000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "King Black Dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/King Black Dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+            "level": "276",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 2250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"
+            ],
+            "lifepoint-exp": 742.5,
+            "max-melee": "864",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4960",
+            "name": "Default",
+            "slayer-exp": 1050.5999755859375,
+            "lifepoints": "45000",
+            "max-ranged": "864",
+            "max-magic": "864",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Queen Black Dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Queen Black Dragon#Carapace.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+                "level": "900",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 900,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"
+                ],
+                "lifepoint-exp": 297,
+                "max-melee": "2480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Magic\" title=\"Magic\" target=\"_blank\"><img src=\"./images/weakness/Magic_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "6500",
+                "name": "Carapace",
+                "slayer-exp": 1693.199951171875,
+                "lifepoints": "36000",
+                "max-ranged": "2480",
+                "max-magic": "2480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Queen Black Dragon#Crystal.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "900",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 900,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 297,
+                "max-melee": "2480",
+                "weakness": [
+                    "<a href=\"https://runescape.wiki/w/Melee\" title=\"Melee\" target=\"_blank\"><img src=\"./images/weakness/Melee_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "max-spec": "6500",
+                "name": "Crystal",
+                "slayer-exp": 1693.199951171875,
+                "lifepoints": "36000",
+                "max-ranged": "2480",
+                "max-magic": "2480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Queen Black Dragon#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "900",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 900,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 297,
+                "max-melee": "2480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "6500",
+                "name": "Normal",
+                "slayer-exp": 1693.199951171875,
+                "lifepoints": "36000",
+                "max-ranged": "2480",
+                "max-magic": "2480",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Verak Lith",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Verak Lith#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"252\" height=\"300\" id=\"image-?\">",
+            "level": "1450",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 15000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 4950,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "9000",
+            "name": "Default",
+            "slayer-exp": 27438,
+            "lifepoints": "600000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Verak Little",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Verak Little#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"285\" id=\"image-?\">",
+            "level": "107",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 9000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "lifepoint-exp": 2970,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "180000",
+            "max-ranged": "1966",
+            "max-magic": "1966",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Bloodveld",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bloodveld#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "49",
+            "slayer-level": "50",
+            "experience": 512.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 169.10000610351562,
+            "max-melee": "680",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 84.4000015258789,
+            "lifepoints": "10250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bloodveld (God Wars Dungeon)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bloodveld (God Wars Dungeon)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+            "level": "92",
+            "defence": "66",
+            "slayer-level": "50",
+            "experience": 330,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 108.9000015258789,
+            "max-melee": "264",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "6600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bloodveld (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bloodveld (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "50",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated bloodveld",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mutated bloodveld#A.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+                "level": "81",
+                "defence": "65",
+                "slayer-level": "50",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A",
+                "slayer-exp": 205.8000030517578,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mutated bloodveld#B.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"287\" id=\"image-?\">",
+                "level": "81",
+                "defence": "65",
+                "slayer-level": "50",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "B",
+                "slayer-exp": 205.8000030517578,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Baby blue dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Baby blue dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+            "level": "44",
+            "defence": "32",
+            "slayer-level": "1",
+            "experience": 80,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 26.399999618530273,
+            "max-melee": "128",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 18.799999237060547,
+            "lifepoints": "1600",
+            "max-ranged": "0",
+            "max-magic": "128",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Blue dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"234\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "1",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"247\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "2",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"287\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "3",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"230\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "4",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blue dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"267\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "5",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "5000",
+                "max-ranged": "N/A",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Vorkath",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 60411.6015625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19935.80078125,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Hard mode",
+                "slayer-exp": 31340.5,
+                "lifepoints": "1500000",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 60411.6015625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19935.80078125,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8500",
+                "name": "Normal mode",
+                "slayer-exp": 31340.5,
+                "lifepoints": "750000",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Requiem for a Dragon.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Requiem for a Dragon",
+                "slayer-exp": 31340.5,
+                "lifepoints": "75001",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vorkath#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"174\" id=\"image-?\">",
+                "level": "789",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 60411.6015625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19935.80078125,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 31340.5,
+                "lifepoints": "375000",
+                "max-ranged": "1224",
+                "max-magic": "1224",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Bound skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Bound skeleton#1.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "1194",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 420,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bound skeleton#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+                "level": "70",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "1194",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 420,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bound skeleton#3.png\" decoding=\"async\" loading=\"lazy\" width=\"252\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "1194",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 420,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Brine rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Brine rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+            "level": "43",
+            "defence": "30",
+            "slayer-level": "47",
+            "experience": 240,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "640",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 43.20000076293945,
+            "lifepoints": "4800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bronze dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bronze dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"218\" id=\"image-?\">",
+            "level": "86",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 82.5,
+            "max-melee": "409",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 124.5,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "409",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Camel Warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Camel Warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"278\" id=\"image-?\">",
+            "level": "132",
+            "defence": "93",
+            "slayer-level": "96",
+            "experience": 1006.2000122070312,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 332,
+            "max-melee": "912",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "2678",
+            "name": "Default",
+            "slayer-exp": 4768.7998046875,
+            "lifepoints": "20125",
+            "max-ranged": "931",
+            "max-magic": "931",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Catablepon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Catablepon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+            "level": "43",
+            "defence": "28",
+            "slayer-level": "1",
+            "experience": 225,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "480",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 74.5,
+            "lifepoints": "4500",
+            "max-ranged": "0",
+            "max-magic": "700",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave bug",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave bug#Level 6.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "6",
+                "defence": "4",
+                "slayer-level": "7",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 6",
+                "slayer-exp": 7,
+                "lifepoints": "650",
+                "max-ranged": "120",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave bug#Level 11.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+                "level": "11",
+                "defence": "7",
+                "slayer-level": "7",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11",
+                "slayer-exp": 8,
+                "lifepoints": "1650",
+                "max-ranged": "180",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cave crawler",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave crawler#Level 24.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "24",
+                "defence": "15",
+                "slayer-level": "10",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 24",
+                "slayer-exp": 24.5,
+                "lifepoints": "2650",
+                "max-ranged": "400",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave crawler#Level 59.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "59",
+                "defence": "40",
+                "slayer-level": "10",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 59",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "6500",
+                "max-ranged": "900",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cave horror",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave horror#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "58",
+            "experience": 250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 82.5,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 99.4000015258789,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave horror (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave horror (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "86",
+            "defence": "75",
+            "slayer-level": "58",
+            "experience": 550,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 181.5,
+            "max-melee": "660",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 509,
+            "lifepoints": "11000",
+            "max-ranged": "0",
+            "max-magic": "660",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Unspeakable horror",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Unspeakable horror#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "58",
+            "experience": 650,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 214.5,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "13000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Unspeakable horror (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Unspeakable horror (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "58",
+            "experience": 1500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 495,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1241.5999755859375,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "768",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave slime",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave slime#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"257\" id=\"image-?\">",
+            "level": "22",
+            "defence": "19",
+            "slayer-level": "17",
+            "experience": 157.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 51.900001525878906,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 11,
+            "lifepoints": "3150",
+            "max-ranged": "240",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant slime",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant slime#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "106",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 6000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1980,
+                "max-melee": "1400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": 5047,
+                "lifepoints": "120000",
+                "max-ranged": "1400",
+                "max-magic": "1400",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant slime#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "106",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 6000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1980,
+                "max-melee": "1400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": 2523.39990234375,
+                "lifepoints": "120000",
+                "max-ranged": "1400",
+                "max-magic": "1400",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Laboratory slime",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Adult (normal mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Adult (normal mode)",
+                "slayer-exp": 551,
+                "lifepoints": "20000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Spawnling (normal mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Spawnling (normal mode)",
+                "slayer-exp": -2,
+                "lifepoints": "9500",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Adult (story mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Adult (story mode)",
+                "slayer-exp": 275.3999938964844,
+                "lifepoints": "9500",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Laboratory slime#Spawnling (story mode).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"272\" id=\"image-?\">",
+                "level": "90",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Spawnling (story mode)",
+                "slayer-exp": -2,
+                "lifepoints": "9500",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Astellarn",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Astellarn#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"188\" id=\"image-?\">",
+            "level": "1200",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 6250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2062.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "2700",
+            "name": "Default",
+            "slayer-exp": 27400,
+            "lifepoints": "250000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Celestial dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Celestial dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "127",
+            "defence": "91",
+            "slayer-level": "1",
+            "experience": 1137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 375.29998779296875,
+            "max-melee": "1068",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 976.5999755859375,
+            "lifepoints": "22750",
+            "max-ranged": "0",
+            "max-magic": "1168",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Celestial dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 2400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 792,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 2400,
+            "lifepoints": "48000",
+            "max-ranged": "1653",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Elegorn the Celestial",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Elegorn the Celestial#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "114",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 8750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2887.5,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 8800,
+            "lifepoints": "175000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Giant",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chaos Giant#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 1125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 371.20001220703125,
+            "max-melee": "450",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 929.4000244140625,
+            "lifepoints": "22500",
+            "max-ranged": "450",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockatrice",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockatrice#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"297\" id=\"image-?\">",
+            "level": "31",
+            "defence": "25",
+            "slayer-level": "25",
+            "experience": 202.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 66.80000305175781,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 23.399999618530273,
+            "lifepoints": "4050",
+            "max-ranged": "400",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockroach drone",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockroach drone#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "4",
+            "defence": "3",
+            "slayer-level": "1",
+            "experience": 60,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 19.799999237060547,
+            "max-melee": "60",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6,
+            "lifepoints": "1200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockroach soldier",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockroach soldier#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 525,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 173.1999969482422,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 14,
+            "lifepoints": "10500",
+            "max-ranged": "1000",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cockroach worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cockroach worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"269\" id=\"image-?\">",
+            "level": "30",
+            "defence": "22",
+            "slayer-level": "1",
+            "experience": 180,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 59.400001525878906,
+            "max-melee": "440",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12,
+            "lifepoints": "3600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Warped cockroach",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Warped cockroach#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 25,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 8.199999809265137,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "500",
+            "max-ranged": "20",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted dust devil",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted dust devil#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "76",
+            "slayer-level": "97",
+            "experience": 600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 198,
+            "max-melee": "1123",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 679.7999877929688,
+            "lifepoints": "12000",
+            "max-ranged": "1123",
+            "max-magic": "1123",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted kalphite guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted kalphite guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"300\" id=\"image-?\">",
+            "level": "110",
+            "defence": "78",
+            "slayer-level": "100",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 494,
+            "lifepoints": "15000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted kalphite marauder",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted kalphite marauder#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"228\" height=\"300\" id=\"image-?\">",
+            "level": "110",
+            "defence": "78",
+            "slayer-level": "100",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 494,
+            "lifepoints": "15000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted lizard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted lizard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "94",
+            "experience": 550,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 181.5,
+            "max-melee": "1094",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 533.4000244140625,
+            "lifepoints": "11000",
+            "max-ranged": "1094",
+            "max-magic": "1094",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted scarab",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted scarab#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "101",
+            "defence": "72",
+            "slayer-level": "91",
+            "experience": 500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 165,
+            "max-melee": "700",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 389,
+            "lifepoints": "10000",
+            "max-ranged": "700",
+            "max-magic": "700",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"260\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "88",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "672",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 353.20001220703125,
+            "lifepoints": "9000",
+            "max-ranged": "672",
+            "max-magic": "672",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corrupted worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corrupted worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"153\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "80",
+            "slayer-level": "103",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 653,
+            "lifepoints": "15000",
+            "max-ranged": "1180",
+            "max-magic": "1180",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cow",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cow#Standard (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard (1)",
+                "slayer-exp": 3.299999952316284,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cow#Standard (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"260\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard (2)",
+                "slayer-exp": 3.299999952316284,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cow#Standard (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"209\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard (3)",
+                "slayer-exp": 3.299999952316284,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cow#Zanaris.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"213\" id=\"image-?\">",
+                "level": "2",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zanaris",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cow calf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cow calf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 25,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 8.199999809265137,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 3.200000047683716,
+            "lifepoints": "500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Super Cow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Super Cow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"260\" id=\"image-?\">",
+            "level": "5",
+            "defence": "4",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "80",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 36.400001525878906,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead cow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Undead cow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"198\" id=\"image-?\">",
+            "level": "2",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 16.5,
+            "max-melee": "40",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Crawling hand",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6a.png\" decoding=\"async\" loading=\"lazy\" width=\"236\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6a",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6b.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6b",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6c.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6c",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6d.png\" decoding=\"async\" loading=\"lazy\" width=\"257\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6d",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#6e.png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "6",
+                "defence": "5",
+                "slayer-level": "5",
+                "experience": 72.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6e",
+                "slayer-exp": 7.599999904632568,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10a.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10a",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10b.png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10b",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10c.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10c",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10d.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10d",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crawling hand#10e.png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "10",
+                "defence": "8",
+                "slayer-level": "5",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "10e",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeletal hand",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeletal hand#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+            "level": "63",
+            "defence": "50",
+            "slayer-level": "5",
+            "experience": 420,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 138.60000610351562,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 60.599998474121094,
+            "lifepoints": "8400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Zombie hand",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie hand#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+            "level": "69",
+            "defence": "54",
+            "slayer-level": "5",
+            "experience": 460,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 151.8000030517578,
+            "max-melee": "880",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 73.19999694824219,
+            "lifepoints": "9200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Edimmu",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Edimmu#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "85",
+            "slayer-level": "90",
+            "experience": 1600,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 528,
+            "max-melee": "350",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 880.2000122070312,
+            "lifepoints": "32000",
+            "max-ranged": "0",
+            "max-magic": "350",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Edimmu (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Edimmu (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"172\" height=\"300\" id=\"image-?\">",
+            "level": "125",
+            "defence": "85",
+            "slayer-level": "90",
+            "experience": 4800,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 1584,
+            "max-melee": "1050",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 2044.5999755859375,
+            "lifepoints": "96000",
+            "max-ranged": "0",
+            "max-magic": "1050",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Frost dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Frost dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 425,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 140.1999969482422,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 398.79998779296875,
+            "lifepoints": "8500",
+            "max-ranged": "500",
+            "max-magic": "500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kal'gerion demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Bloodchiller.png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Bloodchiller",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Riftsplitter.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Riftsplitter",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Pummeller.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Pummeller",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Thunderous.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Thunderous",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Warmonger.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Warmonger",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon#Rush of Blood.png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "126",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1653",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Rush of Blood",
+                "slayer-exp": 1858.800048828125,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1653",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Seeker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seeker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"300\" id=\"image-?\">",
+            "level": "86",
+            "defence": "55",
+            "slayer-level": "71",
+            "experience": 1200,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 396,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1500",
+            "name": "Default",
+            "slayer-exp": 440.3999938964844,
+            "lifepoints": "24000",
+            "max-ranged": "0",
+            "max-magic": "250",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Soulgazer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulgazer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "128",
+            "defence": "85",
+            "slayer-level": "99",
+            "experience": 2000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 660,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1950.4000244140625,
+            "lifepoints": "40000",
+            "max-ranged": "0",
+            "max-magic": "738",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Bulbous crawler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bulbous crawler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+            "level": "140",
+            "defence": "95",
+            "slayer-level": "106",
+            "experience": 1900,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 627,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 2360,
+            "lifepoints": "38000",
+            "max-ranged": "2123",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Moss golem",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Moss golem#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"236\" height=\"300\" id=\"image-?\">",
+            "level": "140",
+            "defence": "95",
+            "slayer-level": "108",
+            "experience": 1750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 577.5,
+            "max-melee": "2123",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 2408.800048828125,
+            "lifepoints": "35000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Vinecrawler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Vinecrawler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+            "level": "140",
+            "defence": "95",
+            "slayer-level": "104",
+            "experience": 1600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 528,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 2086,
+            "lifepoints": "32000",
+            "max-ranged": "0",
+            "max-magic": "2123",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Automaton Generator",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Automaton Generator#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"274\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "80",
+                "slayer-level": "67",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Post-quest",
+                "slayer-exp": 624,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "510",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Automaton Generator#During The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"274\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 375,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 123.69999694824219,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2500",
+                "name": "During The World Wakes",
+                "slayer-exp": 0,
+                "lifepoints": "7500",
+                "max-ranged": "0",
+                "max-magic": "600",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Automaton Guardian",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Automaton Guardian#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "80",
+                "slayer-level": "67",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "810",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1000",
+                "name": "Post-quest",
+                "slayer-exp": 624,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Automaton Guardian#During The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 375,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 123.69999694824219,
+                "max-melee": "600",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "During The World Wakes",
+                "slayer-exp": 0,
+                "lifepoints": "7500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Automaton Tracer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Automaton Tracer#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "80",
+                "slayer-level": "67",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Post-quest",
+                "slayer-exp": 624,
+                "lifepoints": "20000",
+                "max-ranged": "510",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Automaton Tracer#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "N/A",
+                "experience": 375,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 123.69999694824219,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1000",
+                "name": "The World Wakes",
+                "slayer-exp": 0,
+                "lifepoints": "7500",
+                "max-ranged": "600",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crocodile",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Crocodile#77.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "116",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "77",
+                "slayer-exp": 44.400001525878906,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crocodile#40.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "40",
+                "defence": "29",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "116",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "40",
+                "slayer-exp": 33.400001525878906,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crocodile akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crocodile akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"191\" id=\"image-?\">",
+            "level": "115",
+            "defence": "80",
+            "slayer-level": "111",
+            "experience": 900,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 297,
+            "max-melee": "1561",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 761.2000122070312,
+            "lifepoints": "18000",
+            "max-ranged": "1561",
+            "max-magic": "1561",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ol' Sawtooth",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ol' Sawtooth#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+            "level": "120",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 6750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 2227.5,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "135000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea crocodile",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Sea crocodile#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "77",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 634.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 209.3000030517578,
+                "max-melee": "936",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "15500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Sea crocodile#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"132\" id=\"image-?\">",
+                "level": "77",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 387.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 127.80000305175781,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "7750",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crystal Shapeshifter",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Crystal Shapeshifter#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"299\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "80",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "980",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1900",
+                "name": "Melee",
+                "slayer-exp": 1269.800048828125,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crystal Shapeshifter#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"237\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "80",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "1900",
+                "name": "Ranged",
+                "slayer-exp": 1269.800048828125,
+                "lifepoints": "30000",
+                "max-ranged": "980",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Crystal Shapeshifter#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"117\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "80",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1900",
+                "name": "Magic",
+                "slayer-exp": 1269.800048828125,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "980",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cyclops",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#57 (Stab).png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "57",
+                "defence": "41",
+                "slayer-level": "1",
+                "experience": 205,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67.5999984741211,
+                "max-melee": "205",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "57 (Stab)",
+                "slayer-exp": 71.80000305175781,
+                "lifepoints": "4100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#68 (Stab).png\" decoding=\"async\" loading=\"lazy\" width=\"191\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "49",
+                "slayer-level": "1",
+                "experience": 245,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 80.80000305175781,
+                "max-melee": "245",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "68 (Stab)",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "4900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#57 (Slash).png\" decoding=\"async\" loading=\"lazy\" width=\"179\" height=\"300\" id=\"image-?\">",
+                "level": "57",
+                "defence": "41",
+                "slayer-level": "1",
+                "experience": 205,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67.5999984741211,
+                "max-melee": "205",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "57 (Slash)",
+                "slayer-exp": 71.80000305175781,
+                "lifepoints": "4100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#68 (Slash).png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "49",
+                "slayer-level": "1",
+                "experience": 245,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 80.80000305175781,
+                "max-melee": "245",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "68 (Slash)",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "4900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#57 (Crush).png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "57",
+                "defence": "41",
+                "slayer-level": "1",
+                "experience": 205,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67.5999984741211,
+                "max-melee": "205",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "57 (Crush)",
+                "slayer-exp": 71.80000305175781,
+                "lifepoints": "4100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#68 (Crush).png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "49",
+                "slayer-level": "1",
+                "experience": 245,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 80.80000305175781,
+                "max-melee": "245",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "68 (Crush)",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "4900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#91 (God Wars Dungeon), 1.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "325",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "91 (God Wars Dungeon), 1",
+                "slayer-exp": 281.79998779296875,
+                "lifepoints": "9750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cyclops#91 (God Wars Dungeon), 2.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "325",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "91 (God Wars Dungeon), 2",
+                "slayer-exp": 281.79998779296875,
+                "lifepoints": "9750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cyclossus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cyclossus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 630,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 207.89999389648438,
+            "max-melee": "960",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 350,
+            "lifepoints": "12600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth (Lighthouse)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Lighthouse)#Level 77.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "165",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 77",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "220",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Lighthouse)#Level 78.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 78",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dagannoth (Waterbirth Island)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (78)",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (79)",
+                "slayer-exp": 61,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Blood Runs Deep (78)",
+                "slayer-exp": -1,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dagannoth (Waterbirth Island, ranged)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png\" decoding=\"async\" loading=\"lazy\" width=\"254\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged (78)",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "224",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png\" decoding=\"async\" loading=\"lazy\" width=\"254\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "57",
+                "slayer-level": "1",
+                "experience": 142.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+                ],
+                "lifepoint-exp": 47,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged (79)",
+                "slayer-exp": 64,
+                "lifepoints": "2850",
+                "max-ranged": "171",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dagannoth Prime",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth Prime#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+            "level": "303",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 288.70001220703125,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1068,
+            "lifepoints": "35000",
+            "max-ranged": "0",
+            "max-magic": "1788",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth Rex",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth Rex#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"214\" id=\"image-?\">",
+            "level": "303",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 1750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 577.5,
+            "max-melee": "1788",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1068,
+            "lifepoints": "35000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth Supreme",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth Supreme#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"193\" height=\"300\" id=\"image-?\">",
+            "level": "303",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 875,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 288.70001220703125,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1068,
+            "lifepoints": "35000",
+            "max-ranged": "1788",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth fledgeling",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth fledgeling#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"178\" id=\"image-?\">",
+            "level": "72",
+            "defence": "52",
+            "slayer-level": "1",
+            "experience": 0,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 0,
+            "max-melee": "208",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "2600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"244\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 165,
+            "max-melee": "400",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 326.6000061035156,
+            "lifepoints": "10000",
+            "max-ranged": "400",
+            "max-magic": "400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dagannoth spawn",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dagannoth spawn#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 117.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Balmung\" title=\"Balmung\" target=\"_blank\"><img src=\"./images/susceptible/Balmung.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"28\"><\/a>"
+            ],
+            "lifepoint-exp": 38.70000076293945,
+            "max-melee": "188",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 39.400001525878906,
+            "lifepoints": "2350",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dark beast",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dark beast#8,500 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "101",
+                "defence": "75",
+                "slayer-level": "90",
+                "experience": 425,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 140.1999969482422,
+                "max-melee": "600",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "8,500 life points",
+                "slayer-exp": 331.3999938964844,
+                "lifepoints": "8500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dark beast#19,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "101",
+                "defence": "75",
+                "slayer-level": "90",
+                "experience": 950,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 313.5,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "19,000 life points",
+                "slayer-exp": 440,
+                "lifepoints": "19000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dark beast (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dark beast (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "90",
+            "experience": 1700,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 561,
+            "max-melee": "1800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1372.800048828125,
+            "lifepoints": "34000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant dark beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant dark beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 442.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 146,
+            "max-melee": "1327",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 415.6000061035156,
+            "lifepoints": "8850",
+            "max-ranged": "1327",
+            "max-magic": "1327",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cerberus Juvenile",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cerberus Juvenile#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+            "level": "138",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 6000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1980,
+            "max-melee": "2570",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10000,
+            "lifepoints": "120000",
+            "max-ranged": "2011",
+            "max-magic": "2011",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Gargoyle",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Gargoyle#Regular.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"164\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "75",
+                "experience": 335,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 110.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Regular",
+                "slayer-exp": 197.39999389648438,
+                "lifepoints": "6700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gargoyle#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"164\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "75",
+                "experience": 675,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 222.6999969482422,
+                "max-melee": "1080",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 197.39999389648438,
+                "lifepoints": "13500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "1",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "2",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "3",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "4",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "5",
+                "slayer-exp": 135.39999389648438,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "566",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon ash lord",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon ash lord#The Zamorakian Undercity.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"250\" id=\"image-?\">",
+                "level": "157",
+                "defence": "110",
+                "slayer-level": "1",
+                "experience": 7000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 2310,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The Zamorakian Undercity",
+                "slayer-exp": 7150,
+                "lifepoints": "140000",
+                "max-ranged": "1564",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon ash lord#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"250\" id=\"image-?\">",
+                "level": "149",
+                "defence": "100",
+                "slayer-level": "1",
+                "experience": 5500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1815,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 7150,
+                "lifepoints": "110000",
+                "max-ranged": "1564",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon berserker",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon berserker#The Zamorakian Undercity.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "166",
+                "defence": "110",
+                "slayer-level": "1",
+                "experience": 7000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 2310,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The Zamorakian Undercity",
+                "slayer-exp": 7150,
+                "lifepoints": "140000",
+                "max-ranged": "1564",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon berserker#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "159",
+                "defence": "104",
+                "slayer-level": "1",
+                "experience": 5500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1815,
+                "max-melee": "2793",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": 7150,
+                "lifepoints": "110000",
+                "max-ranged": "1564",
+                "max-magic": "1564",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon brute",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon brute#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+            "level": "148",
+            "defence": "107",
+            "slayer-level": "1",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "2346",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100000",
+            "max-ranged": "1564",
+            "max-magic": "1564",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Greater demon pyromancer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "132",
+                "defence": "98",
+                "slayer-level": "1",
+                "experience": 3500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1155,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The Zamorakian Undercity",
+                "slayer-exp": -1,
+                "lifepoints": "70000",
+                "max-ranged": "1564",
+                "max-magic": "2011",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Greater demon pyromancer#Wilderness.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+                "level": "132",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 825,
+                "max-melee": "1564",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Wilderness",
+                "slayer-exp": -1,
+                "lifepoints": "50000",
+                "max-ranged": "1564",
+                "max-magic": "2011",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Greater demon sage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon sage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+            "level": "146",
+            "defence": "104",
+            "slayer-level": "1",
+            "experience": 4500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1485,
+            "max-melee": "1564",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "90000",
+            "max-ranged": "1564",
+            "max-magic": "2346",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Greater demon savage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon savage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "133",
+            "defence": "100",
+            "slayer-level": "1",
+            "experience": 4000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1320,
+            "max-melee": "2011",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "80000",
+            "max-ranged": "1564",
+            "max-magic": "1564",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imp",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Imp#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "16",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Imp#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "16",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Imp scavenger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imp scavenger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 1650,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 544.5,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "33000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "K'ril Tsutsaroth",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/K'ril Tsutsaroth#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"196\" id=\"image-?\">",
+                "level": "650",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2000",
+                "name": "Hard mode",
+                "slayer-exp": 3912.39990234375,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "840",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/K'ril Tsutsaroth#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"196\" id=\"image-?\">",
+                "level": "650",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"
+                ],
+                "lifepoint-exp": 907.5,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "6600",
+                "name": "Normal",
+                "slayer-exp": 2151.800048828125,
+                "lifepoints": "55000",
+                "max-ranged": "0",
+                "max-magic": "1500",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/K'ril Tsutsaroth#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 2250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 742.5,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2000",
+                "name": "The World Wakes",
+                "slayer-exp": 1804,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "840",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kal'gerion demon (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Bloodchiller",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Pummeller",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Riftsplitter",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1745",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Warmonger",
+                "slayer-exp": 3404,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1745",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lesser demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lesser demon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 86.5999984741211,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "480",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Revenant demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"131\" height=\"300\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "1125",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 175,
+            "lifepoints": "7500",
+            "max-ranged": "1125",
+            "max-magic": "1125",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ripper Demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ripper Demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"291\" height=\"300\" id=\"image-?\">",
+            "level": "131",
+            "defence": "90",
+            "slayer-level": "96",
+            "experience": 1678.0999755859375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 553.7000122070312,
+            "max-melee": "950",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "32000",
+            "name": "Default",
+            "slayer-exp": 2721.60009765625,
+            "lifepoints": "33563",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tormented demon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Tormented demon#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"179\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Standard",
+                "slayer-exp": 1136,
+                "lifepoints": "20000",
+                "max-ranged": "1150",
+                "max-magic": "1150",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Tormented demon#While Guthix Sleeps.png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "While Guthix Sleeps",
+                "slayer-exp": 1136,
+                "lifepoints": "20000",
+                "max-ranged": "1150",
+                "max-magic": "1150",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Tstanon Karlak",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tstanon Karlak#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "365",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 272.79998779296875,
+            "lifepoints": "7500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Yor'Ger the Deceiver",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Yor'Ger the Deceiver#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "200",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 9000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 2970,
+                "max-melee": "1425",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 11368,
+                "lifepoints": "180000",
+                "max-ranged": "1425",
+                "max-magic": "1425",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Yor'Ger the Deceiver#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zakl'n Gritch",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zakl'n Gritch#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 150,
+            "lifepoints": "7500",
+            "max-ranged": "365",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Desert Lizard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Desert Lizard#Green.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"183\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "22",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "440",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Green",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Desert Lizard#Yellow.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"155\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "22",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "440",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Yellow",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Desert Lizard#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"141\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "22",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "440",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lizard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lizard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"179\" id=\"image-?\">",
+            "level": "40",
+            "defence": "29",
+            "slayer-level": "22",
+            "experience": 232.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 76.69999694824219,
+            "max-melee": "580",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 54.79999923706055,
+            "lifepoints": "4650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Small Lizard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Small Lizard#Green.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"171\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "22",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Green",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small Lizard#Yellow.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "22",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Yellow",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Desert strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Desert strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "103",
+            "defence": "74",
+            "slayer-level": "77",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "710",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "2000",
+            "name": "Default",
+            "slayer-exp": 376.6000061035156,
+            "lifepoints": "10000",
+            "max-ranged": "710",
+            "max-magic": "710",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Baby Dinosaur Skeleton",
+        "variants": []
+    },
+    {
+        "name": "Brutish dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Brutish dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "164",
+                "defence": "80",
+                "slayer-level": "99",
+                "experience": 3500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 1155,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2757",
+                "name": "Normal",
+                "slayer-exp": 3100,
+                "lifepoints": "70000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Brutish dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+                "level": "164",
+                "defence": "80",
+                "slayer-level": "99",
+                "experience": 3500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 1155,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2757",
+                "name": "Dinosaur invasion",
+                "slayer-exp": 3100,
+                "lifepoints": "70000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Feral Dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Feral Dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "90",
+                "experience": 2250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 742.5,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 1810,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Feral Dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "N/A",
+                "experience": 2250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 742.5,
+                "max-melee": "1224",
+                "weakness": [],
+                "max-spec": "N/A",
+                "name": "Dinosaur invasion",
+                "slayer-exp": -2,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Orikalka",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Orikalka#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+            "level": "888",
+            "defence": "96",
+            "slayer-level": "1",
+            "experience": 4750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+            ],
+            "lifepoint-exp": 1567.5,
+            "max-melee": "3129",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "4500",
+            "name": "Default",
+            "slayer-exp": 4500,
+            "lifepoints": "190000",
+            "max-ranged": "0",
+            "max-magic": "4500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Osseous",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Osseous#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"283\" id=\"image-?\">",
+            "level": "888",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 17500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 5775,
+            "max-melee": "?",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Necromancy\" title=\"Necromancy\" target=\"_blank\"><img src=\"./images/weakness/s/Necromancy-icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "5100",
+            "name": "Default",
+            "slayer-exp": 394,
+            "lifepoints": "350000",
+            "max-ranged": "?",
+            "max-magic": "0",
+            "max-necromancy": "3129"
+        }]
+    },
+    {
+        "name": "Pthentraken",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pthentraken#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"282\" id=\"image-?\">",
+            "level": "888",
+            "defence": "96",
+            "slayer-level": "1",
+            "experience": 4750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+            ],
+            "lifepoint-exp": 1567.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "5500",
+            "name": "Default",
+            "slayer-exp": 4545,
+            "lifepoints": "190000",
+            "max-ranged": "3500",
+            "max-magic": "3129",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rathis",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rathis#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+            "level": "888",
+            "defence": "96",
+            "slayer-level": "1",
+            "experience": 4750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+            ],
+            "lifepoint-exp": 1567.5,
+            "max-melee": "3129",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "4500",
+            "name": "Default",
+            "slayer-exp": 4545,
+            "lifepoints": "190000",
+            "max-ranged": "3500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ripper dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ripper dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "176",
+                "defence": "80",
+                "slayer-level": "114",
+                "experience": 3250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "lifepoint-exp": 1072.5,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 1904,
+                "lifepoints": "65000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ripper dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "176",
+                "defence": "80",
+                "slayer-level": "N/A",
+                "experience": 3250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "lifepoint-exp": 1072.5,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Dinosaur invasion",
+                "slayer-exp": -2,
+                "lifepoints": "65000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Venomous dinosaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Venomous dinosaur#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+                "level": "172",
+                "defence": "80",
+                "slayer-level": "105",
+                "experience": 1750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"
+                ],
+                "lifepoint-exp": 577.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal",
+                "slayer-exp": 1332,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Venomous dinosaur#Dinosaur invasion.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+                "level": "172",
+                "defence": "80",
+                "slayer-level": "N/A",
+                "experience": 1750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Necklace_of_Salamancy\" title=\"Necklace of Salamancy\" target=\"_blank\"><img src=\"./images/susceptible/Necklace_of_Salamancy.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "lifepoint-exp": 577.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Dinosaur invasion",
+                "slayer-exp": -2,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Guard dog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Guard dog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+            "level": "33",
+            "defence": "24",
+            "slayer-level": "1",
+            "experience": 60,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 19.799999237060547,
+            "max-melee": "96",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 13.399999618530273,
+            "lifepoints": "1200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jackal",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jackal#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+            "level": "49",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 175,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 57.70000076293945,
+            "max-melee": "140",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 43.20000076293945,
+            "lifepoints": "3500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shadow Hound",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow Hound#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+            "level": "67",
+            "defence": "48",
+            "slayer-level": "1",
+            "experience": 120,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 39.599998474121094,
+            "max-melee": "192",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 39.400001525878906,
+            "lifepoints": "2400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Wild dog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wild dog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "35",
+            "defence": "25",
+            "slayer-level": "1",
+            "experience": 62.5,
+            "susceptible": [],
+            "lifepoint-exp": 20.600000381469727,
+            "max-melee": "100",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 14,
+            "lifepoints": "1250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Baby red dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Baby red dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"233\" height=\"300\" id=\"image-?\">",
+            "level": "47",
+            "defence": "34",
+            "slayer-level": "1",
+            "experience": 85,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 28,
+            "max-melee": "136",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 20.600000381469727,
+            "lifepoints": "1700",
+            "max-ranged": "0",
+            "max-magic": "136",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Black stone dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Black stone dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"156\" id=\"image-?\">",
+            "level": "2500",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 16250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"
+            ],
+            "lifepoint-exp": 5362.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 37600,
+            "lifepoints": "650000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Brutal green dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Brutal green dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"219\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1250",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1500",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "1250",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dragonstone dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dragonstone dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"231\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "95",
+            "experience": 2000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 660,
+            "max-melee": "1561",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1561",
+            "name": "Default",
+            "slayer-exp": 1448.4000244140625,
+            "lifepoints": "40000",
+            "max-ranged": "0",
+            "max-magic": "1561",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dragonstone dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"231\" id=\"image-?\">",
+            "level": "111",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 2750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 907.5,
+            "max-melee": "1224",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 5100,
+            "lifepoints": "55000",
+            "max-ranged": "1224",
+            "max-magic": "1224",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Green dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "1",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"259\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "2",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"232\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "3",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"299\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "4",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Green dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"224\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "5",
+                "slayer-exp": 68.5999984741211,
+                "lifepoints": "4500",
+                "max-ranged": "0",
+                "max-magic": "297",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hydrix dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hydrix dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "133",
+            "defence": "95",
+            "slayer-level": "101",
+            "experience": 3000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 990,
+            "max-melee": "1745",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3900",
+            "name": "Default",
+            "slayer-exp": 4768.7998046875,
+            "lifepoints": "60000",
+            "max-ranged": "0",
+            "max-magic": "1745",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hydrix dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "118",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 3750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1237.5,
+            "max-melee": "1745",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3900",
+            "name": "Default",
+            "slayer-exp": 17000,
+            "lifepoints": "75000",
+            "max-ranged": "1745",
+            "max-magic": "1745",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Iron dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Iron dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"222\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 375,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 123.69999694824219,
+            "max-melee": "488",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 245,
+            "lifepoints": "7500",
+            "max-ranged": "0",
+            "max-magic": "488",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mithril dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mithril dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"265\" id=\"image-?\">",
+            "level": "112",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 890,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 293.70001220703125,
+            "max-melee": "1068",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "2700",
+            "name": "Default",
+            "slayer-exp": 564.4000244140625,
+            "lifepoints": "17800",
+            "max-ranged": "1068",
+            "max-magic": "1068",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon artificer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon artificer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+            "level": "120",
+            "defence": "94",
+            "slayer-level": "92",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1598",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon engineer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon engineer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"209\" id=\"image-?\">",
+            "level": "150",
+            "defence": "95",
+            "slayer-level": "92",
+            "experience": 6250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2062.5,
+            "max-melee": "1506",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 2769,
+            "lifepoints": "50000",
+            "max-ranged": "1506",
+            "max-magic": "1506",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+            "level": "120",
+            "defence": "94",
+            "slayer-level": "92",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "1598",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nodon hunter",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon hunter#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"263\" id=\"image-?\">",
+            "level": "120",
+            "defence": "94",
+            "slayer-level": "92",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "30000",
+            "max-ranged": "1598",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Onyx dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Onyx dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "98",
+            "experience": 2500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 825,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1653.8",
+            "name": "Default",
+            "slayer-exp": 1858.800048828125,
+            "lifepoints": "50000",
+            "max-ranged": "0",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Onyx dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"187\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 3000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 990,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 6050,
+            "lifepoints": "60000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Red dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"252\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"226\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"262\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Red dragon#5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "396",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "396",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Red dragon (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Red dragon (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 1450,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 478.5,
+            "max-melee": "1080",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1227,
+            "lifepoints": "29000",
+            "max-ranged": "1080",
+            "max-magic": "1080",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rune dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rune dragon#Armoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"234\" id=\"image-?\">",
+                "level": "127",
+                "defence": "90",
+                "slayer-level": "76",
+                "experience": 3412.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1126.0999755859375,
+                "max-melee": "1820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "10000",
+                "name": "Armoured",
+                "slayer-exp": 2051,
+                "lifepoints": "68250",
+                "max-ranged": "1820",
+                "max-magic": "1820",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rune dragon#Unarmoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "127",
+                "defence": "90",
+                "slayer-level": "76",
+                "experience": 3412.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1126.0999755859375,
+                "max-melee": "1820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "10000",
+                "name": "Unarmoured",
+                "slayer-exp": 2051,
+                "lifepoints": "68250",
+                "max-ranged": "1820",
+                "max-magic": "1820",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Sangri the Red",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sangri the Red#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "131",
+            "defence": "94",
+            "slayer-level": "1",
+            "experience": 8750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2887.5,
+            "max-melee": "1353",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 14077,
+            "lifepoints": "175000",
+            "max-ranged": "1353",
+            "max-magic": "1353",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Siege engine",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Siege engine#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"181\" id=\"image-?\">",
+            "level": "150",
+            "defence": "90",
+            "slayer-level": "92",
+            "experience": 2400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 792,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1505,
+            "lifepoints": "30000",
+            "max-ranged": "1653",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Steel dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Steel dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+            "level": "100",
+            "defence": "72",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 165,
+            "max-melee": "508",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "2100",
+            "name": "Default",
+            "slayer-exp": 350,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "508",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dust devil",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dust devil#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "65",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 192.8000030517578,
+            "lifepoints": "8000",
+            "max-ranged": "244",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dust devil (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dust devil (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "95",
+            "defence": "61",
+            "slayer-level": "65",
+            "experience": 1600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 528,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 684,
+            "lifepoints": "32000",
+            "max-ranged": "732",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Earth warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Earth warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "56",
+            "slayer-level": "1",
+            "experience": 482.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 159.1999969482422,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 57.5,
+            "lifepoints": "9650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Earth warrior (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Earth warrior (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+            "level": "75",
+            "defence": "56",
+            "slayer-level": "1",
+            "experience": 1630,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 537.9000244140625,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 295,
+            "lifepoints": "32600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cadarn magus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cadarn magus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"171\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "1791",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "1083",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cadarn ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cadarn ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "1300",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "1083",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Elf warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Elf warrior#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 49.5,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee",
+                "slayer-exp": 73.5999984741211,
+                "lifepoints": "3000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Elf warrior#Range.png\" decoding=\"async\" loading=\"lazy\" width=\"126\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 160,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 52.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Range",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "3200",
+                "max-ranged": "256",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Iorwerth guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Iorwerth guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"90\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "1899",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Iorwerth scout",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Iorwerth scout#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 165,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 608,
+            "lifepoints": "10000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Knight of Ardougne (West Ardougne)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Knight of Ardougne (West Ardougne)#Surface.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "33",
+                "defence": "24",
+                "slayer-level": "1",
+                "experience": 80,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 26.399999618530273,
+                "max-melee": "96",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Surface",
+                "slayer-exp": 0,
+                "lifepoints": "1200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 203.3000030517578,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 67,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Mourner Tunnels",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mourner (Mourner Tunnels)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mourner (Mourner Tunnels)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "1",
+            "experience": 152.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 50.29999923706055,
+            "max-melee": "244",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "3050",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seren archer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seren archer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seren mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seren mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "980",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seren warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seren warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"191\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fetid zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Fetid zombie#1.png\" decoding=\"async\" loading=\"lazy\" width=\"128\" height=\"300\" id=\"image-?\">",
+                "level": "66",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 100,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Fetid zombie#2.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "66",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 100,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Fever spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Fever spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"202\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "42",
+            "experience": 210,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 69.30000305175781,
+            "max-melee": "740",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 86.5999984741211,
+            "lifepoints": "4200",
+            "max-ranged": "840",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fire giant",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Fire giant#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 335,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 110.5,
+            "max-melee": "335",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 161.1999969482422,
+            "lifepoints": "6700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Flesh Crawler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Flesh Crawler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"262\" id=\"image-?\">",
+            "level": "26",
+            "defence": "22",
+            "slayer-level": "1",
+            "experience": 180,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 59.400001525878906,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 50,
+            "lifepoints": "3600",
+            "max-ranged": "320",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Big frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Big frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+            "level": "18",
+            "defence": "20",
+            "slayer-level": "1",
+            "experience": 165,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 54.400001525878906,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 14.399999618530273,
+            "lifepoints": "3300",
+            "max-ranged": "120",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"265\" id=\"image-?\">",
+            "level": "67",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 235,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 77.5,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 54.79999923706055,
+            "lifepoints": "4700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Frogeel",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Frogeel#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"160\" id=\"image-?\">",
+            "level": "68",
+            "defence": "49",
+            "slayer-level": "1",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.400001525878906,
+            "lifepoints": "8200",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+            "level": "33",
+            "defence": "32",
+            "slayer-level": "1",
+            "experience": 255,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 84.0999984741211,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 18.799999237060547,
+            "lifepoints": "5100",
+            "max-ranged": "300",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Plague frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Plague frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"253\" id=\"image-?\">",
+            "level": "17",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.200000762939453,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Swamp frog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Swamp frog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+            "level": "11",
+            "defence": "12",
+            "slayer-level": "1",
+            "experience": 55,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 18.100000381469727,
+            "max-melee": "80",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10,
+            "lifepoints": "1100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fungal mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Fungal mage#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"204\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 63.599998474121094,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "232",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Fungal mage#Weakened.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Weakened",
+                "slayer-exp": 63.599998474121094,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "116",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ganodermic beast",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic beast#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "70",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 565,
+                "lifepoints": "12500",
+                "max-ranged": "0",
+                "max-magic": "332",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic beast#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"255\" height=\"300\" id=\"image-?\">",
+                "level": "112",
+                "defence": "60",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 565,
+                "lifepoints": "12500",
+                "max-ranged": "0",
+                "max-magic": "166",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ganodermic runt",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic runt#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"297\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 564.4000244140625,
+                "lifepoints": "12500",
+                "max-ranged": "332",
+                "max-magic": "332",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ganodermic runt#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"268\" id=\"image-?\">",
+                "level": "112",
+                "defence": "80",
+                "slayer-level": "95",
+                "experience": 625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 564.4000244140625,
+                "lifepoints": "12500",
+                "max-ranged": "166",
+                "max-magic": "166",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Gelatinous abomination",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Gelatinous abomination#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+            "level": "2",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 25,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 8.199999809265137,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19,
+            "lifepoints": "500",
+            "max-ranged": "0",
+            "max-magic": "60",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ahrim the Blighted",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ahrim the Blighted#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"195\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "1260",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ahrim the Blighted#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"195\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": 395,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Akrisae the Doomed",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Akrisae the Doomed#Barrows.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+                "level": "115",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Barrows",
+                "slayer-exp": -1,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "2167",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Akrisae the Doomed#Gregorovic.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Gregorovic",
+                "slayer-exp": -1,
+                "lifepoints": "1000000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Akrisae the Doomed#Sliske's Endgame.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sliske's Endgame",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dharok the Wretched",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dharok the Wretched#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "3150",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3150",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": 395,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dharok the Wretched#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"228\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3150",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghast",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Regular.png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "150",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Regular",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Temple Trekking (Easy Route).png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "28",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Easy Route)",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Temple Trekking (Medium Route).png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "180",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Medium Route)",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghast#Temple Trekking (Hard Route).png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Hard Route)",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghost",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghost#1.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#2.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#3.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#4.png\" decoding=\"async\" loading=\"lazy\" width=\"126\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#5.png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#6.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "6",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost#7.png\" decoding=\"async\" loading=\"lazy\" width=\"115\" height=\"300\" id=\"image-?\">",
+                "level": "25",
+                "defence": "18",
+                "slayer-level": "1",
+                "experience": 59.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 19.600000381469727,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "7",
+                "slayer-exp": 10,
+                "lifepoints": "900",
+                "max-ranged": "0",
+                "max-magic": "72",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghost (Abandoned Mine)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghost (Abandoned Mine)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "42",
+            "defence": "?",
+            "slayer-level": "1",
+            "experience": -1,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": -1,
+            "max-melee": "120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ghost (Ourania Runecrafting Altar)",
+        "variants": []
+    },
+    {
+        "name": "Ghost (Shattered Worlds)",
+        "variants": []
+    },
+    {
+        "name": "Ghost (Spirit of Summer)",
+        "variants": []
+    },
+    {
+        "name": "Ghost (Stronghold of Security)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#3.png\" decoding=\"async\" loading=\"lazy\" width=\"115\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#4.png\" decoding=\"async\" loading=\"lazy\" width=\"126\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghost (Stronghold of Security)#5.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 69,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "825",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghost healer",
+        "variants": []
+    },
+    {
+        "name": "Ghostly troll bruiser",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghostly troll bruiser#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "100",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 20.799999237060547,
+            "lifepoints": "1800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ghostly troll thrower",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghostly troll thrower#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 20.799999237060547,
+            "lifepoints": "1800",
+            "max-ranged": "100",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ghostly warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghostly warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "44",
+            "slayer-level": "1",
+            "experience": 110,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 36.29999923706055,
+            "max-melee": "176",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 32.599998474121094,
+            "lifepoints": "2200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Guthan the Infested",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Guthan the Infested#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"102\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 881.4000244140625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 290.79998779296875,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"102\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "600",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": -1,
+                "lifepoints": "3750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Guthan the Infested#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"276\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 7149.60009765625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 2359.300048828125,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Karil the Tainted",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Karil the Tainted#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "1260",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Karil the Tainted#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "864",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Linza the Disgraced",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Linza the Disgraced#Barrows.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 3750,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 1237.5,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Barrows",
+                "slayer-exp": 440,
+                "lifepoints": "150000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Linza the Disgraced#Sliske's Endgame.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sliske's Endgame",
+                "slayer-exp": -1,
+                "lifepoints": "150000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Masuta the Descended",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Masuta the Descended#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"205\" height=\"300\" id=\"image-?\">",
+            "level": "1000",
+            "defence": "85",
+            "slayer-level": "?",
+            "experience": 9750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 3217.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "195000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant cyclops",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant cyclops#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"117\" height=\"300\" id=\"image-?\">",
+            "level": "60",
+            "defence": "43",
+            "slayer-level": "1",
+            "experience": 322.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 106.4000015258789,
+            "max-melee": "967",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 93.19999694824219,
+            "lifepoints": "6450",
+            "max-ranged": "967",
+            "max-magic": "967",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant dragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant dragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"161\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 517.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 170.6999969482422,
+            "max-melee": "1552",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 712.4000244140625,
+            "lifepoints": "10350",
+            "max-ranged": "1552",
+            "max-magic": "1552",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant goblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#16.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "16",
+                "defence": "12",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "270",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "16",
+                "slayer-exp": 27.799999237060547,
+                "lifepoints": "1800",
+                "max-ranged": "270",
+                "max-magic": "270",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#19.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "19",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 49.5,
+                "max-melee": "450",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "19",
+                "slayer-exp": 28.399999618530273,
+                "lifepoints": "3000",
+                "max-ranged": "450",
+                "max-magic": "450",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#22.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "22",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 49.5,
+                "max-melee": "450",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "22",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "3000",
+                "max-ranged": "450",
+                "max-magic": "450",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Revenant goblin#28.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"294\" id=\"image-?\">",
+                "level": "28",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 150,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 49.5,
+                "max-melee": "450",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "28",
+                "slayer-exp": 34.599998474121094,
+                "lifepoints": "3000",
+                "max-ranged": "450",
+                "max-magic": "450",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Revenant hellhound",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant hellhound#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 352.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 116.30000305175781,
+            "max-melee": "1057",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 122.19999694824219,
+            "lifepoints": "7050",
+            "max-ranged": "1057",
+            "max-magic": "1057",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant hobgoblin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant hobgoblin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"162\" height=\"300\" id=\"image-?\">",
+            "level": "44",
+            "defence": "32",
+            "slayer-level": "1",
+            "experience": 240,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 56.599998474121094,
+            "lifepoints": "4800",
+            "max-ranged": "720",
+            "max-magic": "720",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant icefiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant icefiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"194\" height=\"300\" id=\"image-?\">",
+            "level": "37",
+            "defence": "27",
+            "slayer-level": "1",
+            "experience": 202.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 66.80000305175781,
+            "max-melee": "607",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 45.599998474121094,
+            "lifepoints": "4050",
+            "max-ranged": "607",
+            "max-magic": "607",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant imp",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant imp#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 75,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 24.700000762939453,
+            "max-melee": "225",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 25,
+            "lifepoints": "1500",
+            "max-ranged": "225",
+            "max-magic": "225",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant knight",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant knight#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 487.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 160.8000030517578,
+            "max-melee": "1462",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 552.7999877929688,
+            "lifepoints": "9750",
+            "max-ranged": "1462",
+            "max-magic": "1462",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant ork",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant ork#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 412.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 136.10000610351562,
+            "max-melee": "1237",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 269.20001220703125,
+            "lifepoints": "8250",
+            "max-ranged": "1237",
+            "max-magic": "1237",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant pyrefiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant pyrefiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" id=\"image-?\">",
+            "level": "40",
+            "defence": "29",
+            "slayer-level": "1",
+            "experience": 217.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 71.69999694824219,
+            "max-melee": "652",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 50.20000076293945,
+            "lifepoints": "4350",
+            "max-ranged": "652",
+            "max-magic": "652",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant vampyre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant vampyre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+            "level": "47",
+            "defence": "34",
+            "slayer-level": "1",
+            "experience": 255,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 84.0999984741211,
+            "max-melee": "765",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 62.20000076293945,
+            "lifepoints": "5100",
+            "max-ranged": "765",
+            "max-magic": "765",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Revenant werewolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Revenant werewolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"171\" height=\"300\" id=\"image-?\">",
+            "level": "53",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 285,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Revenant_bane_equipment\" title=\"Revenant bane equipment\" target=\"_blank\"><img src=\"./images/susceptible/Corrupt_Vesta%27s_longsword.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 94,
+            "max-melee": "855",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 74.4000015258789,
+            "lifepoints": "5700",
+            "max-ranged": "855",
+            "max-magic": "855",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Risen ghost",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Risen ghost#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+            "level": "101",
+            "defence": "70",
+            "slayer-level": "85",
+            "experience": 1500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 495,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1000,
+            "lifepoints": "30000",
+            "max-ranged": "0",
+            "max-magic": "1117",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shade",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shade#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"135\" height=\"300\" id=\"image-?\">",
+            "level": "52",
+            "defence": "44",
+            "slayer-level": "1",
+            "experience": 362.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 119.5999984741211,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "7250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shadow warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 390,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 128.6999969482422,
+            "max-melee": "940",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 113,
+            "lifepoints": "7800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Torag the Corrupted",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Torag the Corrupted#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Normal",
+                "slayer-exp": 395,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Torag the Corrupted#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"179\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Tormented soul (Uncharted Isles)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tormented soul (Uncharted Isles)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+            "level": "93",
+            "defence": "67",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "268",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 98.5999984741211,
+            "lifepoints": "1000",
+            "max-ranged": "268",
+            "max-magic": "268",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tormented wraith",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tormented wraith#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"117\" height=\"300\" id=\"image-?\">",
+            "level": "42",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 225,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "270",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 52,
+            "lifepoints": "4500",
+            "max-ranged": "0",
+            "max-magic": "120",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Tortured soul (Port Phasmatys)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Tortured soul (Port Phasmatys)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+            "level": "53",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 49.5,
+            "max-melee": "114",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 38.79999923706055,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Verac the Defiled",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Verac the Defiled#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "150",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "1260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Verac the Defiled#Rise of the Six.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "650",
+                "defence": "90",
+                "slayer-level": "1",
+                "experience": 1250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Rise of the Six",
+                "slayer-exp": 0,
+                "lifepoints": "50000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Wight",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wight#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wight (Missing, Presumed Death)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wight (Missing, Presumed Death)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 17.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 5.699999809265137,
+            "max-melee": "25",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "350",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wight ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wight ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"194\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ghost_hunter_equipment\" title=\"Ghost hunter equipment\" target=\"_blank\"><img src=\"./images/susceptible/s/Ghost_hunter_backpack.png\" decoding=\"async\" loading=\"lazy\" width=\"20\" height=\"29\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wight ranger (Sliske's Endgame)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Wight ranger (Sliske's Endgame)#78.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 206.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 68,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "78",
+                "slayer-exp": -1,
+                "lifepoints": "4125",
+                "max-ranged": "192",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 206.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 68,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "78 (Weak in slash)",
+                "slayer-exp": -1,
+                "lifepoints": "4125",
+                "max-ranged": "1676.3",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wight ranger (Sliske's Endgame)#85.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 206.25,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 68,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "85",
+                "slayer-exp": -1,
+                "lifepoints": "4125",
+                "max-ranged": "384",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Ghoul",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ghoul#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "50",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "620",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 35.79999923706055,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ghoul#Blue.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "50",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "620",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Blue",
+                "slayer-exp": 35.79999923706055,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ghoul (Paterdomus)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ghoul (Paterdomus)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+            "level": "33",
+            "defence": "24",
+            "slayer-level": "1",
+            "experience": 60,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 19.799999237060547,
+            "max-melee": "96",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ravenous ghoul",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ravenous ghoul#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"257\" height=\"300\" id=\"image-?\">",
+            "level": "105",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 725,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 239.1999969482422,
+            "max-melee": "595",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "14500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ravenous ghoul (Mazchna)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ravenous ghoul (Mazchna)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"300\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 475,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 156.6999969482422,
+            "max-melee": "480",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 440,
+            "lifepoints": "9500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Arch-Glacor",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Arch-Glacor#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"233\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 1625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 536.2000122070312,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "32000",
+                "name": "Hard mode",
+                "slayer-exp": 4810,
+                "lifepoints": "65000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Arch-Glacor#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"233\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 1625,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 536.2000122070312,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "32000",
+                "name": "Normal mode",
+                "slayer-exp": 4810,
+                "lifepoints": "65000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bolstered Glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bolstered Glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+            "level": "131",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 62.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 20.600000381469727,
+            "max-melee": "950",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1250",
+            "max-ranged": "?",
+            "max-magic": "?",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Enduring glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Enduring glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 333.29998779296875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 109.9000015258789,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Glacor",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Glacor#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 2000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 660,
+            "max-melee": "1266",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 1881,
+            "lifepoints": "40000",
+            "max-ranged": "1266",
+            "max-magic": "1266",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Glacyte",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Glacyte#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "84",
+                "experience": 250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 82.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee",
+                "slayer-exp": 182,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Glacyte#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "84",
+                "experience": 250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 82.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic",
+                "slayer-exp": 182,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Glacyte (Arch-Glacor)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Glacyte (Arch-Glacor)#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"269\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee",
+                "slayer-exp": -1,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Glacyte (Arch-Glacor)#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "105",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 82.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic",
+                "slayer-exp": -1,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Sapping glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sapping glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 333.29998779296875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 109.9000015258789,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Unstable glacyte",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Unstable glacyte#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"289\" height=\"300\" id=\"image-?\">",
+            "level": "114",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 333.29998779296875,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 109.9000015258789,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 0,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Angry goblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Angry goblin#A Soul's Bane.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "45",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A Soul's Bane",
+                "slayer-exp": 0,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry goblin#Post-quest.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Brokeface",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Brokeface#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "150",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave goblin (monster)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Cave goblin (monster)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"172\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 2.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 0.800000011920929,
+            "max-melee": "4",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "50",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Cave goblin guard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin guard#Club.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "60",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Club",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin guard#Spear.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "60",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Spear",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Cave goblin miner",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin miner#Mining.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": [],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Mining",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Cave goblin miner#Slacking off.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 12.5,
+                "susceptible": [],
+                "lifepoint-exp": 4.099999904632568,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Slacking off",
+                "slayer-exp": 6.800000190734863,
+                "lifepoints": "250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 2.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "2",
+                "defence": "2",
+                "slayer-level": "1",
+                "experience": 27.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 9,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 2",
+                "slayer-exp": -1,
+                "lifepoints": "550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 5.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 5",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 11.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "11",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 11",
+                "slayer-exp": -1,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 1 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 1 (Slayer challenge)",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 5 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "16",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 5 (Slayer challenge)",
+                "slayer-exp": -1,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin#Level 11 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "11",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 20,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 6.599999904632568,
+                "max-melee": "32",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Level 11 (Slayer challenge)",
+                "slayer-exp": -1,
+                "lifepoints": "400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin (Goblin Village)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (1).png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (1)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (2).png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (2)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (3).png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (3)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (4).png\" decoding=\"async\" loading=\"lazy\" width=\"280\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (4)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (5).png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (5)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Red (6).png\" decoding=\"async\" loading=\"lazy\" width=\"170\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Red (6)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (1).png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (1)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (2).png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (2)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (3).png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (3)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (4).png\" decoding=\"async\" loading=\"lazy\" width=\"196\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (4)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (5).png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (5)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Goblin Village)#Green (6).png\" decoding=\"async\" loading=\"lazy\" width=\"170\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Green (6)",
+                "slayer-exp": 6.599999904632568,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin (God Wars Dungeon)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Sword.png\" decoding=\"async\" loading=\"lazy\" width=\"205\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Sword",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Warhammer.png\" decoding=\"async\" loading=\"lazy\" width=\"201\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Warhammer",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Banner.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Banner",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Spear.png\" decoding=\"async\" loading=\"lazy\" width=\"189\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Spear",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png\" decoding=\"async\" loading=\"lazy\" width=\"200\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Battleaxe",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Goblin (Stronghold of Security)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png\" decoding=\"async\" loading=\"lazy\" width=\"220\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (a)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png\" decoding=\"async\" loading=\"lazy\" width=\"211\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (b)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (c)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (d)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (e)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png\" decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"300\" id=\"image-?\">",
+                "level": "5",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "80",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 5 (f)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Guard (cave goblin)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Guard (cave goblin)#Club.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Club",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Guard (cave goblin)#Spear.png\" decoding=\"async\" loading=\"lazy\" width=\"146\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Spear",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lumpnose",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lumpnose#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"240\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1800",
+            "max-ranged": "150",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sergeant Grimspike",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sergeant Grimspike#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"222\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 273.70001220703125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 90.30000305175781,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 199.1999969482422,
+            "lifepoints": "5475",
+            "max-ranged": "365",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sergeant Steelwill",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sergeant Steelwill#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"206\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 273.70001220703125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 90.30000305175781,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 199.1999969482422,
+            "lifepoints": "5475",
+            "max-ranged": "0",
+            "max-magic": "365",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sergeant Strongstack",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sergeant Strongstack#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+            "level": "102",
+            "defence": "73",
+            "slayer-level": "1",
+            "experience": 273.70001220703125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 90.30000305175781,
+            "max-melee": "365",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 199.1999969482422,
+            "lifepoints": "5475",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skoblin",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skoblin#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+            "level": "19",
+            "defence": "14",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9.399999618530273,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Stinkears",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Stinkears#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+            "level": "7",
+            "defence": "5",
+            "slayer-level": "1",
+            "experience": 90,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 29.700000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "1800",
+            "max-ranged": "0",
+            "max-magic": "150",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Gorak",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Gorak#Gorak Plane.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Gorak Plane",
+                "slayer-exp": 49.79999923706055,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gorak#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 598.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 197.5,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "6800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gorak#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 598.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 197.5,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": -1,
+                "lifepoints": "6800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Butcher demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Butcher demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"233\" height=\"300\" id=\"image-?\">",
+            "level": "118",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 5680.2001953125,
+            "lifepoints": "100000",
+            "max-ranged": "1653",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Champion of Infernus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Champion of Infernus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"195\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "1",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "816",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1136,
+            "lifepoints": "20000",
+            "max-ranged": "0",
+            "max-magic": "816",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chaos Demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "100",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 247.5,
+            "max-melee": "2212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "15000",
+            "max-ranged": "2212",
+            "max-magic": "2212",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Demon Savage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Chaos Demon Savage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "141",
+            "defence": "110",
+            "slayer-level": "1",
+            "experience": 3500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1155,
+            "max-melee": "2011",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "70000",
+            "max-ranged": "1564",
+            "max-magic": "1564",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Denizen of Infernus",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Denizen of Infernus#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+            "level": "127",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 6000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1980,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10000,
+            "lifepoints": "120000",
+            "max-ranged": "864",
+            "max-magic": "1656",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Greater demon (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Greater demon (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"250\" id=\"image-?\">",
+            "level": "92",
+            "defence": "59",
+            "slayer-level": "1",
+            "experience": 1200,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 396,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 619.7999877929688,
+            "lifepoints": "24000",
+            "max-ranged": "0",
+            "max-magic": "1065",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kor'Vath the Blightbringer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kor'Vath the Blightbringer#140,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "140,000 life points",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "566.4",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kor'Vath the Blightbringer#170,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "170,000 life points",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "566.4",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kor'Vath the Blightbringer#400,000 life points.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "400,000 life points",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "566.4",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "La'Kalor the Unbroken",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/La'Kalor the Unbroken#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "82",
+            "defence": "59",
+            "slayer-level": "?",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100000",
+            "max-ranged": "0",
+            "max-magic": "566.4",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shara'Kor the Widowmaker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shara'Kor the Widowmaker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "82",
+            "defence": "59",
+            "slayer-level": "?",
+            "experience": 5000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1650,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100000",
+            "max-ranged": "0",
+            "max-magic": "566.4",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Grifolapine",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Grifolapine#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+                "level": "103",
+                "defence": "74",
+                "slayer-level": "88",
+                "experience": 370,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 122.0999984741211,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 279,
+                "lifepoints": "7400",
+                "max-ranged": "296",
+                "max-magic": "296",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Grifolapine#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "103",
+                "defence": "74",
+                "slayer-level": "88",
+                "experience": 370,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 122.0999984741211,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 279,
+                "lifepoints": "7400",
+                "max-ranged": "148",
+                "max-magic": "148",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Grifolaroo",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Grifolaroo#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "82",
+                "experience": 385,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 127,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 323.20001220703125,
+                "lifepoints": "7700",
+                "max-ranged": "308",
+                "max-magic": "308",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Grifolaroo#Neem oil.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "82",
+                "experience": 385,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 127,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Neem oil",
+                "slayer-exp": 323.20001220703125,
+                "lifepoints": "7700",
+                "max-ranged": "154",
+                "max-magic": "154",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Giant worm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant worm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"211\" id=\"image-?\">",
+            "level": "72",
+            "defence": "40",
+            "slayer-level": "1",
+            "experience": 325,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 107.19999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 117.4000015258789,
+            "lifepoints": "6500",
+            "max-ranged": "0",
+            "max-magic": "600",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Grotworm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Grotworm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"211\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 372.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 122.9000015258789,
+            "max-melee": "900",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 102.80000305175781,
+            "lifepoints": "7450",
+            "max-ranged": "0",
+            "max-magic": "900",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mature grotworm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mature grotworm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 640,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 211.1999969482422,
+            "max-melee": "1400",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 343.6000061035156,
+            "lifepoints": "12800",
+            "max-ranged": "0",
+            "max-magic": "1400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Young grotworm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Young grotworm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+            "level": "28",
+            "defence": "20",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 11.399999618530273,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Harpie Bug Swarm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Harpie Bug Swarm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"275\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "33",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 34,
+            "lifepoints": "2250",
+            "max-ranged": "180",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Harpie Bug Swarm (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Harpie Bug Swarm (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"275\" id=\"image-?\">",
+            "level": "72",
+            "defence": "45",
+            "slayer-level": "33",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 313,
+            "lifepoints": "9000",
+            "max-ranged": "540",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Hellhound#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "92",
+                "defence": "66",
+                "slayer-level": "1",
+                "experience": 165,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 54.400001525878906,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 93.80000305175781,
+                "lifepoints": "3300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hellhound#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "95",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 475,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 156.6999969482422,
+                "max-melee": "1080",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "9500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hellhound#Level 105.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "105",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 475,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 156.6999969482422,
+                "max-melee": "1080",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 105",
+                "slayer-exp": 371,
+                "lifepoints": "9500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hellhound (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound (The Zamorakian Undercity)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound (The Zamorakian Undercity)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "104",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 800,
+            "lifepoints": "9000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "104",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 450,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "9000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound Alpha",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound Alpha#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "113",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "1584",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "20000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound Hunter",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound Hunter#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "111",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 600,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 198,
+            "max-melee": "1512",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "12000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hellhound Hunter (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hellhound Hunter (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+            "level": "111",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 600,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 198,
+            "max-melee": "1512",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "12000",
+            "max-ranged": "14",
+            "max-magic": "14",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hill Giant",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hill Giant#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+            "level": "26",
+            "defence": "22",
+            "slayer-level": "1",
+            "experience": 225,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "450",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 37.599998474121094,
+            "lifepoints": "4500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Hobgoblin",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Hobgoblin#Level 15.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "15",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 15",
+                "slayer-exp": 35,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hobgoblin#Level 18.png\" decoding=\"async\" loading=\"lazy\" width=\"293\" height=\"300\" id=\"image-?\">",
+                "level": "18",
+                "defence": "12",
+                "slayer-level": "1",
+                "experience": 112.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 37.099998474121094,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18",
+                "slayer-exp": 39,
+                "lifepoints": "2250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hobgoblin#Level 91 (GWD).png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "325",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 91 (GWD)",
+                "slayer-exp": 268.6000061035156,
+                "lifepoints": "9750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hobgoblin (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Hobgoblin (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"226\" height=\"300\" id=\"image-?\">",
+            "level": "35",
+            "defence": "25",
+            "slayer-level": "1",
+            "experience": 252.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 83.30000305175781,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "5050",
+            "max-ranged": "460",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice giant",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice giant#Level 47 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "47",
+                "defence": "37",
+                "slayer-level": "1",
+                "experience": 372.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 122.9000015258789,
+                "max-melee": "750",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 47 (1)",
+                "slayer-exp": 80.80000305175781,
+                "lifepoints": "7450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice giant#Level 47 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"143\" height=\"300\" id=\"image-?\">",
+                "level": "47",
+                "defence": "37",
+                "slayer-level": "1",
+                "experience": 372.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 122.9000015258789,
+                "max-melee": "750",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 47 (2)",
+                "slayer-exp": 80.80000305175781,
+                "lifepoints": "7450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+            "level": "106",
+            "defence": "76",
+            "slayer-level": "93",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "729",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "2000",
+            "name": "Default",
+            "slayer-exp": 693.2000122070312,
+            "lifepoints": "25000",
+            "max-ranged": "729",
+            "max-magic": "729",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice warrior#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "26",
+                "slayer-level": "1",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "640",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 25.799999237060547,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice warrior#Ice Queen's Lair.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "26",
+                "slayer-level": "1",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "640",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ice Queen's Lair",
+                "slayer-exp": 25.799999237060547,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Icelord",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Icelord#ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 75,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 24.700000762939453,
+                "max-melee": "90",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "ranged",
+                "slayer-exp": 60,
+                "lifepoints": "1500",
+                "max-ranged": "120",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Icelord#melee.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 75,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 24.700000762939453,
+                "max-melee": "120",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "melee",
+                "slayer-exp": 60,
+                "lifepoints": "1500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Icefiend",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Icefiend#Ice Mountain.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ice Mountain",
+                "slayer-exp": 7,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "500",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Icefiend#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 300,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 99,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon",
+                "slayer-exp": 140,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Icefiend#Ice Mountain (melting).png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ice Mountain (melting)",
+                "slayer-exp": 7,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "500",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Icefiend (Ghorrock)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Icefiend (Ghorrock)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 362.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 119.5999984741211,
+            "max-melee": "1540",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 335,
+            "lifepoints": "7250",
+            "max-ranged": "1540",
+            "max-magic": "1540",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Infernal Mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Infernal Mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+            "level": "63",
+            "defence": "40",
+            "slayer-level": "45",
+            "experience": 325,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 107.19999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 91,
+            "lifepoints": "6500",
+            "max-ranged": "0",
+            "max-magic": "1040",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Infernal Mage (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Infernal Mage (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "50",
+            "slayer-level": "45",
+            "experience": 1050,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 346.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 596,
+            "lifepoints": "21000",
+            "max-ranged": "0",
+            "max-magic": "1240",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jelly",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jelly#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+            "level": "61",
+            "defence": "49",
+            "slayer-level": "52",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 93,
+            "lifepoints": "8200",
+            "max-ranged": "760",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jungle horror",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jungle horror#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+            "level": "48",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 240,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 79.19999694824219,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.5,
+            "lifepoints": "4800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Quetzathog",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Quetzathog#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "85",
+            "slayer-level": "0",
+            "experience": 7275,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 2400.699951171875,
+            "max-melee": "2376",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "145500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea horror",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Sea horror#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 4178.2001953125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1378.800048828125,
+                "max-melee": "482",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal mode",
+                "slayer-exp": 1388,
+                "lifepoints": "35500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Sea horror#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "119",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 887.5,
+                "susceptible": [],
+                "lifepoint-exp": 292.79998779296875,
+                "max-melee": "482",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Story mode",
+                "slayer-exp": 1388,
+                "lifepoints": "17750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Jungle strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jungle strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+            "level": "93",
+            "defence": "67",
+            "slayer-level": "73",
+            "experience": 425,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 140.1999969482422,
+            "max-melee": "643",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "1800",
+            "name": "Default",
+            "slayer-exp": 249.8000030517578,
+            "lifepoints": "8500",
+            "max-ranged": "643",
+            "max-magic": "643",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled Kalphite Queen",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Exiled Kalphite Queen#First form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+                "level": "356",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 825,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "First form",
+                "slayer-exp": 2055,
+                "lifepoints": "50000",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Exiled Kalphite Queen#Second form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"191\" id=\"image-?\">",
+                "level": "356",
+                "defence": "75",
+                "slayer-level": "1",
+                "experience": 2500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 825,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Second form",
+                "slayer-exp": 2055,
+                "lifepoints": "50000",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Exiled kalphite guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"272\" height=\"300\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 350,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 115.5,
+            "max-melee": "280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 229,
+            "lifepoints": "7000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled kalphite marauder",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Exiled kalphite marauder#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 350,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 115.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": 229,
+                "lifepoints": "7000",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Exiled kalphite marauder#Kalphite King.png\" decoding=\"async\" loading=\"lazy\" width=\"278\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 250,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 82.5,
+                "max-melee": "1676",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Kalphite King",
+                "slayer-exp": 229,
+                "lifepoints": "5000",
+                "max-ranged": "0",
+                "max-magic": "720",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Exiled kalphite paragon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite paragon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"279\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 300,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 99,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 140,
+            "lifepoints": "6000",
+            "max-ranged": "0",
+            "max-magic": "240",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled kalphite soldier",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite soldier#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"248\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 300,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 99,
+            "max-melee": "240",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 147,
+            "lifepoints": "6000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Exiled kalphite worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Exiled kalphite worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"230\" id=\"image-?\">",
+            "level": "75",
+            "defence": "54",
+            "slayer-level": "1",
+            "experience": 270,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 89.0999984741211,
+            "max-melee": "188",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 109.80000305175781,
+            "lifepoints": "5400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kalphite Guardian",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kalphite Guardian#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+            "level": "72",
+            "defence": "52",
+            "slayer-level": "1",
+            "experience": 260,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 85.80000305175781,
+            "max-melee": "208",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 95,
+            "lifepoints": "5200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kalphite King",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kalphite King#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"262\" height=\"300\" id=\"image-?\">",
+                "level": "2500",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 6500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 2145,
+                "max-melee": "2560",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Magic",
+                "slayer-exp": 3963,
+                "lifepoints": "260000",
+                "max-ranged": "1280",
+                "max-magic": "2560",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kalphite King#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+                "level": "2500",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 6500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 2145,
+                "max-melee": "2560",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Melee",
+                "slayer-exp": 3963,
+                "lifepoints": "260000",
+                "max-ranged": "1280",
+                "max-magic": "2560",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kalphite King#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"275\" id=\"image-?\">",
+                "level": "2500",
+                "defence": "85",
+                "slayer-level": "1",
+                "experience": 6500,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 2145,
+                "max-melee": "2560",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "2500",
+                "name": "Ranged",
+                "slayer-exp": 3963,
+                "lifepoints": "260000",
+                "max-ranged": "1280",
+                "max-magic": "2560",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kalphite Queen",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kalphite Queen#First form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "333",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "980",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "First form",
+                "slayer-exp": 1309.4000244140625,
+                "lifepoints": "40000",
+                "max-ranged": "980",
+                "max-magic": "980",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kalphite Queen#Second form.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"152\" id=\"image-?\">",
+                "level": "333",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "980",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Second form",
+                "slayer-exp": 1309.4000244140625,
+                "lifepoints": "40000",
+                "max-ranged": "980",
+                "max-magic": "980",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kalphite Soldier",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kalphite Soldier#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 235,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 77.5,
+            "max-melee": "188",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 75.4000015258789,
+            "lifepoints": "4700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kalphite Worker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kalphite Worker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 210,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 69.30000305175781,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 59.29999923706055,
+            "lifepoints": "4200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Killerwatt",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Killerwatt#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+            "level": "55",
+            "defence": "44",
+            "slayer-level": "37",
+            "experience": 180,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 59.400001525878906,
+            "max-melee": "450",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 32.599998474121094,
+            "lifepoints": "3600",
+            "max-ranged": "510",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kurask",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kurask#Examine #1.png\" decoding=\"async\" loading=\"lazy\" width=\"297\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "70",
+                "experience": 280,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 92.4000015258789,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Examine #1",
+                "slayer-exp": 115,
+                "lifepoints": "5600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kurask#Examine #2.png\" decoding=\"async\" loading=\"lazy\" width=\"297\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "70",
+                "experience": 280,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 92.4000015258789,
+                "max-melee": "224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Examine #2",
+                "slayer-exp": 115,
+                "lifepoints": "5600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Engorged lava strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Engorged lava strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 9250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 3052.5,
+            "max-melee": "1400",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 29105,
+            "lifepoints": "185000",
+            "max-ranged": "1400",
+            "max-magic": "1400",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lava strykewyrm",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lava strykewyrm#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "115",
+            "defence": "80",
+            "slayer-level": "94",
+            "experience": 1500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 495,
+            "max-melee": "1788",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "Varies",
+            "name": "Default",
+            "slayer-exp": 1872,
+            "lifepoints": "30000",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lava strykewyrm (Dragonkin Laboratory)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "101",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 1500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 495,
+            "max-melee": "1117",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 3100,
+            "lifepoints": "30000",
+            "max-ranged": "1117",
+            "max-magic": "1117",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "WildyWyrm (2015, historical)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/WildyWyrm (2015, historical)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+            "level": "92",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 5000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 1650,
+            "max-melee": "2212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4700",
+            "name": "Default",
+            "slayer-exp": 16462.599609375,
+            "lifepoints": "1000000",
+            "max-ranged": "1425",
+            "max-magic": "1425",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lesser demon (Wizards' Tower)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lesser demon (Wizards' Tower)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"284\" height=\"300\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 82.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 86.5999984741211,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "200",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Living rock patriarch",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Living rock patriarch#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"214\" height=\"300\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 320,
+            "lifepoints": "25000",
+            "max-ranged": "1000",
+            "max-magic": "1000",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Living rock protector",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Living rock protector#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+            "level": "92",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 275,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 90.69999694824219,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 156,
+            "lifepoints": "5500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Living rock striker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Living rock striker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "92",
+            "defence": "66",
+            "slayer-level": "1",
+            "experience": 275,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 90.69999694824219,
+            "max-melee": "264",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 156,
+            "lifepoints": "5500",
+            "max-ranged": "500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Wyvern",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wyvern#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"227\" id=\"image-?\">",
+            "level": "127",
+            "defence": "91",
+            "slayer-level": "96",
+            "experience": 1125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 371.20001220703125,
+            "max-melee": "1310",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1878.800048828125,
+            "lifepoints": "22500",
+            "max-ranged": "1310",
+            "max-magic": "1310",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Wyvern (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wyvern (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"227\" id=\"image-?\">",
+            "level": "133",
+            "defence": "95",
+            "slayer-level": "96",
+            "experience": 2250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 742.5,
+            "max-melee": "1339",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 2654,
+            "lifepoints": "45000",
+            "max-ranged": "1339",
+            "max-magic": "1339",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Minotaur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Minotaur#Level 12.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "12",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 12",
+                "slayer-exp": 16.600000381469727,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Minotaur#Level 15.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "15",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 15",
+                "slayer-exp": 46.400001525878906,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Minotaur#Level 44 (Slayer challenge).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "44",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 80,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 26.399999618530273,
+                "max-melee": "128",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 44 (Slayer challenge)",
+                "slayer-exp": -2,
+                "lifepoints": "1600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mogre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mogre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"198\" height=\"300\" id=\"image-?\">",
+            "level": "45",
+            "defence": "39",
+            "slayer-level": "32",
+            "experience": 315,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 103.9000015258789,
+            "max-melee": "625",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 27,
+            "lifepoints": "6300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Molanisk",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Molanisk#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"230\" id=\"image-?\">",
+            "level": "44",
+            "defence": "38",
+            "slayer-level": "39",
+            "experience": 307.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 49.599998474121094,
+            "lifepoints": "6150",
+            "max-ranged": "500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Moss giant",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (1).png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (1)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (2).png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (2)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (3).png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (3)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (4).png\" decoding=\"async\" loading=\"lazy\" width=\"167\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (4)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Common (5).png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "40",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "625",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common (5)",
+                "slayer-exp": 60,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Moss giant#Glarial's Tomb.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "24",
+                "defence": "20",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 16.5,
+                "max-melee": "216",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Glarial's Tomb",
+                "slayer-exp": 60,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bladed muspah",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bladed muspah#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+            "level": "150",
+            "defence": "75",
+            "slayer-level": "76",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ancient_Magicks\" title=\"Ancient Magicks\" target=\"_blank\"><img src=\"./images/susceptible/Ice_Barrage_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 469,
+            "lifepoints": "20000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Force muspah",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Force muspah#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"249\" id=\"image-?\">",
+            "level": "150",
+            "defence": "75",
+            "slayer-level": "76",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ancient_Magicks\" title=\"Ancient Magicks\" target=\"_blank\"><img src=\"./images/susceptible/Ice_Barrage_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 469,
+            "lifepoints": "20000",
+            "max-ranged": "0",
+            "max-magic": "500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Throwing muspah",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Throwing muspah#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "150",
+            "defence": "75",
+            "slayer-level": "76",
+            "experience": 1000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Ancient_Magicks\" title=\"Ancient Magicks\" target=\"_blank\"><img src=\"./images/susceptible/Ice_Barrage_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 330,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 469,
+            "lifepoints": "20000",
+            "max-ranged": "500",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated jadinko baby",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mutated jadinko baby#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"218\" id=\"image-?\">",
+            "level": "93",
+            "defence": "67",
+            "slayer-level": "80",
+            "experience": 167.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 55.20000076293945,
+            "max-melee": "268",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 98.5999984741211,
+            "lifepoints": "3350",
+            "max-ranged": "0",
+            "max-magic": "268",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated jadinko guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mutated jadinko guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"195\" id=\"image-?\">",
+            "level": "96",
+            "defence": "69",
+            "slayer-level": "86",
+            "experience": 300,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 99,
+            "max-melee": "500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 188.39999389648438,
+            "lifepoints": "6000",
+            "max-ranged": "500",
+            "max-magic": "500",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated jadinko male",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mutated jadinko male#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "100",
+            "defence": "72",
+            "slayer-level": "91",
+            "experience": 300,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 99,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 209.60000610351562,
+            "lifepoints": "6000",
+            "max-ranged": "600",
+            "max-magic": "600",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mutated zygomite",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mutated zygomite#Level 58.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "57",
+                "experience": 105,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 58",
+                "slayer-exp": 31,
+                "lifepoints": "2100",
+                "max-ranged": "168",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mutated zygomite#Level 65.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "65",
+                "defence": "47",
+                "slayer-level": "57",
+                "experience": 125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 65",
+                "slayer-exp": 42,
+                "lifepoints": "2500",
+                "max-ranged": "188",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nechryael",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nechryael#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"256\" height=\"300\" id=\"image-?\">",
+            "level": "96",
+            "defence": "69",
+            "slayer-level": "80",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "276",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 251.60000610351562,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nechryael (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nechryael (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "80",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 251.60000610351562,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nechryael (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nechryael (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"256\" height=\"300\" id=\"image-?\">",
+            "level": "106",
+            "defence": "69",
+            "slayer-level": "80",
+            "experience": 1600,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 528,
+            "max-melee": "828",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1120,
+            "lifepoints": "32000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Nightmare",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nightmare#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"164\" height=\"300\" id=\"image-?\">",
+            "level": "128",
+            "defence": "92",
+            "slayer-level": "80",
+            "experience": 1750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 577.5,
+            "max-melee": "1324",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1540,
+            "lifepoints": "35000",
+            "max-ranged": "1324",
+            "max-magic": "1324",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Blood nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Blood nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "76",
+                "experience": 1250,
+                "susceptible": [],
+                "lifepoint-exp": 412.5,
+                "max-melee": "1000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "boss",
+                "slayer-exp": 705.4000244140625,
+                "lifepoints": "25000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Blood nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "76",
+                "experience": 1250,
+                "susceptible": [],
+                "lifepoint-exp": 412.5,
+                "max-melee": "768",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Magic\" title=\"Magic\" target=\"_blank\"><img src=\"./images/weakness/Magic_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "normal",
+                "slayer-exp": 705.4000244140625,
+                "lifepoints": "25000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "boss",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "1000",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "normal",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Shadow nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Shadow nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "1500",
+                "name": "boss",
+                "slayer-exp": 423,
+                "lifepoints": "15000",
+                "max-ranged": "1000",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Shadow nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Melee\" title=\"Melee\" target=\"_blank\"><img src=\"./images/weakness/Melee_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "1500",
+                "name": "normal",
+                "slayer-exp": 423,
+                "lifepoints": "15000",
+                "max-ranged": "768",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Smoke nihil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Smoke nihil#boss.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "boss",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "1000",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Smoke nihil#normal.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "160",
+                "defence": "80",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 330,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Ranged_weapons\" title=\"Ranged weapons\" target=\"_blank\"><img src=\"./images/weakness/Ranged_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "normal",
+                "slayer-exp": 564,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "768",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Kerapac, the bound",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Kerapac, the bound#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"225\" id=\"image-?\">",
+                "level": "3000",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 11250,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 3712.5,
+                "max-melee": "1339",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Hard mode",
+                "slayer-exp": 16700,
+                "lifepoints": "450000",
+                "max-ranged": "1339",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Kerapac, the bound#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"225\" id=\"image-?\">",
+                "level": "3000",
+                "defence": "80",
+                "slayer-level": "1",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1339",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 16700,
+                "lifepoints": "200000",
+                "max-ranged": "1339",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nodon enforcer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nodon enforcer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"237\" id=\"image-?\">",
+            "level": "200",
+            "defence": "99",
+            "slayer-level": "92",
+            "experience": 12500,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 4125,
+            "max-melee": "1561",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3300",
+            "name": "Default",
+            "slayer-exp": 4003,
+            "lifepoints": "100000",
+            "max-ranged": "1561",
+            "max-magic": "1561",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Enclave guard",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Enclave guard#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"299\" id=\"image-?\">",
+            "level": "81",
+            "defence": "58",
+            "slayer-level": "1",
+            "experience": 580,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 191.39999389648438,
+            "max-melee": "278",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 190,
+            "lifepoints": "11600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ogre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ogre#Kandarin(Level 67).png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 240,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 79.19999694824219,
+                "max-melee": "288",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Kandarin(Level 67)",
+                "slayer-exp": 88.4000015258789,
+                "lifepoints": "4800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre#Combat Camp(56).png\" decoding=\"async\" loading=\"lazy\" width=\"229\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "310",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Combat Camp(56)",
+                "slayer-exp": 34,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre#God Wars Dungeon(86).png\" decoding=\"async\" loading=\"lazy\" width=\"189\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 465,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 153.39999389648438,
+                "max-melee": "310",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon(86)",
+                "slayer-exp": 232,
+                "lifepoints": "9300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ogre chieftain",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ogre chieftain#Version 1.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 612,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 201.89999389648438,
+                "max-melee": "278",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Version 1",
+                "slayer-exp": 200,
+                "lifepoints": "11600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre chieftain#Version 2.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 612,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 201.89999389648438,
+                "max-melee": "278",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Version 2",
+                "slayer-exp": 200,
+                "lifepoints": "11600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ogre chieftain#Version 3.png\" decoding=\"async\" loading=\"lazy\" width=\"285\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 612,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 201.89999389648438,
+                "max-melee": "278",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Version 3",
+                "slayer-exp": 200,
+                "lifepoints": "11600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ogress",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ogress#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 105,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 34.599998474121094,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 33,
+            "lifepoints": "2100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ogress champion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ogress champion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "67",
+            "defence": "48",
+            "slayer-level": "1",
+            "experience": 120,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 39.599998474121094,
+            "max-melee": "192",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 44,
+            "lifepoints": "2400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ogress warrior",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ogress warrior#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 38.20000076293945,
+            "lifepoints": "2250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skogre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skogre#1.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 26.799999237060547,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skogre#2.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 26.799999237060547,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skogre#3.png\" decoding=\"async\" loading=\"lazy\" width=\"241\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 26.799999237060547,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zogre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zogre#1.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zogre#2.png\" decoding=\"async\" loading=\"lazy\" width=\"261\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zogre#3.png\" decoding=\"async\" loading=\"lazy\" width=\"244\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Brutal_arrows\" title=\"Brutal arrows\" target=\"_blank\"><img src=\"./images/susceptible/s/Steel_brutal_2.png\" decoding=\"async\" loading=\"lazy\" width=\"19\" height=\"25\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 33,
+                "max-melee": "240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Otherworldly being",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Otherworldly being#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+            "level": "55",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 282.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 93.19999694824219,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 34,
+            "lifepoints": "5650",
+            "max-ranged": "0",
+            "max-magic": "900",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pyrefiend",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Pyrefiend#Level 38.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "38",
+                "defence": "25",
+                "slayer-level": "30",
+                "experience": 202.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 66.80000305175781,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 38",
+                "slayer-exp": 32.599998474121094,
+                "lifepoints": "4050",
+                "max-ranged": "0",
+                "max-magic": "600",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Pyrefiend#God Wars Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "92",
+                "defence": "66",
+                "slayer-level": "30",
+                "experience": 330,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 108.9000015258789,
+                "max-melee": "264",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "God Wars Dungeon",
+                "slayer-exp": -1,
+                "lifepoints": "6600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Pyrefiend (The Zamorakian Undercity)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "75",
+            "slayer-level": "30",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "576",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "576",
+            "max-magic": "1267",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pyrefiend (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pyrefiend (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "113",
+            "defence": "75",
+            "slayer-level": "?",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "576",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "576",
+            "max-magic": "1267",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Seething Pyrefiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Seething Pyrefiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "119",
+            "defence": "75",
+            "slayer-level": "30",
+            "experience": 800,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 264,
+            "max-melee": "576",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "16000",
+            "max-ranged": "576",
+            "max-magic": "1411",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Smoulders",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Smoulders#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "129",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "0",
+            "max-magic": "176",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Smoulders, the Revenger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Smoulders, the Revenger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+            "level": "152",
+            "defence": "91",
+            "slayer-level": "?",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "2113",
+            "max-magic": "2388",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Angry giant rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Angry giant rat#A Soul's Bane.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"219\" id=\"image-?\">",
+                "level": "45",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "A Soul's Bane",
+                "slayer-exp": -1,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry giant rat#Post-quest (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest (1)",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Angry giant rat#Post-quest (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 62.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 20.600000381469727,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Post-quest (2)",
+                "slayer-exp": 14,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Crypt rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crypt rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"162\" id=\"image-?\">",
+            "level": "70",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 125,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 41.20000076293945,
+            "max-melee": "300",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2500",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dungeon rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 11 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"234\" id=\"image-?\">",
+                "level": "11",
+                "defence": "8",
+                "slayer-level": "1",
+                "experience": 20,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 6.599999904632568,
+                "max-melee": "32",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 11 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"238\" id=\"image-?\">",
+                "level": "11",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 11 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"180\" id=\"image-?\">",
+                "level": "11",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 11 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 18 (brown).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18 (brown)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 18 (grey).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18 (grey)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dungeon rat#Level 18 (brown, arrows).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 32.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 10.699999809265137,
+                "max-melee": "52",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 18 (brown, arrows)",
+                "slayer-exp": -1,
+                "lifepoints": "650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Giant crypt rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant crypt rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"202\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "330",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (grey).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (grey)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (brown).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"140\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (brown)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (grey, arrows).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (grey, arrows)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 7 (brown, arrows).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "7",
+                "defence": "5",
+                "slayer-level": "1",
+                "experience": 72.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 7 (brown, arrows)",
+                "slayer-exp": -1,
+                "lifepoints": "1450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"262\" id=\"image-?\">",
+                "level": "9",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 9 (Stronghold of Security, 1)",
+                "slayer-exp": -1,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"240\" id=\"image-?\">",
+                "level": "9",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 9 (Stronghold of Security, 2)",
+                "slayer-exp": -1,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"195\" id=\"image-?\">",
+                "level": "9",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 9 (Stronghold of Security, 3)",
+                "slayer-exp": -1,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Rat",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rat#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Common",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rat#Stronghold of Security.png\" decoding=\"async\" loading=\"lazy\" width=\"211\" height=\"156\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Stronghold of Security",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rat#Ratcatchers.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"208\" id=\"image-?\">",
+                "level": "N/A",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 12.399999618530273,
+                "susceptible": [],
+                "lifepoint-exp": 4,
+                "max-melee": "−20",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Ratcatchers",
+                "slayer-exp": -1,
+                "lifepoints": "10",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped rat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Warped rat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+            "level": "12",
+            "defence": "9",
+            "slayer-level": "1",
+            "experience": 95,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 31.299999237060547,
+            "max-melee": "180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8,
+            "lifepoints": "1900",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Slasher Demon",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Slasher Demon#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"291\" height=\"300\" id=\"image-?\">",
+            "level": "138",
+            "defence": "99",
+            "slayer-level": "96",
+            "experience": 3356.300048828125,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 1107.5,
+            "max-melee": "979",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "32000",
+            "name": "Default",
+            "slayer-exp": 5299.7998046875,
+            "lifepoints": "67126",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rock slug",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rock slug#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"170\" id=\"image-?\">",
+            "level": "28",
+            "defence": "25",
+            "slayer-level": "20",
+            "experience": 202.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 66.80000305175781,
+            "max-melee": "375",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 33.599998474121094,
+            "lifepoints": "4050",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Elite rune dragon",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Elite rune dragon#Armoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"236\" id=\"image-?\">",
+                "level": "130",
+                "defence": "92",
+                "slayer-level": "1",
+                "experience": 5259.39990234375,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1735.5999755859375,
+                "max-melee": "2992",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Armoured",
+                "slayer-exp": 3399,
+                "lifepoints": "105188",
+                "max-ranged": "2992",
+                "max-magic": "2992",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Elite rune dragon#Unarmoured.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"239\" id=\"image-?\">",
+                "level": "130",
+                "defence": "92",
+                "slayer-level": "1",
+                "experience": 5259.39990234375,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Dragon_slayer_(effect)\" title=\"Dragon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Dragon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 1735.5999755859375,
+                "max-melee": "2992",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Unarmoured",
+                "slayer-exp": 3399,
+                "lifepoints": "105188",
+                "max-ranged": "2992",
+                "max-magic": "2992",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Locust lancer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Locust lancer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 91,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Locust ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Locust ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"276\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "165",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 100,
+            "lifepoints": "2750",
+            "max-ranged": "220",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Locust rider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Melee (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "810",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (1)",
+                "slayer-exp": -1,
+                "lifepoints": "2700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Range (1).png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Range (1)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Melee (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (2)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Range (2).png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Range (2)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Melee (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"264\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (3)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Locust rider#Range (3).png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 270,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 89.0999984741211,
+                "max-melee": "364",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Range (3)",
+                "slayer-exp": -1,
+                "lifepoints": "5400",
+                "max-ranged": "486",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Scabaras lancer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scabaras lancer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"200\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 55,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scabaras mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scabaras mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 137.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 45.29999923706055,
+            "max-melee": "618",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 55,
+            "lifepoints": "2750",
+            "max-ranged": "0",
+            "max-magic": "825",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scabaras ranger",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scabaras ranger#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+            "level": "77",
+            "defence": "55",
+            "slayer-level": "1",
+            "experience": 275,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 90.69999694824219,
+            "max-melee": "165",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 109.5,
+            "lifepoints": "5500",
+            "max-ranged": "220",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scarab akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scarab akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"281\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "80",
+            "slayer-level": "109",
+            "experience": 1100,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+            ],
+            "lifepoint-exp": 363,
+            "max-melee": "921",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 715,
+            "lifepoints": "22000",
+            "max-ranged": "921",
+            "max-magic": "921",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scarab mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Sophanem Dungeon.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "0",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "607",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Sophanem Dungeon",
+                "slayer-exp": 55,
+                "lifepoints": "2700",
+                "max-ranged": "0",
+                "max-magic": "810",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Contact!.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "900",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Contact!",
+                "slayer-exp": 55,
+                "lifepoints": "5400",
+                "max-ranged": "0",
+                "max-magic": "1215",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Dominion Tower.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "900",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dominion Tower",
+                "slayer-exp": 55,
+                "lifepoints": "5400",
+                "max-ranged": "0",
+                "max-magic": "1215",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scarab mage#Rumble Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"165\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "?",
+                "experience": 135,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 44.5,
+                "max-melee": "900",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Rumble Mode",
+                "slayer-exp": 55,
+                "lifepoints": "5400",
+                "max-ranged": "0",
+                "max-magic": "1215",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Small scarab",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Uzer Mastaba.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 75,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 24.700000762939453,
+                "max-melee": "120",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Uzer Mastaba",
+                "slayer-exp": 17,
+                "lifepoints": "1500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Zombie (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" id=\"image-?\">",
+                "level": "42",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zombie (1)",
+                "slayer-exp": 17,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Zombie (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+                "level": "42",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zombie (2)",
+                "slayer-exp": 17,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Zombie (3).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+                "level": "42",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Zombie (3)",
+                "slayer-exp": 17,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Small scarab#Do No Evil.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"242\" id=\"image-?\">",
+                "level": "50",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 90,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Keris\" title=\"Keris\" target=\"_blank\"><img src=\"./images/susceptible/Keris.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"27\"><\/a>"
+                ],
+                "lifepoint-exp": 29.700000762939453,
+                "max-melee": "108",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Do No Evil",
+                "slayer-exp": -1,
+                "lifepoints": "1800",
+                "max-ranged": "144",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Grave scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Grave scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7.199999809265137,
+            "lifepoints": "1000",
+            "max-ranged": "200",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "King Scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/King Scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"295\" id=\"image-?\">",
+            "level": "22",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 48,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pit Scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pit Scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+            "level": "56",
+            "defence": "40",
+            "slayer-level": "1",
+            "experience": 162.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 53.599998474121094,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 26.799999237060547,
+            "lifepoints": "3250",
+            "max-ranged": "800",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Poison Scorpion",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Poison Scorpion#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+            "level": "49",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 282.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 93.19999694824219,
+            "max-melee": "700",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 21.600000381469727,
+            "lifepoints": "5650",
+            "max-ranged": "700",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Scorpion",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Scorpion#Level 14.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+                "level": "14",
+                "defence": "10",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 14",
+                "slayer-exp": 25,
+                "lifepoints": "2000",
+                "max-ranged": "200",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+                "level": "26",
+                "defence": "19",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 26 (Stronghold of Security, 1)",
+                "slayer-exp": -1,
+                "lifepoints": "3150",
+                "max-ranged": "475",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "26",
+                "defence": "19",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 26 (Stronghold of Security, 2)",
+                "slayer-exp": -1,
+                "lifepoints": "3150",
+                "max-ranged": "475",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Scorpion (Ape Atoll)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Scorpion (Ape Atoll)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"294\" height=\"300\" id=\"image-?\">",
+            "level": "14",
+            "defence": "10",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "200",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9.199999809265137,
+            "lifepoints": "1000",
+            "max-ranged": "200",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea Snake Hatchling",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sea Snake Hatchling#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"92\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "40",
+            "experience": 175,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 57.70000076293945,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 50,
+            "lifepoints": "3500",
+            "max-ranged": "225",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Sea Snake Young",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Sea Snake Young#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"129\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "40",
+            "experience": 225,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 74.19999694824219,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 85,
+            "lifepoints": "4500",
+            "max-ranged": "225",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Blissful shadow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Blissful shadow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"281\" id=\"image-?\">",
+            "level": "112",
+            "defence": "80",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 564.4000244140625,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Manifest shadow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Manifest shadow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"292\" id=\"image-?\">",
+            "level": "126",
+            "defence": "90",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 929.4000244140625,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Shadow (Temple of Light)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow (Temple of Light)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"141\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 1.600000023841858,
+            "max-melee": "272",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 103.5999984741211,
+            "lifepoints": "100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Truthful shadow",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Truthful shadow#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"294\" id=\"image-?\">",
+            "level": "98",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1008",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 343.6000061035156,
+            "lifepoints": "15000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeletal Wyvern",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"267\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "1",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "2",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#3.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"251\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "3",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeletal Wyvern#4.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "109",
+                "defence": "78",
+                "slayer-level": "72",
+                "experience": 625,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 206.1999969482422,
+                "max-melee": "1100",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2000",
+                "name": "4",
+                "slayer-exp": 510.79998779296875,
+                "lifepoints": "12500",
+                "max-ranged": "1100",
+                "max-magic": "1100",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bossy McBossFace's First mate",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bossy McBossFace's First mate#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "122",
+            "defence": "78",
+            "slayer-level": "1",
+            "experience": 1100,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 363,
+            "max-melee": "1886.4",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "22000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant skeleton (Shadow Dungeon)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant skeleton (Shadow Dungeon)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 49.5,
+            "max-melee": "240",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant skeleton (Tarn's Lair)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant skeleton (Tarn's Lair)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 49.5,
+            "max-melee": "240",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Huge skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Huge skeleton#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 600,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 198,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 608,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Huge skeleton#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 608,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeletal miner",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeletal miner#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+            "level": "49",
+            "defence": "35",
+            "slayer-level": "1",
+            "experience": 87.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 28.799999237060547,
+            "max-melee": "140",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 21.600000381469727,
+            "lifepoints": "1750",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeletal shielder",
+        "variants": []
+    },
+    {
+        "name": "Skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 15.png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "15",
+                "defence": "11",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "44",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 15",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 16.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "16",
+                "defence": "12",
+                "slayer-level": "1",
+                "experience": 30,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 9.899999618530273,
+                "max-melee": "48",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 16",
+                "slayer-exp": 9.199999809265137,
+                "lifepoints": "600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 32.png\" decoding=\"async\" loading=\"lazy\" width=\"299\" height=\"300\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 57.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 18.899999618530273,
+                "max-melee": "92",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 32",
+                "slayer-exp": 13,
+                "lifepoints": "1150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 46.png\" decoding=\"async\" loading=\"lazy\" width=\"166\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 265,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 87.4000015258789,
+                "max-melee": "660",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 46",
+                "slayer-exp": 39.400001525878906,
+                "lifepoints": "5300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 51.png\" decoding=\"async\" loading=\"lazy\" width=\"239\" height=\"300\" id=\"image-?\">",
+                "level": "51",
+                "defence": "37",
+                "slayer-level": "1",
+                "experience": 297.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 98.0999984741211,
+                "max-melee": "740",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 51",
+                "slayer-exp": 47.20000076293945,
+                "lifepoints": "5950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton#Level 58.png\" decoding=\"async\" loading=\"lazy\" width=\"204\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "168",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 58",
+                "slayer-exp": 29.600000381469727,
+                "lifepoints": "2100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Ape Atoll)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton (Ape Atoll)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+            "level": "78",
+            "defence": "56",
+            "slayer-level": "1",
+            "experience": 250,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 82.5,
+            "max-melee": "224",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 102.4000015258789,
+            "lifepoints": "5000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton (Barrows)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Barrows)#86.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "372",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "86",
+                "slayer-exp": 77.19999694824219,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Barrows)#88.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "88",
+                "defence": "63",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "378",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "88",
+                "slayer-exp": 81,
+                "lifepoints": "3150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Dark Warriors' Fortress)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Dark Warriors' Fortress)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 57.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 18.899999618530273,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": -1,
+                "lifepoints": "1150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Dark Warriors' Fortress)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"273\" height=\"300\" id=\"image-?\">",
+                "level": "32",
+                "defence": "23",
+                "slayer-level": "1",
+                "experience": 57.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 18.899999618530273,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": -1,
+                "lifepoints": "1150",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Heart of Gielinor)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton (Heart of Gielinor)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"228\" height=\"300\" id=\"image-?\">",
+            "level": "108",
+            "defence": "75",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 132,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 334.20001220703125,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton (Lumbridge Catacombs)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton (Lumbridge Catacombs)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+            "level": "15",
+            "defence": "11",
+            "slayer-level": "1",
+            "experience": 105,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 34.599998474121094,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8.800000190734863,
+            "lifepoints": "2100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton (Tarn's Lair)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Tarn's Lair)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "79",
+                "defence": "57",
+                "slayer-level": "1",
+                "experience": 142.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 60.599998474121094,
+                "lifepoints": "2850",
+                "max-ranged": "0",
+                "max-magic": "228",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Tarn's Lair)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Tarn's Lair)#8.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "208",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "8",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Temple Trekking)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Temple Trekking)#18.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+                "level": "18",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 8.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 2.799999952316284,
+                "max-melee": "7",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "18",
+                "slayer-exp": 2.4000000953674316,
+                "lifepoints": "170",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Temple Trekking)#Helmet.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "28",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Helmet",
+                "slayer-exp": 18.600000381469727,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Temple Trekking)#No helmet.png\" decoding=\"async\" loading=\"lazy\" width=\"277\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 11.5,
+                "max-melee": "28",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "No helmet",
+                "slayer-exp": 18.600000381469727,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Ullek)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Warhammer.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Warhammer",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Axe.png\" decoding=\"async\" loading=\"lazy\" width=\"223\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Axe",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Round shield.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Round shield",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Square shield.png\" decoding=\"async\" loading=\"lazy\" width=\"255\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Square shield",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Ullek)#Mace.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Mace",
+                "slayer-exp": -1,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton (Uncharted Isles)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png\" decoding=\"async\" loading=\"lazy\" width=\"205\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 550,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 181.5,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (With Weapons)",
+                "slayer-exp": 98.5999984741211,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 550,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 181.5,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee (Without Weapons)",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton (Uncharted Isles)#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 550,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 181.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "1515",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton Archer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Archer#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "100",
+                "defence": "67",
+                "slayer-level": "0",
+                "experience": 729,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 240.5,
+                "max-melee": "369",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "10000",
+                "max-ranged": "369",
+                "max-magic": "369",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Archer#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton Mage",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Mage#Level 19.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "19",
+                "defence": "14",
+                "slayer-level": "1",
+                "experience": 35,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 11.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 19",
+                "slayer-exp": 9.399999618530273,
+                "lifepoints": "700",
+                "max-ranged": "0",
+                "max-magic": "56",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton Mage#Level 49.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"296\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 49",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "140",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton archer (Ancient Awakening)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"270\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"270\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton brute",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton brute#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+            "level": "88",
+            "defence": "63",
+            "slayer-level": "1",
+            "experience": 157.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 51.900001525878906,
+            "max-melee": "252",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "3150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton fremennik",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton fremennik#Level 23.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "23",
+                "defence": "17",
+                "slayer-level": "1",
+                "experience": 42.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 14,
+                "max-melee": "102",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 23",
+                "slayer-exp": 10.199999809265137,
+                "lifepoints": "850",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton fremennik#Level 28.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "28",
+                "defence": "22",
+                "slayer-level": "1",
+                "experience": 55,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 18.100000381469727,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 28",
+                "slayer-exp": 11.399999618530273,
+                "lifepoints": "1100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton fremennik#Level 30.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "30",
+                "defence": "22",
+                "slayer-level": "1",
+                "experience": 55,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 18.100000381469727,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 30",
+                "slayer-exp": 12.600000381469727,
+                "lifepoints": "1100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton heavy",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton heavy#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 160,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 52.79999923706055,
+            "max-melee": "256",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 85.19999694824219,
+            "lifepoints": "3200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton hero",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton hero#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"232\" height=\"300\" id=\"image-?\">",
+            "level": "74",
+            "defence": "53",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 49.79999923706055,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton knight",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton knight#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton knight#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton knight#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton ranger (Ancient Awakening)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 670.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 221.10000610351562,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "13405",
+                "max-ranged": "1875",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 957.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 315.8999938964844,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "19150",
+                "max-ranged": "1875",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"247\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1436.25,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 473.8999938964844,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "28725",
+                "max-ranged": "1875",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Skeleton thug",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton thug#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "1",
+            "experience": 152.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 50.29999923706055,
+            "max-melee": "244",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 73.5999984741211,
+            "lifepoints": "3050",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton warlord",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton warlord#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+            "level": "91",
+            "defence": "65",
+            "slayer-level": "1",
+            "experience": 162.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 53.599998474121094,
+            "max-melee": "260",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 89.4000015258789,
+            "lifepoints": "3250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton warrior (Ancient Awakening)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Skeleton warrior (Ancient Awakening)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"274\" id=\"image-?\">",
+            "level": "76",
+            "defence": "50",
+            "slayer-level": "?",
+            "experience": 603.9000244140625,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 199.1999969482422,
+            "max-melee": "1500",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "15300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Skeleton warrior (Rasial)",
+        "variants": []
+    },
+    {
+        "name": "Summoned skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 450,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 148.5,
+                "max-melee": "1415",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 1165,
+                "lifepoints": "9000",
+                "max-ranged": "1415",
+                "max-magic": "1415",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "114",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 225,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "1415",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 1165,
+                "lifepoints": "4500",
+                "max-ranged": "1415",
+                "max-magic": "1415",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Summoned skeleton archer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton archer#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "2000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned skeleton archer#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": 50,
+                "susceptible": [],
+                "lifepoint-exp": 16.5,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Training dummy",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Permanent.png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Permanent",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to air, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to air, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to air, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to air, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to air, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to air, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to water, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to water, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to water, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to water, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to water, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to water, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to earth, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to earth, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to earth, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to earth, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to earth, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to earth, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to fire, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to fire, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to fire, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to fire, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to fire, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "10",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to fire, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to nothing, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to nothing, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to nothing, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to nothing, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Melee (weak to nothing, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Melee (weak to nothing, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to stab, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to stab, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to stab, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to stab, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to stab, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to stab, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to slash, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to slash, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to slash, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to slash, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to slash, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to slash, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to crush, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to crush, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to crush, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to crush, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to crush, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to crush, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to nothing, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to nothing, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to nothing, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to nothing, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Ranged (weak to nothing, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ranged (weak to nothing, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to arrows, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to arrows, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to arrows, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to arrows, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to arrows, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to arrows, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to bolts, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to bolts, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to bolts, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to bolts, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to bolts, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to bolts, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to thrown, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to thrown, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to thrown, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to thrown, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to thrown, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to thrown, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to nothing, weak).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to nothing, weak)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to nothing, medium).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to nothing, medium)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Magic (weak to nothing, strong).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Magic (weak to nothing, strong)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Dragon (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dragon (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Dragon (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dragon (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Dragon (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dragon (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Undead (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Undead (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Undead (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Undead (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Undead (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Undead (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Demon (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Demon (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Demon (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Demon (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Demon (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Demon (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Abyssal demon (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abyssal demon (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Abyssal demon (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abyssal demon (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Abyssal demon (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abyssal demon (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Wallasalki (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Wallasalki (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Wallasalki (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Wallasalki (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Wallasalki (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Wallasalki (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Basilisk (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Basilisk (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Basilisk (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Basilisk (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Basilisk (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Basilisk (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Revenant (magic).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Revenant (magic)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "10",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Revenant (ranged).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Revenant (ranged)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "10",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Training dummy#Revenant (melee).png\" decoding=\"async\" loading=\"lazy\" width=\"137\" height=\"300\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "5",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Revenant (melee)",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Undead one",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Skeleton (level 44).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "44",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 72.5999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Skeleton (level 44)",
+                "slayer-exp": 18.799999237060547,
+                "lifepoints": "1600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Skeleton (level 46).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 75.9000015258789,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 25,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Skeleton (level 46)",
+                "slayer-exp": 19.600000381469727,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Zombie (level 44).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "44",
+                "defence": "32",
+                "slayer-level": "1",
+                "experience": 72.5999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 23.899999618530273,
+                "max-melee": "128",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Zombie (level 44)",
+                "slayer-exp": 18.799999237060547,
+                "lifepoints": "1600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead one#Zombie (level 46).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "33",
+                "slayer-level": "1",
+                "experience": 75.9000015258789,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 25,
+                "max-melee": "132",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Zombie (level 46)",
+                "slayer-exp": 19.600000381469727,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped skeleton",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Warped skeleton#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"181\" height=\"300\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "1684.8",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped skeleton#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"181\" height=\"300\" id=\"image-?\">",
+                "level": "113",
+                "defence": "72",
+                "slayer-level": "0",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "1684.8",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "15000",
+                "max-ranged": "0",
+                "max-magic": "1684.8",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Feline akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Feline akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"235\" id=\"image-?\">",
+            "level": "109",
+            "defence": "76",
+            "slayer-level": "107",
+            "experience": 750,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 247.5,
+            "max-melee": "1166",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 536.2000122070312,
+            "lifepoints": "15000",
+            "max-ranged": "1166",
+            "max-magic": "1166",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Gorilla akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Gorilla akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "111",
+            "defence": "70",
+            "slayer-level": "113",
+            "experience": 1000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 330,
+            "max-melee": "1296",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "1300",
+            "name": "Default",
+            "slayer-exp": 705.4000244140625,
+            "lifepoints": "20000",
+            "max-ranged": "1296",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imperial mage akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imperial mage akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+            "level": "130",
+            "defence": "92",
+            "slayer-level": "117",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1780.5999755859375,
+            "lifepoints": "25000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imperial ranger akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imperial ranger akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"172\" height=\"300\" id=\"image-?\">",
+            "level": "130",
+            "defence": "92",
+            "slayer-level": "117",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1780.5999755859375,
+            "lifepoints": "25000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Imperial warrior akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Imperial warrior akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"243\" height=\"300\" id=\"image-?\">",
+            "level": "130",
+            "defence": "92",
+            "slayer-level": "117",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "1368",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "3000",
+            "name": "Default",
+            "slayer-exp": 1780.5999755859375,
+            "lifepoints": "25000",
+            "max-ranged": "1368",
+            "max-magic": "1368",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Oreb, the Magister",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Oreb, the Magister#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+            "level": "899",
+            "defence": "90",
+            "slayer-level": "0",
+            "experience": 10000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 3300,
+            "max-melee": "1425",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "200000",
+            "max-ranged": "1425",
+            "max-magic": "1425",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Salawa akh",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Salawa akh#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+            "level": "106",
+            "defence": "73",
+            "slayer-level": "105",
+            "experience": 625,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 206.1999969482422,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 508.3999938964844,
+            "lifepoints": "12500",
+            "max-ranged": "1152",
+            "max-magic": "1152",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "The Magister",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/The Magister#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+            "level": "899",
+            "defence": "90",
+            "slayer-level": "115",
+            "experience": 10000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 3300,
+            "max-melee": "1425",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "4000",
+            "name": "Default",
+            "slayer-exp": 8000,
+            "lifepoints": "200000",
+            "max-ranged": "1425",
+            "max-magic": "1425",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Soulgazer (elite)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulgazer (elite)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"227\" height=\"300\" id=\"image-?\">",
+            "level": "135",
+            "defence": "90",
+            "slayer-level": "99",
+            "experience": 6000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 1980,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 5849.2001953125,
+            "lifepoints": "120000",
+            "max-ranged": "0",
+            "max-magic": "1738",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corpse spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corpse spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+            "level": "4",
+            "defence": "3",
+            "slayer-level": "1",
+            "experience": 30,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 9.899999618530273,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.599999904632568,
+            "lifepoints": "600",
+            "max-ranged": "60",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Crypt spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crypt spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"236\" id=\"image-?\">",
+            "level": "63",
+            "defence": "45",
+            "slayer-level": "1",
+            "experience": 112.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 37.099998474121094,
+            "max-melee": "270",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 34.20000076293945,
+            "lifepoints": "2250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Deadly red spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Deadly red spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"209\" id=\"image-?\">",
+            "level": "95",
+            "defence": "68",
+            "slayer-level": "1",
+            "experience": 307.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 103.5999984741211,
+            "lifepoints": "6150",
+            "max-ranged": "1360",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant crypt spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Giant crypt spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"171\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 49.5,
+            "max-melee": "360",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "3000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Giant spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant spider#Level 2.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"224\" id=\"image-?\">",
+                "level": "2",
+                "defence": "2",
+                "slayer-level": "1",
+                "experience": 27.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 9,
+                "max-melee": "40",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 2",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "550",
+                "max-ranged": "40",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant spider#Level 33.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"224\" id=\"image-?\">",
+                "level": "33",
+                "defence": "24",
+                "slayer-level": "1",
+                "experience": 225,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 74.19999694824219,
+                "max-melee": "480",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 33",
+                "slayer-exp": 13.399999618530273,
+                "lifepoints": "3900",
+                "max-ranged": "480",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant spider#Level 29.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"218\" id=\"image-?\">",
+                "level": "29",
+                "defence": "19",
+                "slayer-level": "1",
+                "experience": 157.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 51.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29",
+                "slayer-exp": 31.200000762939453,
+                "lifepoints": "3150",
+                "max-ranged": "480",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"162\" id=\"image-?\">",
+            "level": "42",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 120,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 39.599998474121094,
+            "max-melee": "440",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 17.200000762939453,
+            "lifepoints": "2400",
+            "max-ranged": "600",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Jungle spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"261\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 272.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 89.9000015258789,
+                "max-melee": "1240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Common",
+                "slayer-exp": 77,
+                "lifepoints": "5450",
+                "max-ranged": "1240",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Musa Point.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"261\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.20000076293945,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 12.199999809265137,
+                "max-melee": "56",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Musa Point",
+                "slayer-exp": 9,
+                "lifepoints": "750",
+                "max-ranged": "56",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Ape Atoll.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+                "level": "88",
+                "defence": "63",
+                "slayer-level": "1",
+                "experience": 312.29998779296875,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 103,
+                "max-melee": "189",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ape Atoll",
+                "slayer-exp": -1,
+                "lifepoints": "3150",
+                "max-ranged": "252",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Jade Vine (level 42).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "42",
+                "defence": "30",
+                "slayer-level": "1",
+                "experience": 66.9000015258789,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 22,
+                "max-melee": "90",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Jade Vine (level 42)",
+                "slayer-exp": -1,
+                "lifepoints": "1500",
+                "max-ranged": "120",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Jade Vine (level 49).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "1",
+                "experience": 83.0999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 27.399999618530273,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Jade Vine (level 49)",
+                "slayer-exp": -1,
+                "lifepoints": "1750",
+                "max-ranged": "140",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"261\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 272.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 89.9000015258789,
+                "max-melee": "1240",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "?",
+                "name": "Tai Bwo Wannai Cleanup",
+                "slayer-exp": -1,
+                "lifepoints": "5450",
+                "max-ranged": "1240",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Lava spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Lava spider#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": 491,
+                "lifepoints": "15000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Lava spider#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 247.5,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": 245.5,
+                "lifepoints": "15000",
+                "max-ranged": "672",
+                "max-magic": "672",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Poison spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Poison spider#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+                "level": "53",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 185,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 61,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common",
+                "slayer-exp": 34.20000076293945,
+                "lifepoints": "3700",
+                "max-ranged": "600",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Poison spider#Observatory.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"254\" id=\"image-?\">",
+                "level": "15",
+                "defence": "11",
+                "slayer-level": "1",
+                "experience": 27.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 9,
+                "max-melee": "33",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Observatory",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "550",
+                "max-ranged": "44",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Shadow spider",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Shadow spider#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"173\" id=\"image-?\">",
+            "level": "46",
+            "defence": "33",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "132",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.600000381469727,
+            "lifepoints": "1650",
+            "max-ranged": "132",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Spider",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spider#Common.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"186\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "4",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Common",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "50",
+                "max-ranged": "4",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spider#Underground Pass.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "3",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Underground Pass",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "50",
+                "max-ranged": "4",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spider#Ape Atoll.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"285\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 2.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0.800000011920929,
+                "max-melee": "3",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ape Atoll",
+                "slayer-exp": 17.600000381469727,
+                "lifepoints": "50",
+                "max-ranged": "4",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spider#Stronghold of Security.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"243\" id=\"image-?\">",
+                "level": "15",
+                "defence": "11",
+                "slayer-level": "1",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+                "max-spec": "0",
+                "name": "Stronghold of Security",
+                "slayer-exp": 6.400000095367432,
+                "lifepoints": "1050",
+                "max-ranged": "220",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Spyndra",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Spyndra#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "107",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 9000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 2970,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "180000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Spyndra#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"216\" id=\"image-?\">",
+                "level": "107",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 9000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 2970,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": 3760.89990234375,
+                "lifepoints": "180000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Veil-ripper Ozharakha",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Veil-ripper Ozharakha#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+            "level": "135",
+            "defence": "90",
+            "slayer-level": "99",
+            "experience": 7500,
+            "susceptible": [],
+            "lifepoint-exp": 2475,
+            "max-melee": "1104",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 25000,
+            "lifepoints": "150000",
+            "max-ranged": "1104",
+            "max-magic": "1104",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Suqah",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 73 (Dual wielding swords).png\" decoding=\"async\" loading=\"lazy\" width=\"289\" height=\"300\" id=\"image-?\">",
+                "level": "73",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": [],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "380",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 73 (Dual wielding swords)",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "380",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 74.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": [],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 74",
+                "slayer-exp": 49.79999923706055,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 74 (Magic).png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": [],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 74 (Magic)",
+                "slayer-exp": 49.79999923706055,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Suqah#Level 79.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "349",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 79",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "349",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Terror dog",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Terror dog#Level 65.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "65",
+                "defence": "47",
+                "slayer-level": "40",
+                "experience": 235,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 77.5,
+                "max-melee": "188",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 65",
+                "slayer-exp": 75.4000015258789,
+                "lifepoints": "4700",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Terror dog#Level 61.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"293\" id=\"image-?\">",
+                "level": "61",
+                "defence": "44",
+                "slayer-level": "40",
+                "experience": 220,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 72.5999984741211,
+                "max-melee": "176",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 61",
+                "slayer-exp": 65.19999694824219,
+                "lifepoints": "4400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice troll",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice troll#Troll Romance.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "38",
+                "experience": 525,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 173.1999969482422,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Troll Romance",
+                "slayer-exp": 70,
+                "lifepoints": "10500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice troll#Desert Treasure.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"280\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "38",
+                "experience": 525,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 173.1999969482422,
+                "max-melee": "1200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Desert Treasure",
+                "slayer-exp": 70,
+                "lifepoints": "10500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ice troll female",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll female#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"274\" height=\"300\" id=\"image-?\">",
+            "level": "68",
+            "defence": "49",
+            "slayer-level": "1",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "720",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.5,
+            "lifepoints": "8200",
+            "max-ranged": "980",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice troll grunt",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll grunt#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"193\" height=\"300\" id=\"image-?\">",
+            "level": "68",
+            "defence": "50",
+            "slayer-level": "1",
+            "experience": 420,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 138.60000610351562,
+            "max-melee": "1000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice troll male",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll male#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"300\" id=\"image-?\">",
+            "level": "68",
+            "defence": "49",
+            "slayer-level": "1",
+            "experience": 410,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 135.3000030517578,
+            "max-melee": "980",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 41.5,
+            "lifepoints": "8200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Ice troll runt",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ice troll runt#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "53",
+            "defence": "38",
+            "slayer-level": "1",
+            "experience": 307.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 101.4000015258789,
+            "max-melee": "760",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 24.799999237060547,
+            "lifepoints": "6150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Kraka",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Kraka#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"274\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 657.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 216.89999389648438,
+            "max-melee": "1800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "13150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mountain troll",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mountain troll#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+            "level": "75",
+            "defence": "54",
+            "slayer-level": "1",
+            "experience": 460,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 151.8000030517578,
+            "max-melee": "1620",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 52.20000076293945,
+            "lifepoints": "9200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Mountain troll (well)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Mountain troll (well)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"259\" height=\"300\" id=\"image-?\">",
+            "level": "9",
+            "defence": "7",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "140",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 7,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Pee Hat",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Pee Hat#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 657.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 216.89999389648438,
+            "max-melee": "1800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 70,
+            "lifepoints": "13150",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "River troll",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/River troll#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+            "level": "N/A",
+            "defence": "130",
+            "slayer-level": "1",
+            "experience": 172.1999969482422,
+            "susceptible": [],
+            "lifepoint-exp": 56.79999923706055,
+            "max-melee": "10",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 89.4000015258789,
+            "lifepoints": "1700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Rock (monster)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Rock (monster)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"272\" height=\"300\" id=\"image-?\">",
+            "level": "88",
+            "defence": "63",
+            "slayer-level": "1",
+            "experience": 1395,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 460.29998779296875,
+            "max-melee": "1890",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "27900",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Stick",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Stick#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"268\" id=\"image-?\">",
+            "level": "85",
+            "defence": "61",
+            "slayer-level": "1",
+            "experience": 670,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 221.10000610351562,
+            "max-melee": "1830",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 73.5999984741211,
+            "lifepoints": "13400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Stove",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Stove#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+            "level": "4",
+            "defence": "3",
+            "slayer-level": "1",
+            "experience": 50,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 16.5,
+            "max-melee": "129",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Thrower Troll",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Thrower Troll#Death Plateau.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 472.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 155.89999389648438,
+                "max-melee": "1435",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Death Plateau",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "9450",
+                "max-ranged": "1225",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Thrower Troll#Trollheim.png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 472.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 155.89999389648438,
+                "max-melee": "1435",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "0",
+                "name": "Trollheim",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "9450",
+                "max-ranged": "1225",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Troll brute",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll brute#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "20",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12.800000190734863,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll brute (Davendale)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll brute (Davendale)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "72",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll chucker",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll chucker#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"158\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12.800000190734863,
+            "lifepoints": "250",
+            "max-ranged": "20",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll chucker (Davendale)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll chucker (Davendale)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"163\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "?",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "0",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "72",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Troll general",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Troll general#Sword.png\" decoding=\"async\" loading=\"lazy\" width=\"272\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sword",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Troll general#Hammer.png\" decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Hammer",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Troll general#Club.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"295\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 727.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 240,
+                "max-melee": "1950",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Club",
+                "slayer-exp": 89.4000015258789,
+                "lifepoints": "14550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Troll lout",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll lout#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "72",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll shaman",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll shaman#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 12.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 4.099999904632568,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 6.400000095367432,
+            "lifepoints": "250",
+            "max-ranged": "0",
+            "max-magic": "20",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Troll shaman (Davendale)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll shaman (Davendale)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"238\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "?",
+            "slayer-level": "?",
+            "experience": 20,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "0",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "0",
+            "max-magic": "72",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Troll spectator",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Troll spectator#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"255\" height=\"300\" id=\"image-?\">",
+            "level": "65",
+            "defence": "47",
+            "slayer-level": "1",
+            "experience": 390,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 128.6999969482422,
+            "max-melee": "1175",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 37.599998474121094,
+            "lifepoints": "7800",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead troll",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 77.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 77",
+                "slayer-exp": -1,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"175\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (4).png\" decoding=\"async\" loading=\"lazy\" width=\"188\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (4)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 81 (5).png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "81",
+                "defence": "58",
+                "slayer-level": "1",
+                "experience": 145,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 47.79999923706055,
+                "max-melee": "232",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 81 (5)",
+                "slayer-exp": -1,
+                "lifepoints": "2900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 86 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 86 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 86 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 86 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 86 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 86 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"193\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"191\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (4).png\" decoding=\"async\" loading=\"lazy\" width=\"176\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (4)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (5).png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (5)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (6).png\" decoding=\"async\" loading=\"lazy\" width=\"210\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (6)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead troll#Level 95 (7).png\" decoding=\"async\" loading=\"lazy\" width=\"201\" height=\"300\" id=\"image-?\">",
+                "level": "95",
+                "defence": "68",
+                "slayer-level": "1",
+                "experience": 170,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 56.099998474121094,
+                "max-melee": "272",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 95 (7)",
+                "slayer-exp": -1,
+                "lifepoints": "3400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Turoth",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Turoth#60 - Small.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"284\" id=\"image-?\">",
+                "level": "60",
+                "defence": "44",
+                "slayer-level": "55",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "60 - Small",
+                "slayer-exp": 52,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Turoth#60 - Large.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"298\" id=\"image-?\">",
+                "level": "60",
+                "defence": "44",
+                "slayer-level": "55",
+                "experience": 180,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 59.400001525878906,
+                "max-melee": "840",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "60 - Large",
+                "slayer-exp": 52,
+                "lifepoints": "3600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Turoth#68 - Male.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"258\" id=\"image-?\">",
+                "level": "68",
+                "defence": "50",
+                "slayer-level": "55",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "960",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "68 - Male",
+                "slayer-exp": 70.80000305175781,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Turoth#68 - Female.png\" decoding=\"async\" loading=\"lazy\" width=\"284\" height=\"300\" id=\"image-?\">",
+                "level": "68",
+                "defence": "50",
+                "slayer-level": "55",
+                "experience": 210,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 69.30000305175781,
+                "max-melee": "960",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "68 - Female",
+                "slayer-exp": 70.80000305175781,
+                "lifepoints": "4200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "TzHaar-Hur",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Hur#Level 86.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 155,
+                "susceptible": [],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "310",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 86",
+                "slayer-exp": 77.5,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Hur#Level 98.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"290\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 175,
+                "susceptible": [],
+                "lifepoint-exp": 57.70000076293945,
+                "max-melee": "210",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 98",
+                "slayer-exp": 0,
+                "lifepoints": "3500",
+                "max-ranged": "0",
+                "max-magic": "280",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "TzHaar-Ket",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/TzHaar-Ket#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"271\" id=\"image-?\">",
+            "level": "86",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 155,
+            "susceptible": [],
+            "lifepoint-exp": 51.099998474121094,
+            "max-melee": "248",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 77.5,
+            "lifepoints": "3100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "TzHaar-Mej",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/TzHaar-Mej#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "86",
+            "defence": "62",
+            "slayer-level": "1",
+            "experience": 155,
+            "susceptible": [],
+            "lifepoint-exp": 51.099998474121094,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 77.5,
+            "lifepoints": "3100",
+            "max-ranged": "0",
+            "max-magic": "310",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "TzHaar-Xil",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Xil#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "0",
+                "experience": 155,
+                "susceptible": [],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "248",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee",
+                "slayer-exp": 77.5,
+                "lifepoints": "3100",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/TzHaar-Xil#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"279\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "0",
+                "experience": 155,
+                "susceptible": [],
+                "lifepoint-exp": 51.099998474121094,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged",
+                "slayer-exp": 77.5,
+                "lifepoints": "3100",
+                "max-ranged": "248",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Animated spade",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Animated spade#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"83\" height=\"300\" id=\"image-?\">",
+            "level": "72",
+            "defence": "52",
+            "slayer-level": "1",
+            "experience": 130,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 42.900001525878906,
+            "max-melee": "208",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2600",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Armoured zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "1",
+                "experience": 310,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 102.30000305175781,
+                "max-melee": "297",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Melee",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "6200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "The World Wakes",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#One of a Kind.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "46",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "One of a Kind",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Dishonour among Thieves.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Dishonour among Thieves",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#Dimension of Disaster.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "42",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Dimension of Disaster",
+                "slayer-exp": 154.39999389648438,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie#New Foundations.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 37.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 12.300000190734863,
+                "max-melee": "144",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "New Foundations",
+                "slayer-exp": 9.600000381469727,
+                "lifepoints": "750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bloated monstrosity",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Normal mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Normal mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Normal mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Story mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Story mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Bloated monstrosity#Story mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"273\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Corpse archer",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corpse archer#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+            "level": "18",
+            "defence": "13",
+            "slayer-level": "1",
+            "experience": 117.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 38.70000076293945,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2350",
+            "max-ranged": "260",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Corpse carrier",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Normal mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Normal mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Normal mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Story mode (trio).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (trio)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Story mode (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Corpse carrier#Story mode (solo).png\" decoding=\"async\" loading=\"lazy\" width=\"258\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "70",
+                "slayer-level": "0",
+                "experience": 0,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 0,
+                "max-melee": "1512",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode (solo)",
+                "slayer-exp": -1,
+                "lifepoints": "90000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Corpse mage",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corpse mage#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+            "level": "21",
+            "defence": "15",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 9,
+            "lifepoints": "2650",
+            "max-ranged": "0",
+            "max-magic": "300",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Crawling corpse torso",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Crawling corpse torso#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"231\" id=\"image-?\">",
+            "level": "9",
+            "defence": "7",
+            "slayer-level": "1",
+            "experience": 40,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 13.199999809265137,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 16.600000381469727,
+            "lifepoints": "800",
+            "max-ranged": "0",
+            "max-magic": "140",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dragith Nurn",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dragith Nurn#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"142\" height=\"300\" id=\"image-?\">",
+            "level": "26",
+            "defence": "19",
+            "slayer-level": "1",
+            "experience": 395,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 130.3000030517578,
+            "max-melee": "280",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 11,
+            "lifepoints": "7900",
+            "max-ranged": "280",
+            "max-magic": "380",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "General malpractitioner",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/General malpractitioner#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"129\" height=\"300\" id=\"image-?\">",
+            "level": "84",
+            "defence": "60",
+            "slayer-level": "1",
+            "experience": 150,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 49.5,
+            "max-melee": "180",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "3000",
+            "max-ranged": "240",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Graveside Phantom",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Graveside Phantom#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "104",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 100,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 33,
+            "max-melee": "768",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "8000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Magic axe",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Magic axe#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"267\" height=\"300\" id=\"image-?\">",
+            "level": "74",
+            "defence": "53",
+            "slayer-level": "1",
+            "experience": 132.5,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 43.70000076293945,
+            "max-melee": "212",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "2650",
+            "max-ranged": "1",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Monkey Zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Monkey Zombie#72.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "208",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "72",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Monkey Zombie#75.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "75",
+                "slayer-exp": 52.20000076293945,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Monkey Zombie#77.png\" decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.29999923706055,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "77",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mummy (Jaldraocht Pyramid)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#3.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#4.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4 (on fire)",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ashes",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "55",
+                "slayer-level": "1",
+                "experience": 137,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 45.20000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Jaldraocht sarcophagus",
+                "slayer-exp": 54.79999923706055,
+                "lifepoints": "2750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Mummy (Ullek)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#1.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#2.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#3.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#4.png\" decoding=\"async\" loading=\"lazy\" width=\"138\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#1 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#2 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"147\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "2 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#3 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "3 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#4 (on fire).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "4 (on fire)",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Mummy (Ullek)#Ashes.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "53",
+                "slayer-level": "1",
+                "experience": 192,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 63.29999923706055,
+                "max-melee": "212",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ashes",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Phantom sorcerer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Phantom sorcerer#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "1875",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (standard Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "1875",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"221\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (hard Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "1875",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Phantom wizard",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Phantom wizard#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "0",
+                "max-magic": "1500",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Phantom wizard#1 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"216\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "0",
+                "max-magic": "1500",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Possessed pickaxe",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Possessed pickaxe#Abandoned Mine.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 87.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 28.799999237060547,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Abandoned Mine",
+                "slayer-exp": -1,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": 175,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 57.70000076293945,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Lair of Tarn Razorlor",
+                "slayer-exp": -1,
+                "lifepoints": "3500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Possessed pickaxe#Dominion Tower.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "?",
+                "slayer-level": "1",
+                "experience": -1,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": -1,
+                "max-melee": "210",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Dominion Tower",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Possessed pickaxe (Lava Flow Mine)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"174\" height=\"300\" id=\"image-?\">",
+            "level": "56",
+            "defence": "40",
+            "slayer-level": "1",
+            "experience": 20,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 6.599999904632568,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Putrid zombie (Rasial)",
+        "variants": []
+    },
+    {
+        "name": "Soulless armoured zombie",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulless armoured zombie#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+            "level": "N/A",
+            "defence": "30",
+            "slayer-level": "1",
+            "experience": 0,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 0,
+            "max-melee": "288",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "10000000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Soulless unarmoured zombie",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Soulless unarmoured zombie#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+            "level": "N/A",
+            "defence": "?",
+            "slayer-level": "?",
+            "experience": -1,
+            "susceptible": [],
+            "lifepoint-exp": -1,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "?",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Taraket the Necromancer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Taraket the Necromancer#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 10000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3300,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Taraket the Necromancer#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "1",
+                "experience": 10000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 3300,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Undead giant (Battle of Forinthry)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead giant (Battle of Forinthry)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "90",
+                "slayer-level": "?",
+                "experience": 3063.75,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1011,
+                "max-melee": "3000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "61275",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"192\" height=\"300\" id=\"image-?\">",
+                "level": "300",
+                "defence": "90",
+                "slayer-level": "?",
+                "experience": 6127.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 2022,
+                "max-melee": "3000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "122550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Unstable zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Unstable zombie#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Unstable zombie#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Unstable zombie#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 12.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "12",
+                "defence": "9",
+                "slayer-level": "1",
+                "experience": 30.899999618530273,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 10.100000381469727,
+                "max-melee": "36",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 12",
+                "slayer-exp": 8,
+                "lifepoints": "450",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 22.png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "16",
+                "slayer-level": "1",
+                "experience": 38.099998474121094,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 12.5,
+                "max-melee": "64",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 22",
+                "slayer-exp": 8,
+                "lifepoints": "800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 22 (Graveyard of Shadows).png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "16",
+                "slayer-level": "1",
+                "experience": 38.099998474121094,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 12.5,
+                "max-melee": "64",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 22 (Graveyard of Shadows)",
+                "slayer-exp": 8,
+                "lifepoints": "800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 29.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "1",
+                "experience": 46.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 15.300000190734863,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29",
+                "slayer-exp": 9.800000190734863,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 29 (Entrana).png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "1",
+                "experience": 46.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 15.300000190734863,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29 (Entrana)",
+                "slayer-exp": 8,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie#Level 29 (Graveyard of Shadows).png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "1",
+                "experience": 46.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 15.300000190734863,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 29 (Graveyard of Shadows)",
+                "slayer-exp": 12,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (New Varrock)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie (New Varrock)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+            "level": "1",
+            "defence": "1",
+            "slayer-level": "1",
+            "experience": 1.2000000476837158,
+            "susceptible": [],
+            "lifepoint-exp": 0.30000001192092896,
+            "max-melee": "10",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "25",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Zombie cow (New Varrock)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie cow (New Varrock)#Boss.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"220\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "20",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Boss",
+                "slayer-exp": -1,
+                "lifepoints": "50",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie cow (New Varrock)#Regular.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"220\" id=\"image-?\">",
+                "level": "1",
+                "defence": "1",
+                "slayer-level": "1",
+                "experience": 10,
+                "susceptible": [],
+                "lifepoint-exp": 3.299999952316284,
+                "max-melee": "28",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Regular",
+                "slayer-exp": -1,
+                "lifepoints": "200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie knight",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie knight#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 787.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 259.79998779296875,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ancient Awakening",
+                "slayer-exp": 0,
+                "lifepoints": "15750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie knight#Ungael combat activity (standard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1125,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 371.20001220703125,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (standard)",
+                "slayer-exp": 0,
+                "lifepoints": "22500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie knight#Ungael combat activity (hard).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "97",
+                "defence": "65",
+                "slayer-level": "1",
+                "experience": 1687.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 556.7999877929688,
+                "max-melee": "1875",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ungael combat activity (hard)",
+                "slayer-exp": 0,
+                "lifepoints": "33750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie pirate",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie pirate#Level 49.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "1",
+                "experience": 83.0999984741211,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 27.399999618530273,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Level 49",
+                "slayer-exp": 21.600000381469727,
+                "lifepoints": "1750",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie pirate#Level 50.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "50",
+                "defence": "36",
+                "slayer-level": "1",
+                "experience": 86.69999694824219,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 28.600000381469727,
+                "max-melee": "144",
+                "weakness": [
+                    "<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"
+                ],
+                "max-spec": "0",
+                "name": "Level 50",
+                "slayer-exp": 11.199999809265137,
+                "lifepoints": "1800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie pirate#Pieces of Hate.png\" decoding=\"async\" loading=\"lazy\" width=\"141\" height=\"300\" id=\"image-?\">",
+                "level": "35",
+                "defence": "25",
+                "slayer-level": "1",
+                "experience": 54,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 17.799999237060547,
+                "max-melee": "120",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Pieces of Hate",
+                "slayer-exp": 0,
+                "lifepoints": "1250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie swab",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie swab#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+            "level": "47",
+            "defence": "34",
+            "slayer-level": "1",
+            "experience": 79.80000305175781,
+            "susceptible": [],
+            "lifepoint-exp": 26.299999237060547,
+            "max-melee": "136",
+            "weakness": [
+                "<a href=\"https://runescape.wiki/w/Air_spells\" title=\"Air spells\" target=\"_blank\"><img src=\"./images/weakness/Air_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Crush_weapons\" title=\"Crush weapons\" target=\"_blank\"><img src=\"./images/weakness/Crush_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"19\"><\/a>"
+            ],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 22,
+            "lifepoints": "1700",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Zombie warrior",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#1 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#2 (Ancient Awakening).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 535.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 176.6999969482422,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ancient Awakening)",
+                "slayer-exp": 0,
+                "lifepoints": "10710",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#1 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"132\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "1 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie warrior#2 (Ungael combat activity).png\" decoding=\"async\" loading=\"lazy\" width=\"139\" height=\"300\" id=\"image-?\">",
+                "level": "76",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 765,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 252.39999389648438,
+                "max-melee": "1500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "2 (Ungael combat activity)",
+                "slayer-exp": 0,
+                "lifepoints": "15300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Angry vampyre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Angry vampyre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"270\" height=\"300\" id=\"image-?\">",
+            "level": "58",
+            "defence": "42",
+            "slayer-level": "1",
+            "experience": 105,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 34.599998474121094,
+            "max-melee": "168",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 29.600000381469727,
+            "lifepoints": "2100",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Feral vampyre",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Feral vampyre#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "61",
+                "defence": "44",
+                "slayer-level": "1",
+                "experience": 110,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 36.29999923706055,
+                "max-melee": "176",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Standard",
+                "slayer-exp": 32.599998474121094,
+                "lifepoints": "2200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Feral vampyre#Spider.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "61",
+                "defence": "44",
+                "slayer-level": "1",
+                "experience": 110,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 36.29999923706055,
+                "max-melee": "176",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Spider",
+                "slayer-exp": 32.599998474121094,
+                "lifepoints": "2200",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Vampyre",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Vampyre#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+            "level": "89",
+            "defence": "64",
+            "slayer-level": "1",
+            "experience": 320,
+            "susceptible": [],
+            "lifepoint-exp": 105.5999984741211,
+            "max-melee": "256",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 170.39999389648438,
+            "lifepoints": "6400",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Vampyre Juvenile",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvenile#Burgh de Rott.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 100,
+                "susceptible": [],
+                "lifepoint-exp": 33,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Burgh de Rott",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvenile#Meiyerditch.png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+                "level": "56",
+                "defence": "40",
+                "slayer-level": "?",
+                "experience": 100,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 33,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Meiyerditch",
+                "slayer-exp": 28,
+                "lifepoints": "2000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Vampyre Juvinate",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "58",
+                "defence": "42",
+                "slayer-level": "1",
+                "experience": 105,
+                "susceptible": [],
+                "lifepoint-exp": 34.599998474121094,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Burgh de Rott (Level 58)",
+                "slayer-exp": 210,
+                "lifepoints": "2100",
+                "max-ranged": "168",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": [],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "576",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Burgh de Rott (Level 63)",
+                "slayer-exp": 210,
+                "lifepoints": "9750",
+                "max-ranged": "576",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Meiyerditch.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "61",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": [],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "576",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Stab_weapons\" title=\"Stab weapons\" target=\"_blank\"><img src=\"./images/weakness/Stab_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"20\"><\/a>"],
+                "max-spec": "?",
+                "name": "Meiyerditch",
+                "slayer-exp": 210,
+                "lifepoints": "9750",
+                "max-ranged": "576",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vampyre Juvinate#Darkmeyer.png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "60",
+                "slayer-level": "1",
+                "experience": 487.5,
+                "susceptible": [],
+                "lifepoint-exp": 160.8000030517578,
+                "max-melee": "576",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Darkmeyer",
+                "slayer-exp": 210,
+                "lifepoints": "9750",
+                "max-ranged": "576",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Devil's snare",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Devil's snare#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"274\" id=\"image-?\">",
+            "level": "220",
+            "defence": "70",
+            "slayer-level": "90",
+            "experience": 2100,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 693,
+            "max-melee": "1152",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "N/A",
+            "name": "Default",
+            "slayer-exp": 1760,
+            "lifepoints": "42000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Lampenflora",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Lampenflora#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"249\" height=\"300\" id=\"image-?\">",
+            "level": "216",
+            "defence": "70",
+            "slayer-level": "102",
+            "experience": 1250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 412.5,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "3600",
+            "name": "Default",
+            "slayer-exp": 1331.800048828125,
+            "lifepoints": "25000",
+            "max-ranged": "0",
+            "max-magic": "1296",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Liverworts",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Liverworts#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" id=\"image-?\">",
+            "level": "228",
+            "defence": "70",
+            "slayer-level": "110",
+            "experience": 3000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+            "lifepoint-exp": 990,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "4104",
+            "name": "Default",
+            "slayer-exp": 3338.39990234375,
+            "lifepoints": "60000",
+            "max-ranged": "1368",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Luminous snaggler",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Luminous snaggler#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"200\" id=\"image-?\">",
+            "level": "224",
+            "defence": "70",
+            "slayer-level": "95",
+            "experience": 2900,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 957,
+            "max-melee": "0",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "6900",
+            "name": "Default",
+            "slayer-exp": 1664.800048828125,
+            "lifepoints": "58000",
+            "max-ranged": "0",
+            "max-magic": "2300",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Vyrelady",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#1.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#2.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#3.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "3",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#4.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "4",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#5.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "5",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelady#6.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "6",
+                "slayer-exp": 340,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Vyrelord",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#1.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "1",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#2.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "2",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#3.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "3",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#4.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "4",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#5.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "5",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrelord#6.png\" decoding=\"async\" loading=\"lazy\" width=\"106\" height=\"300\" id=\"image-?\">",
+                "level": "98",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 568.5,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"
+                ],
+                "lifepoint-exp": 187.60000610351562,
+                "max-melee": "672",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "6",
+                "slayer-exp": 343.6000061035156,
+                "lifepoints": "11370",
+                "max-ranged": "0",
+                "max-magic": "672",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Vyrewatch",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 70.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "70",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 125,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 41.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 70",
+                "slayer-exp": 43.20000076293945,
+                "lifepoints": "2500",
+                "max-ranged": "0",
+                "max-magic": "200",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 72.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 72",
+                "slayer-exp": 47.400001525878906,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 75.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "75",
+                "defence": "54",
+                "slayer-level": "1",
+                "experience": 135,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 44.5,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 75",
+                "slayer-exp": 52.20000076293945,
+                "lifepoints": "2700",
+                "max-ranged": "0",
+                "max-magic": "216",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 78.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "78",
+                "defence": "56",
+                "slayer-level": "1",
+                "experience": 140,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 46.20000076293945,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 78",
+                "slayer-exp": 57.599998474121094,
+                "lifepoints": "2800",
+                "max-ranged": "0",
+                "max-magic": "224",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 86.png\" decoding=\"async\" loading=\"lazy\" width=\"103\" height=\"300\" id=\"image-?\">",
+                "level": "86",
+                "defence": "62",
+                "slayer-level": "?",
+                "experience": 500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 165,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 86",
+                "slayer-exp": 238.6999969482422,
+                "lifepoints": "10000",
+                "max-ranged": "0",
+                "max-magic": "595",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 91.png\" decoding=\"async\" loading=\"lazy\" width=\"103\" height=\"300\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "?",
+                "experience": 528,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 174.1999969482422,
+                "max-melee": "260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 91",
+                "slayer-exp": 364.5,
+                "lifepoints": "10560",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Temple Trekking (Easy Route).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "49",
+                "defence": "35",
+                "slayer-level": "?",
+                "experience": 175,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 57.70000076293945,
+                "max-melee": "140",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Easy Route)",
+                "slayer-exp": -1,
+                "lifepoints": "3500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Temple Trekking (Medium Route).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "91",
+                "defence": "65",
+                "slayer-level": "?",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "260",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Medium Route)",
+                "slayer-exp": -1,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Temple Trekking (Hard Route).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "97",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Blisterwood\" title=\"Blisterwood\" target=\"_blank\"><img src=\"./images/susceptible/s/Blisterwood_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"29\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "280",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Temple Trekking (Hard Route)",
+                "slayer-exp": -1,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "70",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 406,
+                "susceptible": [],
+                "lifepoint-exp": 133.89999389648438,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 70 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "8120",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "72",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 422.5,
+                "susceptible": [],
+                "lifepoint-exp": 139.39999389648438,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 72 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "8450",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "75",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 438.5,
+                "susceptible": [],
+                "lifepoint-exp": 144.6999969482422,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 75 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "8770",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+                "level": "78",
+                "defence": "?",
+                "slayer-level": "?",
+                "experience": 455,
+                "susceptible": [],
+                "lifepoint-exp": 150.10000610351562,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Level 78 (East of Burgh de Rott)",
+                "slayer-exp": -1,
+                "lifepoints": "9100",
+                "max-ranged": "0",
+                "max-magic": "?",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Wall beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Wall beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+            "level": "45",
+            "defence": "34",
+            "slayer-level": "35",
+            "experience": 272.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 89.9000015258789,
+            "max-melee": "600",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 20.600000381469727,
+            "lifepoints": "5450",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Warped terrorbird",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#1.png\" decoding=\"async\" loading=\"lazy\" width=\"239\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "1",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#1 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"236\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "1 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#2.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "2",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#2 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"224\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "2 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#3.png\" decoding=\"async\" loading=\"lazy\" width=\"229\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "3",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#3 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"230\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "3 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#4.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "4",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#4 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"209\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "4 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#5.png\" decoding=\"async\" loading=\"lazy\" width=\"265\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "5",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#5 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"242\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "5 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#6.png\" decoding=\"async\" loading=\"lazy\" width=\"239\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "6",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#6 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"246\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "6 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#7.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "7",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#7 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"217\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "7 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#8.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "8",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#8 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "8 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#9.png\" decoding=\"async\" loading=\"lazy\" width=\"250\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "9",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#9 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"232\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "9 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#10.png\" decoding=\"async\" loading=\"lazy\" width=\"220\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "10",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped terrorbird#10 (chimed).png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "59",
+                "slayer-level": "56",
+                "experience": 295,
+                "susceptible": [],
+                "lifepoint-exp": 97.30000305175781,
+                "max-melee": "177",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "10 (chimed)",
+                "slayer-exp": 133.39999389648438,
+                "lifepoints": "5900",
+                "max-ranged": "236",
+                "max-magic": "177",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Warped tortoise",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Warped tortoise#Immune.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"199\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "56",
+                "experience": 260,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 85.80000305175781,
+                "max-melee": "156",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Immune",
+                "slayer-exp": 95,
+                "lifepoints": "5200",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Warped tortoise#Vulnerable.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"183\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "56",
+                "experience": 260,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 85.80000305175781,
+                "max-melee": "156",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Vulnerable",
+                "slayer-exp": 95,
+                "lifepoints": "5200",
+                "max-ranged": "0",
+                "max-magic": "208",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Maelstrom, Raging Waterfiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Maelstrom, Raging Waterfiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "142",
+            "defence": "77",
+            "slayer-level": "?",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 10000,
+            "lifepoints": "180000",
+            "max-ranged": "2113",
+            "max-magic": "2388",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Torrential Waterfiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Torrential Waterfiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "118",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 900,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 297,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "18000",
+            "max-ranged": "1727",
+            "max-magic": "1727",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Torrential Waterfiend (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Torrential Waterfiend (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "118",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 900,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 297,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "18000",
+            "max-ranged": "1727",
+            "max-magic": "1727",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Waterfiend",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Waterfiend#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"215\" height=\"300\" id=\"image-?\">",
+            "level": "107",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 400,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 132,
+            "max-melee": "800",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 335,
+            "lifepoints": "8000",
+            "max-ranged": "800",
+            "max-magic": "800",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Waterfiend (Ghorrock)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Ghorrock)#102.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "102",
+                "defence": "73",
+                "slayer-level": "1",
+                "experience": 400,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 132,
+                "max-melee": "739",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "102",
+                "slayer-exp": 290.79998779296875,
+                "lifepoints": "8000",
+                "max-ranged": "739",
+                "max-magic": "739",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Ghorrock)#107.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "720",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "107",
+                "slayer-exp": -1,
+                "lifepoints": "20000",
+                "max-ranged": "0",
+                "max-magic": "720",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Waterfiend (Temple of Aminishi)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 700,
+                "susceptible": [],
+                "lifepoint-exp": 231,
+                "max-melee": "936",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "14000",
+                "max-ranged": "936",
+                "max-magic": "936",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 700,
+                "susceptible": [],
+                "lifepoint-exp": 231,
+                "max-melee": "936",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "14000",
+                "max-ranged": "936",
+                "max-magic": "936",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Waterfiend (The Zamorakian Undercity)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"218\" height=\"300\" id=\"image-?\">",
+            "level": "111",
+            "defence": "77",
+            "slayer-level": "1",
+            "experience": 450,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 600,
+            "lifepoints": "9000",
+            "max-ranged": "1506",
+            "max-magic": "1506",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Waterfiend (elite)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (elite)#Ancient Cavern.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 1600,
+                "susceptible": [],
+                "lifepoint-exp": 528,
+                "max-melee": "2400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Ancient Cavern",
+                "slayer-exp": 1181.4000244140625,
+                "lifepoints": "32000",
+                "max-ranged": "2400",
+                "max-magic": "2400",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Waterfiend (elite)#Ghorrock.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "111",
+                "defence": "77",
+                "slayer-level": "1",
+                "experience": 1600,
+                "susceptible": [],
+                "lifepoint-exp": 528,
+                "max-melee": "2400",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Ghorrock",
+                "slayer-exp": 1181.4000244140625,
+                "lifepoints": "32000",
+                "max-ranged": "2400",
+                "max-magic": "2400",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Waterfiend (summoned)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Waterfiend (summoned)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"286\" height=\"300\" id=\"image-?\">",
+            "level": "111",
+            "defence": "77",
+            "slayer-level": "?",
+            "experience": 450,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Demon_slayer_(effect)\" title=\"Demon slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Demon_Slayer_%28perk%29.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 148.5,
+            "max-melee": "1414",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "9000",
+            "max-ranged": "1506",
+            "max-magic": "1506",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Werewolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Boris.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "45",
+                "slayer-level": "1",
+                "experience": 112.5,
+                "susceptible": [],
+                "lifepoint-exp": 37.099998474121094,
+                "max-melee": "225",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Boris",
+                "slayer-exp": 34.5,
+                "lifepoints": "2250",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Imre.png\" decoding=\"async\" loading=\"lazy\" width=\"187\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Imre",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Yuri.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Yuri",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Joseph.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Joseph",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Nikolai.png\" decoding=\"async\" loading=\"lazy\" width=\"185\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Nikolai",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Eduard.png\" decoding=\"async\" loading=\"lazy\" width=\"188\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Eduard",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Lev.png\" decoding=\"async\" loading=\"lazy\" width=\"184\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Lev",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Georgy.png\" decoding=\"async\" loading=\"lazy\" width=\"183\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Georgy",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Svetlana.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Svetlana",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Irina.png\" decoding=\"async\" loading=\"lazy\" width=\"158\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Irina",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Alexis.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Alexis",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Milla.png\" decoding=\"async\" loading=\"lazy\" width=\"162\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Milla",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Galina.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Galina",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Sofiya.png\" decoding=\"async\" loading=\"lazy\" width=\"161\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Sofiya",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Ksenia.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Ksenia",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Yadviga.png\" decoding=\"async\" loading=\"lazy\" width=\"149\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Yadviga",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Nikita.png\" decoding=\"async\" loading=\"lazy\" width=\"155\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Nikita",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Vera.png\" decoding=\"async\" loading=\"lazy\" width=\"157\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Vera",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Zoja.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Zoja",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#Liliya.png\" decoding=\"async\" loading=\"lazy\" width=\"156\" height=\"300\" id=\"image-?\">",
+                "level": "63",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Liliya",
+                "slayer-exp": 34.5,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#God Wars Dungeon (male).png\" decoding=\"async\" loading=\"lazy\" width=\"160\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon (male)",
+                "slayer-exp": 171,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Werewolf#God Wars Dungeon (female).png\" decoding=\"async\" loading=\"lazy\" width=\"146\" height=\"300\" id=\"image-?\">",
+                "level": "89",
+                "defence": "64",
+                "slayer-level": "1",
+                "experience": 320,
+                "susceptible": [],
+                "lifepoint-exp": 105.5999984741211,
+                "max-melee": "256",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "God Wars Dungeon (female)",
+                "slayer-exp": 171,
+                "lifepoints": "6400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Adolescent White wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Adolescent White wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+            "level": "6",
+            "defence": "4",
+            "slayer-level": "1",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "120",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 7,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Big Wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Big Wolf#White.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "20",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 147.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 48.599998474121094,
+                "max-melee": "340",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "White",
+                "slayer-exp": 18,
+                "lifepoints": "2950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Big Wolf#Grey.png\" decoding=\"async\" loading=\"lazy\" width=\"264\" height=\"300\" id=\"image-?\">",
+                "level": "20",
+                "defence": "13",
+                "slayer-level": "1",
+                "experience": 147.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 48.599998474121094,
+                "max-melee": "340",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Grey",
+                "slayer-exp": 18,
+                "lifepoints": "2950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Desert wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Desert wolf#Brown.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"223\" id=\"image-?\">",
+                "level": "12",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Brown",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Desert wolf#Grey.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"247\" id=\"image-?\">",
+                "level": "12",
+                "defence": "7",
+                "slayer-level": "1",
+                "experience": 82.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 27.200000762939453,
+                "max-melee": "220",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Grey",
+                "slayer-exp": 8.800000190734863,
+                "lifepoints": "1650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Dire Wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Dire Wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+            "level": "43",
+            "defence": "29",
+            "slayer-level": "1",
+            "experience": 232.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 76.69999694824219,
+            "max-melee": "660",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 19.600000381469727,
+            "lifepoints": "4650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fenris wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Fenris wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"294\" height=\"300\" id=\"image-?\">",
+            "level": "46",
+            "defence": "31",
+            "slayer-level": "1",
+            "experience": 247.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 81.5999984741211,
+            "max-melee": "700",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": 21.600000381469727,
+            "lifepoints": "4950",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Fenris wolf (Sköll)",
+        "variants": []
+    },
+    {
+        "name": "Ice wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Ice wolf#58.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"276\" id=\"image-?\">",
+                "level": "58",
+                "defence": "40",
+                "slayer-level": "1",
+                "experience": 325,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 107.19999694824219,
+                "max-melee": "880",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "58",
+                "slayer-exp": 45.400001525878906,
+                "lifepoints": "6500",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Ice wolf#72.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"276\" id=\"image-?\">",
+                "level": "72",
+                "defence": "50",
+                "slayer-level": "1",
+                "experience": 420,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 138.60000610351562,
+                "max-melee": "1350",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "72",
+                "slayer-exp": 207.39999389648438,
+                "lifepoints": "8400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Jungle Wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Jungle Wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"278\" id=\"image-?\">",
+            "level": "78",
+            "defence": "54",
+            "slayer-level": "1",
+            "experience": 460,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 151.8000030517578,
+            "max-melee": "1160",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 81,
+            "lifepoints": "9200",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "White wolf",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/White wolf#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+            "level": "12",
+            "defence": "7",
+            "slayer-level": "1",
+            "experience": 82.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 27.200000762939453,
+            "max-melee": "220",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 12.600000381469727,
+            "lifepoints": "1650",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Wolf",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 8 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"252\" height=\"300\" id=\"image-?\">",
+                "level": "8",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 8 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 8 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+                "level": "8",
+                "defence": "4",
+                "slayer-level": "1",
+                "experience": 65,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 21.399999618530273,
+                "max-melee": "160",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 8 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1300",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 11 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "11",
+                "defence": "6",
+                "slayer-level": "1",
+                "experience": 77.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 25.5,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 11 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "1550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Wolf#Level 11 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"241\" id=\"image-?\">",
+                "level": "11",
+                "defence": "6",
+                "slayer-level": "1",
+                "experience": 77.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 25.5,
+                "max-melee": "200",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 11 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1550",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Armoured zombie (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "?",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 841,
+                "lifepoints": "20000",
+                "max-ranged": "739",
+                "max-magic": "739",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "77",
+                "slayer-level": "?",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "20000",
+                "max-ranged": "739",
+                "max-magic": "739",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Armoured zombie (Uncharted Isles)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 16.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Docile (Throwing Axes)",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "268",
+                "max-magic": "268",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png\" decoding=\"async\" loading=\"lazy\" width=\"116\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 16.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Docile (Sword and Shield)",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "268",
+                "max-magic": "268",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 50,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 16.5,
+                "max-melee": "268",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Aggressive",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "268",
+                "max-magic": "268",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Bossy McBossFace",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Bossy McBossFace#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"281\" id=\"image-?\">",
+            "level": "123",
+            "defence": "72",
+            "slayer-level": "0",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Dried zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Dried zombie#Parched.png\" decoding=\"async\" loading=\"lazy\" width=\"133\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 120,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 39.599998474121094,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Parched",
+                "slayer-exp": 41,
+                "lifepoints": "2400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dried zombie#Unmoisturised.png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 120,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 39.599998474121094,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Unmoisturised",
+                "slayer-exp": 41,
+                "lifepoints": "2400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Dried zombie#Dried.png\" decoding=\"async\" loading=\"lazy\" width=\"129\" height=\"300\" id=\"image-?\">",
+                "level": "67",
+                "defence": "48",
+                "slayer-level": "1",
+                "experience": 120,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 39.599998474121094,
+                "max-melee": "192",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Dried",
+                "slayer-exp": 41,
+                "lifepoints": "2400",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Empowering zombie",
+        "variants": []
+    },
+    {
+        "name": "Summoned Zombie",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Summoned Zombie#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"95\" height=\"300\" id=\"image-?\">",
+            "level": "12",
+            "defence": "9",
+            "slayer-level": "1",
+            "experience": 22.5,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 7.400000095367432,
+            "max-melee": "36",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 8,
+            "lifepoints": "450",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Summoned Zombie (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "0",
+                "experience": 600,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 198,
+                "max-melee": "368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "8000",
+                "max-ranged": "368",
+                "max-magic": "368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Summoned armoured zombie",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Summoned armoured zombie#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "107",
+                "defence": "77",
+                "slayer-level": "0",
+                "experience": 1000,
+                "susceptible": [
+                    "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                    "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+                ],
+                "lifepoint-exp": 330,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Water_spells\" title=\"Water spells\" target=\"_blank\"><img src=\"./images/weakness/Water_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "10000",
+                "max-ranged": "864",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Summoned armoured zombie#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": [],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": [],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Ulthven Keith",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Ulthven Keith#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"286\" id=\"image-?\">",
+            "level": "117",
+            "defence": "72",
+            "slayer-level": "0",
+            "experience": 9000,
+            "susceptible": [
+                "<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>",
+                "<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"
+            ],
+            "lifepoint-exp": 2970,
+            "max-melee": "1966",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "180000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Undead Witch",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Undead Witch#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"114\" height=\"300\" id=\"image-?\">",
+                "level": "170",
+                "defence": "75",
+                "slayer-level": "0",
+                "experience": 1500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 495,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "30000",
+                "max-ranged": "0",
+                "max-magic": "Varies",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Undead Witch#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"114\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "?",
+                "slayer-level": "0",
+                "experience": -1,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": -1,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "?",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Lair of Tarn Razorlor)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#72.png\" decoding=\"async\" loading=\"lazy\" width=\"102\" height=\"300\" id=\"image-?\">",
+                "level": "72",
+                "defence": "52",
+                "slayer-level": "1",
+                "experience": 130,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 42.900001525878906,
+                "max-melee": "208",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "72",
+                "slayer-exp": -1,
+                "lifepoints": "2600",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "74 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "74",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "74 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "75 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"101\" height=\"300\" id=\"image-?\">",
+                "level": "75",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "75 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"96\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "77 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"122\" height=\"300\" id=\"image-?\">",
+                "level": "77",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "77 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"121\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "78 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"120\" height=\"300\" id=\"image-?\">",
+                "level": "78",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "78 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "79 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "79",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "79 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "82 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "82 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"107\" height=\"300\" id=\"image-?\">",
+                "level": "82",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "82 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "84 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "84",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "84 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"111\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "85 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"112\" height=\"300\" id=\"image-?\">",
+                "level": "85",
+                "defence": "61",
+                "slayer-level": "1",
+                "experience": 152.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 50.29999923706055,
+                "max-melee": "244",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "85 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "3050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Stronghold of Security)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Stronghold of Security)#Level 12.png\" decoding=\"async\" loading=\"lazy\" width=\"109\" height=\"300\" id=\"image-?\">",
+                "level": "12",
+                "defence": "9",
+                "slayer-level": "1",
+                "experience": 95,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 31.299999237060547,
+                "max-melee": "180",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 12",
+                "slayer-exp": -1,
+                "lifepoints": "1900",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Stronghold of Security)#Level 21.png\" decoding=\"async\" loading=\"lazy\" width=\"248\" height=\"300\" id=\"image-?\">",
+                "level": "21",
+                "defence": "15",
+                "slayer-level": "1",
+                "experience": 132.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 43.70000076293945,
+                "max-melee": "300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Earth_spells\" title=\"Earth spells\" target=\"_blank\"><img src=\"./images/weakness/Earth_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 21",
+                "slayer-exp": -1,
+                "lifepoints": "2650",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Temple Trekking)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie (Temple Trekking)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"96\" height=\"300\" id=\"image-?\">",
+            "level": "28",
+            "defence": "20",
+            "slayer-level": "?",
+            "experience": 50,
+            "susceptible": [],
+            "lifepoint-exp": 16.5,
+            "max-melee": "0",
+            "weakness": [],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1000",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "Zombie (The Shadow Reef)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (The Shadow Reef)#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "108",
+                "defence": "67",
+                "slayer-level": "0",
+                "experience": 600,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 198,
+                "max-melee": "384",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": 504,
+                "lifepoints": "12000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (The Shadow Reef)#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"148\" height=\"300\" id=\"image-?\">",
+                "level": "108",
+                "defence": "67",
+                "slayer-level": "0",
+                "experience": 300,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 99,
+                "max-melee": "384",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": 504,
+                "lifepoints": "6000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Uncharted Isles)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Uncharted Isles)#Male.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 236,
+                "susceptible": [],
+                "lifepoint-exp": 77.80000305175781,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Male",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Uncharted Isles)#Female.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 236,
+                "susceptible": [],
+                "lifepoint-exp": 77.80000305175781,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Female",
+                "slayer-exp": -1,
+                "lifepoints": "1000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Uncharted Isles)#Aggressive.png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "93",
+                "defence": "67",
+                "slayer-level": "1",
+                "experience": 236,
+                "susceptible": [],
+                "lifepoint-exp": 77.80000305175781,
+                "max-melee": "1515",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Aggressive",
+                "slayer-exp": -1,
+                "lifepoints": "4950",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Wilderness)",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 22 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"131\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "16",
+                "slayer-level": "?",
+                "experience": 40,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 13.199999809265137,
+                "max-melee": "64",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 22 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "800",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 22 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 22 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 22 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "22",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 22 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (1).png\" decoding=\"async\" loading=\"lazy\" width=\"127\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (1)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (2).png\" decoding=\"async\" loading=\"lazy\" width=\"128\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (2)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (3).png\" decoding=\"async\" loading=\"lazy\" width=\"130\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (3)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zombie (Wilderness)#Level 29 (4).png\" decoding=\"async\" loading=\"lazy\" width=\"128\" height=\"300\" id=\"image-?\">",
+                "level": "29",
+                "defence": "21",
+                "slayer-level": "?",
+                "experience": 52.5,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 17.299999237060547,
+                "max-melee": "105",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Fire_spells\" title=\"Fire spells\" target=\"_blank\"><img src=\"./images/weakness/Fire_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "?",
+                "name": "Level 29 (4)",
+                "slayer-exp": -1,
+                "lifepoints": "1050",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "Zombie (Zogre Flesh Eaters)",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Zombie (Zogre Flesh Eaters)#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"118\" height=\"300\" id=\"image-?\">",
+            "level": "36",
+            "defence": "26",
+            "slayer-level": "?",
+            "experience": 65,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 21.399999618530273,
+            "max-melee": "156",
+            "weakness": ["<a href=\"https://runescape.wiki/w/Arrows\" title=\"Arrows\" target=\"_blank\"><img src=\"./images/weakness/Arrow_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+            "max-spec": "?",
+            "name": "Default",
+            "slayer-exp": -1,
+            "lifepoints": "1300",
+            "max-ranged": "0",
+            "max-magic": "0",
+            "max-necromancy": "?"
+        }]
+    },
+    {
+        "name": "The Ambassador",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/The Ambassador#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+                "level": "5500",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 25000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 8250,
+                "max-melee": "3300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "9000",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "1000000",
+                "max-ranged": "2200",
+                "max-magic": "10000",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/The Ambassador#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"145\" height=\"300\" id=\"image-?\">",
+                "level": "5500",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 25000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 8250,
+                "max-melee": "330",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "900",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "500000",
+                "max-ranged": "220",
+                "max-magic": "1000",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Araxxi",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Araxxi#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"217\" id=\"image-?\">",
+            "level": "3000",
+            "defence": "80",
+            "slayer-level": "-4",
+            "experience": 2500,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "lifepoint-exp": 825,
+            "max-melee": "1653",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "10700",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "100000",
+            "max-ranged": "1653",
+            "max-magic": "1653",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Chaos Elemental",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Chaos Elemental#F2P.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"228\" id=\"image-?\">",
+                "level": "305",
+                "defence": "69",
+                "slayer-level": "?",
+                "experience": 862,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 284.3999938964844,
+                "max-melee": "1104",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "F2P",
+                "slayer-exp": -1,
+                "lifepoints": "17250",
+                "max-ranged": "1104",
+                "max-magic": "1104",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Chaos Elemental#P2P.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"228\" id=\"image-?\">",
+                "level": "305",
+                "defence": "69",
+                "slayer-level": "?",
+                "experience": 862,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 284.3999938964844,
+                "max-melee": "1104",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Bolts\" title=\"Bolts\" target=\"_blank\"><img src=\"./images/weakness/Bolt_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "P2P",
+                "slayer-exp": -1,
+                "lifepoints": "17250",
+                "max-ranged": "1104",
+                "max-magic": "1104",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Commander Zilyana",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Aftermath.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Aftermath",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Battle of the Monolith.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Battle of the Monolith",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Council of Burthorpe.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Council of Burthorpe",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Extinction.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Extinction",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Gower Quest.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Gower Quest",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Missing, Presumed Death.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Missing, Presumed Death",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Once Upon a Time in Gielinor",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#Senntisten.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Senntisten",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Commander Zilyana#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "The World Wakes",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            }
+        ]
+    },
+    {
+        "name": "Croesus",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Croesus#Active.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"255\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Active",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Croesus#Dormant.png\" decoding=\"async\" loading=\"lazy\" width=\"267\" height=\"300\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dormant",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            }
+        ]
+    },
+    {
+        "name": "Corporeal Beast",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Corporeal Beast#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"253\" height=\"300\" id=\"image-?\">",
+            "level": "785",
+            "defence": "75",
+            "slayer-level": "-4",
+            "experience": 2500,
+            "susceptible": [],
+            "lifepoint-exp": 825,
+            "max-melee": "3000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "100000",
+            "max-ranged": "720",
+            "max-magic": "720",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "General Graardor",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "624",
+                "defence": "72",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Hard mode",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "624",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 2000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 660,
+                "max-melee": "7000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "40000",
+                "max-ranged": "1676",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#The Mighty Fall.png\" decoding=\"async\" loading=\"lazy\" width=\"266\" height=\"300\" id=\"image-?\">",
+                "level": "210",
+                "defence": "72",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "4800",
+                "name": "The Mighty Fall",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/General Graardor#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"208\" height=\"300\" id=\"image-?\">",
+                "level": "210",
+                "defence": "72",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "The World Wakes",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Giant mole",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Giant mole#Hard Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "230",
+                "defence": "45",
+                "slayer-level": "?",
+                "experience": 1950,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 643.5,
+                "max-melee": "720",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2800",
+                "name": "Hard Mode",
+                "slayer-exp": -1,
+                "lifepoints": "78000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Giant mole#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"288\" id=\"image-?\">",
+                "level": "230",
+                "defence": "45",
+                "slayer-level": "?",
+                "experience": 1950,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 643.5,
+                "max-melee": "720",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2800",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "78000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Gregorovic",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Gregorovic#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "2300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2300",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "2300",
+                "max-magic": "1800",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gregorovic#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "2300",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "2300",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "2300",
+                "max-magic": "1800",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Gregorovic#Sliske's Endgame.png\" decoding=\"async\" loading=\"lazy\" width=\"203\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Sliske's Endgame",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1152",
+                "max-magic": "1152",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Har-Aken",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Har-Aken#Head.png\" decoding=\"async\" loading=\"lazy\" width=\"298\" height=\"300\" id=\"image-?\">",
+                "level": "800",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 3750,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1237.5,
+                "max-melee": "1152",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "0",
+                "name": "Head",
+                "slayer-exp": -1,
+                "lifepoints": "150000",
+                "max-ranged": "1152",
+                "max-magic": "1152",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Har-Aken#Magic Tentacle.png\" decoding=\"async\" loading=\"lazy\" width=\"113\" height=\"300\" id=\"image-?\">",
+                "level": "800",
+                "defence": "76",
+                "slayer-level": "?",
+                "experience": 350,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 115.5,
+                "max-melee": "820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Thrown_weapons\" title=\"Thrown weapons\" target=\"_blank\"><img src=\"./images/weakness/Thrown_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "0",
+                "name": "Magic Tentacle",
+                "slayer-exp": -1,
+                "lifepoints": "7000",
+                "max-ranged": "1094",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Har-Aken#Ranged Tentacle.png\" decoding=\"async\" loading=\"lazy\" width=\"134\" height=\"300\" id=\"image-?\">",
+                "level": "800",
+                "defence": "76",
+                "slayer-level": "?",
+                "experience": 350,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 115.5,
+                "max-melee": "820",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Slash_weapons\" title=\"Slash weapons\" target=\"_blank\"><img src=\"./images/weakness/Slash_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"22\"><\/a>"],
+                "max-spec": "0",
+                "name": "Ranged Tentacle",
+                "slayer-exp": -1,
+                "lifepoints": "7000",
+                "max-ranged": "1094",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Helwyr",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Helwyr#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1296",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "6000",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Helwyr#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"219\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1224",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "3000",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Hermod, the Spirit of War",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Hermod, the Spirit of War#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "732",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Necromancy\" title=\"Necromancy\" target=\"_blank\"><img src=\"./images/weakness/s/Necromancy-icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2250",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "1750"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Hermod, the Spirit of War#Quest.png\" decoding=\"async\" loading=\"lazy\" width=\"234\" height=\"300\" id=\"image-?\">",
+                "level": "732",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/Necromancy\" title=\"Necromancy\" target=\"_blank\"><img src=\"./images/weakness/s/Necromancy-icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "max-spec": "2250",
+                "name": "Quest",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "1750"
+            }
+        ]
+    },
+    {
+        "name": "Nex",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Nex#Magic.png\" decoding=\"async\" loading=\"lazy\" width=\"287\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Magic",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nex#Melee.png\" decoding=\"async\" loading=\"lazy\" width=\"282\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Melee",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nex#Ranged.png\" decoding=\"async\" loading=\"lazy\" width=\"292\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Ranged",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nex#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"300\" id=\"image-?\">",
+                "level": "1001",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1250",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "8000",
+                "name": "Standard",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1250",
+                "max-magic": "1250",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nex: Angel of Death",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Nex: Angel of Death#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"300\" id=\"image-?\">",
+            "level": "7000",
+            "defence": "99",
+            "slayer-level": "-4",
+            "experience": 75000,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 24750,
+            "max-melee": "2123",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "75000",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "3000000",
+            "max-ranged": "2123",
+            "max-magic": "2123",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Raksha, the Shadow Colossus",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#During fight.png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "During fight",
+                "slayer-exp": -1,
+                "lifepoints": "800000",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#During fight (duo).png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "During fight (duo)",
+                "slayer-exp": -1,
+                "lifepoints": "1600000",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#Shackled.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"212\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Shackled",
+                "slayer-exp": -1,
+                "lifepoints": "N/A",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Raksha, the Shadow Colossus#Subdued.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"179\" id=\"image-?\">",
+                "level": "6000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 40000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 13200,
+                "max-melee": "2570",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Subdued",
+                "slayer-exp": -1,
+                "lifepoints": "N/A",
+                "max-ranged": "2570",
+                "max-magic": "2570",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Rasial, the First Necromancer",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+                "level": "8462",
+                "defence": "95",
+                "slayer-level": "?",
+                "experience": 20000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 6600,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11500",
+                "name": "Alpha vs Omega",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "2300"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Rasial, the First Necromancer#Normal.png\" decoding=\"async\" loading=\"lazy\" width=\"207\" height=\"300\" id=\"image-?\">",
+                "level": "8462",
+                "defence": "95",
+                "slayer-level": "?",
+                "experience": 18000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Undead_slayer_(effect)\" title=\"Undead slayer (effect)\" target=\"_blank\"><img src=\"./images/susceptible/Undead_Slayer.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"25\"><\/a>"],
+                "lifepoint-exp": 5940,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11500",
+                "name": "Normal",
+                "slayer-exp": -1,
+                "lifepoints": "800000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "2300"
+            }
+        ]
+    },
+    {
+        "name": "Seiryu the Azure Serpent",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Seiryu the Azure Serpent#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "10000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "1368",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "7500000",
+                "max-ranged": "1368",
+                "max-magic": "1368",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Seiryu the Azure Serpent#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"148\" id=\"image-?\">",
+                "level": "10000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 187500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 61875,
+                "max-melee": "?",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "3750000",
+                "max-ranged": "?",
+                "max-magic": "?",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Solak",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Solak#Left arm.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Left arm",
+                "slayer-exp": -1,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Left leg.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Left leg",
+                "slayer-exp": -1,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Right arm.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Right arm",
+                "slayer-exp": -1,
+                "lifepoints": "45000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Right leg.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": [],
+                "lifepoint-exp": 0,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Right leg",
+                "slayer-exp": -1,
+                "lifepoints": "35000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Solak.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 200000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 66000,
+                "max-melee": "4000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Solak",
+                "slayer-exp": -1,
+                "lifepoints": "2000000",
+                "max-ranged": "4000",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Solak#Withering.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"246\" id=\"image-?\">",
+                "level": "7000",
+                "defence": "60",
+                "slayer-level": "?",
+                "experience": 8000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 2640,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "12000",
+                "name": "Withering",
+                "slayer-exp": -1,
+                "lifepoints": "125000",
+                "max-ranged": "0",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Telos, the Warden",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Telos, the Warden#Dormant.png\" decoding=\"async\" loading=\"lazy\" width=\"190\" height=\"300\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": -2,
+                "susceptible": [],
+                "lifepoint-exp": -2,
+                "max-melee": "N/A",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Dormant",
+                "slayer-exp": -1,
+                "lifepoints": "N/A",
+                "max-ranged": "N/A",
+                "max-magic": "N/A",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Telos, the Warden#Phase 5.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"135\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 5000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 1650,
+                "max-melee": "0",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "Varies",
+                "name": "Phase 5",
+                "slayer-exp": -1,
+                "lifepoints": "100000",
+                "max-ranged": "0",
+                "max-magic": "1324",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Telos, the Warden#Standard.png\" decoding=\"async\" loading=\"lazy\" width=\"201\" height=\"300\" id=\"image-?\">",
+                "level": "2000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 20000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 6600,
+                "max-melee": "1324",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "5555",
+                "name": "Standard",
+                "slayer-exp": -1,
+                "lifepoints": "400000",
+                "max-ranged": "0",
+                "max-magic": "1324",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Nymora, the Vengeful",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Nymora, the Vengeful#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 12500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 4125,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "250000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Nymora, the Vengeful#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"173\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Terrasaur_maul\" title=\"Terrasaur maul\" target=\"_blank\"><img src=\"./images/susceptible/Terrasaur_maul.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"30\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "350000",
+                "max-ranged": "864",
+                "max-magic": "864",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Avaryss, the Unceasing",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Avaryss, the Unceasing#Challenge Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 17500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 5775,
+                "max-melee": "864",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Challenge Mode",
+                "slayer-exp": -1,
+                "lifepoints": "350000",
+                "max-ranged": "864",
+                "max-magic": "864",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "N/A",
+                "slayer-level": "?",
+                "experience": 0,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 0,
+                "max-melee": "N/A",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "N/A",
+                "name": "Daughter of Chaos",
+                "slayer-exp": -1,
+                "lifepoints": "500000",
+                "max-ranged": "N/A",
+                "max-magic": "N/A",
+                "max-necromancy": "?"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Avaryss, the Unceasing#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"177\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "70",
+                "slayer-level": "?",
+                "experience": 12500,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4125,
+                "max-melee": "816",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "7140",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "250000",
+                "max-ranged": "816",
+                "max-magic": "816",
+                "max-necromancy": "?"
+            }
+        ]
+    },
+    {
+        "name": "TzKal-Zuk",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/TzKal-Zuk#Hard Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"232\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1837",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "15000",
+                "name": "Hard Mode",
+                "slayer-exp": -1,
+                "lifepoints": "1200000",
+                "max-ranged": "1837",
+                "max-magic": "1837",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/TzKal-Zuk#Normal Mode.png\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"232\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1837",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "15000",
+                "name": "Normal Mode",
+                "slayer-exp": -1,
+                "lifepoints": "600000",
+                "max-ranged": "1837",
+                "max-magic": "1837",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "TzTok-Jad",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/TzTok-Jad#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"300\" id=\"image-?\">",
+            "level": "702",
+            "defence": "70",
+            "slayer-level": "1",
+            "experience": 1000,
+            "susceptible": [],
+            "lifepoint-exp": 330,
+            "max-melee": "8000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "0",
+            "name": "Default",
+            "slayer-exp": 1309,
+            "lifepoints": "40000",
+            "max-ranged": "8000",
+            "max-magic": "8000",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Vindicta",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Vindicta#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "85",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "4500",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Hard mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "2500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Vindicta#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"169\" height=\"300\" id=\"image-?\">",
+                "level": "1000",
+                "defence": "75",
+                "slayer-level": "?",
+                "experience": 10000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+                "lifepoint-exp": 3300,
+                "max-melee": "3000",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "?",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "200000",
+                "max-ranged": "1500",
+                "max-magic": "0",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Vorago",
+        "variants": [{
+            "image": "<img src=\"./images/creatures/Vorago#Default.png\" decoding=\"async\" loading=\"lazy\" width=\"245\" height=\"300\" id=\"image-?\">",
+            "level": "10000",
+            "defence": "90",
+            "slayer-level": "-4",
+            "experience": 6250,
+            "susceptible": ["<a href=\"https://runescape.wiki/w/Inquisitor_staff\" title=\"Inquisitor staff\" target=\"_blank\"><img src=\"./images/susceptible/Inquisitor_staff.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"23\"><\/a>"],
+            "lifepoint-exp": 2062.5,
+            "max-melee": "3000",
+            "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+            "max-spec": "11000",
+            "name": "Default",
+            "slayer-exp": -4,
+            "lifepoints": "250000",
+            "max-ranged": "5000",
+            "max-magic": "5000",
+            "max-necromancy": "0"
+        }]
+    },
+    {
+        "name": "Zamorak, Lord of Chaos",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zamorak, Lord of Chaos#Hard mode.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1819",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Hard mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "1819",
+                "max-magic": "1819",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zamorak, Lord of Chaos#Normal mode.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1819",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Normal mode",
+                "slayer-exp": -1,
+                "lifepoints": "300000",
+                "max-ranged": "1819",
+                "max-magic": "1819",
+                "max-necromancy": "0"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zamorak, Lord of Chaos#Story mode.png\" decoding=\"async\" loading=\"lazy\" width=\"290\" height=\"300\" id=\"image-?\">",
+                "level": "14000",
+                "defence": "80",
+                "slayer-level": "?",
+                "experience": 15000,
+                "susceptible": ["<a href=\"https://runescape.wiki/w/Hexhunter_bow\" title=\"Hexhunter bow\" target=\"_blank\"><img src=\"./images/susceptible/Hexhunter_bow.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "lifepoint-exp": 4950,
+                "max-melee": "1819",
+                "weakness": ["<a href=\"https://runescape.wiki/w/No_weakness\" title=\"No weakness\" target=\"_blank\"><img src=\"./images/weakness/Zero_weakness_icon.png\" decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"26\"><\/a>"],
+                "max-spec": "11000",
+                "name": "Story mode",
+                "slayer-exp": -1,
+                "lifepoints": "150000",
+                "max-ranged": "1819",
+                "max-magic": "1819",
+                "max-necromancy": "0"
+            }
+        ]
+    },
+    {
+        "name": "Zemouregal",
+        "variants": [
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Defender of Varrock (1).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Defender of Varrock (1)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Defender of Varrock (2).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Defender of Varrock (2)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ritual of the Mahjarrat.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat (fort, skeletal)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ritual of the Mahjarrat (fort)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Nadir.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Nadir",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#The World Wakes.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "The World Wakes",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Missing, Presumed Death.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Missing, Presumed Death",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves (lair).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves (lair)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves (lair, examinable)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dishonour among Thieves (cutscene)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dimension of Disaster.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dimension of Disaster",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Children of Mah.png\" decoding=\"async\" loading=\"lazy\" width=\"153\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Children of Mah",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Children of Mah (examinable).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Children of Mah (examinable)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Children of Mah (Freneskae cutscene)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#TzekHaar Front.png\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "TzekHaar Front",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Daughter of Chaos.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Daughter of Chaos",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Succession.png\" decoding=\"async\" loading=\"lazy\" width=\"151\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Succession",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Succession (skeletal).png\" decoding=\"async\" loading=\"lazy\" width=\"231\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Succession (skeletal)",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Unwelcome Guests.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Unwelcome Guests",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Dead and Buried.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Dead and Buried",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Ancient Awakening.png\" decoding=\"async\" loading=\"lazy\" width=\"226\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Ancient Awakening",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Battle of Forinthry.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Battle of Forinthry",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            },
+            {
+                "image": "<img src=\"./images/creatures/Zemouregal#Requiem for a Dragon.png\" decoding=\"async\" loading=\"lazy\" width=\"152\" height=\"300\" id=\"image-?\">",
+                "level": "?",
+                "defence": "-4",
+                "slayer-level": "-4",
+                "experience": -4,
+                "susceptible": [],
+                "lifepoint-exp": -4,
+                "max-melee": "-4",
+                "weakness": [],
+                "max-spec": "-4",
+                "name": "Requiem for a Dragon",
+                "slayer-exp": -4,
+                "lifepoints": "-4",
+                "max-ranged": "-4",
+                "max-magic": "-4",
+                "max-necromancy": "-4"
+            }
+        ]
+    }
+]
diff --git a/src/data/old/masters.json b/src/data/old/masters.json
new file mode 100644 (file)
index 0000000..cdca203
--- /dev/null
@@ -0,0 +1,496 @@
+[
+    {
+        "task-counts": {
+            "Gelatinous abominations": "10-20",
+            "Trolls": "10-20",
+            "Wolves": "10-20",
+            "Cave bugs": "10-20",
+            "Cows": "10-25",
+            "Birds": "10-20",
+            "Crawling hands": "10-20"
+        },
+        "name": "Turael",
+        "id": 1,
+        "url": "https://runescape.wiki/w/Turael"
+    },
+    {
+        "task-counts": {
+            "Frogs": "15-30",
+            "Goblins": "15-30",
+            "Bats": "15-30",
+            "Ghosts": "15-25",
+            "Skeletons": "15-25",
+            "Spiders": "15-25",
+            "Zombies": "15-30",
+            "Cave slimes": "10-25",
+            "Cave bugs": "15-30",
+            "Cows": "15-30",
+            "Rats": "15-30",
+            "Birds": "15-30"
+        },
+        "name": "Jacquelyn",
+        "id": 2,
+        "url": "https://runescape.wiki/w/Jacquelyn"
+    },
+    {
+        "task-counts": {
+            "Frogs": "40-60",
+            "Bats": "40-60",
+            "Hill giants": "40-60",
+            "Wall beasts": "10-20",
+            "Zombies": "40-60",
+            "Cave slimes": "40-60",
+            "Mogres": "40-60",
+            "Moss giants": "40-60",
+            "Hobgoblins": "40-60",
+            "Bears": "20-40",
+            "Ice warriors": "40-60",
+            "Ghosts": "40-70",
+            "Skeletons": "40-60",
+            "Icefiends": "40-60",
+            "Minotaurs": "40-60",
+            "Scorpions": "40-60",
+            "Spiders": "40-60",
+            "Wolves": "40-60",
+            "Grotworms": "40-60",
+            "Kalphite": "40-60",
+            "Catablepon": "40-60",
+            "Fleshcrawlers": "40-60",
+            "Ice giants": "40-60",
+            "Cockroaches": "40-60"
+        },
+        "name": "Vannaka",
+        "id": 3,
+        "url": "https://runescape.wiki/w/Vannaka"
+    },
+    {
+        "task-counts": {
+            "Demons": "45-90",
+            "Aviansies": "50-110",
+            "Lesser demons": "120-180",
+            "Abyssal Demons": "140-260",
+            "Skeletons": "95-125",
+            "Undead": "130-170",
+            "Black demons": "110-160",
+            "Dark beasts": "120-180",
+            "Dragons": "60-90",
+            "Grotworms": "140-190",
+            "Zemouregal's undead": "110-150",
+            "Hellhounds": "70-110",
+            "Living wyverns": "40-65",
+            "Fire giants": "110-160",
+            "Ankou": "80-120",
+            "Dagannoth": "190-250",
+            "Zombies": "100-140",
+            "Fetid zombies": "140-170",
+            "Armoured phantoms": "45-55",
+            "Ghosts": "160-180",
+            "Green dragons": "70-120",
+            "Acheron mammoths": "20-45",
+            "Risen ghosts": "90-120",
+            "Aberrant spectres": "50-80",
+            "Kalphite": "65-110",
+            "Black dragons": "70-120",
+            "Camel warriors": "30-55",
+            "Greater demons": "140-200",
+            "Bound skeletons": "120-140",
+            "Ripper demons": "40-65"
+        },
+        "name": "The Raptor",
+        "id": 4,
+        "url": "https://runescape.wiki/w/The_Raptor"
+    },
+    {
+        "task-counts": {
+            "Desert lizards": "50-90",
+            "Werewolves": "50-90",
+            "Killerwatts": "60-100",
+            "Lesser demons": "60-100",
+            "Moss giants": "50-90",
+            "Banshees": "50-90",
+            "Ice warriors": "40-60",
+            "Shades": "60-100",
+            "Cockatrice": "50-90",
+            "Earth warriors": "35-55",
+            "Grotworms": "60-100",
+            "Jellies": "60-100",
+            "Otherworldly beings": "60-100",
+            "Bloodveld": "60-100",
+            "Cyclopes": "50-90",
+            "Basilisks": "60-100",
+            "Shadow warriors": "60-100",
+            "Brine rats": "60-100",
+            "Ice giants": "50-90",
+            "Cave crawlers": "50-90",
+            "Jungle horrors": "60-100",
+            "Ogres": "60-100",
+            "Ankou": "60-100",
+            "Sea snakes": "60-100",
+            "Infernal mages": "60-100",
+            "Turoth": "60-100",
+            "Crocodiles": "50-90",
+            "Green dragons": "35-55",
+            "Vampyres": "50-90",
+            "Aberrant spectres": "60-100",
+            "Dogs": "50-90",
+            "Molanisks": "50-90",
+            "Rockslugs": "50-90",
+            "Ghouls": "60-100",
+            "Pyrefiends": "60-100"
+        },
+        "name": "Mazchna",
+        "id": 5,
+        "url": "https://runescape.wiki/w/Mazchna"
+    },
+    {
+        "task-counts": {
+            "Warped tortoises": "110-170",
+            "Dust devils": "110-170",
+            "Elves": "60-90",
+            "Cave horrors": "110-170",
+            "Lesser demons": "110-170",
+            "Crawling hands": "110-170",
+            "Gargoyles": "110-170",
+            "Banshees": "110-170",
+            "Grifolaroos": "50-65",
+            "Jungle strykewyrms": "80-110",
+            "Trolls": "110-170",
+            "Grotworms": "70-110",
+            "Jellies": "110-170",
+            "Bloodveld": "110-170",
+            "Basilisks": "110-170",
+            "Shadow warriors": "110-170",
+            "Harpie bug swarms": "110-170",
+            "Brine rats": "110-170",
+            "Fever spiders": "110-170",
+            "Cave crawlers": "110-170",
+            "Fire giants": "110-170",
+            "Jungle horrors": "110-170",
+            "Grifolapines": "50-65",
+            "Mutated zygomites": "30-60",
+            "Dagannoth": "110-170",
+            "Blue dragons": "110-170",
+            "Infernal mages": "110-170",
+            "Bronze dragons": "30-60",
+            "Turoth": "110-170",
+            "Kurask": "110-170",
+            "Aberrant spectres": "110-170",
+            "Kalphite": "110-170",
+            "Fungal magi": "80-105",
+            "Vyrewatch": "80-110"
+        },
+        "name": "Chaeldar",
+        "id": 6,
+        "url": "https://runescape.wiki/w/Chaeldar"
+    },
+    {
+        "task-counts": {
+            "Desert lizards": "150-250",
+            "Warped tortoises": "120-185",
+            "Dust devils": "120-185",
+            "Elves": "60-90",
+            "Cave horrors": "120-185",
+            "Spiritual warriors": "120-185",
+            "Aviansies": "50-100",
+            "Gargoyles": "120-195",
+            "Banshees": "120-185",
+            "Grifolaroos": "55-75",
+            "Red dragons": "30-60",
+            "Spiritual mages": "120-185",
+            "Jungle strykewyrms": "90-120",
+            "Abyssal Demons": "120-185",
+            "Trolls": "120-185",
+            "Scorpions": "150-250",
+            "Nechryael": "120-185",
+            "Black demons": "120-185",
+            "Grotworms": "70-120",
+            "Bloodveld": "120-185",
+            "Cres's creations": "65-80",
+            "Basilisks": "120-185",
+            "Cave crawlers": "120-185",
+            "Hellhounds": "120-185",
+            "Fire giants": "120-185",
+            "Grifolapines": "55-75",
+            "Scabarites": "30-60",
+            "Mutated jadinkos": "80-130",
+            "Dagannoth": "120-185",
+            "Blue dragons": "120-185",
+            "Aquanites": "120-185",
+            "Iron dragons": "30-60",
+            "Corrupted creatures": "175-300",
+            "Turoth": "120-185",
+            "Crocodiles": "150-250",
+            "Kurask": "120-185",
+            "Desert strykewyrms": "90-110",
+            "Soul devourers": "175-300",
+            "Terror dogs": "30-60",
+            "Aberrant spectres": "120-185",
+            "Kalphite": "120-185",
+            "Fungal magi": "90-110",
+            "Greater demons": "120-185",
+            "Vyrewatch": "90-120"
+        },
+        "name": "Sumona",
+        "id": 7,
+        "url": "https://runescape.wiki/w/Sumona"
+    },
+    {
+        "task-counts": {
+            "Dust devils": "130-200",
+            "Waterfiends": "130-200",
+            "Aviansies": "100-125",
+            "Celestial dragons": "125-150",
+            "Ganodermic creatures": "55-70",
+            "Gargoyles": "130-200",
+            "Grifolaroos": "60-85",
+            "Airut": "125-150",
+            "Spiritual mages": "130-200",
+            "Jungle strykewyrms": "90-120",
+            "Abyssal Demons": "130-200",
+            "Nechryael": "130-200",
+            "Black demons": "130-200",
+            "Dark beasts": "130-200",
+            "Grotworms": "80-120",
+            "Bloodveld": "130-200",
+            "Cres's creations": "65-80",
+            "Skeletal wyverns": "40-80",
+            "Suqahs": "40-80",
+            "Hellhounds": "130-200",
+            "Fire giants": "130-200",
+            "Grifolapines": "60-85",
+            "Scabarites": "40-80",
+            "Mutated jadinkos": "120-200",
+            "Dagannoth": "130-200",
+            "Goraks": "40-80",
+            "Aquanites": "130-200",
+            "Iron dragons": "40-80",
+            "Desert strykewyrms": "90-140",
+            "Ascension members": "100-125",
+            "Aberrant spectres": "130-200",
+            "Kalphite": "130-200",
+            "Black dragons": "40-80",
+            "Warped terrorbirds": "130-200",
+            "Steel dragons": "40-80",
+            "Edimmu": "130-200",
+            "Fungal magi": "100-200",
+            "Greater demons": "130-200",
+            "Ice strykewyrms": "100-200",
+            "Mithril dragons": "4-8",
+            "Vyrewatch": "90-120"
+        },
+        "name": "Duradel",
+        "id": 8,
+        "url": "https://runescape.wiki/w/Duradel"
+    },
+    {
+        "task-counts": {
+            "Chaos giants": "60-100",
+            "TzHaar": "80-110",
+            "Warped tortoises": "150-240",
+            "Elves": "120-150",
+            "Glacors": "50-70",
+            "Waterfiends": "170-250",
+            "Adamant dragons": "40-50",
+            "Aviansies": "125-150",
+            "Kal'gerion demons": "50-100",
+            "Muspah": "125-150",
+            "Grifolaroos": "65-80",
+            "Airut": "125-150",
+            "Spiritual mages": "150-240",
+            "Stalker creatures": "120-170",
+            "Nechryael": "140-220",
+            "Black demons": "190-250",
+            "Cres's creations": "65-80",
+            "Skeletal wyverns": "40-90",
+            "Gemstone dragons": "60-100",
+            "Hellhounds": "130-220",
+            "Lava strykewyrms": "50-100",
+            "Living wyverns": "30-55",
+            "Fire giants": "170-250",
+            "Mutated jadinkos": "160-220",
+            "Nihil": "40-90",
+            "Corrupted creatures": "150-250",
+            "Terror dogs": "60-70",
+            "Ascension members": "100-125",
+            "Camel warriors": "25-45",
+            "Greater demons": "150-250",
+            "Ice strykewyrms": "100-200",
+            "Vyrewatch": "90-130",
+            "Dust devils": "150-250",
+            "Tormented demons": "40-60",
+            "Celestial dragons": "125-150",
+            "Ganodermic creatures": "70-90",
+            "Gargoyles": "150-250",
+            "Jungle strykewyrms": "90-130",
+            "Abyssal Demons": "150-250",
+            "Living rock creatures": "120-170",
+            "Dark beasts": "150-250",
+            "Grotworms": "80-150",
+            "Bloodveld": "180-250",
+            "Suqahs": "50-100",
+            "Grifolapines": "65-80",
+            "Nightmare creatures": "100-120",
+            "Dagannoth": "170-240",
+            "Blue dragons": "120-200",
+            "Aquanites": "160-200",
+            "Iron dragons": "60-110",
+            "Desert strykewyrms": "90-160",
+            "Soul devourers": "150-250",
+            "Acheron mammoths": "20-45",
+            "Aberrant spectres": "150-250",
+            "Kalphite": "170-250",
+            "Black dragons": "40-90",
+            "Steel dragons": "40-100",
+            "Edimmu": "150-250",
+            "Ripper demons": "50-75",
+            "Mithril dragons": "30-35"
+        },
+        "name": "Kuradal",
+        "id": 9,
+        "url": "https://runescape.wiki/w/Kuradal"
+    },
+    {
+        "task-counts": {
+            "Chaos giants": "80-120",
+            "TzHaar": "95-130",
+            "Elves": "150-180",
+            "Glacors": "60-85",
+            "Nodon dragonkin": "90-130",
+            "Waterfiends": "205-300",
+            "Adamant dragons": "40-60",
+            "Aviansies": "150-180",
+            "Kal'gerion demons": "60-120",
+            "Muspah": "150-180",
+            "Crystal shapeshifters": "110-150",
+            "Airut": "150-180",
+            "Stalker creatures": "140-190",
+            "Nechryael": "170-265",
+            "Black demons": "230-300",
+            "Cres's creations": "80-100",
+            "Gemstone dragons": "80-130",
+            "Lava strykewyrms": "60-120",
+            "Living wyverns": "40-65",
+            "Mutated jadinkos": "195-265",
+            "Nihil": "50-110",
+            "Corrupted creatures": "150-250",
+            "Ascension members": "120-150",
+            "Camel warriors": "35-55",
+            "Greater demons": "180-300",
+            "Ice strykewyrms": "120-240",
+            "Vyrewatch": "110-155",
+            "Tormented demons": "50-75",
+            "Celestial dragons": "150-180",
+            "Ganodermic creatures": "85-110",
+            "Gargoyles": "180-300",
+            "Abyssal Demons": "180-300",
+            "Dark beasts": "180-300",
+            "Grotworms": "100-180",
+            "Creatures of the Lost Grove": "100-120",
+            "Nightmare creatures": "110-160",
+            "Dagannoth": "205-290",
+            "Rune dragons": "50-75",
+            "Aquanites": "195-240",
+            "Iron dragons": "75-130",
+            "Shadow creatures": "100-150",
+            "Desert strykewyrms": "110-190",
+            "Soul devourers": "150-250",
+            "Acheron mammoths": "30-55",
+            "Kalphite": "205-300",
+            "Black dragons": "50-110",
+            "Steel dragons": "50-125",
+            "Edimmu": "170-265",
+            "Ripper demons": "60-85",
+            "Mithril dragons": "30-50"
+        },
+        "name": "Morvran",
+        "id": 10,
+        "url": "https://runescape.wiki/w/Morvran"
+    },
+    {
+        "task-counts": {
+            "Chaos giants": "80-120",
+            "Elves": "150-180",
+            "Glacors": "60-85",
+            "Nodon dragonkin": "110-150",
+            "Adamant dragons": "40-60",
+            "Aviansies": "150-180",
+            "Kal'gerion demons": "60-120",
+            "Muspah": "150-180",
+            "Crystal shapeshifters": "110-150",
+            "Airut": "150-180",
+            "Stalker creatures": "140-190",
+            "Black demons": "230-300",
+            "Dragons": "101-150",
+            "Cres's creations": "80-100",
+            "Gemstone dragons": "80-130",
+            "Lava strykewyrms": "60-120",
+            "Living wyverns": "40-65",
+            "Mutated jadinkos": "195-265",
+            "Nihil": "50-110",
+            "Corrupted creatures": "150-250",
+            "Armoured phantoms": "55-65",
+            "Vile blooms": "70-110",
+            "Ascension members": "120-150",
+            "Camel warriors": "35-55",
+            "Greater demons": "180-300",
+            "Ice strykewyrms": "120-240",
+            "Vyrewatch": "110-155",
+            "Demons": "101-150",
+            "Tormented demons": "50-75",
+            "Celestial dragons": "150-180",
+            "Ganodermic creatures": "85-110",
+            "Gargoyles": "180-300",
+            "Abyssal Demons": "180-300",
+            "Undead": "120-160",
+            "Dark beasts": "180-300",
+            "Creatures of the Lost Grove": "100-120",
+            "Dinosaurs": "70-110",
+            "Nightmare creatures": "110-162",
+            "Dagannoth": "205-290",
+            "Rune dragons": "50-75",
+            "Aquanites": "195-240",
+            "Iron dragons": "75-130",
+            "Shadow creatures": "100-150",
+            "Soul devourers": "150-250",
+            "Acheron mammoths": "30-55",
+            "Risen ghosts": "120-160",
+            "Creatures of Daemonheim": "101-150",
+            "Kalphite": "205-300",
+            "Black dragons": "50-110",
+            "Steel dragons": "50-125",
+            "Strykewyrms": "101-150",
+            "Edimmu": "170-265",
+            "Ripper demons": "60-85",
+            "Mithril dragons": "30-50"
+        },
+        "name": "Laniakea",
+        "id": 11,
+        "url": "https://runescape.wiki/w/Laniakea"
+    },
+    {
+        "task-counts": {
+            "Soulgazers": "140-190",
+            "Glacors": "70-100",
+            "Abyssal beasts": "140-200",
+            "Kal'gerion demons": "60-120",
+            "Gargoyles": "180-300",
+            "Greater demon berserkers and ash lords": "50-80",
+            "Hydrix dragons": "90-140",
+            "Revenants": "50-80",
+            "Abyssal Demons": "180-300",
+            "Abyssal lords": "100-150",
+            "Abyssal savages": "180-250",
+            "Acheron mammoths": "40-60",
+            "Black demons": "200-280",
+            "Dark beasts": "180-300",
+            "Onyx dragons": "100-150",
+            "Ripper demons": "70-95",
+            "Ice strykewyrms": "100-150",
+            "Lava strykewyrms": "60-120",
+            "Living wyverns": "50-75"
+        },
+        "name": "Mandrith",
+        "id": 12,
+        "url": "https://runescape.wiki/w/Mandrith"
+    }
+]
diff --git a/src/data/reapers.json b/src/data/reapers.json
new file mode 100644 (file)
index 0000000..fb989d1
--- /dev/null
@@ -0,0 +1,490 @@
+[
+    {
+        "default-creature": "Araxxi#Default",
+        "weakness": [],
+        "creatures": ["Araxxi"],
+        "hidden-creatures": [],
+        "index": "Araxxi",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Arch-Glacor#Normal mode",
+        "weakness": [],
+        "creatures": ["Arch-Glacor"],
+        "hidden-creatures": [],
+        "index": "Arch-Glacor",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Black stone dragon#Default",
+        "weakness": [],
+        "creatures": ["Black stone dragon"],
+        "hidden-creatures": [],
+        "index": "Black stone dragon",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Chaos Elemental#P2P",
+        "weakness": [],
+        "creatures": ["Chaos Elemental"],
+        "hidden-creatures": [],
+        "index": "Chaos Elemental",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "weakness": [],
+        "creatures": ["Commander Zilyana"],
+        "hidden-creatures": [],
+        "index": "Commander Zilyana",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Corporeal Beast#Default",
+        "weakness": [],
+        "creatures": ["Corporeal Beast"],
+        "hidden-creatures": [],
+        "index": "Corporeal Beast",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Croesus#Active",
+        "weakness": [],
+        "creatures": ["Croesus"],
+        "hidden-creatures": [],
+        "index": "Croesus",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Dagannoth Rex#Default",
+        "weakness": [],
+        "creatures": [
+            "Dagannoth Prime",
+            "Dagannoth Rex",
+            "Dagannoth Supreme"
+        ],
+        "hidden-creatures": [],
+        "index": "Dagannoth Kings",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "General Graardor#Normal",
+        "weakness": [],
+        "creatures": ["General Graardor"],
+        "hidden-creatures": [],
+        "index": "General Graardor",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Giant mole#Normal",
+        "weakness": [],
+        "creatures": ["Giant mole"],
+        "hidden-creatures": [],
+        "index": "Giant mole",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Gregorovic#Normal Mode",
+        "weakness": [],
+        "creatures": ["Gregorovic"],
+        "hidden-creatures": [],
+        "index": "Gregorovic",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Har-Aken#Head",
+        "weakness": [],
+        "creatures": ["Har-Aken"],
+        "hidden-creatures": [],
+        "index": "Har-Aken",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Helwyr#Normal Mode",
+        "weakness": [],
+        "creatures": ["Helwyr"],
+        "hidden-creatures": [],
+        "index": "Helwyr",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Hermod, the Spirit of War#Normal",
+        "weakness": [],
+        "creatures": ["Hermod, the Spirit of War"],
+        "hidden-creatures": [],
+        "index": "Hermod, the Spirit of War",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "K'ril Tsutsaroth#Normal",
+        "weakness": [],
+        "creatures": ["K'ril Tsutsaroth"],
+        "hidden-creatures": [],
+        "index": "K'ril Tsutsaroth",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kalphite King#Magic",
+        "weakness": [],
+        "creatures": ["Kalphite King"],
+        "hidden-creatures": [],
+        "index": "Kalphite King",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kalphite Queen#First form",
+        "weakness": [],
+        "creatures": ["Kalphite Queen"],
+        "hidden-creatures": [],
+        "index": "Kalphite Queen",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kerapac, the bound#Normal mode",
+        "weakness": [],
+        "creatures": ["Kerapac, the bound"],
+        "hidden-creatures": [],
+        "index": "Kerapac, the bound",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "King Black Dragon#Default",
+        "weakness": [],
+        "creatures": ["King Black Dragon"],
+        "hidden-creatures": [],
+        "index": "King Black Dragon",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Kree'arra#Normal",
+        "weakness": [],
+        "creatures": ["Kree'arra"],
+        "hidden-creatures": [],
+        "index": "Kree'arra",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Legio Primus#Default",
+        "weakness": [],
+        "creatures": [
+            "Legio Primus",
+            "Legio Quartus",
+            "Legio Quintus",
+            "Legio Secundus",
+            "Legio Sextus",
+            "Legio Tertius"
+        ],
+        "hidden-creatures": [],
+        "index": "Legiones",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Nex#Standard",
+        "weakness": [],
+        "creatures": ["Nex"],
+        "hidden-creatures": [],
+        "index": "Nex",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Nex: Angel of Death#Default",
+        "weakness": [],
+        "creatures": ["Nex: Angel of Death"],
+        "hidden-creatures": [],
+        "index": "Nex: Angel of Death",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Queen Black Dragon#Normal",
+        "weakness": [],
+        "creatures": ["Queen Black Dragon"],
+        "hidden-creatures": [],
+        "index": "Queen Black Dragon",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Raksha, the Shadow Colossus#During fight",
+        "weakness": [],
+        "creatures": ["Raksha, the Shadow Colossus"],
+        "hidden-creatures": [],
+        "index": "Raksha, the Shadow Colossus",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Rasial, the First Necromancer#Normal",
+        "weakness": [],
+        "creatures": ["Rasial, the First Necromancer"],
+        "hidden-creatures": [],
+        "index": "Rasial, the First Necromancer",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Orikalka#Default",
+        "weakness": [],
+        "creatures": [
+            "Orikalka",
+            "Osseous",
+            "Pthentraken",
+            "Rathis"
+        ],
+        "hidden-creatures": [],
+        "index": "Rex Matriarchs",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Seiryu the Azure Serpent#Normal mode",
+        "weakness": [],
+        "creatures": ["Seiryu the Azure Serpent"],
+        "hidden-creatures": [],
+        "index": "Seiryu the Azure Serpent",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Solak#Solak",
+        "weakness": [],
+        "creatures": ["Solak"],
+        "hidden-creatures": [],
+        "index": "Solak",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Telos, the Warden#Standard",
+        "weakness": [],
+        "creatures": ["Telos, the Warden"],
+        "hidden-creatures": [],
+        "index": "Telos, the Warden",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "The Ambassador#Normal mode",
+        "weakness": [],
+        "creatures": ["The Ambassador"],
+        "hidden-creatures": [],
+        "index": "The Ambassador",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Dharok the Wretched#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ahrim the Blighted",
+            "Akrisae the Doomed",
+            "Dharok the Wretched",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Linza the Disgraced",
+            "Torag the Corrupted",
+            "Verac the Defiled"
+        ],
+        "hidden-creatures": [],
+        "index": "The Barrows Brothers",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Dharok the Wretched#Normal",
+        "weakness": [],
+        "creatures": [
+            "Ahrim the Blighted",
+            "Dharok the Wretched",
+            "Guthan the Infested",
+            "Karil the Tainted",
+            "Torag the Corrupted",
+            "Verac the Defiled"
+        ],
+        "hidden-creatures": [],
+        "index": "The Barrows: Rise of the Six",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "The Magister#Default",
+        "weakness": [],
+        "creatures": ["The Magister"],
+        "hidden-creatures": [],
+        "index": "The Magister",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Avaryss, the Unceasing#Normal Mode",
+        "weakness": [],
+        "creatures": [
+            "Avaryss, the Unceasing",
+            "Nymora, the Vengeful"
+        ],
+        "hidden-creatures": [],
+        "index": "Twin Furies",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "TzKal-Zuk#Normal Mode",
+        "weakness": [],
+        "creatures": ["TzKal-Zuk"],
+        "hidden-creatures": [],
+        "index": "TzKal-Zuk",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "TzTok-Jad#Default",
+        "weakness": [],
+        "creatures": ["TzTok-Jad"],
+        "hidden-creatures": [],
+        "index": "TzTok-Jad",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Vindicta#Normal mode",
+        "weakness": [],
+        "creatures": ["Vindicta"],
+        "hidden-creatures": [],
+        "index": "Vindicta",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Vorago#Default",
+        "weakness": [],
+        "creatures": ["Vorago"],
+        "hidden-creatures": [],
+        "index": "Vorago",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Zamorak, Lord of Chaos#Normal mode",
+        "weakness": [],
+        "creatures": ["Zamorak, Lord of Chaos"],
+        "hidden-creatures": [],
+        "index": "Zamorak, Lord of Chaos",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    },
+    {
+        "default-creature": "Vorkath#Normal mode",
+        "weakness": [],
+        "creatures": [
+            "Vorkath",
+            "Zemouregal"
+        ],
+        "hidden-creatures": [],
+        "index": "Zemouregal & Vorkath",
+        "alias": [],
+        "equipment": [],
+        "masters": [],
+        "locations": []
+    }
+]
diff --git a/src/data/version.json b/src/data/version.json
new file mode 100644 (file)
index 0000000..fe1c0c8
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "version": "0.0.17"
+}
\ No newline at end of file
diff --git a/src/dev-appconfig.json b/src/dev-appconfig.json
new file mode 100644 (file)
index 0000000..0ce3621
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "appName": "Local Slayer Assistant",
+       "description": "Developement version of Slayer Assistant",
+       "appUrl": "https://slayer.local/",
+       "configUrl": "https://slayer.local/appconfig.json",
+       "iconUrl": "https://slayer.local/images/icon.png",
+       "defaultWidth": 360,
+       "defaultHeight": 395,
+       "minWidth": 360,
+       "minHeight": 142,
+       "maxWidth": 400,
+       "maxHeight": 550,
+       "requestHandlers": [],
+       "activators": [
+       ],
+       "permissions": "pixel,gamestate,overlay"
+}
diff --git a/src/extraFeatures.ts b/src/extraFeatures.ts
new file mode 100644 (file)
index 0000000..63fe9ce
--- /dev/null
@@ -0,0 +1,87 @@
+import * as a1lib from "alt1";
+import { ImgRefData } from 'alt1';
+
+import * as slayer from "./modules/slayer";
+import * as logger from "./modules/logger";
+
+/* Extra Features for advanced controls in the app
+    The following functions adds some extra functionality to the app
+    - Ability to Ctrl+V to paste and image into the app
+    - Ability to drag and drop and image into the app
+    These functions can be used inside of alt1 but are not useful (mostly for other browsers)
+*/
+
+// Listen for pasted (ctrl-v) images, usually used in the browser version of an app
+a1lib.PasteInput.listen((img) => {
+    // Look and see if we can read a slayer task
+    slayer.findTask(img);
+}, (err: any, errid: any) => {
+    logger.log(`${errid}: ${err}`);
+});
+
+// Handle events for when a file gets dragged or dropped onto the app
+document.addEventListener('dragover', handleDragOverFiles, false);
+document.addEventListener('drop', handleFileDropped, false);
+
+// Convert Blob(file) into Image Data so we can use it with alt1
+var blobToImageData = async function (blob: Blob) {
+    var blobUrl = URL.createObjectURL(blob);
+    var img = await new Promise<HTMLImageElement>(function (resolve, reject) {
+        var img = new Image();
+        img.onload = function () { return resolve(img); };
+        img.onerror = function (err) { return reject(err); };
+        img.src = blobUrl;
+    });
+    URL.revokeObjectURL(blobUrl);
+    var [w, h] = [img.width, img.height];
+    var aspectRatio = w / h;
+    var canvas = document.createElement("canvas");
+    canvas.width = w;
+    canvas.height = h;
+    var ctx = canvas.getContext("2d");
+    ctx.drawImage(img, 0, 0);
+    return ctx.getImageData(0, 0, w, h);
+};
+
+
+
+// Handle when a file is dropped onto the app and have it load assignment from the file if it can
+async function handleFileDropped(evt: DragEvent): Promise<void> {
+    evt.stopPropagation();
+    evt.preventDefault();
+
+    const files = evt.dataTransfer?.files;
+
+    // Only accept 1 file at a time
+    if (files && files.length > 1) {
+        console.error("We can only process 1 file at a time. Please only drag and drop 1 file at a time!");
+        return;
+    }
+
+    const file = files ? files[0] : null;
+
+    if (file) {
+        // Skip any files that aren't a supported image type
+        if (!file.type.match('image/png')) {
+            console.error("Unsupported file type. Please drop a PNG image.");
+            return;
+        }
+
+        try {
+            const imgData = await blobToImageData(file);
+            const img = new ImgRefData(imgData, 0, 0);
+
+            // Look and see if we can read a slayer task
+            slayer.findTask(img);
+        } catch (error) {
+            console.error("Error processing the image file:", error);
+        }
+    }
+}
+
+// Handle when a file is dragged onto the app and show user we will only make a copy of it (must exist or it won't work sadly)
+function handleDragOverFiles(evt) {
+    evt.stopPropagation();
+    evt.preventDefault();
+    evt.dataTransfer.dropEffect = 'copy';
+}
\ No newline at end of file
diff --git a/src/fonts/aa_10px_mono.data.png b/src/fonts/aa_10px_mono.data.png
new file mode 100644 (file)
index 0000000..9ab23d2
Binary files /dev/null and b/src/fonts/aa_10px_mono.data.png differ
diff --git a/src/fonts/aa_10px_mono.fontmeta.json b/src/fonts/aa_10px_mono.fontmeta.json
new file mode 100644 (file)
index 0000000..1825ca7
--- /dev/null
@@ -0,0 +1,11 @@
+{
+       "basey": 11,
+       "spacewidth": 3,
+       "treshold": 0.6,
+       "color": [ 255, 255, 255 ],
+       "unblendmode": "raw",
+       "shadow": false,
+       "chars": "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz{|}~",
+       "seconds": ",.-:;\"'",
+       "spriteid": 17814
+}
\ No newline at end of file
diff --git a/src/fonts/aa_12px_mono.data.png b/src/fonts/aa_12px_mono.data.png
new file mode 100644 (file)
index 0000000..9092a23
Binary files /dev/null and b/src/fonts/aa_12px_mono.data.png differ
diff --git a/src/fonts/aa_12px_mono.fontmeta.json b/src/fonts/aa_12px_mono.fontmeta.json
new file mode 100644 (file)
index 0000000..52fb83d
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 17,
+       "spacewidth": 4,
+       "treshold": 0.6,
+       "color": [ 255, 255, 255 ],
+       "unblendmode": "raw",
+       "shadow": false,
+       "chars": "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz{|}~",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/aa_8px.data.png b/src/fonts/aa_8px.data.png
new file mode 100644 (file)
index 0000000..1497d8e
Binary files /dev/null and b/src/fonts/aa_8px.data.png differ
diff --git a/src/fonts/aa_8px.fontmeta.json b/src/fonts/aa_8px.fontmeta.json
new file mode 100644 (file)
index 0000000..836fbcd
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 10,
+       "spacewidth": 3,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/aa_8px_mono.data.png b/src/fonts/aa_8px_mono.data.png
new file mode 100644 (file)
index 0000000..78ab096
Binary files /dev/null and b/src/fonts/aa_8px_mono.data.png differ
diff --git a/src/fonts/aa_8px_mono.fontmeta.json b/src/fonts/aa_8px_mono.fontmeta.json
new file mode 100644 (file)
index 0000000..3fe5ab5
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 10,
+       "spacewidth": 3,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "blackbg",
+       "shadow": false,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/aa_8px_mono_allcaps.data.png b/src/fonts/aa_8px_mono_allcaps.data.png
new file mode 100644 (file)
index 0000000..5ff396d
Binary files /dev/null and b/src/fonts/aa_8px_mono_allcaps.data.png differ
diff --git a/src/fonts/aa_8px_mono_allcaps.fontmeta.json b/src/fonts/aa_8px_mono_allcaps.fontmeta.json
new file mode 100644 (file)
index 0000000..f9c9de6
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 10,
+       "spacewidth": 3,
+       "treshold": 0.6,
+       "color": [ 255, 255, 255 ],
+       "unblendmode": "raw",
+       "shadow": false,
+       "chars": "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz{|}~",
+       "seconds": ",.-:;\"'|"
+}
\ No newline at end of file
diff --git a/src/fonts/aa_9px_mono_allcaps.data.png b/src/fonts/aa_9px_mono_allcaps.data.png
new file mode 100644 (file)
index 0000000..d6a3068
Binary files /dev/null and b/src/fonts/aa_9px_mono_allcaps.data.png differ
diff --git a/src/fonts/aa_9px_mono_allcaps.fontmeta.json b/src/fonts/aa_9px_mono_allcaps.fontmeta.json
new file mode 100644 (file)
index 0000000..8da56e5
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 13,
+       "spacewidth": 5,
+       "treshold": 0.6,
+       "color": [ 255, 255, 255 ],
+       "unblendmode": "raw",
+       "shadow": false,
+       "chars": "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz{|}~",
+       "seconds": ",.-:;\"'|*"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/10pt.data.png b/src/fonts/chatbox/10pt.data.png
new file mode 100644 (file)
index 0000000..d169f66
Binary files /dev/null and b/src/fonts/chatbox/10pt.data.png differ
diff --git a/src/fonts/chatbox/10pt.fontmeta.json b/src/fonts/chatbox/10pt.fontmeta.json
new file mode 100644 (file)
index 0000000..fb9dcd8
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 7,
+       "spacewidth": 3,
+       "treshold": 0.5,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/12pt.data.png b/src/fonts/chatbox/12pt.data.png
new file mode 100644 (file)
index 0000000..bfbbe22
Binary files /dev/null and b/src/fonts/chatbox/12pt.data.png differ
diff --git a/src/fonts/chatbox/12pt.fontmeta.json b/src/fonts/chatbox/12pt.fontmeta.json
new file mode 100644 (file)
index 0000000..6454281
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 9,
+       "spacewidth": 3,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/14pt.data.png b/src/fonts/chatbox/14pt.data.png
new file mode 100644 (file)
index 0000000..bc96c2a
Binary files /dev/null and b/src/fonts/chatbox/14pt.data.png differ
diff --git a/src/fonts/chatbox/14pt.fontmeta.json b/src/fonts/chatbox/14pt.fontmeta.json
new file mode 100644 (file)
index 0000000..b78e474
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 10,
+       "spacewidth": 4,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/16pt.data.png b/src/fonts/chatbox/16pt.data.png
new file mode 100644 (file)
index 0000000..cec666a
Binary files /dev/null and b/src/fonts/chatbox/16pt.data.png differ
diff --git a/src/fonts/chatbox/16pt.fontmeta.json b/src/fonts/chatbox/16pt.fontmeta.json
new file mode 100644 (file)
index 0000000..050aa67
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 12,
+       "spacewidth": 4,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/18pt.data.png b/src/fonts/chatbox/18pt.data.png
new file mode 100644 (file)
index 0000000..45b4c14
Binary files /dev/null and b/src/fonts/chatbox/18pt.data.png differ
diff --git a/src/fonts/chatbox/18pt.fontmeta.json b/src/fonts/chatbox/18pt.fontmeta.json
new file mode 100644 (file)
index 0000000..4a45205
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 13,
+       "spacewidth": 5,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/20pt.data.png b/src/fonts/chatbox/20pt.data.png
new file mode 100644 (file)
index 0000000..e493753
Binary files /dev/null and b/src/fonts/chatbox/20pt.data.png differ
diff --git a/src/fonts/chatbox/20pt.fontmeta.json b/src/fonts/chatbox/20pt.fontmeta.json
new file mode 100644 (file)
index 0000000..33e5e6b
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 14,
+       "spacewidth": 5,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/chatbox/22pt.data.png b/src/fonts/chatbox/22pt.data.png
new file mode 100644 (file)
index 0000000..69b387c
Binary files /dev/null and b/src/fonts/chatbox/22pt.data.png differ
diff --git a/src/fonts/chatbox/22pt.fontmeta.json b/src/fonts/chatbox/22pt.fontmeta.json
new file mode 100644 (file)
index 0000000..790a34d
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 16,
+       "spacewidth": 6,
+       "treshold": 0.6,
+       "color": [ 127, 169, 255 ],
+       "unblendmode": "removebg",
+       "shadow": true,
+       "chars": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%/+?!@#$^~&*()_-=[]{}:;\"'<>\\.,|",
+       "seconds": ",.-:;\"'"
+}
\ No newline at end of file
diff --git a/src/fonts/pixel_8px_digits.data.png b/src/fonts/pixel_8px_digits.data.png
new file mode 100644 (file)
index 0000000..da65513
Binary files /dev/null and b/src/fonts/pixel_8px_digits.data.png differ
diff --git a/src/fonts/pixel_8px_digits.fontmeta.json b/src/fonts/pixel_8px_digits.fontmeta.json
new file mode 100644 (file)
index 0000000..ed25c2e
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "basey": 7,
+       "spacewidth": 3,
+       "treshold": 0.9,
+       "color": [ 255, 255, 255 ],
+       "unblendmode": "raw",
+       "shadow": true,
+       "chars": "0123456789m()hr",
+       "seconds": ""
+}
\ No newline at end of file
diff --git a/src/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png b/src/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png
new file mode 100644 (file)
index 0000000..7ea515e
Binary files /dev/null and b/src/images/creatures/Aberrant spectre#Pollnivneach Slayer Dungeon.png differ
diff --git a/src/images/creatures/Aberrant spectre#Slayer Tower.png b/src/images/creatures/Aberrant spectre#Slayer Tower.png
new file mode 100644 (file)
index 0000000..7ea515e
Binary files /dev/null and b/src/images/creatures/Aberrant spectre#Slayer Tower.png differ
diff --git a/src/images/creatures/Abyssal beast#Default.png b/src/images/creatures/Abyssal beast#Default.png
new file mode 100644 (file)
index 0000000..1843475
Binary files /dev/null and b/src/images/creatures/Abyssal beast#Default.png differ
diff --git a/src/images/creatures/Abyssal demon (elite)#Default.png b/src/images/creatures/Abyssal demon (elite)#Default.png
new file mode 100644 (file)
index 0000000..ac4c194
Binary files /dev/null and b/src/images/creatures/Abyssal demon (elite)#Default.png differ
diff --git a/src/images/creatures/Abyssal demon#Default.png b/src/images/creatures/Abyssal demon#Default.png
new file mode 100644 (file)
index 0000000..19943b9
Binary files /dev/null and b/src/images/creatures/Abyssal demon#Default.png differ
diff --git a/src/images/creatures/Abyssal lord#Default.png b/src/images/creatures/Abyssal lord#Default.png
new file mode 100644 (file)
index 0000000..005bc51
Binary files /dev/null and b/src/images/creatures/Abyssal lord#Default.png differ
diff --git a/src/images/creatures/Abyssal savage#Asylum.png b/src/images/creatures/Abyssal savage#Asylum.png
new file mode 100644 (file)
index 0000000..ba5ddf7
Binary files /dev/null and b/src/images/creatures/Abyssal savage#Asylum.png differ
diff --git a/src/images/creatures/Abyssal savage#Wilderness.png b/src/images/creatures/Abyssal savage#Wilderness.png
new file mode 100644 (file)
index 0000000..ba5ddf7
Binary files /dev/null and b/src/images/creatures/Abyssal savage#Wilderness.png differ
diff --git a/src/images/creatures/Acheron mammoth#Default.png b/src/images/creatures/Acheron mammoth#Default.png
new file mode 100644 (file)
index 0000000..1627245
Binary files /dev/null and b/src/images/creatures/Acheron mammoth#Default.png differ
diff --git a/src/images/creatures/Adamant dragon#Default.png b/src/images/creatures/Adamant dragon#Default.png
new file mode 100644 (file)
index 0000000..0843b76
Binary files /dev/null and b/src/images/creatures/Adamant dragon#Default.png differ
diff --git a/src/images/creatures/Adolescent White wolf#Default.png b/src/images/creatures/Adolescent White wolf#Default.png
new file mode 100644 (file)
index 0000000..f4c6da2
Binary files /dev/null and b/src/images/creatures/Adolescent White wolf#Default.png differ
diff --git a/src/images/creatures/Ahrim the Blighted#Normal.png b/src/images/creatures/Ahrim the Blighted#Normal.png
new file mode 100644 (file)
index 0000000..14d2ad1
Binary files /dev/null and b/src/images/creatures/Ahrim the Blighted#Normal.png differ
diff --git a/src/images/creatures/Ahrim the Blighted#Rise of the Six.png b/src/images/creatures/Ahrim the Blighted#Rise of the Six.png
new file mode 100644 (file)
index 0000000..9aaa6ee
Binary files /dev/null and b/src/images/creatures/Ahrim the Blighted#Rise of the Six.png differ
diff --git a/src/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png b/src/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..14d2ad1
Binary files /dev/null and b/src/images/creatures/Ahrim the Blighted#Ritual of the Mahjarrat.png differ
diff --git a/src/images/creatures/Airut#Melee.png b/src/images/creatures/Airut#Melee.png
new file mode 100644 (file)
index 0000000..80d58da
Binary files /dev/null and b/src/images/creatures/Airut#Melee.png differ
diff --git a/src/images/creatures/Airut#Ranged.png b/src/images/creatures/Airut#Ranged.png
new file mode 100644 (file)
index 0000000..fdb8d1c
Binary files /dev/null and b/src/images/creatures/Airut#Ranged.png differ
diff --git a/src/images/creatures/Akrisae the Doomed#Barrows.png b/src/images/creatures/Akrisae the Doomed#Barrows.png
new file mode 100644 (file)
index 0000000..bb00315
Binary files /dev/null and b/src/images/creatures/Akrisae the Doomed#Barrows.png differ
diff --git a/src/images/creatures/Akrisae the Doomed#Gregorovic.png b/src/images/creatures/Akrisae the Doomed#Gregorovic.png
new file mode 100644 (file)
index 0000000..bb00315
Binary files /dev/null and b/src/images/creatures/Akrisae the Doomed#Gregorovic.png differ
diff --git a/src/images/creatures/Akrisae the Doomed#Sliske's Endgame.png b/src/images/creatures/Akrisae the Doomed#Sliske's Endgame.png
new file mode 100644 (file)
index 0000000..bb00315
Binary files /dev/null and b/src/images/creatures/Akrisae the Doomed#Sliske's Endgame.png differ
diff --git a/src/images/creatures/Alanogard the Black#Default.png b/src/images/creatures/Alanogard the Black#Default.png
new file mode 100644 (file)
index 0000000..eee7442
Binary files /dev/null and b/src/images/creatures/Alanogard the Black#Default.png differ
diff --git a/src/images/creatures/Albino bat#Default.png b/src/images/creatures/Albino bat#Default.png
new file mode 100644 (file)
index 0000000..8a25f39
Binary files /dev/null and b/src/images/creatures/Albino bat#Default.png differ
diff --git a/src/images/creatures/Angry bear#A Soul's Bane.png b/src/images/creatures/Angry bear#A Soul's Bane.png
new file mode 100644 (file)
index 0000000..a2d443f
Binary files /dev/null and b/src/images/creatures/Angry bear#A Soul's Bane.png differ
diff --git a/src/images/creatures/Angry bear#Post-quest.png b/src/images/creatures/Angry bear#Post-quest.png
new file mode 100644 (file)
index 0000000..c88e9bf
Binary files /dev/null and b/src/images/creatures/Angry bear#Post-quest.png differ
diff --git a/src/images/creatures/Angry giant rat#A Soul's Bane.png b/src/images/creatures/Angry giant rat#A Soul's Bane.png
new file mode 100644 (file)
index 0000000..3bc9d38
Binary files /dev/null and b/src/images/creatures/Angry giant rat#A Soul's Bane.png differ
diff --git a/src/images/creatures/Angry giant rat#Post-quest (1).png b/src/images/creatures/Angry giant rat#Post-quest (1).png
new file mode 100644 (file)
index 0000000..841acf8
Binary files /dev/null and b/src/images/creatures/Angry giant rat#Post-quest (1).png differ
diff --git a/src/images/creatures/Angry giant rat#Post-quest (2).png b/src/images/creatures/Angry giant rat#Post-quest (2).png
new file mode 100644 (file)
index 0000000..a97e17a
Binary files /dev/null and b/src/images/creatures/Angry giant rat#Post-quest (2).png differ
diff --git a/src/images/creatures/Angry goblin#A Soul's Bane.png b/src/images/creatures/Angry goblin#A Soul's Bane.png
new file mode 100644 (file)
index 0000000..5ad15d0
Binary files /dev/null and b/src/images/creatures/Angry goblin#A Soul's Bane.png differ
diff --git a/src/images/creatures/Angry goblin#Post-quest.png b/src/images/creatures/Angry goblin#Post-quest.png
new file mode 100644 (file)
index 0000000..5ad15d0
Binary files /dev/null and b/src/images/creatures/Angry goblin#Post-quest.png differ
diff --git a/src/images/creatures/Angry vampyre#Default.png b/src/images/creatures/Angry vampyre#Default.png
new file mode 100644 (file)
index 0000000..7d6aca8
Binary files /dev/null and b/src/images/creatures/Angry vampyre#Default.png differ
diff --git a/src/images/creatures/Animated spade#Default.png b/src/images/creatures/Animated spade#Default.png
new file mode 100644 (file)
index 0000000..e99067a
Binary files /dev/null and b/src/images/creatures/Animated spade#Default.png differ
diff --git a/src/images/creatures/Ankou (Kili's Knowledge IV)#Default.png b/src/images/creatures/Ankou (Kili's Knowledge IV)#Default.png
new file mode 100644 (file)
index 0000000..e2d5dde
Binary files /dev/null and b/src/images/creatures/Ankou (Kili's Knowledge IV)#Default.png differ
diff --git a/src/images/creatures/Ankou (elite)#Default.png b/src/images/creatures/Ankou (elite)#Default.png
new file mode 100644 (file)
index 0000000..20ed735
Binary files /dev/null and b/src/images/creatures/Ankou (elite)#Default.png differ
diff --git a/src/images/creatures/Ankou#Default.png b/src/images/creatures/Ankou#Default.png
new file mode 100644 (file)
index 0000000..20ed735
Binary files /dev/null and b/src/images/creatures/Ankou#Default.png differ
diff --git a/src/images/creatures/Aquanite (elite)#Default.png b/src/images/creatures/Aquanite (elite)#Default.png
new file mode 100644 (file)
index 0000000..0136bcf
Binary files /dev/null and b/src/images/creatures/Aquanite (elite)#Default.png differ
diff --git a/src/images/creatures/Aquanite#Default.png b/src/images/creatures/Aquanite#Default.png
new file mode 100644 (file)
index 0000000..0136bcf
Binary files /dev/null and b/src/images/creatures/Aquanite#Default.png differ
diff --git a/src/images/creatures/Araxxi#Default.png b/src/images/creatures/Araxxi#Default.png
new file mode 100644 (file)
index 0000000..7ba7790
Binary files /dev/null and b/src/images/creatures/Araxxi#Default.png differ
diff --git a/src/images/creatures/Arch-Glacor#Hard mode.png b/src/images/creatures/Arch-Glacor#Hard mode.png
new file mode 100644 (file)
index 0000000..e7b9288
Binary files /dev/null and b/src/images/creatures/Arch-Glacor#Hard mode.png differ
diff --git a/src/images/creatures/Arch-Glacor#Normal mode.png b/src/images/creatures/Arch-Glacor#Normal mode.png
new file mode 100644 (file)
index 0000000..e7b9288
Binary files /dev/null and b/src/images/creatures/Arch-Glacor#Normal mode.png differ
diff --git a/src/images/creatures/Armoured phantom#1.png b/src/images/creatures/Armoured phantom#1.png
new file mode 100644 (file)
index 0000000..7ff8e4c
Binary files /dev/null and b/src/images/creatures/Armoured phantom#1.png differ
diff --git a/src/images/creatures/Armoured phantom#2.png b/src/images/creatures/Armoured phantom#2.png
new file mode 100644 (file)
index 0000000..42fd163
Binary files /dev/null and b/src/images/creatures/Armoured phantom#2.png differ
diff --git a/src/images/creatures/Armoured phantom#3.png b/src/images/creatures/Armoured phantom#3.png
new file mode 100644 (file)
index 0000000..d5fa778
Binary files /dev/null and b/src/images/creatures/Armoured phantom#3.png differ
diff --git a/src/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png b/src/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/src/images/creatures/Armoured zombie (The Shadow Reef)#Normal mode.png differ
diff --git a/src/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png b/src/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/src/images/creatures/Armoured zombie (The Shadow Reef)#Story mode.png differ
diff --git a/src/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png b/src/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie (Uncharted Isles)#Aggressive.png differ
diff --git a/src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png b/src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png
new file mode 100644 (file)
index 0000000..b7ba172
Binary files /dev/null and b/src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Sword and Shield).png differ
diff --git a/src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png b/src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie (Uncharted Isles)#Docile (Throwing Axes).png differ
diff --git a/src/images/creatures/Armoured zombie#Dimension of Disaster.png b/src/images/creatures/Armoured zombie#Dimension of Disaster.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/src/images/creatures/Armoured zombie#Dimension of Disaster.png differ
diff --git a/src/images/creatures/Armoured zombie#Dishonour among Thieves.png b/src/images/creatures/Armoured zombie#Dishonour among Thieves.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie#Dishonour among Thieves.png differ
diff --git a/src/images/creatures/Armoured zombie#Melee.png b/src/images/creatures/Armoured zombie#Melee.png
new file mode 100644 (file)
index 0000000..b7ba172
Binary files /dev/null and b/src/images/creatures/Armoured zombie#Melee.png differ
diff --git a/src/images/creatures/Armoured zombie#New Foundations.png b/src/images/creatures/Armoured zombie#New Foundations.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie#New Foundations.png differ
diff --git a/src/images/creatures/Armoured zombie#One of a Kind.png b/src/images/creatures/Armoured zombie#One of a Kind.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie#One of a Kind.png differ
diff --git a/src/images/creatures/Armoured zombie#Ranged.png b/src/images/creatures/Armoured zombie#Ranged.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie#Ranged.png differ
diff --git a/src/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png b/src/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..d29e25b
Binary files /dev/null and b/src/images/creatures/Armoured zombie#Ritual of the Mahjarrat.png differ
diff --git a/src/images/creatures/Armoured zombie#The World Wakes.png b/src/images/creatures/Armoured zombie#The World Wakes.png
new file mode 100644 (file)
index 0000000..b7ba172
Binary files /dev/null and b/src/images/creatures/Armoured zombie#The World Wakes.png differ
diff --git a/src/images/creatures/Astellarn#Default.png b/src/images/creatures/Astellarn#Default.png
new file mode 100644 (file)
index 0000000..23c0c59
Binary files /dev/null and b/src/images/creatures/Astellarn#Default.png differ
diff --git a/src/images/creatures/Automaton Generator#During The World Wakes.png b/src/images/creatures/Automaton Generator#During The World Wakes.png
new file mode 100644 (file)
index 0000000..33a1e93
Binary files /dev/null and b/src/images/creatures/Automaton Generator#During The World Wakes.png differ
diff --git a/src/images/creatures/Automaton Generator#Post-quest.png b/src/images/creatures/Automaton Generator#Post-quest.png
new file mode 100644 (file)
index 0000000..33a1e93
Binary files /dev/null and b/src/images/creatures/Automaton Generator#Post-quest.png differ
diff --git a/src/images/creatures/Automaton Guardian#During The World Wakes.png b/src/images/creatures/Automaton Guardian#During The World Wakes.png
new file mode 100644 (file)
index 0000000..0768aec
Binary files /dev/null and b/src/images/creatures/Automaton Guardian#During The World Wakes.png differ
diff --git a/src/images/creatures/Automaton Guardian#Post-quest.png b/src/images/creatures/Automaton Guardian#Post-quest.png
new file mode 100644 (file)
index 0000000..0768aec
Binary files /dev/null and b/src/images/creatures/Automaton Guardian#Post-quest.png differ
diff --git a/src/images/creatures/Automaton Tracer#Post-quest.png b/src/images/creatures/Automaton Tracer#Post-quest.png
new file mode 100644 (file)
index 0000000..6e90799
Binary files /dev/null and b/src/images/creatures/Automaton Tracer#Post-quest.png differ
diff --git a/src/images/creatures/Automaton Tracer#The World Wakes.png b/src/images/creatures/Automaton Tracer#The World Wakes.png
new file mode 100644 (file)
index 0000000..6e90799
Binary files /dev/null and b/src/images/creatures/Automaton Tracer#The World Wakes.png differ
diff --git a/src/images/creatures/Avaryss, the Unceasing#Challenge Mode.png b/src/images/creatures/Avaryss, the Unceasing#Challenge Mode.png
new file mode 100644 (file)
index 0000000..cbccdaa
Binary files /dev/null and b/src/images/creatures/Avaryss, the Unceasing#Challenge Mode.png differ
diff --git a/src/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png b/src/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png
new file mode 100644 (file)
index 0000000..cbccdaa
Binary files /dev/null and b/src/images/creatures/Avaryss, the Unceasing#Daughter of Chaos.png differ
diff --git a/src/images/creatures/Avaryss, the Unceasing#Normal Mode.png b/src/images/creatures/Avaryss, the Unceasing#Normal Mode.png
new file mode 100644 (file)
index 0000000..cbccdaa
Binary files /dev/null and b/src/images/creatures/Avaryss, the Unceasing#Normal Mode.png differ
diff --git a/src/images/creatures/Aviansie#Melee, level 89 (1).png b/src/images/creatures/Aviansie#Melee, level 89 (1).png
new file mode 100644 (file)
index 0000000..04e74bc
Binary files /dev/null and b/src/images/creatures/Aviansie#Melee, level 89 (1).png differ
diff --git a/src/images/creatures/Aviansie#Melee, level 89 (2).png b/src/images/creatures/Aviansie#Melee, level 89 (2).png
new file mode 100644 (file)
index 0000000..04e74bc
Binary files /dev/null and b/src/images/creatures/Aviansie#Melee, level 89 (2).png differ
diff --git a/src/images/creatures/Aviansie#Melee, level 92.png b/src/images/creatures/Aviansie#Melee, level 92.png
new file mode 100644 (file)
index 0000000..04e74bc
Binary files /dev/null and b/src/images/creatures/Aviansie#Melee, level 92.png differ
diff --git a/src/images/creatures/Aviansie#Ranged, level 89.png b/src/images/creatures/Aviansie#Ranged, level 89.png
new file mode 100644 (file)
index 0000000..e4880e9
Binary files /dev/null and b/src/images/creatures/Aviansie#Ranged, level 89.png differ
diff --git a/src/images/creatures/Aviansie#Ranged, level 92.png b/src/images/creatures/Aviansie#Ranged, level 92.png
new file mode 100644 (file)
index 0000000..e4880e9
Binary files /dev/null and b/src/images/creatures/Aviansie#Ranged, level 92.png differ
diff --git a/src/images/creatures/Aviansie#Ranged, level 95.png b/src/images/creatures/Aviansie#Ranged, level 95.png
new file mode 100644 (file)
index 0000000..e4880e9
Binary files /dev/null and b/src/images/creatures/Aviansie#Ranged, level 95.png differ
diff --git a/src/images/creatures/Baby black dragon#Default.png b/src/images/creatures/Baby black dragon#Default.png
new file mode 100644 (file)
index 0000000..fec0331
Binary files /dev/null and b/src/images/creatures/Baby black dragon#Default.png differ
diff --git a/src/images/creatures/Baby blue dragon#Default.png b/src/images/creatures/Baby blue dragon#Default.png
new file mode 100644 (file)
index 0000000..7e7d2c0
Binary files /dev/null and b/src/images/creatures/Baby blue dragon#Default.png differ
diff --git a/src/images/creatures/Baby red dragon#Default.png b/src/images/creatures/Baby red dragon#Default.png
new file mode 100644 (file)
index 0000000..78fa09a
Binary files /dev/null and b/src/images/creatures/Baby red dragon#Default.png differ
diff --git a/src/images/creatures/Balfrug Kreeyath#Default.png b/src/images/creatures/Balfrug Kreeyath#Default.png
new file mode 100644 (file)
index 0000000..7cef59f
Binary files /dev/null and b/src/images/creatures/Balfrug Kreeyath#Default.png differ
diff --git a/src/images/creatures/Banshee#Default.png b/src/images/creatures/Banshee#Default.png
new file mode 100644 (file)
index 0000000..21a6a38
Binary files /dev/null and b/src/images/creatures/Banshee#Default.png differ
diff --git a/src/images/creatures/Basilisk#Large.png b/src/images/creatures/Basilisk#Large.png
new file mode 100644 (file)
index 0000000..61f7853
Binary files /dev/null and b/src/images/creatures/Basilisk#Large.png differ
diff --git a/src/images/creatures/Basilisk#Small.png b/src/images/creatures/Basilisk#Small.png
new file mode 100644 (file)
index 0000000..16892ae
Binary files /dev/null and b/src/images/creatures/Basilisk#Small.png differ
diff --git a/src/images/creatures/Bat#Default.png b/src/images/creatures/Bat#Default.png
new file mode 100644 (file)
index 0000000..f230547
Binary files /dev/null and b/src/images/creatures/Bat#Default.png differ
diff --git a/src/images/creatures/Bear cub#Default.png b/src/images/creatures/Bear cub#Default.png
new file mode 100644 (file)
index 0000000..1044909
Binary files /dev/null and b/src/images/creatures/Bear cub#Default.png differ
diff --git a/src/images/creatures/Big Wolf#Grey.png b/src/images/creatures/Big Wolf#Grey.png
new file mode 100644 (file)
index 0000000..a173013
Binary files /dev/null and b/src/images/creatures/Big Wolf#Grey.png differ
diff --git a/src/images/creatures/Big Wolf#White.png b/src/images/creatures/Big Wolf#White.png
new file mode 100644 (file)
index 0000000..d801388
Binary files /dev/null and b/src/images/creatures/Big Wolf#White.png differ
diff --git a/src/images/creatures/Big frog#Default.png b/src/images/creatures/Big frog#Default.png
new file mode 100644 (file)
index 0000000..5054b8b
Binary files /dev/null and b/src/images/creatures/Big frog#Default.png differ
diff --git a/src/images/creatures/Bird#Black.png b/src/images/creatures/Bird#Black.png
new file mode 100644 (file)
index 0000000..5cd67b5
Binary files /dev/null and b/src/images/creatures/Bird#Black.png differ
diff --git a/src/images/creatures/Bird#Green.png b/src/images/creatures/Bird#Green.png
new file mode 100644 (file)
index 0000000..1319269
Binary files /dev/null and b/src/images/creatures/Bird#Green.png differ
diff --git a/src/images/creatures/Black bear#Default.png b/src/images/creatures/Black bear#Default.png
new file mode 100644 (file)
index 0000000..19aa42b
Binary files /dev/null and b/src/images/creatures/Black bear#Default.png differ
diff --git a/src/images/creatures/Black demon#1.png b/src/images/creatures/Black demon#1.png
new file mode 100644 (file)
index 0000000..e9c7a1e
Binary files /dev/null and b/src/images/creatures/Black demon#1.png differ
diff --git a/src/images/creatures/Black demon#2.png b/src/images/creatures/Black demon#2.png
new file mode 100644 (file)
index 0000000..192b8ed
Binary files /dev/null and b/src/images/creatures/Black demon#2.png differ
diff --git a/src/images/creatures/Black demon#3.png b/src/images/creatures/Black demon#3.png
new file mode 100644 (file)
index 0000000..71d95b4
Binary files /dev/null and b/src/images/creatures/Black demon#3.png differ
diff --git a/src/images/creatures/Black demon#4.png b/src/images/creatures/Black demon#4.png
new file mode 100644 (file)
index 0000000..b91ebcd
Binary files /dev/null and b/src/images/creatures/Black demon#4.png differ
diff --git a/src/images/creatures/Black demon#5.png b/src/images/creatures/Black demon#5.png
new file mode 100644 (file)
index 0000000..b5c7e0a
Binary files /dev/null and b/src/images/creatures/Black demon#5.png differ
diff --git a/src/images/creatures/Black demon#Wilderness.png b/src/images/creatures/Black demon#Wilderness.png
new file mode 100644 (file)
index 0000000..e9c7a1e
Binary files /dev/null and b/src/images/creatures/Black demon#Wilderness.png differ
diff --git a/src/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png b/src/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..124c86a
Binary files /dev/null and b/src/images/creatures/Black dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Black dragon#1.png b/src/images/creatures/Black dragon#1.png
new file mode 100644 (file)
index 0000000..217e2c4
Binary files /dev/null and b/src/images/creatures/Black dragon#1.png differ
diff --git a/src/images/creatures/Black dragon#2.png b/src/images/creatures/Black dragon#2.png
new file mode 100644 (file)
index 0000000..0a4b7f6
Binary files /dev/null and b/src/images/creatures/Black dragon#2.png differ
diff --git a/src/images/creatures/Black dragon#3.png b/src/images/creatures/Black dragon#3.png
new file mode 100644 (file)
index 0000000..c9369d5
Binary files /dev/null and b/src/images/creatures/Black dragon#3.png differ
diff --git a/src/images/creatures/Black dragon#4.png b/src/images/creatures/Black dragon#4.png
new file mode 100644 (file)
index 0000000..e77ff0e
Binary files /dev/null and b/src/images/creatures/Black dragon#4.png differ
diff --git a/src/images/creatures/Black dragon#5.png b/src/images/creatures/Black dragon#5.png
new file mode 100644 (file)
index 0000000..badd3b8
Binary files /dev/null and b/src/images/creatures/Black dragon#5.png differ
diff --git a/src/images/creatures/Black stone dragon#Default.png b/src/images/creatures/Black stone dragon#Default.png
new file mode 100644 (file)
index 0000000..0ac21da
Binary files /dev/null and b/src/images/creatures/Black stone dragon#Default.png differ
diff --git a/src/images/creatures/Bladed muspah#Default.png b/src/images/creatures/Bladed muspah#Default.png
new file mode 100644 (file)
index 0000000..0ced7ba
Binary files /dev/null and b/src/images/creatures/Bladed muspah#Default.png differ
diff --git a/src/images/creatures/Blissful shadow#Default.png b/src/images/creatures/Blissful shadow#Default.png
new file mode 100644 (file)
index 0000000..819801f
Binary files /dev/null and b/src/images/creatures/Blissful shadow#Default.png differ
diff --git a/src/images/creatures/Bloated monstrosity#Normal mode (duo).png b/src/images/creatures/Bloated monstrosity#Normal mode (duo).png
new file mode 100644 (file)
index 0000000..91268b2
Binary files /dev/null and b/src/images/creatures/Bloated monstrosity#Normal mode (duo).png differ
diff --git a/src/images/creatures/Bloated monstrosity#Normal mode (solo).png b/src/images/creatures/Bloated monstrosity#Normal mode (solo).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/src/images/creatures/Bloated monstrosity#Normal mode (solo).png differ
diff --git a/src/images/creatures/Bloated monstrosity#Normal mode (trio).png b/src/images/creatures/Bloated monstrosity#Normal mode (trio).png
new file mode 100644 (file)
index 0000000..91268b2
Binary files /dev/null and b/src/images/creatures/Bloated monstrosity#Normal mode (trio).png differ
diff --git a/src/images/creatures/Bloated monstrosity#Story mode (duo).png b/src/images/creatures/Bloated monstrosity#Story mode (duo).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/src/images/creatures/Bloated monstrosity#Story mode (duo).png differ
diff --git a/src/images/creatures/Bloated monstrosity#Story mode (solo).png b/src/images/creatures/Bloated monstrosity#Story mode (solo).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/src/images/creatures/Bloated monstrosity#Story mode (solo).png differ
diff --git a/src/images/creatures/Bloated monstrosity#Story mode (trio).png b/src/images/creatures/Bloated monstrosity#Story mode (trio).png
new file mode 100644 (file)
index 0000000..70f3184
Binary files /dev/null and b/src/images/creatures/Bloated monstrosity#Story mode (trio).png differ
diff --git a/src/images/creatures/Blood nihil#boss.png b/src/images/creatures/Blood nihil#boss.png
new file mode 100644 (file)
index 0000000..d4d6564
Binary files /dev/null and b/src/images/creatures/Blood nihil#boss.png differ
diff --git a/src/images/creatures/Blood nihil#normal.png b/src/images/creatures/Blood nihil#normal.png
new file mode 100644 (file)
index 0000000..d4d6564
Binary files /dev/null and b/src/images/creatures/Blood nihil#normal.png differ
diff --git a/src/images/creatures/Bloodveld (God Wars Dungeon)#Default.png b/src/images/creatures/Bloodveld (God Wars Dungeon)#Default.png
new file mode 100644 (file)
index 0000000..59f3958
Binary files /dev/null and b/src/images/creatures/Bloodveld (God Wars Dungeon)#Default.png differ
diff --git a/src/images/creatures/Bloodveld (Heart of Gielinor)#Default.png b/src/images/creatures/Bloodveld (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..2eded56
Binary files /dev/null and b/src/images/creatures/Bloodveld (Heart of Gielinor)#Default.png differ
diff --git a/src/images/creatures/Bloodveld#Default.png b/src/images/creatures/Bloodveld#Default.png
new file mode 100644 (file)
index 0000000..59f3958
Binary files /dev/null and b/src/images/creatures/Bloodveld#Default.png differ
diff --git a/src/images/creatures/Blue dragon#1.png b/src/images/creatures/Blue dragon#1.png
new file mode 100644 (file)
index 0000000..302dc9c
Binary files /dev/null and b/src/images/creatures/Blue dragon#1.png differ
diff --git a/src/images/creatures/Blue dragon#2.png b/src/images/creatures/Blue dragon#2.png
new file mode 100644 (file)
index 0000000..7805acb
Binary files /dev/null and b/src/images/creatures/Blue dragon#2.png differ
diff --git a/src/images/creatures/Blue dragon#3.png b/src/images/creatures/Blue dragon#3.png
new file mode 100644 (file)
index 0000000..0363215
Binary files /dev/null and b/src/images/creatures/Blue dragon#3.png differ
diff --git a/src/images/creatures/Blue dragon#4.png b/src/images/creatures/Blue dragon#4.png
new file mode 100644 (file)
index 0000000..1eb36bd
Binary files /dev/null and b/src/images/creatures/Blue dragon#4.png differ
diff --git a/src/images/creatures/Blue dragon#5.png b/src/images/creatures/Blue dragon#5.png
new file mode 100644 (file)
index 0000000..a39c0f2
Binary files /dev/null and b/src/images/creatures/Blue dragon#5.png differ
diff --git a/src/images/creatures/Bolstered Glacyte#Default.png b/src/images/creatures/Bolstered Glacyte#Default.png
new file mode 100644 (file)
index 0000000..743fbb5
Binary files /dev/null and b/src/images/creatures/Bolstered Glacyte#Default.png differ
diff --git a/src/images/creatures/Bossy McBossFace#Default.png b/src/images/creatures/Bossy McBossFace#Default.png
new file mode 100644 (file)
index 0000000..a3b47e1
Binary files /dev/null and b/src/images/creatures/Bossy McBossFace#Default.png differ
diff --git a/src/images/creatures/Bossy McBossFace's First mate#Default.png b/src/images/creatures/Bossy McBossFace's First mate#Default.png
new file mode 100644 (file)
index 0000000..85f295f
Binary files /dev/null and b/src/images/creatures/Bossy McBossFace's First mate#Default.png differ
diff --git a/src/images/creatures/Bound skeleton#1.png b/src/images/creatures/Bound skeleton#1.png
new file mode 100644 (file)
index 0000000..991c908
Binary files /dev/null and b/src/images/creatures/Bound skeleton#1.png differ
diff --git a/src/images/creatures/Bound skeleton#2.png b/src/images/creatures/Bound skeleton#2.png
new file mode 100644 (file)
index 0000000..61534c9
Binary files /dev/null and b/src/images/creatures/Bound skeleton#2.png differ
diff --git a/src/images/creatures/Bound skeleton#3.png b/src/images/creatures/Bound skeleton#3.png
new file mode 100644 (file)
index 0000000..ac717a6
Binary files /dev/null and b/src/images/creatures/Bound skeleton#3.png differ
diff --git a/src/images/creatures/Brine rat#Default.png b/src/images/creatures/Brine rat#Default.png
new file mode 100644 (file)
index 0000000..5c2bc21
Binary files /dev/null and b/src/images/creatures/Brine rat#Default.png differ
diff --git a/src/images/creatures/Brokeface#Default.png b/src/images/creatures/Brokeface#Default.png
new file mode 100644 (file)
index 0000000..c16457d
Binary files /dev/null and b/src/images/creatures/Brokeface#Default.png differ
diff --git a/src/images/creatures/Bronze dragon#Default.png b/src/images/creatures/Bronze dragon#Default.png
new file mode 100644 (file)
index 0000000..51bfbe7
Binary files /dev/null and b/src/images/creatures/Bronze dragon#Default.png differ
diff --git a/src/images/creatures/Brutal green dragon#Default.png b/src/images/creatures/Brutal green dragon#Default.png
new file mode 100644 (file)
index 0000000..1eeaeef
Binary files /dev/null and b/src/images/creatures/Brutal green dragon#Default.png differ
diff --git a/src/images/creatures/Brutish dinosaur#Dinosaur invasion.png b/src/images/creatures/Brutish dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..e0cbcb0
Binary files /dev/null and b/src/images/creatures/Brutish dinosaur#Dinosaur invasion.png differ
diff --git a/src/images/creatures/Brutish dinosaur#Normal.png b/src/images/creatures/Brutish dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..e0cbcb0
Binary files /dev/null and b/src/images/creatures/Brutish dinosaur#Normal.png differ
diff --git a/src/images/creatures/Bulbous crawler#Default.png b/src/images/creatures/Bulbous crawler#Default.png
new file mode 100644 (file)
index 0000000..ba6fe1c
Binary files /dev/null and b/src/images/creatures/Bulbous crawler#Default.png differ
diff --git a/src/images/creatures/Butcher demon#Default.png b/src/images/creatures/Butcher demon#Default.png
new file mode 100644 (file)
index 0000000..aa6ad13
Binary files /dev/null and b/src/images/creatures/Butcher demon#Default.png differ
diff --git a/src/images/creatures/Cadarn magus#Default.png b/src/images/creatures/Cadarn magus#Default.png
new file mode 100644 (file)
index 0000000..7babaab
Binary files /dev/null and b/src/images/creatures/Cadarn magus#Default.png differ
diff --git a/src/images/creatures/Cadarn ranger#Default.png b/src/images/creatures/Cadarn ranger#Default.png
new file mode 100644 (file)
index 0000000..035050a
Binary files /dev/null and b/src/images/creatures/Cadarn ranger#Default.png differ
diff --git a/src/images/creatures/Camel Warrior#Default.png b/src/images/creatures/Camel Warrior#Default.png
new file mode 100644 (file)
index 0000000..04dfb27
Binary files /dev/null and b/src/images/creatures/Camel Warrior#Default.png differ
diff --git a/src/images/creatures/Capsarius#1.png b/src/images/creatures/Capsarius#1.png
new file mode 100644 (file)
index 0000000..63d7efb
Binary files /dev/null and b/src/images/creatures/Capsarius#1.png differ
diff --git a/src/images/creatures/Capsarius#2.png b/src/images/creatures/Capsarius#2.png
new file mode 100644 (file)
index 0000000..3d92b21
Binary files /dev/null and b/src/images/creatures/Capsarius#2.png differ
diff --git a/src/images/creatures/Catablepon#Default.png b/src/images/creatures/Catablepon#Default.png
new file mode 100644 (file)
index 0000000..73b5d0a
Binary files /dev/null and b/src/images/creatures/Catablepon#Default.png differ
diff --git a/src/images/creatures/Cave bug#Level 11.png b/src/images/creatures/Cave bug#Level 11.png
new file mode 100644 (file)
index 0000000..c1a2270
Binary files /dev/null and b/src/images/creatures/Cave bug#Level 11.png differ
diff --git a/src/images/creatures/Cave bug#Level 6.png b/src/images/creatures/Cave bug#Level 6.png
new file mode 100644 (file)
index 0000000..870a095
Binary files /dev/null and b/src/images/creatures/Cave bug#Level 6.png differ
diff --git a/src/images/creatures/Cave crawler#Level 24.png b/src/images/creatures/Cave crawler#Level 24.png
new file mode 100644 (file)
index 0000000..8d90fdb
Binary files /dev/null and b/src/images/creatures/Cave crawler#Level 24.png differ
diff --git a/src/images/creatures/Cave crawler#Level 59.png b/src/images/creatures/Cave crawler#Level 59.png
new file mode 100644 (file)
index 0000000..8d90fdb
Binary files /dev/null and b/src/images/creatures/Cave crawler#Level 59.png differ
diff --git a/src/images/creatures/Cave goblin (monster)#Default.png b/src/images/creatures/Cave goblin (monster)#Default.png
new file mode 100644 (file)
index 0000000..8e4ad17
Binary files /dev/null and b/src/images/creatures/Cave goblin (monster)#Default.png differ
diff --git a/src/images/creatures/Cave goblin guard#Club.png b/src/images/creatures/Cave goblin guard#Club.png
new file mode 100644 (file)
index 0000000..c24a58c
Binary files /dev/null and b/src/images/creatures/Cave goblin guard#Club.png differ
diff --git a/src/images/creatures/Cave goblin guard#Spear.png b/src/images/creatures/Cave goblin guard#Spear.png
new file mode 100644 (file)
index 0000000..c50838b
Binary files /dev/null and b/src/images/creatures/Cave goblin guard#Spear.png differ
diff --git a/src/images/creatures/Cave goblin miner#Mining.png b/src/images/creatures/Cave goblin miner#Mining.png
new file mode 100644 (file)
index 0000000..659fa9d
Binary files /dev/null and b/src/images/creatures/Cave goblin miner#Mining.png differ
diff --git a/src/images/creatures/Cave goblin miner#Slacking off.png b/src/images/creatures/Cave goblin miner#Slacking off.png
new file mode 100644 (file)
index 0000000..659fa9d
Binary files /dev/null and b/src/images/creatures/Cave goblin miner#Slacking off.png differ
diff --git a/src/images/creatures/Cave horror (elite)#Default.png b/src/images/creatures/Cave horror (elite)#Default.png
new file mode 100644 (file)
index 0000000..1efc58d
Binary files /dev/null and b/src/images/creatures/Cave horror (elite)#Default.png differ
diff --git a/src/images/creatures/Cave horror#Default.png b/src/images/creatures/Cave horror#Default.png
new file mode 100644 (file)
index 0000000..1efc58d
Binary files /dev/null and b/src/images/creatures/Cave horror#Default.png differ
diff --git a/src/images/creatures/Cave slime#Default.png b/src/images/creatures/Cave slime#Default.png
new file mode 100644 (file)
index 0000000..20b81b5
Binary files /dev/null and b/src/images/creatures/Cave slime#Default.png differ
diff --git a/src/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png b/src/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..b041820
Binary files /dev/null and b/src/images/creatures/Celestial dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Celestial dragon#Default.png b/src/images/creatures/Celestial dragon#Default.png
new file mode 100644 (file)
index 0000000..b041820
Binary files /dev/null and b/src/images/creatures/Celestial dragon#Default.png differ
diff --git a/src/images/creatures/Cerberus Juvenile#Default.png b/src/images/creatures/Cerberus Juvenile#Default.png
new file mode 100644 (file)
index 0000000..c48827c
Binary files /dev/null and b/src/images/creatures/Cerberus Juvenile#Default.png differ
diff --git a/src/images/creatures/Champion of Infernus#Default.png b/src/images/creatures/Champion of Infernus#Default.png
new file mode 100644 (file)
index 0000000..45ced27
Binary files /dev/null and b/src/images/creatures/Champion of Infernus#Default.png differ
diff --git a/src/images/creatures/Chaos Demon Savage#Default.png b/src/images/creatures/Chaos Demon Savage#Default.png
new file mode 100644 (file)
index 0000000..edb72bf
Binary files /dev/null and b/src/images/creatures/Chaos Demon Savage#Default.png differ
diff --git a/src/images/creatures/Chaos Demon#Default.png b/src/images/creatures/Chaos Demon#Default.png
new file mode 100644 (file)
index 0000000..edb72bf
Binary files /dev/null and b/src/images/creatures/Chaos Demon#Default.png differ
diff --git a/src/images/creatures/Chaos Elemental#F2P.png b/src/images/creatures/Chaos Elemental#F2P.png
new file mode 100644 (file)
index 0000000..4cddb5e
Binary files /dev/null and b/src/images/creatures/Chaos Elemental#F2P.png differ
diff --git a/src/images/creatures/Chaos Elemental#P2P.png b/src/images/creatures/Chaos Elemental#P2P.png
new file mode 100644 (file)
index 0000000..4cddb5e
Binary files /dev/null and b/src/images/creatures/Chaos Elemental#P2P.png differ
diff --git a/src/images/creatures/Chaos Giant#Default.png b/src/images/creatures/Chaos Giant#Default.png
new file mode 100644 (file)
index 0000000..e692ba9
Binary files /dev/null and b/src/images/creatures/Chaos Giant#Default.png differ
diff --git a/src/images/creatures/Chicken#Brown.png b/src/images/creatures/Chicken#Brown.png
new file mode 100644 (file)
index 0000000..ce91d61
Binary files /dev/null and b/src/images/creatures/Chicken#Brown.png differ
diff --git a/src/images/creatures/Chicken#White.png b/src/images/creatures/Chicken#White.png
new file mode 100644 (file)
index 0000000..596ee13
Binary files /dev/null and b/src/images/creatures/Chicken#White.png differ
diff --git a/src/images/creatures/Chompy bird#Default.png b/src/images/creatures/Chompy bird#Default.png
new file mode 100644 (file)
index 0000000..efda171
Binary files /dev/null and b/src/images/creatures/Chompy bird#Default.png differ
diff --git a/src/images/creatures/Cockatrice#Default.png b/src/images/creatures/Cockatrice#Default.png
new file mode 100644 (file)
index 0000000..5598515
Binary files /dev/null and b/src/images/creatures/Cockatrice#Default.png differ
diff --git a/src/images/creatures/Cockroach drone#Default.png b/src/images/creatures/Cockroach drone#Default.png
new file mode 100644 (file)
index 0000000..3e56461
Binary files /dev/null and b/src/images/creatures/Cockroach drone#Default.png differ
diff --git a/src/images/creatures/Cockroach soldier#Default.png b/src/images/creatures/Cockroach soldier#Default.png
new file mode 100644 (file)
index 0000000..3bd1063
Binary files /dev/null and b/src/images/creatures/Cockroach soldier#Default.png differ
diff --git a/src/images/creatures/Cockroach worker#Default.png b/src/images/creatures/Cockroach worker#Default.png
new file mode 100644 (file)
index 0000000..c44edc6
Binary files /dev/null and b/src/images/creatures/Cockroach worker#Default.png differ
diff --git a/src/images/creatures/Commander Zilyana#Aftermath.png b/src/images/creatures/Commander Zilyana#Aftermath.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Aftermath.png differ
diff --git a/src/images/creatures/Commander Zilyana#Battle of the Monolith.png b/src/images/creatures/Commander Zilyana#Battle of the Monolith.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Battle of the Monolith.png differ
diff --git a/src/images/creatures/Commander Zilyana#Council of Burthorpe.png b/src/images/creatures/Commander Zilyana#Council of Burthorpe.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Council of Burthorpe.png differ
diff --git a/src/images/creatures/Commander Zilyana#Extinction.png b/src/images/creatures/Commander Zilyana#Extinction.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Extinction.png differ
diff --git a/src/images/creatures/Commander Zilyana#Gower Quest.png b/src/images/creatures/Commander Zilyana#Gower Quest.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Gower Quest.png differ
diff --git a/src/images/creatures/Commander Zilyana#Missing, Presumed Death.png b/src/images/creatures/Commander Zilyana#Missing, Presumed Death.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Missing, Presumed Death.png differ
diff --git a/src/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png b/src/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Once Upon a Time in Gielinor.png differ
diff --git a/src/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png b/src/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Ritual of the Mahjarrat.png differ
diff --git a/src/images/creatures/Commander Zilyana#Senntisten.png b/src/images/creatures/Commander Zilyana#Senntisten.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#Senntisten.png differ
diff --git a/src/images/creatures/Commander Zilyana#The World Wakes.png b/src/images/creatures/Commander Zilyana#The World Wakes.png
new file mode 100644 (file)
index 0000000..6663dc6
Binary files /dev/null and b/src/images/creatures/Commander Zilyana#The World Wakes.png differ
diff --git a/src/images/creatures/Corporeal Beast#Default.png b/src/images/creatures/Corporeal Beast#Default.png
new file mode 100644 (file)
index 0000000..dc29bae
Binary files /dev/null and b/src/images/creatures/Corporeal Beast#Default.png differ
diff --git a/src/images/creatures/Corpse archer#Default.png b/src/images/creatures/Corpse archer#Default.png
new file mode 100644 (file)
index 0000000..72c57a1
Binary files /dev/null and b/src/images/creatures/Corpse archer#Default.png differ
diff --git a/src/images/creatures/Corpse carrier#Normal mode (duo).png b/src/images/creatures/Corpse carrier#Normal mode (duo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/src/images/creatures/Corpse carrier#Normal mode (duo).png differ
diff --git a/src/images/creatures/Corpse carrier#Normal mode (solo).png b/src/images/creatures/Corpse carrier#Normal mode (solo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/src/images/creatures/Corpse carrier#Normal mode (solo).png differ
diff --git a/src/images/creatures/Corpse carrier#Normal mode (trio).png b/src/images/creatures/Corpse carrier#Normal mode (trio).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/src/images/creatures/Corpse carrier#Normal mode (trio).png differ
diff --git a/src/images/creatures/Corpse carrier#Story mode (duo).png b/src/images/creatures/Corpse carrier#Story mode (duo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/src/images/creatures/Corpse carrier#Story mode (duo).png differ
diff --git a/src/images/creatures/Corpse carrier#Story mode (solo).png b/src/images/creatures/Corpse carrier#Story mode (solo).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/src/images/creatures/Corpse carrier#Story mode (solo).png differ
diff --git a/src/images/creatures/Corpse carrier#Story mode (trio).png b/src/images/creatures/Corpse carrier#Story mode (trio).png
new file mode 100644 (file)
index 0000000..4afe98c
Binary files /dev/null and b/src/images/creatures/Corpse carrier#Story mode (trio).png differ
diff --git a/src/images/creatures/Corpse mage#Default.png b/src/images/creatures/Corpse mage#Default.png
new file mode 100644 (file)
index 0000000..a3294fd
Binary files /dev/null and b/src/images/creatures/Corpse mage#Default.png differ
diff --git a/src/images/creatures/Corpse spider#Default.png b/src/images/creatures/Corpse spider#Default.png
new file mode 100644 (file)
index 0000000..12f9a63
Binary files /dev/null and b/src/images/creatures/Corpse spider#Default.png differ
diff --git a/src/images/creatures/Corrupted dust devil#Default.png b/src/images/creatures/Corrupted dust devil#Default.png
new file mode 100644 (file)
index 0000000..42f13c6
Binary files /dev/null and b/src/images/creatures/Corrupted dust devil#Default.png differ
diff --git a/src/images/creatures/Corrupted kalphite guardian#Default.png b/src/images/creatures/Corrupted kalphite guardian#Default.png
new file mode 100644 (file)
index 0000000..1d20599
Binary files /dev/null and b/src/images/creatures/Corrupted kalphite guardian#Default.png differ
diff --git a/src/images/creatures/Corrupted kalphite marauder#Default.png b/src/images/creatures/Corrupted kalphite marauder#Default.png
new file mode 100644 (file)
index 0000000..1fa140c
Binary files /dev/null and b/src/images/creatures/Corrupted kalphite marauder#Default.png differ
diff --git a/src/images/creatures/Corrupted lizard#Default.png b/src/images/creatures/Corrupted lizard#Default.png
new file mode 100644 (file)
index 0000000..48caa1c
Binary files /dev/null and b/src/images/creatures/Corrupted lizard#Default.png differ
diff --git a/src/images/creatures/Corrupted scarab#Default.png b/src/images/creatures/Corrupted scarab#Default.png
new file mode 100644 (file)
index 0000000..0045413
Binary files /dev/null and b/src/images/creatures/Corrupted scarab#Default.png differ
diff --git a/src/images/creatures/Corrupted scorpion#Default.png b/src/images/creatures/Corrupted scorpion#Default.png
new file mode 100644 (file)
index 0000000..060bb10
Binary files /dev/null and b/src/images/creatures/Corrupted scorpion#Default.png differ
diff --git a/src/images/creatures/Corrupted worker#Default.png b/src/images/creatures/Corrupted worker#Default.png
new file mode 100644 (file)
index 0000000..27d1885
Binary files /dev/null and b/src/images/creatures/Corrupted worker#Default.png differ
diff --git a/src/images/creatures/Cow calf#Default.png b/src/images/creatures/Cow calf#Default.png
new file mode 100644 (file)
index 0000000..37e816f
Binary files /dev/null and b/src/images/creatures/Cow calf#Default.png differ
diff --git a/src/images/creatures/Cow#Standard (1).png b/src/images/creatures/Cow#Standard (1).png
new file mode 100644 (file)
index 0000000..f22a631
Binary files /dev/null and b/src/images/creatures/Cow#Standard (1).png differ
diff --git a/src/images/creatures/Cow#Standard (2).png b/src/images/creatures/Cow#Standard (2).png
new file mode 100644 (file)
index 0000000..d7c1d2b
Binary files /dev/null and b/src/images/creatures/Cow#Standard (2).png differ
diff --git a/src/images/creatures/Cow#Standard (3).png b/src/images/creatures/Cow#Standard (3).png
new file mode 100644 (file)
index 0000000..56dbbe4
Binary files /dev/null and b/src/images/creatures/Cow#Standard (3).png differ
diff --git a/src/images/creatures/Cow#Zanaris.png b/src/images/creatures/Cow#Zanaris.png
new file mode 100644 (file)
index 0000000..fc80aaa
Binary files /dev/null and b/src/images/creatures/Cow#Zanaris.png differ
diff --git a/src/images/creatures/Crawling corpse torso#Default.png b/src/images/creatures/Crawling corpse torso#Default.png
new file mode 100644 (file)
index 0000000..f87ac28
Binary files /dev/null and b/src/images/creatures/Crawling corpse torso#Default.png differ
diff --git a/src/images/creatures/Crawling hand#10a.png b/src/images/creatures/Crawling hand#10a.png
new file mode 100644 (file)
index 0000000..3931804
Binary files /dev/null and b/src/images/creatures/Crawling hand#10a.png differ
diff --git a/src/images/creatures/Crawling hand#10b.png b/src/images/creatures/Crawling hand#10b.png
new file mode 100644 (file)
index 0000000..addcd75
Binary files /dev/null and b/src/images/creatures/Crawling hand#10b.png differ
diff --git a/src/images/creatures/Crawling hand#10c.png b/src/images/creatures/Crawling hand#10c.png
new file mode 100644 (file)
index 0000000..49f283b
Binary files /dev/null and b/src/images/creatures/Crawling hand#10c.png differ
diff --git a/src/images/creatures/Crawling hand#10d.png b/src/images/creatures/Crawling hand#10d.png
new file mode 100644 (file)
index 0000000..3918bf2
Binary files /dev/null and b/src/images/creatures/Crawling hand#10d.png differ
diff --git a/src/images/creatures/Crawling hand#10e.png b/src/images/creatures/Crawling hand#10e.png
new file mode 100644 (file)
index 0000000..38a1387
Binary files /dev/null and b/src/images/creatures/Crawling hand#10e.png differ
diff --git a/src/images/creatures/Crawling hand#6a.png b/src/images/creatures/Crawling hand#6a.png
new file mode 100644 (file)
index 0000000..1437b35
Binary files /dev/null and b/src/images/creatures/Crawling hand#6a.png differ
diff --git a/src/images/creatures/Crawling hand#6b.png b/src/images/creatures/Crawling hand#6b.png
new file mode 100644 (file)
index 0000000..90378ff
Binary files /dev/null and b/src/images/creatures/Crawling hand#6b.png differ
diff --git a/src/images/creatures/Crawling hand#6c.png b/src/images/creatures/Crawling hand#6c.png
new file mode 100644 (file)
index 0000000..9a57966
Binary files /dev/null and b/src/images/creatures/Crawling hand#6c.png differ
diff --git a/src/images/creatures/Crawling hand#6d.png b/src/images/creatures/Crawling hand#6d.png
new file mode 100644 (file)
index 0000000..f3c2774
Binary files /dev/null and b/src/images/creatures/Crawling hand#6d.png differ
diff --git a/src/images/creatures/Crawling hand#6e.png b/src/images/creatures/Crawling hand#6e.png
new file mode 100644 (file)
index 0000000..3fcadc0
Binary files /dev/null and b/src/images/creatures/Crawling hand#6e.png differ
diff --git a/src/images/creatures/Crocodile akh#Default.png b/src/images/creatures/Crocodile akh#Default.png
new file mode 100644 (file)
index 0000000..0933273
Binary files /dev/null and b/src/images/creatures/Crocodile akh#Default.png differ
diff --git a/src/images/creatures/Crocodile#40.png b/src/images/creatures/Crocodile#40.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/src/images/creatures/Crocodile#40.png differ
diff --git a/src/images/creatures/Crocodile#77.png b/src/images/creatures/Crocodile#77.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/src/images/creatures/Crocodile#77.png differ
diff --git a/src/images/creatures/Croesus#Active.png b/src/images/creatures/Croesus#Active.png
new file mode 100644 (file)
index 0000000..620b559
Binary files /dev/null and b/src/images/creatures/Croesus#Active.png differ
diff --git a/src/images/creatures/Croesus#Dormant.png b/src/images/creatures/Croesus#Dormant.png
new file mode 100644 (file)
index 0000000..3285962
Binary files /dev/null and b/src/images/creatures/Croesus#Dormant.png differ
diff --git a/src/images/creatures/Crypt rat#Default.png b/src/images/creatures/Crypt rat#Default.png
new file mode 100644 (file)
index 0000000..e2da29f
Binary files /dev/null and b/src/images/creatures/Crypt rat#Default.png differ
diff --git a/src/images/creatures/Crypt spider#Default.png b/src/images/creatures/Crypt spider#Default.png
new file mode 100644 (file)
index 0000000..cfa2ec6
Binary files /dev/null and b/src/images/creatures/Crypt spider#Default.png differ
diff --git a/src/images/creatures/Crystal Shapeshifter#Magic.png b/src/images/creatures/Crystal Shapeshifter#Magic.png
new file mode 100644 (file)
index 0000000..b20e768
Binary files /dev/null and b/src/images/creatures/Crystal Shapeshifter#Magic.png differ
diff --git a/src/images/creatures/Crystal Shapeshifter#Melee.png b/src/images/creatures/Crystal Shapeshifter#Melee.png
new file mode 100644 (file)
index 0000000..848114b
Binary files /dev/null and b/src/images/creatures/Crystal Shapeshifter#Melee.png differ
diff --git a/src/images/creatures/Crystal Shapeshifter#Ranged.png b/src/images/creatures/Crystal Shapeshifter#Ranged.png
new file mode 100644 (file)
index 0000000..4f35543
Binary files /dev/null and b/src/images/creatures/Crystal Shapeshifter#Ranged.png differ
diff --git a/src/images/creatures/Cyclops#57 (Crush).png b/src/images/creatures/Cyclops#57 (Crush).png
new file mode 100644 (file)
index 0000000..9da10e1
Binary files /dev/null and b/src/images/creatures/Cyclops#57 (Crush).png differ
diff --git a/src/images/creatures/Cyclops#57 (Slash).png b/src/images/creatures/Cyclops#57 (Slash).png
new file mode 100644 (file)
index 0000000..c36e469
Binary files /dev/null and b/src/images/creatures/Cyclops#57 (Slash).png differ
diff --git a/src/images/creatures/Cyclops#57 (Stab).png b/src/images/creatures/Cyclops#57 (Stab).png
new file mode 100644 (file)
index 0000000..f7b9a10
Binary files /dev/null and b/src/images/creatures/Cyclops#57 (Stab).png differ
diff --git a/src/images/creatures/Cyclops#68 (Crush).png b/src/images/creatures/Cyclops#68 (Crush).png
new file mode 100644 (file)
index 0000000..0b7a15c
Binary files /dev/null and b/src/images/creatures/Cyclops#68 (Crush).png differ
diff --git a/src/images/creatures/Cyclops#68 (Slash).png b/src/images/creatures/Cyclops#68 (Slash).png
new file mode 100644 (file)
index 0000000..2a2d250
Binary files /dev/null and b/src/images/creatures/Cyclops#68 (Slash).png differ
diff --git a/src/images/creatures/Cyclops#68 (Stab).png b/src/images/creatures/Cyclops#68 (Stab).png
new file mode 100644 (file)
index 0000000..4472898
Binary files /dev/null and b/src/images/creatures/Cyclops#68 (Stab).png differ
diff --git a/src/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png b/src/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png
new file mode 100644 (file)
index 0000000..bdd7480
Binary files /dev/null and b/src/images/creatures/Cyclops#91 (God Wars Dungeon), 1.png differ
diff --git a/src/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png b/src/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png
new file mode 100644 (file)
index 0000000..4799e36
Binary files /dev/null and b/src/images/creatures/Cyclops#91 (God Wars Dungeon), 2.png differ
diff --git a/src/images/creatures/Cyclossus#Default.png b/src/images/creatures/Cyclossus#Default.png
new file mode 100644 (file)
index 0000000..dbb51f0
Binary files /dev/null and b/src/images/creatures/Cyclossus#Default.png differ
diff --git a/src/images/creatures/Dagannoth (Lighthouse)#Level 77.png b/src/images/creatures/Dagannoth (Lighthouse)#Level 77.png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/src/images/creatures/Dagannoth (Lighthouse)#Level 77.png differ
diff --git a/src/images/creatures/Dagannoth (Lighthouse)#Level 78.png b/src/images/creatures/Dagannoth (Lighthouse)#Level 78.png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/src/images/creatures/Dagannoth (Lighthouse)#Level 78.png differ
diff --git a/src/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png b/src/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/src/images/creatures/Dagannoth (Waterbirth Island)#Blood Runs Deep (78).png differ
diff --git a/src/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png b/src/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/src/images/creatures/Dagannoth (Waterbirth Island)#Melee (78).png differ
diff --git a/src/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png b/src/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png
new file mode 100644 (file)
index 0000000..a699f48
Binary files /dev/null and b/src/images/creatures/Dagannoth (Waterbirth Island)#Melee (79).png differ
diff --git a/src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png b/src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png
new file mode 100644 (file)
index 0000000..d5b55dc
Binary files /dev/null and b/src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (78).png differ
diff --git a/src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png b/src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png
new file mode 100644 (file)
index 0000000..d5b55dc
Binary files /dev/null and b/src/images/creatures/Dagannoth (Waterbirth Island, ranged)#Ranged (79).png differ
diff --git a/src/images/creatures/Dagannoth Prime#Default.png b/src/images/creatures/Dagannoth Prime#Default.png
new file mode 100644 (file)
index 0000000..4c1cc9a
Binary files /dev/null and b/src/images/creatures/Dagannoth Prime#Default.png differ
diff --git a/src/images/creatures/Dagannoth Rex#Default.png b/src/images/creatures/Dagannoth Rex#Default.png
new file mode 100644 (file)
index 0000000..f8b6d6d
Binary files /dev/null and b/src/images/creatures/Dagannoth Rex#Default.png differ
diff --git a/src/images/creatures/Dagannoth Supreme#Default.png b/src/images/creatures/Dagannoth Supreme#Default.png
new file mode 100644 (file)
index 0000000..5dec8b4
Binary files /dev/null and b/src/images/creatures/Dagannoth Supreme#Default.png differ
diff --git a/src/images/creatures/Dagannoth fledgeling#Default.png b/src/images/creatures/Dagannoth fledgeling#Default.png
new file mode 100644 (file)
index 0000000..93ae190
Binary files /dev/null and b/src/images/creatures/Dagannoth fledgeling#Default.png differ
diff --git a/src/images/creatures/Dagannoth guardian#Default.png b/src/images/creatures/Dagannoth guardian#Default.png
new file mode 100644 (file)
index 0000000..3d657be
Binary files /dev/null and b/src/images/creatures/Dagannoth guardian#Default.png differ
diff --git a/src/images/creatures/Dagannoth spawn#Default.png b/src/images/creatures/Dagannoth spawn#Default.png
new file mode 100644 (file)
index 0000000..13af6b7
Binary files /dev/null and b/src/images/creatures/Dagannoth spawn#Default.png differ
diff --git a/src/images/creatures/Dark beast (elite)#Default.png b/src/images/creatures/Dark beast (elite)#Default.png
new file mode 100644 (file)
index 0000000..a2ec825
Binary files /dev/null and b/src/images/creatures/Dark beast (elite)#Default.png differ
diff --git a/src/images/creatures/Dark beast#19,000 life points.png b/src/images/creatures/Dark beast#19,000 life points.png
new file mode 100644 (file)
index 0000000..a2ec825
Binary files /dev/null and b/src/images/creatures/Dark beast#19,000 life points.png differ
diff --git a/src/images/creatures/Dark beast#8,500 life points.png b/src/images/creatures/Dark beast#8,500 life points.png
new file mode 100644 (file)
index 0000000..a2ec825
Binary files /dev/null and b/src/images/creatures/Dark beast#8,500 life points.png differ
diff --git a/src/images/creatures/Deadly red spider#Default.png b/src/images/creatures/Deadly red spider#Default.png
new file mode 100644 (file)
index 0000000..2ea4125
Binary files /dev/null and b/src/images/creatures/Deadly red spider#Default.png differ
diff --git a/src/images/creatures/Denizen of Infernus#Default.png b/src/images/creatures/Denizen of Infernus#Default.png
new file mode 100644 (file)
index 0000000..edb72bf
Binary files /dev/null and b/src/images/creatures/Denizen of Infernus#Default.png differ
diff --git a/src/images/creatures/Desert Lizard#Brown.png b/src/images/creatures/Desert Lizard#Brown.png
new file mode 100644 (file)
index 0000000..e770413
Binary files /dev/null and b/src/images/creatures/Desert Lizard#Brown.png differ
diff --git a/src/images/creatures/Desert Lizard#Green.png b/src/images/creatures/Desert Lizard#Green.png
new file mode 100644 (file)
index 0000000..bfdd4d7
Binary files /dev/null and b/src/images/creatures/Desert Lizard#Green.png differ
diff --git a/src/images/creatures/Desert Lizard#Yellow.png b/src/images/creatures/Desert Lizard#Yellow.png
new file mode 100644 (file)
index 0000000..6c23a72
Binary files /dev/null and b/src/images/creatures/Desert Lizard#Yellow.png differ
diff --git a/src/images/creatures/Desert strykewyrm#Default.png b/src/images/creatures/Desert strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..dccc2e3
Binary files /dev/null and b/src/images/creatures/Desert strykewyrm#Default.png differ
diff --git a/src/images/creatures/Desert wolf#Brown.png b/src/images/creatures/Desert wolf#Brown.png
new file mode 100644 (file)
index 0000000..9599b1e
Binary files /dev/null and b/src/images/creatures/Desert wolf#Brown.png differ
diff --git a/src/images/creatures/Desert wolf#Grey.png b/src/images/creatures/Desert wolf#Grey.png
new file mode 100644 (file)
index 0000000..64f0d7b
Binary files /dev/null and b/src/images/creatures/Desert wolf#Grey.png differ
diff --git a/src/images/creatures/Devil's snare#Default.png b/src/images/creatures/Devil's snare#Default.png
new file mode 100644 (file)
index 0000000..241b62e
Binary files /dev/null and b/src/images/creatures/Devil's snare#Default.png differ
diff --git a/src/images/creatures/Dharok the Wretched#Normal.png b/src/images/creatures/Dharok the Wretched#Normal.png
new file mode 100644 (file)
index 0000000..4f17a4c
Binary files /dev/null and b/src/images/creatures/Dharok the Wretched#Normal.png differ
diff --git a/src/images/creatures/Dharok the Wretched#Rise of the Six.png b/src/images/creatures/Dharok the Wretched#Rise of the Six.png
new file mode 100644 (file)
index 0000000..d97e246
Binary files /dev/null and b/src/images/creatures/Dharok the Wretched#Rise of the Six.png differ
diff --git a/src/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png b/src/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..4f17a4c
Binary files /dev/null and b/src/images/creatures/Dharok the Wretched#Ritual of the Mahjarrat.png differ
diff --git a/src/images/creatures/Dire Wolf#Default.png b/src/images/creatures/Dire Wolf#Default.png
new file mode 100644 (file)
index 0000000..7a2f31c
Binary files /dev/null and b/src/images/creatures/Dire Wolf#Default.png differ
diff --git a/src/images/creatures/Dragith Nurn#Default.png b/src/images/creatures/Dragith Nurn#Default.png
new file mode 100644 (file)
index 0000000..102f87c
Binary files /dev/null and b/src/images/creatures/Dragith Nurn#Default.png differ
diff --git a/src/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png b/src/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..0bc39e7
Binary files /dev/null and b/src/images/creatures/Dragonstone dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Dragonstone dragon#Default.png b/src/images/creatures/Dragonstone dragon#Default.png
new file mode 100644 (file)
index 0000000..9573a4d
Binary files /dev/null and b/src/images/creatures/Dragonstone dragon#Default.png differ
diff --git a/src/images/creatures/Dried zombie#Dried.png b/src/images/creatures/Dried zombie#Dried.png
new file mode 100644 (file)
index 0000000..70d964d
Binary files /dev/null and b/src/images/creatures/Dried zombie#Dried.png differ
diff --git a/src/images/creatures/Dried zombie#Parched.png b/src/images/creatures/Dried zombie#Parched.png
new file mode 100644 (file)
index 0000000..3658e09
Binary files /dev/null and b/src/images/creatures/Dried zombie#Parched.png differ
diff --git a/src/images/creatures/Dried zombie#Unmoisturised.png b/src/images/creatures/Dried zombie#Unmoisturised.png
new file mode 100644 (file)
index 0000000..1538c18
Binary files /dev/null and b/src/images/creatures/Dried zombie#Unmoisturised.png differ
diff --git a/src/images/creatures/Duck#Female.png b/src/images/creatures/Duck#Female.png
new file mode 100644 (file)
index 0000000..0efe33f
Binary files /dev/null and b/src/images/creatures/Duck#Female.png differ
diff --git a/src/images/creatures/Duck#Land.png b/src/images/creatures/Duck#Land.png
new file mode 100644 (file)
index 0000000..a42c11d
Binary files /dev/null and b/src/images/creatures/Duck#Land.png differ
diff --git a/src/images/creatures/Duck#Male.png b/src/images/creatures/Duck#Male.png
new file mode 100644 (file)
index 0000000..c39e51e
Binary files /dev/null and b/src/images/creatures/Duck#Male.png differ
diff --git a/src/images/creatures/Duckling#Default.png b/src/images/creatures/Duckling#Default.png
new file mode 100644 (file)
index 0000000..24f76de
Binary files /dev/null and b/src/images/creatures/Duckling#Default.png differ
diff --git a/src/images/creatures/Dungeon rat#Level 11 (1).png b/src/images/creatures/Dungeon rat#Level 11 (1).png
new file mode 100644 (file)
index 0000000..c076261
Binary files /dev/null and b/src/images/creatures/Dungeon rat#Level 11 (1).png differ
diff --git a/src/images/creatures/Dungeon rat#Level 11 (2).png b/src/images/creatures/Dungeon rat#Level 11 (2).png
new file mode 100644 (file)
index 0000000..ef8193f
Binary files /dev/null and b/src/images/creatures/Dungeon rat#Level 11 (2).png differ
diff --git a/src/images/creatures/Dungeon rat#Level 11 (3).png b/src/images/creatures/Dungeon rat#Level 11 (3).png
new file mode 100644 (file)
index 0000000..355894b
Binary files /dev/null and b/src/images/creatures/Dungeon rat#Level 11 (3).png differ
diff --git a/src/images/creatures/Dungeon rat#Level 18 (brown).png b/src/images/creatures/Dungeon rat#Level 18 (brown).png
new file mode 100644 (file)
index 0000000..660d10a
Binary files /dev/null and b/src/images/creatures/Dungeon rat#Level 18 (brown).png differ
diff --git a/src/images/creatures/Dungeon rat#Level 18 (brown, arrows).png b/src/images/creatures/Dungeon rat#Level 18 (brown, arrows).png
new file mode 100644 (file)
index 0000000..67c5fd3
Binary files /dev/null and b/src/images/creatures/Dungeon rat#Level 18 (brown, arrows).png differ
diff --git a/src/images/creatures/Dungeon rat#Level 18 (grey).png b/src/images/creatures/Dungeon rat#Level 18 (grey).png
new file mode 100644 (file)
index 0000000..fb36c35
Binary files /dev/null and b/src/images/creatures/Dungeon rat#Level 18 (grey).png differ
diff --git a/src/images/creatures/Dust devil (elite)#Default.png b/src/images/creatures/Dust devil (elite)#Default.png
new file mode 100644 (file)
index 0000000..1c3590f
Binary files /dev/null and b/src/images/creatures/Dust devil (elite)#Default.png differ
diff --git a/src/images/creatures/Dust devil#Default.png b/src/images/creatures/Dust devil#Default.png
new file mode 100644 (file)
index 0000000..1c3590f
Binary files /dev/null and b/src/images/creatures/Dust devil#Default.png differ
diff --git a/src/images/creatures/Earth warrior (elite)#Default.png b/src/images/creatures/Earth warrior (elite)#Default.png
new file mode 100644 (file)
index 0000000..be7d624
Binary files /dev/null and b/src/images/creatures/Earth warrior (elite)#Default.png differ
diff --git a/src/images/creatures/Earth warrior#Default.png b/src/images/creatures/Earth warrior#Default.png
new file mode 100644 (file)
index 0000000..be7d624
Binary files /dev/null and b/src/images/creatures/Earth warrior#Default.png differ
diff --git a/src/images/creatures/Edimmu (elite)#Default.png b/src/images/creatures/Edimmu (elite)#Default.png
new file mode 100644 (file)
index 0000000..507aa45
Binary files /dev/null and b/src/images/creatures/Edimmu (elite)#Default.png differ
diff --git a/src/images/creatures/Edimmu#Default.png b/src/images/creatures/Edimmu#Default.png
new file mode 100644 (file)
index 0000000..8d64ccb
Binary files /dev/null and b/src/images/creatures/Edimmu#Default.png differ
diff --git a/src/images/creatures/Elegorn the Celestial#Default.png b/src/images/creatures/Elegorn the Celestial#Default.png
new file mode 100644 (file)
index 0000000..a18c825
Binary files /dev/null and b/src/images/creatures/Elegorn the Celestial#Default.png differ
diff --git a/src/images/creatures/Elf warrior#Melee.png b/src/images/creatures/Elf warrior#Melee.png
new file mode 100644 (file)
index 0000000..9e0ea4a
Binary files /dev/null and b/src/images/creatures/Elf warrior#Melee.png differ
diff --git a/src/images/creatures/Elf warrior#Range.png b/src/images/creatures/Elf warrior#Range.png
new file mode 100644 (file)
index 0000000..a9a6356
Binary files /dev/null and b/src/images/creatures/Elf warrior#Range.png differ
diff --git a/src/images/creatures/Elite rune dragon#Armoured.png b/src/images/creatures/Elite rune dragon#Armoured.png
new file mode 100644 (file)
index 0000000..d920984
Binary files /dev/null and b/src/images/creatures/Elite rune dragon#Armoured.png differ
diff --git a/src/images/creatures/Elite rune dragon#Unarmoured.png b/src/images/creatures/Elite rune dragon#Unarmoured.png
new file mode 100644 (file)
index 0000000..3bea209
Binary files /dev/null and b/src/images/creatures/Elite rune dragon#Unarmoured.png differ
diff --git a/src/images/creatures/Enclave guard#Default.png b/src/images/creatures/Enclave guard#Default.png
new file mode 100644 (file)
index 0000000..ad246fc
Binary files /dev/null and b/src/images/creatures/Enclave guard#Default.png differ
diff --git a/src/images/creatures/Enduring glacyte#Default.png b/src/images/creatures/Enduring glacyte#Default.png
new file mode 100644 (file)
index 0000000..95ad116
Binary files /dev/null and b/src/images/creatures/Enduring glacyte#Default.png differ
diff --git a/src/images/creatures/Engorged lava strykewyrm#Default.png b/src/images/creatures/Engorged lava strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..430a8f6
Binary files /dev/null and b/src/images/creatures/Engorged lava strykewyrm#Default.png differ
diff --git a/src/images/creatures/Exiled Kalphite Queen#First form.png b/src/images/creatures/Exiled Kalphite Queen#First form.png
new file mode 100644 (file)
index 0000000..e4be535
Binary files /dev/null and b/src/images/creatures/Exiled Kalphite Queen#First form.png differ
diff --git a/src/images/creatures/Exiled Kalphite Queen#Second form.png b/src/images/creatures/Exiled Kalphite Queen#Second form.png
new file mode 100644 (file)
index 0000000..6445856
Binary files /dev/null and b/src/images/creatures/Exiled Kalphite Queen#Second form.png differ
diff --git a/src/images/creatures/Exiled kalphite guardian#Default.png b/src/images/creatures/Exiled kalphite guardian#Default.png
new file mode 100644 (file)
index 0000000..f8b0e8e
Binary files /dev/null and b/src/images/creatures/Exiled kalphite guardian#Default.png differ
diff --git a/src/images/creatures/Exiled kalphite marauder#Kalphite King.png b/src/images/creatures/Exiled kalphite marauder#Kalphite King.png
new file mode 100644 (file)
index 0000000..00335b4
Binary files /dev/null and b/src/images/creatures/Exiled kalphite marauder#Kalphite King.png differ
diff --git a/src/images/creatures/Exiled kalphite marauder#Normal.png b/src/images/creatures/Exiled kalphite marauder#Normal.png
new file mode 100644 (file)
index 0000000..00335b4
Binary files /dev/null and b/src/images/creatures/Exiled kalphite marauder#Normal.png differ
diff --git a/src/images/creatures/Exiled kalphite paragon#Default.png b/src/images/creatures/Exiled kalphite paragon#Default.png
new file mode 100644 (file)
index 0000000..3efdba5
Binary files /dev/null and b/src/images/creatures/Exiled kalphite paragon#Default.png differ
diff --git a/src/images/creatures/Exiled kalphite soldier#Default.png b/src/images/creatures/Exiled kalphite soldier#Default.png
new file mode 100644 (file)
index 0000000..7df3604
Binary files /dev/null and b/src/images/creatures/Exiled kalphite soldier#Default.png differ
diff --git a/src/images/creatures/Exiled kalphite worker#Default.png b/src/images/creatures/Exiled kalphite worker#Default.png
new file mode 100644 (file)
index 0000000..7eef506
Binary files /dev/null and b/src/images/creatures/Exiled kalphite worker#Default.png differ
diff --git a/src/images/creatures/Feline akh#Default.png b/src/images/creatures/Feline akh#Default.png
new file mode 100644 (file)
index 0000000..0978dea
Binary files /dev/null and b/src/images/creatures/Feline akh#Default.png differ
diff --git a/src/images/creatures/Fenris wolf#Default.png b/src/images/creatures/Fenris wolf#Default.png
new file mode 100644 (file)
index 0000000..d8de43b
Binary files /dev/null and b/src/images/creatures/Fenris wolf#Default.png differ
diff --git a/src/images/creatures/Feral Dinosaur#Dinosaur invasion.png b/src/images/creatures/Feral Dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..bad669e
Binary files /dev/null and b/src/images/creatures/Feral Dinosaur#Dinosaur invasion.png differ
diff --git a/src/images/creatures/Feral Dinosaur#Normal.png b/src/images/creatures/Feral Dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..bad669e
Binary files /dev/null and b/src/images/creatures/Feral Dinosaur#Normal.png differ
diff --git a/src/images/creatures/Feral vampyre#Spider.png b/src/images/creatures/Feral vampyre#Spider.png
new file mode 100644 (file)
index 0000000..bd19b83
Binary files /dev/null and b/src/images/creatures/Feral vampyre#Spider.png differ
diff --git a/src/images/creatures/Feral vampyre#Standard.png b/src/images/creatures/Feral vampyre#Standard.png
new file mode 100644 (file)
index 0000000..bd19b83
Binary files /dev/null and b/src/images/creatures/Feral vampyre#Standard.png differ
diff --git a/src/images/creatures/Fetid zombie#1.png b/src/images/creatures/Fetid zombie#1.png
new file mode 100644 (file)
index 0000000..dd6a9f3
Binary files /dev/null and b/src/images/creatures/Fetid zombie#1.png differ
diff --git a/src/images/creatures/Fetid zombie#2.png b/src/images/creatures/Fetid zombie#2.png
new file mode 100644 (file)
index 0000000..ffdac9d
Binary files /dev/null and b/src/images/creatures/Fetid zombie#2.png differ
diff --git a/src/images/creatures/Fever spider#Default.png b/src/images/creatures/Fever spider#Default.png
new file mode 100644 (file)
index 0000000..2c29478
Binary files /dev/null and b/src/images/creatures/Fever spider#Default.png differ
diff --git a/src/images/creatures/Fire giant#Default.png b/src/images/creatures/Fire giant#Default.png
new file mode 100644 (file)
index 0000000..cd2fc9b
Binary files /dev/null and b/src/images/creatures/Fire giant#Default.png differ
diff --git a/src/images/creatures/Flesh Crawler#Default.png b/src/images/creatures/Flesh Crawler#Default.png
new file mode 100644 (file)
index 0000000..861e248
Binary files /dev/null and b/src/images/creatures/Flesh Crawler#Default.png differ
diff --git a/src/images/creatures/Flight Kilisa#Default.png b/src/images/creatures/Flight Kilisa#Default.png
new file mode 100644 (file)
index 0000000..f8aec2c
Binary files /dev/null and b/src/images/creatures/Flight Kilisa#Default.png differ
diff --git a/src/images/creatures/Flockleader Geerin#Default.png b/src/images/creatures/Flockleader Geerin#Default.png
new file mode 100644 (file)
index 0000000..34e17de
Binary files /dev/null and b/src/images/creatures/Flockleader Geerin#Default.png differ
diff --git a/src/images/creatures/Force muspah#Default.png b/src/images/creatures/Force muspah#Default.png
new file mode 100644 (file)
index 0000000..651f5bb
Binary files /dev/null and b/src/images/creatures/Force muspah#Default.png differ
diff --git a/src/images/creatures/Frog#Default.png b/src/images/creatures/Frog#Default.png
new file mode 100644 (file)
index 0000000..7f78675
Binary files /dev/null and b/src/images/creatures/Frog#Default.png differ
diff --git a/src/images/creatures/Frogeel#Default.png b/src/images/creatures/Frogeel#Default.png
new file mode 100644 (file)
index 0000000..cbde221
Binary files /dev/null and b/src/images/creatures/Frogeel#Default.png differ
diff --git a/src/images/creatures/Frost dragon#Default.png b/src/images/creatures/Frost dragon#Default.png
new file mode 100644 (file)
index 0000000..8c6c579
Binary files /dev/null and b/src/images/creatures/Frost dragon#Default.png differ
diff --git a/src/images/creatures/Fungal mage#Normal.png b/src/images/creatures/Fungal mage#Normal.png
new file mode 100644 (file)
index 0000000..9b20fab
Binary files /dev/null and b/src/images/creatures/Fungal mage#Normal.png differ
diff --git a/src/images/creatures/Fungal mage#Weakened.png b/src/images/creatures/Fungal mage#Weakened.png
new file mode 100644 (file)
index 0000000..d5b38b6
Binary files /dev/null and b/src/images/creatures/Fungal mage#Weakened.png differ
diff --git a/src/images/creatures/Ganodermic beast#Neem oil.png b/src/images/creatures/Ganodermic beast#Neem oil.png
new file mode 100644 (file)
index 0000000..acae4dc
Binary files /dev/null and b/src/images/creatures/Ganodermic beast#Neem oil.png differ
diff --git a/src/images/creatures/Ganodermic beast#Normal.png b/src/images/creatures/Ganodermic beast#Normal.png
new file mode 100644 (file)
index 0000000..4703238
Binary files /dev/null and b/src/images/creatures/Ganodermic beast#Normal.png differ
diff --git a/src/images/creatures/Ganodermic runt#Neem oil.png b/src/images/creatures/Ganodermic runt#Neem oil.png
new file mode 100644 (file)
index 0000000..5f4ff37
Binary files /dev/null and b/src/images/creatures/Ganodermic runt#Neem oil.png differ
diff --git a/src/images/creatures/Ganodermic runt#Normal.png b/src/images/creatures/Ganodermic runt#Normal.png
new file mode 100644 (file)
index 0000000..9f70a8e
Binary files /dev/null and b/src/images/creatures/Ganodermic runt#Normal.png differ
diff --git a/src/images/creatures/Gargoyle#Regular.png b/src/images/creatures/Gargoyle#Regular.png
new file mode 100644 (file)
index 0000000..f2c834f
Binary files /dev/null and b/src/images/creatures/Gargoyle#Regular.png differ
diff --git a/src/images/creatures/Gargoyle#Wilderness.png b/src/images/creatures/Gargoyle#Wilderness.png
new file mode 100644 (file)
index 0000000..f2c834f
Binary files /dev/null and b/src/images/creatures/Gargoyle#Wilderness.png differ
diff --git a/src/images/creatures/Gelatinous abomination#Default.png b/src/images/creatures/Gelatinous abomination#Default.png
new file mode 100644 (file)
index 0000000..08f6dca
Binary files /dev/null and b/src/images/creatures/Gelatinous abomination#Default.png differ
diff --git a/src/images/creatures/General Graardor#Hard mode.png b/src/images/creatures/General Graardor#Hard mode.png
new file mode 100644 (file)
index 0000000..5d4d81a
Binary files /dev/null and b/src/images/creatures/General Graardor#Hard mode.png differ
diff --git a/src/images/creatures/General Graardor#Normal.png b/src/images/creatures/General Graardor#Normal.png
new file mode 100644 (file)
index 0000000..5d4d81a
Binary files /dev/null and b/src/images/creatures/General Graardor#Normal.png differ
diff --git a/src/images/creatures/General Graardor#The Mighty Fall.png b/src/images/creatures/General Graardor#The Mighty Fall.png
new file mode 100644 (file)
index 0000000..e4f331e
Binary files /dev/null and b/src/images/creatures/General Graardor#The Mighty Fall.png differ
diff --git a/src/images/creatures/General Graardor#The World Wakes.png b/src/images/creatures/General Graardor#The World Wakes.png
new file mode 100644 (file)
index 0000000..5d4d81a
Binary files /dev/null and b/src/images/creatures/General Graardor#The World Wakes.png differ
diff --git a/src/images/creatures/General malpractitioner#Default.png b/src/images/creatures/General malpractitioner#Default.png
new file mode 100644 (file)
index 0000000..1d9266f
Binary files /dev/null and b/src/images/creatures/General malpractitioner#Default.png differ
diff --git a/src/images/creatures/Ghast#Regular.png b/src/images/creatures/Ghast#Regular.png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/src/images/creatures/Ghast#Regular.png differ
diff --git a/src/images/creatures/Ghast#Temple Trekking (Easy Route).png b/src/images/creatures/Ghast#Temple Trekking (Easy Route).png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/src/images/creatures/Ghast#Temple Trekking (Easy Route).png differ
diff --git a/src/images/creatures/Ghast#Temple Trekking (Hard Route).png b/src/images/creatures/Ghast#Temple Trekking (Hard Route).png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/src/images/creatures/Ghast#Temple Trekking (Hard Route).png differ
diff --git a/src/images/creatures/Ghast#Temple Trekking (Medium Route).png b/src/images/creatures/Ghast#Temple Trekking (Medium Route).png
new file mode 100644 (file)
index 0000000..9ed71dc
Binary files /dev/null and b/src/images/creatures/Ghast#Temple Trekking (Medium Route).png differ
diff --git a/src/images/creatures/Ghost (Abandoned Mine)#Default.png b/src/images/creatures/Ghost (Abandoned Mine)#Default.png
new file mode 100644 (file)
index 0000000..e040187
Binary files /dev/null and b/src/images/creatures/Ghost (Abandoned Mine)#Default.png differ
diff --git a/src/images/creatures/Ghost (Stronghold of Security)#1.png b/src/images/creatures/Ghost (Stronghold of Security)#1.png
new file mode 100644 (file)
index 0000000..1735985
Binary files /dev/null and b/src/images/creatures/Ghost (Stronghold of Security)#1.png differ
diff --git a/src/images/creatures/Ghost (Stronghold of Security)#2.png b/src/images/creatures/Ghost (Stronghold of Security)#2.png
new file mode 100644 (file)
index 0000000..9b4f956
Binary files /dev/null and b/src/images/creatures/Ghost (Stronghold of Security)#2.png differ
diff --git a/src/images/creatures/Ghost (Stronghold of Security)#3.png b/src/images/creatures/Ghost (Stronghold of Security)#3.png
new file mode 100644 (file)
index 0000000..534f8f2
Binary files /dev/null and b/src/images/creatures/Ghost (Stronghold of Security)#3.png differ
diff --git a/src/images/creatures/Ghost (Stronghold of Security)#4.png b/src/images/creatures/Ghost (Stronghold of Security)#4.png
new file mode 100644 (file)
index 0000000..f59ae03
Binary files /dev/null and b/src/images/creatures/Ghost (Stronghold of Security)#4.png differ
diff --git a/src/images/creatures/Ghost (Stronghold of Security)#5.png b/src/images/creatures/Ghost (Stronghold of Security)#5.png
new file mode 100644 (file)
index 0000000..b41186e
Binary files /dev/null and b/src/images/creatures/Ghost (Stronghold of Security)#5.png differ
diff --git a/src/images/creatures/Ghost#1.png b/src/images/creatures/Ghost#1.png
new file mode 100644 (file)
index 0000000..03170a4
Binary files /dev/null and b/src/images/creatures/Ghost#1.png differ
diff --git a/src/images/creatures/Ghost#2.png b/src/images/creatures/Ghost#2.png
new file mode 100644 (file)
index 0000000..7860854
Binary files /dev/null and b/src/images/creatures/Ghost#2.png differ
diff --git a/src/images/creatures/Ghost#3.png b/src/images/creatures/Ghost#3.png
new file mode 100644 (file)
index 0000000..03170a4
Binary files /dev/null and b/src/images/creatures/Ghost#3.png differ
diff --git a/src/images/creatures/Ghost#4.png b/src/images/creatures/Ghost#4.png
new file mode 100644 (file)
index 0000000..1155b09
Binary files /dev/null and b/src/images/creatures/Ghost#4.png differ
diff --git a/src/images/creatures/Ghost#5.png b/src/images/creatures/Ghost#5.png
new file mode 100644 (file)
index 0000000..8bc47f2
Binary files /dev/null and b/src/images/creatures/Ghost#5.png differ
diff --git a/src/images/creatures/Ghost#6.png b/src/images/creatures/Ghost#6.png
new file mode 100644 (file)
index 0000000..6a0b02f
Binary files /dev/null and b/src/images/creatures/Ghost#6.png differ
diff --git a/src/images/creatures/Ghost#7.png b/src/images/creatures/Ghost#7.png
new file mode 100644 (file)
index 0000000..9ab5b66
Binary files /dev/null and b/src/images/creatures/Ghost#7.png differ
diff --git a/src/images/creatures/Ghostly troll bruiser#Default.png b/src/images/creatures/Ghostly troll bruiser#Default.png
new file mode 100644 (file)
index 0000000..bc1b2dc
Binary files /dev/null and b/src/images/creatures/Ghostly troll bruiser#Default.png differ
diff --git a/src/images/creatures/Ghostly troll thrower#Default.png b/src/images/creatures/Ghostly troll thrower#Default.png
new file mode 100644 (file)
index 0000000..0134d14
Binary files /dev/null and b/src/images/creatures/Ghostly troll thrower#Default.png differ
diff --git a/src/images/creatures/Ghostly warrior#Default.png b/src/images/creatures/Ghostly warrior#Default.png
new file mode 100644 (file)
index 0000000..c834c71
Binary files /dev/null and b/src/images/creatures/Ghostly warrior#Default.png differ
diff --git a/src/images/creatures/Ghoul (Paterdomus)#Default.png b/src/images/creatures/Ghoul (Paterdomus)#Default.png
new file mode 100644 (file)
index 0000000..b5653ad
Binary files /dev/null and b/src/images/creatures/Ghoul (Paterdomus)#Default.png differ
diff --git a/src/images/creatures/Ghoul#Blue.png b/src/images/creatures/Ghoul#Blue.png
new file mode 100644 (file)
index 0000000..e10fc77
Binary files /dev/null and b/src/images/creatures/Ghoul#Blue.png differ
diff --git a/src/images/creatures/Ghoul#Brown.png b/src/images/creatures/Ghoul#Brown.png
new file mode 100644 (file)
index 0000000..b5653ad
Binary files /dev/null and b/src/images/creatures/Ghoul#Brown.png differ
diff --git a/src/images/creatures/Giant bat#Brine Cavern.png b/src/images/creatures/Giant bat#Brine Cavern.png
new file mode 100644 (file)
index 0000000..c7b5694
Binary files /dev/null and b/src/images/creatures/Giant bat#Brine Cavern.png differ
diff --git a/src/images/creatures/Giant bat#Normal.png b/src/images/creatures/Giant bat#Normal.png
new file mode 100644 (file)
index 0000000..d8c406c
Binary files /dev/null and b/src/images/creatures/Giant bat#Normal.png differ
diff --git a/src/images/creatures/Giant crypt rat#Default.png b/src/images/creatures/Giant crypt rat#Default.png
new file mode 100644 (file)
index 0000000..4085cb3
Binary files /dev/null and b/src/images/creatures/Giant crypt rat#Default.png differ
diff --git a/src/images/creatures/Giant crypt spider#Default.png b/src/images/creatures/Giant crypt spider#Default.png
new file mode 100644 (file)
index 0000000..782a11d
Binary files /dev/null and b/src/images/creatures/Giant crypt spider#Default.png differ
diff --git a/src/images/creatures/Giant frog#Default.png b/src/images/creatures/Giant frog#Default.png
new file mode 100644 (file)
index 0000000..5054b8b
Binary files /dev/null and b/src/images/creatures/Giant frog#Default.png differ
diff --git a/src/images/creatures/Giant mole#Hard Mode.png b/src/images/creatures/Giant mole#Hard Mode.png
new file mode 100644 (file)
index 0000000..4c27a90
Binary files /dev/null and b/src/images/creatures/Giant mole#Hard Mode.png differ
diff --git a/src/images/creatures/Giant mole#Normal.png b/src/images/creatures/Giant mole#Normal.png
new file mode 100644 (file)
index 0000000..4c27a90
Binary files /dev/null and b/src/images/creatures/Giant mole#Normal.png differ
diff --git a/src/images/creatures/Giant rat#Level 7 (brown).png b/src/images/creatures/Giant rat#Level 7 (brown).png
new file mode 100644 (file)
index 0000000..8cba6e8
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 7 (brown).png differ
diff --git a/src/images/creatures/Giant rat#Level 7 (brown, arrows).png b/src/images/creatures/Giant rat#Level 7 (brown, arrows).png
new file mode 100644 (file)
index 0000000..841acf8
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 7 (brown, arrows).png differ
diff --git a/src/images/creatures/Giant rat#Level 7 (grey).png b/src/images/creatures/Giant rat#Level 7 (grey).png
new file mode 100644 (file)
index 0000000..fbdf779
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 7 (grey).png differ
diff --git a/src/images/creatures/Giant rat#Level 7 (grey, arrows).png b/src/images/creatures/Giant rat#Level 7 (grey, arrows).png
new file mode 100644 (file)
index 0000000..b959c9f
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 7 (grey, arrows).png differ
diff --git a/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png b/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png
new file mode 100644 (file)
index 0000000..cf539d2
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 1).png differ
diff --git a/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png b/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png
new file mode 100644 (file)
index 0000000..8ffc2d8
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 2).png differ
diff --git a/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png b/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png
new file mode 100644 (file)
index 0000000..69f057d
Binary files /dev/null and b/src/images/creatures/Giant rat#Level 9 (Stronghold of Security, 3).png differ
diff --git a/src/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png b/src/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png
new file mode 100644 (file)
index 0000000..b7d4b82
Binary files /dev/null and b/src/images/creatures/Giant skeleton (Shadow Dungeon)#Default.png differ
diff --git a/src/images/creatures/Giant skeleton (Tarn's Lair)#Default.png b/src/images/creatures/Giant skeleton (Tarn's Lair)#Default.png
new file mode 100644 (file)
index 0000000..b7d4b82
Binary files /dev/null and b/src/images/creatures/Giant skeleton (Tarn's Lair)#Default.png differ
diff --git a/src/images/creatures/Giant slime#Normal mode.png b/src/images/creatures/Giant slime#Normal mode.png
new file mode 100644 (file)
index 0000000..4341deb
Binary files /dev/null and b/src/images/creatures/Giant slime#Normal mode.png differ
diff --git a/src/images/creatures/Giant slime#Story mode.png b/src/images/creatures/Giant slime#Story mode.png
new file mode 100644 (file)
index 0000000..4341deb
Binary files /dev/null and b/src/images/creatures/Giant slime#Story mode.png differ
diff --git a/src/images/creatures/Giant spider#Level 2.png b/src/images/creatures/Giant spider#Level 2.png
new file mode 100644 (file)
index 0000000..c822f74
Binary files /dev/null and b/src/images/creatures/Giant spider#Level 2.png differ
diff --git a/src/images/creatures/Giant spider#Level 29.png b/src/images/creatures/Giant spider#Level 29.png
new file mode 100644 (file)
index 0000000..6317dd8
Binary files /dev/null and b/src/images/creatures/Giant spider#Level 29.png differ
diff --git a/src/images/creatures/Giant spider#Level 33.png b/src/images/creatures/Giant spider#Level 33.png
new file mode 100644 (file)
index 0000000..c822f74
Binary files /dev/null and b/src/images/creatures/Giant spider#Level 33.png differ
diff --git a/src/images/creatures/Giant worm#Default.png b/src/images/creatures/Giant worm#Default.png
new file mode 100644 (file)
index 0000000..b6bea35
Binary files /dev/null and b/src/images/creatures/Giant worm#Default.png differ
diff --git a/src/images/creatures/Glacor#Default.png b/src/images/creatures/Glacor#Default.png
new file mode 100644 (file)
index 0000000..8fb2071
Binary files /dev/null and b/src/images/creatures/Glacor#Default.png differ
diff --git a/src/images/creatures/Glacyte (Arch-Glacor)#Magic.png b/src/images/creatures/Glacyte (Arch-Glacor)#Magic.png
new file mode 100644 (file)
index 0000000..95d4823
Binary files /dev/null and b/src/images/creatures/Glacyte (Arch-Glacor)#Magic.png differ
diff --git a/src/images/creatures/Glacyte (Arch-Glacor)#Melee.png b/src/images/creatures/Glacyte (Arch-Glacor)#Melee.png
new file mode 100644 (file)
index 0000000..743fbb5
Binary files /dev/null and b/src/images/creatures/Glacyte (Arch-Glacor)#Melee.png differ
diff --git a/src/images/creatures/Glacyte#Magic.png b/src/images/creatures/Glacyte#Magic.png
new file mode 100644 (file)
index 0000000..95d4823
Binary files /dev/null and b/src/images/creatures/Glacyte#Magic.png differ
diff --git a/src/images/creatures/Glacyte#Melee.png b/src/images/creatures/Glacyte#Melee.png
new file mode 100644 (file)
index 0000000..743fbb5
Binary files /dev/null and b/src/images/creatures/Glacyte#Melee.png differ
diff --git a/src/images/creatures/Gladius#Default.png b/src/images/creatures/Gladius#Default.png
new file mode 100644 (file)
index 0000000..16890db
Binary files /dev/null and b/src/images/creatures/Gladius#Default.png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Green (1).png b/src/images/creatures/Goblin (Goblin Village)#Green (1).png
new file mode 100644 (file)
index 0000000..b66acc3
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Green (1).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Green (2).png b/src/images/creatures/Goblin (Goblin Village)#Green (2).png
new file mode 100644 (file)
index 0000000..d89c832
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Green (2).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Green (3).png b/src/images/creatures/Goblin (Goblin Village)#Green (3).png
new file mode 100644 (file)
index 0000000..3e86842
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Green (3).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Green (4).png b/src/images/creatures/Goblin (Goblin Village)#Green (4).png
new file mode 100644 (file)
index 0000000..477231c
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Green (4).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Green (5).png b/src/images/creatures/Goblin (Goblin Village)#Green (5).png
new file mode 100644 (file)
index 0000000..320dc3d
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Green (5).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Green (6).png b/src/images/creatures/Goblin (Goblin Village)#Green (6).png
new file mode 100644 (file)
index 0000000..8fec78e
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Green (6).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Red (1).png b/src/images/creatures/Goblin (Goblin Village)#Red (1).png
new file mode 100644 (file)
index 0000000..0a5502e
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Red (1).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Red (2).png b/src/images/creatures/Goblin (Goblin Village)#Red (2).png
new file mode 100644 (file)
index 0000000..9b9125d
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Red (2).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Red (3).png b/src/images/creatures/Goblin (Goblin Village)#Red (3).png
new file mode 100644 (file)
index 0000000..bbc8650
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Red (3).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Red (4).png b/src/images/creatures/Goblin (Goblin Village)#Red (4).png
new file mode 100644 (file)
index 0000000..34b4b74
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Red (4).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Red (5).png b/src/images/creatures/Goblin (Goblin Village)#Red (5).png
new file mode 100644 (file)
index 0000000..ea6f18b
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Red (5).png differ
diff --git a/src/images/creatures/Goblin (Goblin Village)#Red (6).png b/src/images/creatures/Goblin (Goblin Village)#Red (6).png
new file mode 100644 (file)
index 0000000..25cd3c8
Binary files /dev/null and b/src/images/creatures/Goblin (Goblin Village)#Red (6).png differ
diff --git a/src/images/creatures/Goblin (God Wars Dungeon)#Banner.png b/src/images/creatures/Goblin (God Wars Dungeon)#Banner.png
new file mode 100644 (file)
index 0000000..ed25efc
Binary files /dev/null and b/src/images/creatures/Goblin (God Wars Dungeon)#Banner.png differ
diff --git a/src/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png b/src/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png
new file mode 100644 (file)
index 0000000..daf082f
Binary files /dev/null and b/src/images/creatures/Goblin (God Wars Dungeon)#Battleaxe.png differ
diff --git a/src/images/creatures/Goblin (God Wars Dungeon)#Spear.png b/src/images/creatures/Goblin (God Wars Dungeon)#Spear.png
new file mode 100644 (file)
index 0000000..3dc5536
Binary files /dev/null and b/src/images/creatures/Goblin (God Wars Dungeon)#Spear.png differ
diff --git a/src/images/creatures/Goblin (God Wars Dungeon)#Sword.png b/src/images/creatures/Goblin (God Wars Dungeon)#Sword.png
new file mode 100644 (file)
index 0000000..dc9d0d5
Binary files /dev/null and b/src/images/creatures/Goblin (God Wars Dungeon)#Sword.png differ
diff --git a/src/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png b/src/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png
new file mode 100644 (file)
index 0000000..a2ce0e5
Binary files /dev/null and b/src/images/creatures/Goblin (God Wars Dungeon)#Warhammer.png differ
diff --git a/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png
new file mode 100644 (file)
index 0000000..e67def4
Binary files /dev/null and b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (a).png differ
diff --git a/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png
new file mode 100644 (file)
index 0000000..f725001
Binary files /dev/null and b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (b).png differ
diff --git a/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png
new file mode 100644 (file)
index 0000000..566196c
Binary files /dev/null and b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (c).png differ
diff --git a/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png
new file mode 100644 (file)
index 0000000..b08ec18
Binary files /dev/null and b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (d).png differ
diff --git a/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png
new file mode 100644 (file)
index 0000000..408e631
Binary files /dev/null and b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (e).png differ
diff --git a/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png
new file mode 100644 (file)
index 0000000..9e9f1d8
Binary files /dev/null and b/src/images/creatures/Goblin (Stronghold of Security)#Level 5 (f).png differ
diff --git a/src/images/creatures/Goblin#Level 1 (Slayer challenge).png b/src/images/creatures/Goblin#Level 1 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/src/images/creatures/Goblin#Level 1 (Slayer challenge).png differ
diff --git a/src/images/creatures/Goblin#Level 11 (Slayer challenge).png b/src/images/creatures/Goblin#Level 11 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/src/images/creatures/Goblin#Level 11 (Slayer challenge).png differ
diff --git a/src/images/creatures/Goblin#Level 11.png b/src/images/creatures/Goblin#Level 11.png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/src/images/creatures/Goblin#Level 11.png differ
diff --git a/src/images/creatures/Goblin#Level 2.png b/src/images/creatures/Goblin#Level 2.png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/src/images/creatures/Goblin#Level 2.png differ
diff --git a/src/images/creatures/Goblin#Level 5 (Slayer challenge).png b/src/images/creatures/Goblin#Level 5 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/src/images/creatures/Goblin#Level 5 (Slayer challenge).png differ
diff --git a/src/images/creatures/Goblin#Level 5.png b/src/images/creatures/Goblin#Level 5.png
new file mode 100644 (file)
index 0000000..fd15759
Binary files /dev/null and b/src/images/creatures/Goblin#Level 5.png differ
diff --git a/src/images/creatures/Gorak#God Wars Dungeon.png b/src/images/creatures/Gorak#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..68c3868
Binary files /dev/null and b/src/images/creatures/Gorak#God Wars Dungeon.png differ
diff --git a/src/images/creatures/Gorak#Gorak Plane.png b/src/images/creatures/Gorak#Gorak Plane.png
new file mode 100644 (file)
index 0000000..68c3868
Binary files /dev/null and b/src/images/creatures/Gorak#Gorak Plane.png differ
diff --git a/src/images/creatures/Gorak#The World Wakes.png b/src/images/creatures/Gorak#The World Wakes.png
new file mode 100644 (file)
index 0000000..68c3868
Binary files /dev/null and b/src/images/creatures/Gorak#The World Wakes.png differ
diff --git a/src/images/creatures/Gorilla akh#Default.png b/src/images/creatures/Gorilla akh#Default.png
new file mode 100644 (file)
index 0000000..1d5efc1
Binary files /dev/null and b/src/images/creatures/Gorilla akh#Default.png differ
diff --git a/src/images/creatures/Grave scorpion#Default.png b/src/images/creatures/Grave scorpion#Default.png
new file mode 100644 (file)
index 0000000..b4a25f9
Binary files /dev/null and b/src/images/creatures/Grave scorpion#Default.png differ
diff --git a/src/images/creatures/Graveside Phantom#Default.png b/src/images/creatures/Graveside Phantom#Default.png
new file mode 100644 (file)
index 0000000..f6efc25
Binary files /dev/null and b/src/images/creatures/Graveside Phantom#Default.png differ
diff --git a/src/images/creatures/Greater demon (elite)#Default.png b/src/images/creatures/Greater demon (elite)#Default.png
new file mode 100644 (file)
index 0000000..d0acd38
Binary files /dev/null and b/src/images/creatures/Greater demon (elite)#Default.png differ
diff --git a/src/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png b/src/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png
new file mode 100644 (file)
index 0000000..d0acd38
Binary files /dev/null and b/src/images/creatures/Greater demon ash lord#The Zamorakian Undercity.png differ
diff --git a/src/images/creatures/Greater demon ash lord#Wilderness.png b/src/images/creatures/Greater demon ash lord#Wilderness.png
new file mode 100644 (file)
index 0000000..d0acd38
Binary files /dev/null and b/src/images/creatures/Greater demon ash lord#Wilderness.png differ
diff --git a/src/images/creatures/Greater demon berserker#The Zamorakian Undercity.png b/src/images/creatures/Greater demon berserker#The Zamorakian Undercity.png
new file mode 100644 (file)
index 0000000..82c4105
Binary files /dev/null and b/src/images/creatures/Greater demon berserker#The Zamorakian Undercity.png differ
diff --git a/src/images/creatures/Greater demon berserker#Wilderness.png b/src/images/creatures/Greater demon berserker#Wilderness.png
new file mode 100644 (file)
index 0000000..82c4105
Binary files /dev/null and b/src/images/creatures/Greater demon berserker#Wilderness.png differ
diff --git a/src/images/creatures/Greater demon brute#Default.png b/src/images/creatures/Greater demon brute#Default.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/src/images/creatures/Greater demon brute#Default.png differ
diff --git a/src/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png b/src/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png
new file mode 100644 (file)
index 0000000..469a9d3
Binary files /dev/null and b/src/images/creatures/Greater demon pyromancer#The Zamorakian Undercity.png differ
diff --git a/src/images/creatures/Greater demon pyromancer#Wilderness.png b/src/images/creatures/Greater demon pyromancer#Wilderness.png
new file mode 100644 (file)
index 0000000..469a9d3
Binary files /dev/null and b/src/images/creatures/Greater demon pyromancer#Wilderness.png differ
diff --git a/src/images/creatures/Greater demon sage#Default.png b/src/images/creatures/Greater demon sage#Default.png
new file mode 100644 (file)
index 0000000..6d29c16
Binary files /dev/null and b/src/images/creatures/Greater demon sage#Default.png differ
diff --git a/src/images/creatures/Greater demon savage#Default.png b/src/images/creatures/Greater demon savage#Default.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/src/images/creatures/Greater demon savage#Default.png differ
diff --git a/src/images/creatures/Greater demon#1.png b/src/images/creatures/Greater demon#1.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/src/images/creatures/Greater demon#1.png differ
diff --git a/src/images/creatures/Greater demon#2.png b/src/images/creatures/Greater demon#2.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/src/images/creatures/Greater demon#2.png differ
diff --git a/src/images/creatures/Greater demon#3.png b/src/images/creatures/Greater demon#3.png
new file mode 100644 (file)
index 0000000..82c4105
Binary files /dev/null and b/src/images/creatures/Greater demon#3.png differ
diff --git a/src/images/creatures/Greater demon#4.png b/src/images/creatures/Greater demon#4.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/src/images/creatures/Greater demon#4.png differ
diff --git a/src/images/creatures/Greater demon#5.png b/src/images/creatures/Greater demon#5.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/src/images/creatures/Greater demon#5.png differ
diff --git a/src/images/creatures/Green dragon#1.png b/src/images/creatures/Green dragon#1.png
new file mode 100644 (file)
index 0000000..6427cdd
Binary files /dev/null and b/src/images/creatures/Green dragon#1.png differ
diff --git a/src/images/creatures/Green dragon#2.png b/src/images/creatures/Green dragon#2.png
new file mode 100644 (file)
index 0000000..75da7d5
Binary files /dev/null and b/src/images/creatures/Green dragon#2.png differ
diff --git a/src/images/creatures/Green dragon#3.png b/src/images/creatures/Green dragon#3.png
new file mode 100644 (file)
index 0000000..608b97a
Binary files /dev/null and b/src/images/creatures/Green dragon#3.png differ
diff --git a/src/images/creatures/Green dragon#4.png b/src/images/creatures/Green dragon#4.png
new file mode 100644 (file)
index 0000000..f9d58d2
Binary files /dev/null and b/src/images/creatures/Green dragon#4.png differ
diff --git a/src/images/creatures/Green dragon#5.png b/src/images/creatures/Green dragon#5.png
new file mode 100644 (file)
index 0000000..b069f74
Binary files /dev/null and b/src/images/creatures/Green dragon#5.png differ
diff --git a/src/images/creatures/Gregorovic#Challenge Mode.png b/src/images/creatures/Gregorovic#Challenge Mode.png
new file mode 100644 (file)
index 0000000..0148046
Binary files /dev/null and b/src/images/creatures/Gregorovic#Challenge Mode.png differ
diff --git a/src/images/creatures/Gregorovic#Normal Mode.png b/src/images/creatures/Gregorovic#Normal Mode.png
new file mode 100644 (file)
index 0000000..0148046
Binary files /dev/null and b/src/images/creatures/Gregorovic#Normal Mode.png differ
diff --git a/src/images/creatures/Gregorovic#Sliske's Endgame.png b/src/images/creatures/Gregorovic#Sliske's Endgame.png
new file mode 100644 (file)
index 0000000..0148046
Binary files /dev/null and b/src/images/creatures/Gregorovic#Sliske's Endgame.png differ
diff --git a/src/images/creatures/Grifolapine#Neem oil.png b/src/images/creatures/Grifolapine#Neem oil.png
new file mode 100644 (file)
index 0000000..41076a7
Binary files /dev/null and b/src/images/creatures/Grifolapine#Neem oil.png differ
diff --git a/src/images/creatures/Grifolapine#Normal.png b/src/images/creatures/Grifolapine#Normal.png
new file mode 100644 (file)
index 0000000..b3b8e6e
Binary files /dev/null and b/src/images/creatures/Grifolapine#Normal.png differ
diff --git a/src/images/creatures/Grifolaroo#Neem oil.png b/src/images/creatures/Grifolaroo#Neem oil.png
new file mode 100644 (file)
index 0000000..9c55e8a
Binary files /dev/null and b/src/images/creatures/Grifolaroo#Neem oil.png differ
diff --git a/src/images/creatures/Grifolaroo#Normal.png b/src/images/creatures/Grifolaroo#Normal.png
new file mode 100644 (file)
index 0000000..159f5c5
Binary files /dev/null and b/src/images/creatures/Grifolaroo#Normal.png differ
diff --git a/src/images/creatures/Grizzly bear cub#Default.png b/src/images/creatures/Grizzly bear cub#Default.png
new file mode 100644 (file)
index 0000000..1044909
Binary files /dev/null and b/src/images/creatures/Grizzly bear cub#Default.png differ
diff --git a/src/images/creatures/Grizzly bear#Standard.png b/src/images/creatures/Grizzly bear#Standard.png
new file mode 100644 (file)
index 0000000..fc8b0f4
Binary files /dev/null and b/src/images/creatures/Grizzly bear#Standard.png differ
diff --git a/src/images/creatures/Grizzly bear#Tirannwn.png b/src/images/creatures/Grizzly bear#Tirannwn.png
new file mode 100644 (file)
index 0000000..fc8b0f4
Binary files /dev/null and b/src/images/creatures/Grizzly bear#Tirannwn.png differ
diff --git a/src/images/creatures/Grotworm#Default.png b/src/images/creatures/Grotworm#Default.png
new file mode 100644 (file)
index 0000000..b6bea35
Binary files /dev/null and b/src/images/creatures/Grotworm#Default.png differ
diff --git a/src/images/creatures/Guard (cave goblin)#Club.png b/src/images/creatures/Guard (cave goblin)#Club.png
new file mode 100644 (file)
index 0000000..1bd53d4
Binary files /dev/null and b/src/images/creatures/Guard (cave goblin)#Club.png differ
diff --git a/src/images/creatures/Guard (cave goblin)#Spear.png b/src/images/creatures/Guard (cave goblin)#Spear.png
new file mode 100644 (file)
index 0000000..d15831b
Binary files /dev/null and b/src/images/creatures/Guard (cave goblin)#Spear.png differ
diff --git a/src/images/creatures/Guard dog#Default.png b/src/images/creatures/Guard dog#Default.png
new file mode 100644 (file)
index 0000000..fa5eb54
Binary files /dev/null and b/src/images/creatures/Guard dog#Default.png differ
diff --git a/src/images/creatures/Guthan the Infested#Normal.png b/src/images/creatures/Guthan the Infested#Normal.png
new file mode 100644 (file)
index 0000000..99b8492
Binary files /dev/null and b/src/images/creatures/Guthan the Infested#Normal.png differ
diff --git a/src/images/creatures/Guthan the Infested#Rise of the Six.png b/src/images/creatures/Guthan the Infested#Rise of the Six.png
new file mode 100644 (file)
index 0000000..aa8e456
Binary files /dev/null and b/src/images/creatures/Guthan the Infested#Rise of the Six.png differ
diff --git a/src/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png b/src/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..99b8492
Binary files /dev/null and b/src/images/creatures/Guthan the Infested#Ritual of the Mahjarrat.png differ
diff --git a/src/images/creatures/Har-Aken#Head.png b/src/images/creatures/Har-Aken#Head.png
new file mode 100644 (file)
index 0000000..2519191
Binary files /dev/null and b/src/images/creatures/Har-Aken#Head.png differ
diff --git a/src/images/creatures/Har-Aken#Magic Tentacle.png b/src/images/creatures/Har-Aken#Magic Tentacle.png
new file mode 100644 (file)
index 0000000..a60d5dd
Binary files /dev/null and b/src/images/creatures/Har-Aken#Magic Tentacle.png differ
diff --git a/src/images/creatures/Har-Aken#Ranged Tentacle.png b/src/images/creatures/Har-Aken#Ranged Tentacle.png
new file mode 100644 (file)
index 0000000..4dbdb04
Binary files /dev/null and b/src/images/creatures/Har-Aken#Ranged Tentacle.png differ
diff --git a/src/images/creatures/Harpie Bug Swarm (elite)#Default.png b/src/images/creatures/Harpie Bug Swarm (elite)#Default.png
new file mode 100644 (file)
index 0000000..676de93
Binary files /dev/null and b/src/images/creatures/Harpie Bug Swarm (elite)#Default.png differ
diff --git a/src/images/creatures/Harpie Bug Swarm#Default.png b/src/images/creatures/Harpie Bug Swarm#Default.png
new file mode 100644 (file)
index 0000000..676de93
Binary files /dev/null and b/src/images/creatures/Harpie Bug Swarm#Default.png differ
diff --git a/src/images/creatures/Hellhound (Heart of Gielinor)#Default.png b/src/images/creatures/Hellhound (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound (Heart of Gielinor)#Default.png differ
diff --git a/src/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png b/src/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound (The Zamorakian Undercity)#Default.png differ
diff --git a/src/images/creatures/Hellhound (summoned)#Default.png b/src/images/creatures/Hellhound (summoned)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound (summoned)#Default.png differ
diff --git a/src/images/creatures/Hellhound Alpha#Default.png b/src/images/creatures/Hellhound Alpha#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound Alpha#Default.png differ
diff --git a/src/images/creatures/Hellhound Hunter (summoned)#Default.png b/src/images/creatures/Hellhound Hunter (summoned)#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound Hunter (summoned)#Default.png differ
diff --git a/src/images/creatures/Hellhound Hunter#Default.png b/src/images/creatures/Hellhound Hunter#Default.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound Hunter#Default.png differ
diff --git a/src/images/creatures/Hellhound#God Wars Dungeon.png b/src/images/creatures/Hellhound#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound#God Wars Dungeon.png differ
diff --git a/src/images/creatures/Hellhound#Level 105.png b/src/images/creatures/Hellhound#Level 105.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound#Level 105.png differ
diff --git a/src/images/creatures/Hellhound#Normal.png b/src/images/creatures/Hellhound#Normal.png
new file mode 100644 (file)
index 0000000..9bb7aa6
Binary files /dev/null and b/src/images/creatures/Hellhound#Normal.png differ
diff --git a/src/images/creatures/Helwyr#Challenge Mode.png b/src/images/creatures/Helwyr#Challenge Mode.png
new file mode 100644 (file)
index 0000000..1cd8db5
Binary files /dev/null and b/src/images/creatures/Helwyr#Challenge Mode.png differ
diff --git a/src/images/creatures/Helwyr#Normal Mode.png b/src/images/creatures/Helwyr#Normal Mode.png
new file mode 100644 (file)
index 0000000..1cd8db5
Binary files /dev/null and b/src/images/creatures/Helwyr#Normal Mode.png differ
diff --git a/src/images/creatures/Hermod, the Spirit of War#Normal.png b/src/images/creatures/Hermod, the Spirit of War#Normal.png
new file mode 100644 (file)
index 0000000..6201526
Binary files /dev/null and b/src/images/creatures/Hermod, the Spirit of War#Normal.png differ
diff --git a/src/images/creatures/Hermod, the Spirit of War#Quest.png b/src/images/creatures/Hermod, the Spirit of War#Quest.png
new file mode 100644 (file)
index 0000000..6201526
Binary files /dev/null and b/src/images/creatures/Hermod, the Spirit of War#Quest.png differ
diff --git a/src/images/creatures/Hill Giant#Default.png b/src/images/creatures/Hill Giant#Default.png
new file mode 100644 (file)
index 0000000..41b2a75
Binary files /dev/null and b/src/images/creatures/Hill Giant#Default.png differ
diff --git a/src/images/creatures/Hobgoblin (elite)#Default.png b/src/images/creatures/Hobgoblin (elite)#Default.png
new file mode 100644 (file)
index 0000000..b53745a
Binary files /dev/null and b/src/images/creatures/Hobgoblin (elite)#Default.png differ
diff --git a/src/images/creatures/Hobgoblin#Level 15.png b/src/images/creatures/Hobgoblin#Level 15.png
new file mode 100644 (file)
index 0000000..ddd7edc
Binary files /dev/null and b/src/images/creatures/Hobgoblin#Level 15.png differ
diff --git a/src/images/creatures/Hobgoblin#Level 18.png b/src/images/creatures/Hobgoblin#Level 18.png
new file mode 100644 (file)
index 0000000..ed99c04
Binary files /dev/null and b/src/images/creatures/Hobgoblin#Level 18.png differ
diff --git a/src/images/creatures/Hobgoblin#Level 91 (GWD).png b/src/images/creatures/Hobgoblin#Level 91 (GWD).png
new file mode 100644 (file)
index 0000000..ae43bae
Binary files /dev/null and b/src/images/creatures/Hobgoblin#Level 91 (GWD).png differ
diff --git a/src/images/creatures/Huge skeleton#Normal mode.png b/src/images/creatures/Huge skeleton#Normal mode.png
new file mode 100644 (file)
index 0000000..606c775
Binary files /dev/null and b/src/images/creatures/Huge skeleton#Normal mode.png differ
diff --git a/src/images/creatures/Huge skeleton#Story mode.png b/src/images/creatures/Huge skeleton#Story mode.png
new file mode 100644 (file)
index 0000000..9434269
Binary files /dev/null and b/src/images/creatures/Huge skeleton#Story mode.png differ
diff --git a/src/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png b/src/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..a0ace31
Binary files /dev/null and b/src/images/creatures/Hydrix dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Hydrix dragon#Default.png b/src/images/creatures/Hydrix dragon#Default.png
new file mode 100644 (file)
index 0000000..af7dd97
Binary files /dev/null and b/src/images/creatures/Hydrix dragon#Default.png differ
diff --git a/src/images/creatures/Ice giant#Level 47 (1).png b/src/images/creatures/Ice giant#Level 47 (1).png
new file mode 100644 (file)
index 0000000..d719e9c
Binary files /dev/null and b/src/images/creatures/Ice giant#Level 47 (1).png differ
diff --git a/src/images/creatures/Ice giant#Level 47 (2).png b/src/images/creatures/Ice giant#Level 47 (2).png
new file mode 100644 (file)
index 0000000..8f7e437
Binary files /dev/null and b/src/images/creatures/Ice giant#Level 47 (2).png differ
diff --git a/src/images/creatures/Ice nihil#boss.png b/src/images/creatures/Ice nihil#boss.png
new file mode 100644 (file)
index 0000000..ce13061
Binary files /dev/null and b/src/images/creatures/Ice nihil#boss.png differ
diff --git a/src/images/creatures/Ice nihil#normal.png b/src/images/creatures/Ice nihil#normal.png
new file mode 100644 (file)
index 0000000..ce13061
Binary files /dev/null and b/src/images/creatures/Ice nihil#normal.png differ
diff --git a/src/images/creatures/Ice spider#Default.png b/src/images/creatures/Ice spider#Default.png
new file mode 100644 (file)
index 0000000..33d0cae
Binary files /dev/null and b/src/images/creatures/Ice spider#Default.png differ
diff --git a/src/images/creatures/Ice strykewyrm#Default.png b/src/images/creatures/Ice strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..8c920cf
Binary files /dev/null and b/src/images/creatures/Ice strykewyrm#Default.png differ
diff --git a/src/images/creatures/Ice troll female#Default.png b/src/images/creatures/Ice troll female#Default.png
new file mode 100644 (file)
index 0000000..e169765
Binary files /dev/null and b/src/images/creatures/Ice troll female#Default.png differ
diff --git a/src/images/creatures/Ice troll grunt#Default.png b/src/images/creatures/Ice troll grunt#Default.png
new file mode 100644 (file)
index 0000000..369d4a3
Binary files /dev/null and b/src/images/creatures/Ice troll grunt#Default.png differ
diff --git a/src/images/creatures/Ice troll male#Default.png b/src/images/creatures/Ice troll male#Default.png
new file mode 100644 (file)
index 0000000..2e76436
Binary files /dev/null and b/src/images/creatures/Ice troll male#Default.png differ
diff --git a/src/images/creatures/Ice troll runt#Default.png b/src/images/creatures/Ice troll runt#Default.png
new file mode 100644 (file)
index 0000000..9050799
Binary files /dev/null and b/src/images/creatures/Ice troll runt#Default.png differ
diff --git a/src/images/creatures/Ice troll#Desert Treasure.png b/src/images/creatures/Ice troll#Desert Treasure.png
new file mode 100644 (file)
index 0000000..26abd33
Binary files /dev/null and b/src/images/creatures/Ice troll#Desert Treasure.png differ
diff --git a/src/images/creatures/Ice troll#Troll Romance.png b/src/images/creatures/Ice troll#Troll Romance.png
new file mode 100644 (file)
index 0000000..26abd33
Binary files /dev/null and b/src/images/creatures/Ice troll#Troll Romance.png differ
diff --git a/src/images/creatures/Ice warrior#Ice Queen's Lair.png b/src/images/creatures/Ice warrior#Ice Queen's Lair.png
new file mode 100644 (file)
index 0000000..25439ea
Binary files /dev/null and b/src/images/creatures/Ice warrior#Ice Queen's Lair.png differ
diff --git a/src/images/creatures/Ice warrior#Normal.png b/src/images/creatures/Ice warrior#Normal.png
new file mode 100644 (file)
index 0000000..b550030
Binary files /dev/null and b/src/images/creatures/Ice warrior#Normal.png differ
diff --git a/src/images/creatures/Ice wolf#58.png b/src/images/creatures/Ice wolf#58.png
new file mode 100644 (file)
index 0000000..522c837
Binary files /dev/null and b/src/images/creatures/Ice wolf#58.png differ
diff --git a/src/images/creatures/Ice wolf#72.png b/src/images/creatures/Ice wolf#72.png
new file mode 100644 (file)
index 0000000..522c837
Binary files /dev/null and b/src/images/creatures/Ice wolf#72.png differ
diff --git a/src/images/creatures/Icefiend (Ghorrock)#Default.png b/src/images/creatures/Icefiend (Ghorrock)#Default.png
new file mode 100644 (file)
index 0000000..5846323
Binary files /dev/null and b/src/images/creatures/Icefiend (Ghorrock)#Default.png differ
diff --git a/src/images/creatures/Icefiend#God Wars Dungeon.png b/src/images/creatures/Icefiend#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..c391624
Binary files /dev/null and b/src/images/creatures/Icefiend#God Wars Dungeon.png differ
diff --git a/src/images/creatures/Icefiend#Ice Mountain (melting).png b/src/images/creatures/Icefiend#Ice Mountain (melting).png
new file mode 100644 (file)
index 0000000..c391624
Binary files /dev/null and b/src/images/creatures/Icefiend#Ice Mountain (melting).png differ
diff --git a/src/images/creatures/Icefiend#Ice Mountain.png b/src/images/creatures/Icefiend#Ice Mountain.png
new file mode 100644 (file)
index 0000000..c391624
Binary files /dev/null and b/src/images/creatures/Icefiend#Ice Mountain.png differ
diff --git a/src/images/creatures/Icelord#melee.png b/src/images/creatures/Icelord#melee.png
new file mode 100644 (file)
index 0000000..c6d6479
Binary files /dev/null and b/src/images/creatures/Icelord#melee.png differ
diff --git a/src/images/creatures/Icelord#ranged.png b/src/images/creatures/Icelord#ranged.png
new file mode 100644 (file)
index 0000000..c6d6479
Binary files /dev/null and b/src/images/creatures/Icelord#ranged.png differ
diff --git a/src/images/creatures/Imp scavenger#Default.png b/src/images/creatures/Imp scavenger#Default.png
new file mode 100644 (file)
index 0000000..54d8879
Binary files /dev/null and b/src/images/creatures/Imp scavenger#Default.png differ
diff --git a/src/images/creatures/Imp#God Wars Dungeon.png b/src/images/creatures/Imp#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..a967130
Binary files /dev/null and b/src/images/creatures/Imp#God Wars Dungeon.png differ
diff --git a/src/images/creatures/Imp#Normal.png b/src/images/creatures/Imp#Normal.png
new file mode 100644 (file)
index 0000000..a967130
Binary files /dev/null and b/src/images/creatures/Imp#Normal.png differ
diff --git a/src/images/creatures/Imperial mage akh#Default.png b/src/images/creatures/Imperial mage akh#Default.png
new file mode 100644 (file)
index 0000000..f9e3119
Binary files /dev/null and b/src/images/creatures/Imperial mage akh#Default.png differ
diff --git a/src/images/creatures/Imperial ranger akh#Default.png b/src/images/creatures/Imperial ranger akh#Default.png
new file mode 100644 (file)
index 0000000..010d202
Binary files /dev/null and b/src/images/creatures/Imperial ranger akh#Default.png differ
diff --git a/src/images/creatures/Imperial warrior akh#Default.png b/src/images/creatures/Imperial warrior akh#Default.png
new file mode 100644 (file)
index 0000000..faa81f6
Binary files /dev/null and b/src/images/creatures/Imperial warrior akh#Default.png differ
diff --git a/src/images/creatures/Infernal Mage (elite)#Default.png b/src/images/creatures/Infernal Mage (elite)#Default.png
new file mode 100644 (file)
index 0000000..c9fe205
Binary files /dev/null and b/src/images/creatures/Infernal Mage (elite)#Default.png differ
diff --git a/src/images/creatures/Infernal Mage#Default.png b/src/images/creatures/Infernal Mage#Default.png
new file mode 100644 (file)
index 0000000..c9fe205
Binary files /dev/null and b/src/images/creatures/Infernal Mage#Default.png differ
diff --git a/src/images/creatures/Iorwerth guard#Default.png b/src/images/creatures/Iorwerth guard#Default.png
new file mode 100644 (file)
index 0000000..75f6659
Binary files /dev/null and b/src/images/creatures/Iorwerth guard#Default.png differ
diff --git a/src/images/creatures/Iorwerth scout#Default.png b/src/images/creatures/Iorwerth scout#Default.png
new file mode 100644 (file)
index 0000000..27113b1
Binary files /dev/null and b/src/images/creatures/Iorwerth scout#Default.png differ
diff --git a/src/images/creatures/Iron dragon#Default.png b/src/images/creatures/Iron dragon#Default.png
new file mode 100644 (file)
index 0000000..c206d0c
Binary files /dev/null and b/src/images/creatures/Iron dragon#Default.png differ
diff --git a/src/images/creatures/Jackal#Default.png b/src/images/creatures/Jackal#Default.png
new file mode 100644 (file)
index 0000000..dc72d7a
Binary files /dev/null and b/src/images/creatures/Jackal#Default.png differ
diff --git a/src/images/creatures/Jelly#Default.png b/src/images/creatures/Jelly#Default.png
new file mode 100644 (file)
index 0000000..9be0e6d
Binary files /dev/null and b/src/images/creatures/Jelly#Default.png differ
diff --git a/src/images/creatures/Jubbly bird#Default.png b/src/images/creatures/Jubbly bird#Default.png
new file mode 100644 (file)
index 0000000..ee6817d
Binary files /dev/null and b/src/images/creatures/Jubbly bird#Default.png differ
diff --git a/src/images/creatures/Jungle Wolf#Default.png b/src/images/creatures/Jungle Wolf#Default.png
new file mode 100644 (file)
index 0000000..7385e90
Binary files /dev/null and b/src/images/creatures/Jungle Wolf#Default.png differ
diff --git a/src/images/creatures/Jungle horror#Default.png b/src/images/creatures/Jungle horror#Default.png
new file mode 100644 (file)
index 0000000..8186649
Binary files /dev/null and b/src/images/creatures/Jungle horror#Default.png differ
diff --git a/src/images/creatures/Jungle spider#Ape Atoll.png b/src/images/creatures/Jungle spider#Ape Atoll.png
new file mode 100644 (file)
index 0000000..6399bfe
Binary files /dev/null and b/src/images/creatures/Jungle spider#Ape Atoll.png differ
diff --git a/src/images/creatures/Jungle spider#Common.png b/src/images/creatures/Jungle spider#Common.png
new file mode 100644 (file)
index 0000000..c06eaca
Binary files /dev/null and b/src/images/creatures/Jungle spider#Common.png differ
diff --git a/src/images/creatures/Jungle spider#Jade Vine (level 42).png b/src/images/creatures/Jungle spider#Jade Vine (level 42).png
new file mode 100644 (file)
index 0000000..e857446
Binary files /dev/null and b/src/images/creatures/Jungle spider#Jade Vine (level 42).png differ
diff --git a/src/images/creatures/Jungle spider#Jade Vine (level 49).png b/src/images/creatures/Jungle spider#Jade Vine (level 49).png
new file mode 100644 (file)
index 0000000..e857446
Binary files /dev/null and b/src/images/creatures/Jungle spider#Jade Vine (level 49).png differ
diff --git a/src/images/creatures/Jungle spider#Musa Point.png b/src/images/creatures/Jungle spider#Musa Point.png
new file mode 100644 (file)
index 0000000..c06eaca
Binary files /dev/null and b/src/images/creatures/Jungle spider#Musa Point.png differ
diff --git a/src/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png b/src/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png
new file mode 100644 (file)
index 0000000..c06eaca
Binary files /dev/null and b/src/images/creatures/Jungle spider#Tai Bwo Wannai Cleanup.png differ
diff --git a/src/images/creatures/Jungle strykewyrm#Default.png b/src/images/creatures/Jungle strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..b8b299b
Binary files /dev/null and b/src/images/creatures/Jungle strykewyrm#Default.png differ
diff --git a/src/images/creatures/K'ril Tsutsaroth#Hard mode.png b/src/images/creatures/K'ril Tsutsaroth#Hard mode.png
new file mode 100644 (file)
index 0000000..e0c330d
Binary files /dev/null and b/src/images/creatures/K'ril Tsutsaroth#Hard mode.png differ
diff --git a/src/images/creatures/K'ril Tsutsaroth#Normal.png b/src/images/creatures/K'ril Tsutsaroth#Normal.png
new file mode 100644 (file)
index 0000000..e0c330d
Binary files /dev/null and b/src/images/creatures/K'ril Tsutsaroth#Normal.png differ
diff --git a/src/images/creatures/K'ril Tsutsaroth#The World Wakes.png b/src/images/creatures/K'ril Tsutsaroth#The World Wakes.png
new file mode 100644 (file)
index 0000000..ec13f22
Binary files /dev/null and b/src/images/creatures/K'ril Tsutsaroth#The World Wakes.png differ
diff --git a/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png
new file mode 100644 (file)
index 0000000..969f06b
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Bloodchiller.png differ
diff --git a/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png
new file mode 100644 (file)
index 0000000..4d805f9
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Pummeller.png differ
diff --git a/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png
new file mode 100644 (file)
index 0000000..51817b4
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Riftsplitter.png differ
diff --git a/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png
new file mode 100644 (file)
index 0000000..8b0456a
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon (The Shadow Reef)#Warmonger.png differ
diff --git a/src/images/creatures/Kal'gerion demon#Bloodchiller.png b/src/images/creatures/Kal'gerion demon#Bloodchiller.png
new file mode 100644 (file)
index 0000000..969f06b
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon#Bloodchiller.png differ
diff --git a/src/images/creatures/Kal'gerion demon#Pummeller.png b/src/images/creatures/Kal'gerion demon#Pummeller.png
new file mode 100644 (file)
index 0000000..4d805f9
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon#Pummeller.png differ
diff --git a/src/images/creatures/Kal'gerion demon#Riftsplitter.png b/src/images/creatures/Kal'gerion demon#Riftsplitter.png
new file mode 100644 (file)
index 0000000..51817b4
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon#Riftsplitter.png differ
diff --git a/src/images/creatures/Kal'gerion demon#Rush of Blood.png b/src/images/creatures/Kal'gerion demon#Rush of Blood.png
new file mode 100644 (file)
index 0000000..969f06b
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon#Rush of Blood.png differ
diff --git a/src/images/creatures/Kal'gerion demon#Thunderous.png b/src/images/creatures/Kal'gerion demon#Thunderous.png
new file mode 100644 (file)
index 0000000..bb63a7a
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon#Thunderous.png differ
diff --git a/src/images/creatures/Kal'gerion demon#Warmonger.png b/src/images/creatures/Kal'gerion demon#Warmonger.png
new file mode 100644 (file)
index 0000000..8b0456a
Binary files /dev/null and b/src/images/creatures/Kal'gerion demon#Warmonger.png differ
diff --git a/src/images/creatures/Kalphite Guardian#Default.png b/src/images/creatures/Kalphite Guardian#Default.png
new file mode 100644 (file)
index 0000000..5a2aaaf
Binary files /dev/null and b/src/images/creatures/Kalphite Guardian#Default.png differ
diff --git a/src/images/creatures/Kalphite King#Magic.png b/src/images/creatures/Kalphite King#Magic.png
new file mode 100644 (file)
index 0000000..958b226
Binary files /dev/null and b/src/images/creatures/Kalphite King#Magic.png differ
diff --git a/src/images/creatures/Kalphite King#Melee.png b/src/images/creatures/Kalphite King#Melee.png
new file mode 100644 (file)
index 0000000..af6b812
Binary files /dev/null and b/src/images/creatures/Kalphite King#Melee.png differ
diff --git a/src/images/creatures/Kalphite King#Ranged.png b/src/images/creatures/Kalphite King#Ranged.png
new file mode 100644 (file)
index 0000000..59bbfd2
Binary files /dev/null and b/src/images/creatures/Kalphite King#Ranged.png differ
diff --git a/src/images/creatures/Kalphite Queen#First form.png b/src/images/creatures/Kalphite Queen#First form.png
new file mode 100644 (file)
index 0000000..fb6ea32
Binary files /dev/null and b/src/images/creatures/Kalphite Queen#First form.png differ
diff --git a/src/images/creatures/Kalphite Queen#Second form.png b/src/images/creatures/Kalphite Queen#Second form.png
new file mode 100644 (file)
index 0000000..98c9a68
Binary files /dev/null and b/src/images/creatures/Kalphite Queen#Second form.png differ
diff --git a/src/images/creatures/Kalphite Soldier#Default.png b/src/images/creatures/Kalphite Soldier#Default.png
new file mode 100644 (file)
index 0000000..b7e3642
Binary files /dev/null and b/src/images/creatures/Kalphite Soldier#Default.png differ
diff --git a/src/images/creatures/Kalphite Worker#Default.png b/src/images/creatures/Kalphite Worker#Default.png
new file mode 100644 (file)
index 0000000..57a24ee
Binary files /dev/null and b/src/images/creatures/Kalphite Worker#Default.png differ
diff --git a/src/images/creatures/Karil the Tainted#Normal.png b/src/images/creatures/Karil the Tainted#Normal.png
new file mode 100644 (file)
index 0000000..93af2f8
Binary files /dev/null and b/src/images/creatures/Karil the Tainted#Normal.png differ
diff --git a/src/images/creatures/Karil the Tainted#Rise of the Six.png b/src/images/creatures/Karil the Tainted#Rise of the Six.png
new file mode 100644 (file)
index 0000000..747fd49
Binary files /dev/null and b/src/images/creatures/Karil the Tainted#Rise of the Six.png differ
diff --git a/src/images/creatures/Kerapac, the bound#Hard mode.png b/src/images/creatures/Kerapac, the bound#Hard mode.png
new file mode 100644 (file)
index 0000000..036dfc0
Binary files /dev/null and b/src/images/creatures/Kerapac, the bound#Hard mode.png differ
diff --git a/src/images/creatures/Kerapac, the bound#Normal mode.png b/src/images/creatures/Kerapac, the bound#Normal mode.png
new file mode 100644 (file)
index 0000000..036dfc0
Binary files /dev/null and b/src/images/creatures/Kerapac, the bound#Normal mode.png differ
diff --git a/src/images/creatures/Killerwatt#Default.png b/src/images/creatures/Killerwatt#Default.png
new file mode 100644 (file)
index 0000000..7180917
Binary files /dev/null and b/src/images/creatures/Killerwatt#Default.png differ
diff --git a/src/images/creatures/King Black Dragon#Default.png b/src/images/creatures/King Black Dragon#Default.png
new file mode 100644 (file)
index 0000000..0a34263
Binary files /dev/null and b/src/images/creatures/King Black Dragon#Default.png differ
diff --git a/src/images/creatures/King Scorpion#Default.png b/src/images/creatures/King Scorpion#Default.png
new file mode 100644 (file)
index 0000000..a54be5a
Binary files /dev/null and b/src/images/creatures/King Scorpion#Default.png differ
diff --git a/src/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png b/src/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png
new file mode 100644 (file)
index 0000000..c7bcdf1
Binary files /dev/null and b/src/images/creatures/Knight of Ardougne (West Ardougne)#Mourner Tunnels.png differ
diff --git a/src/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png b/src/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png
new file mode 100644 (file)
index 0000000..c7bcdf1
Binary files /dev/null and b/src/images/creatures/Knight of Ardougne (West Ardougne)#Surface.png differ
diff --git a/src/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png b/src/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/src/images/creatures/Kor'Vath the Blightbringer#140,000 life points.png differ
diff --git a/src/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png b/src/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/src/images/creatures/Kor'Vath the Blightbringer#170,000 life points.png differ
diff --git a/src/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png b/src/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png
new file mode 100644 (file)
index 0000000..bf4d40b
Binary files /dev/null and b/src/images/creatures/Kor'Vath the Blightbringer#400,000 life points.png differ
diff --git a/src/images/creatures/Kraka#Default.png b/src/images/creatures/Kraka#Default.png
new file mode 100644 (file)
index 0000000..1918672
Binary files /dev/null and b/src/images/creatures/Kraka#Default.png differ
diff --git a/src/images/creatures/Kree'arra#Hard Mode.png b/src/images/creatures/Kree'arra#Hard Mode.png
new file mode 100644 (file)
index 0000000..1f73292
Binary files /dev/null and b/src/images/creatures/Kree'arra#Hard Mode.png differ
diff --git a/src/images/creatures/Kree'arra#Normal.png b/src/images/creatures/Kree'arra#Normal.png
new file mode 100644 (file)
index 0000000..1f73292
Binary files /dev/null and b/src/images/creatures/Kree'arra#Normal.png differ
diff --git a/src/images/creatures/Kree'arra#The World Wakes.png b/src/images/creatures/Kree'arra#The World Wakes.png
new file mode 100644 (file)
index 0000000..1f73292
Binary files /dev/null and b/src/images/creatures/Kree'arra#The World Wakes.png differ
diff --git a/src/images/creatures/Kurask#Examine #1.png b/src/images/creatures/Kurask#Examine #1.png
new file mode 100644 (file)
index 0000000..47a0770
Binary files /dev/null and b/src/images/creatures/Kurask#Examine #1.png differ
diff --git a/src/images/creatures/Kurask#Examine #2.png b/src/images/creatures/Kurask#Examine #2.png
new file mode 100644 (file)
index 0000000..47a0770
Binary files /dev/null and b/src/images/creatures/Kurask#Examine #2.png differ
diff --git a/src/images/creatures/La'Kalor the Unbroken#Default.png b/src/images/creatures/La'Kalor the Unbroken#Default.png
new file mode 100644 (file)
index 0000000..6532237
Binary files /dev/null and b/src/images/creatures/La'Kalor the Unbroken#Default.png differ
diff --git a/src/images/creatures/Laboratory slime#Adult (normal mode).png b/src/images/creatures/Laboratory slime#Adult (normal mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/src/images/creatures/Laboratory slime#Adult (normal mode).png differ
diff --git a/src/images/creatures/Laboratory slime#Adult (story mode).png b/src/images/creatures/Laboratory slime#Adult (story mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/src/images/creatures/Laboratory slime#Adult (story mode).png differ
diff --git a/src/images/creatures/Laboratory slime#Spawnling (normal mode).png b/src/images/creatures/Laboratory slime#Spawnling (normal mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/src/images/creatures/Laboratory slime#Spawnling (normal mode).png differ
diff --git a/src/images/creatures/Laboratory slime#Spawnling (story mode).png b/src/images/creatures/Laboratory slime#Spawnling (story mode).png
new file mode 100644 (file)
index 0000000..9710ab6
Binary files /dev/null and b/src/images/creatures/Laboratory slime#Spawnling (story mode).png differ
diff --git a/src/images/creatures/Lampenflora#Default.png b/src/images/creatures/Lampenflora#Default.png
new file mode 100644 (file)
index 0000000..03e5df5
Binary files /dev/null and b/src/images/creatures/Lampenflora#Default.png differ
diff --git a/src/images/creatures/Lava spider#Normal mode.png b/src/images/creatures/Lava spider#Normal mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/src/images/creatures/Lava spider#Normal mode.png differ
diff --git a/src/images/creatures/Lava spider#Story mode.png b/src/images/creatures/Lava spider#Story mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/src/images/creatures/Lava spider#Story mode.png differ
diff --git a/src/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png b/src/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..fabdb27
Binary files /dev/null and b/src/images/creatures/Lava strykewyrm (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Lava strykewyrm#Default.png b/src/images/creatures/Lava strykewyrm#Default.png
new file mode 100644 (file)
index 0000000..fabdb27
Binary files /dev/null and b/src/images/creatures/Lava strykewyrm#Default.png differ
diff --git a/src/images/creatures/Legio Primus#Default.png b/src/images/creatures/Legio Primus#Default.png
new file mode 100644 (file)
index 0000000..8207ebc
Binary files /dev/null and b/src/images/creatures/Legio Primus#Default.png differ
diff --git a/src/images/creatures/Legio Quartus#Default.png b/src/images/creatures/Legio Quartus#Default.png
new file mode 100644 (file)
index 0000000..2a07560
Binary files /dev/null and b/src/images/creatures/Legio Quartus#Default.png differ
diff --git a/src/images/creatures/Legio Quintus#Default.png b/src/images/creatures/Legio Quintus#Default.png
new file mode 100644 (file)
index 0000000..8182e59
Binary files /dev/null and b/src/images/creatures/Legio Quintus#Default.png differ
diff --git a/src/images/creatures/Legio Secundus#Default.png b/src/images/creatures/Legio Secundus#Default.png
new file mode 100644 (file)
index 0000000..afb0612
Binary files /dev/null and b/src/images/creatures/Legio Secundus#Default.png differ
diff --git a/src/images/creatures/Legio Sextus#Default.png b/src/images/creatures/Legio Sextus#Default.png
new file mode 100644 (file)
index 0000000..320a009
Binary files /dev/null and b/src/images/creatures/Legio Sextus#Default.png differ
diff --git a/src/images/creatures/Legio Tertius#Default.png b/src/images/creatures/Legio Tertius#Default.png
new file mode 100644 (file)
index 0000000..f3d970a
Binary files /dev/null and b/src/images/creatures/Legio Tertius#Default.png differ
diff --git a/src/images/creatures/Lesser demon (Wizards' Tower)#Default.png b/src/images/creatures/Lesser demon (Wizards' Tower)#Default.png
new file mode 100644 (file)
index 0000000..66c80fd
Binary files /dev/null and b/src/images/creatures/Lesser demon (Wizards' Tower)#Default.png differ
diff --git a/src/images/creatures/Lesser demon#1.png b/src/images/creatures/Lesser demon#1.png
new file mode 100644 (file)
index 0000000..ef4f9ec
Binary files /dev/null and b/src/images/creatures/Lesser demon#1.png differ
diff --git a/src/images/creatures/Lesser demon#2.png b/src/images/creatures/Lesser demon#2.png
new file mode 100644 (file)
index 0000000..bfbbc45
Binary files /dev/null and b/src/images/creatures/Lesser demon#2.png differ
diff --git a/src/images/creatures/Lesser demon#3.png b/src/images/creatures/Lesser demon#3.png
new file mode 100644 (file)
index 0000000..a3bc5bf
Binary files /dev/null and b/src/images/creatures/Lesser demon#3.png differ
diff --git a/src/images/creatures/Lesser demon#4.png b/src/images/creatures/Lesser demon#4.png
new file mode 100644 (file)
index 0000000..e8cdb85
Binary files /dev/null and b/src/images/creatures/Lesser demon#4.png differ
diff --git a/src/images/creatures/Lesser demon#5.png b/src/images/creatures/Lesser demon#5.png
new file mode 100644 (file)
index 0000000..b164149
Binary files /dev/null and b/src/images/creatures/Lesser demon#5.png differ
diff --git a/src/images/creatures/Linza the Disgraced#Barrows.png b/src/images/creatures/Linza the Disgraced#Barrows.png
new file mode 100644 (file)
index 0000000..b46a5a8
Binary files /dev/null and b/src/images/creatures/Linza the Disgraced#Barrows.png differ
diff --git a/src/images/creatures/Linza the Disgraced#Sliske's Endgame.png b/src/images/creatures/Linza the Disgraced#Sliske's Endgame.png
new file mode 100644 (file)
index 0000000..b46a5a8
Binary files /dev/null and b/src/images/creatures/Linza the Disgraced#Sliske's Endgame.png differ
diff --git a/src/images/creatures/Liverworts#Default.png b/src/images/creatures/Liverworts#Default.png
new file mode 100644 (file)
index 0000000..1f1ed8b
Binary files /dev/null and b/src/images/creatures/Liverworts#Default.png differ
diff --git a/src/images/creatures/Living rock patriarch#Default.png b/src/images/creatures/Living rock patriarch#Default.png
new file mode 100644 (file)
index 0000000..53a3773
Binary files /dev/null and b/src/images/creatures/Living rock patriarch#Default.png differ
diff --git a/src/images/creatures/Living rock protector#Default.png b/src/images/creatures/Living rock protector#Default.png
new file mode 100644 (file)
index 0000000..670832a
Binary files /dev/null and b/src/images/creatures/Living rock protector#Default.png differ
diff --git a/src/images/creatures/Living rock striker#Default.png b/src/images/creatures/Living rock striker#Default.png
new file mode 100644 (file)
index 0000000..5a64dd9
Binary files /dev/null and b/src/images/creatures/Living rock striker#Default.png differ
diff --git a/src/images/creatures/Lizard#Default.png b/src/images/creatures/Lizard#Default.png
new file mode 100644 (file)
index 0000000..1f60855
Binary files /dev/null and b/src/images/creatures/Lizard#Default.png differ
diff --git a/src/images/creatures/Locust lancer#Default.png b/src/images/creatures/Locust lancer#Default.png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/src/images/creatures/Locust lancer#Default.png differ
diff --git a/src/images/creatures/Locust ranger#Default.png b/src/images/creatures/Locust ranger#Default.png
new file mode 100644 (file)
index 0000000..865dc23
Binary files /dev/null and b/src/images/creatures/Locust ranger#Default.png differ
diff --git a/src/images/creatures/Locust rider#Melee (1).png b/src/images/creatures/Locust rider#Melee (1).png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/src/images/creatures/Locust rider#Melee (1).png differ
diff --git a/src/images/creatures/Locust rider#Melee (2).png b/src/images/creatures/Locust rider#Melee (2).png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/src/images/creatures/Locust rider#Melee (2).png differ
diff --git a/src/images/creatures/Locust rider#Melee (3).png b/src/images/creatures/Locust rider#Melee (3).png
new file mode 100644 (file)
index 0000000..57e0407
Binary files /dev/null and b/src/images/creatures/Locust rider#Melee (3).png differ
diff --git a/src/images/creatures/Locust rider#Range (1).png b/src/images/creatures/Locust rider#Range (1).png
new file mode 100644 (file)
index 0000000..f69ab10
Binary files /dev/null and b/src/images/creatures/Locust rider#Range (1).png differ
diff --git a/src/images/creatures/Locust rider#Range (2).png b/src/images/creatures/Locust rider#Range (2).png
new file mode 100644 (file)
index 0000000..f69ab10
Binary files /dev/null and b/src/images/creatures/Locust rider#Range (2).png differ
diff --git a/src/images/creatures/Locust rider#Range (3).png b/src/images/creatures/Locust rider#Range (3).png
new file mode 100644 (file)
index 0000000..f69ab10
Binary files /dev/null and b/src/images/creatures/Locust rider#Range (3).png differ
diff --git a/src/images/creatures/Luminous snaggler#Default.png b/src/images/creatures/Luminous snaggler#Default.png
new file mode 100644 (file)
index 0000000..4ed5a43
Binary files /dev/null and b/src/images/creatures/Luminous snaggler#Default.png differ
diff --git a/src/images/creatures/Lumpnose#Default.png b/src/images/creatures/Lumpnose#Default.png
new file mode 100644 (file)
index 0000000..08c188c
Binary files /dev/null and b/src/images/creatures/Lumpnose#Default.png differ
diff --git a/src/images/creatures/Maelstrom, Raging Waterfiend#Default.png b/src/images/creatures/Maelstrom, Raging Waterfiend#Default.png
new file mode 100644 (file)
index 0000000..761076c
Binary files /dev/null and b/src/images/creatures/Maelstrom, Raging Waterfiend#Default.png differ
diff --git a/src/images/creatures/Magic axe#Default.png b/src/images/creatures/Magic axe#Default.png
new file mode 100644 (file)
index 0000000..9fe8f4d
Binary files /dev/null and b/src/images/creatures/Magic axe#Default.png differ
diff --git a/src/images/creatures/Manifest shadow#Default.png b/src/images/creatures/Manifest shadow#Default.png
new file mode 100644 (file)
index 0000000..6676ecb
Binary files /dev/null and b/src/images/creatures/Manifest shadow#Default.png differ
diff --git a/src/images/creatures/Masuta the Descended#Default.png b/src/images/creatures/Masuta the Descended#Default.png
new file mode 100644 (file)
index 0000000..cf1b059
Binary files /dev/null and b/src/images/creatures/Masuta the Descended#Default.png differ
diff --git a/src/images/creatures/Mature grotworm#Default.png b/src/images/creatures/Mature grotworm#Default.png
new file mode 100644 (file)
index 0000000..9a4adb9
Binary files /dev/null and b/src/images/creatures/Mature grotworm#Default.png differ
diff --git a/src/images/creatures/Mighty banshee#Default.png b/src/images/creatures/Mighty banshee#Default.png
new file mode 100644 (file)
index 0000000..fc66b91
Binary files /dev/null and b/src/images/creatures/Mighty banshee#Default.png differ
diff --git a/src/images/creatures/Minotaur#Level 12.png b/src/images/creatures/Minotaur#Level 12.png
new file mode 100644 (file)
index 0000000..398d742
Binary files /dev/null and b/src/images/creatures/Minotaur#Level 12.png differ
diff --git a/src/images/creatures/Minotaur#Level 15.png b/src/images/creatures/Minotaur#Level 15.png
new file mode 100644 (file)
index 0000000..398d742
Binary files /dev/null and b/src/images/creatures/Minotaur#Level 15.png differ
diff --git a/src/images/creatures/Minotaur#Level 44 (Slayer challenge).png b/src/images/creatures/Minotaur#Level 44 (Slayer challenge).png
new file mode 100644 (file)
index 0000000..398d742
Binary files /dev/null and b/src/images/creatures/Minotaur#Level 44 (Slayer challenge).png differ
diff --git a/src/images/creatures/Mithril dragon#Default.png b/src/images/creatures/Mithril dragon#Default.png
new file mode 100644 (file)
index 0000000..0c9ea82
Binary files /dev/null and b/src/images/creatures/Mithril dragon#Default.png differ
diff --git a/src/images/creatures/Mogre#Default.png b/src/images/creatures/Mogre#Default.png
new file mode 100644 (file)
index 0000000..eb0c0e7
Binary files /dev/null and b/src/images/creatures/Mogre#Default.png differ
diff --git a/src/images/creatures/Molanisk#Default.png b/src/images/creatures/Molanisk#Default.png
new file mode 100644 (file)
index 0000000..aea76fb
Binary files /dev/null and b/src/images/creatures/Molanisk#Default.png differ
diff --git a/src/images/creatures/Monkey Zombie#72.png b/src/images/creatures/Monkey Zombie#72.png
new file mode 100644 (file)
index 0000000..dd6c556
Binary files /dev/null and b/src/images/creatures/Monkey Zombie#72.png differ
diff --git a/src/images/creatures/Monkey Zombie#75.png b/src/images/creatures/Monkey Zombie#75.png
new file mode 100644 (file)
index 0000000..dd6c556
Binary files /dev/null and b/src/images/creatures/Monkey Zombie#75.png differ
diff --git a/src/images/creatures/Monkey Zombie#77.png b/src/images/creatures/Monkey Zombie#77.png
new file mode 100644 (file)
index 0000000..dd6c556
Binary files /dev/null and b/src/images/creatures/Monkey Zombie#77.png differ
diff --git a/src/images/creatures/Moss giant#Common (1).png b/src/images/creatures/Moss giant#Common (1).png
new file mode 100644 (file)
index 0000000..0bd5b32
Binary files /dev/null and b/src/images/creatures/Moss giant#Common (1).png differ
diff --git a/src/images/creatures/Moss giant#Common (2).png b/src/images/creatures/Moss giant#Common (2).png
new file mode 100644 (file)
index 0000000..9d7d3e6
Binary files /dev/null and b/src/images/creatures/Moss giant#Common (2).png differ
diff --git a/src/images/creatures/Moss giant#Common (3).png b/src/images/creatures/Moss giant#Common (3).png
new file mode 100644 (file)
index 0000000..140e2e3
Binary files /dev/null and b/src/images/creatures/Moss giant#Common (3).png differ
diff --git a/src/images/creatures/Moss giant#Common (4).png b/src/images/creatures/Moss giant#Common (4).png
new file mode 100644 (file)
index 0000000..b88fe5e
Binary files /dev/null and b/src/images/creatures/Moss giant#Common (4).png differ
diff --git a/src/images/creatures/Moss giant#Common (5).png b/src/images/creatures/Moss giant#Common (5).png
new file mode 100644 (file)
index 0000000..03287b7
Binary files /dev/null and b/src/images/creatures/Moss giant#Common (5).png differ
diff --git a/src/images/creatures/Moss giant#Glarial's Tomb.png b/src/images/creatures/Moss giant#Glarial's Tomb.png
new file mode 100644 (file)
index 0000000..a2ad574
Binary files /dev/null and b/src/images/creatures/Moss giant#Glarial's Tomb.png differ
diff --git a/src/images/creatures/Moss golem#Default.png b/src/images/creatures/Moss golem#Default.png
new file mode 100644 (file)
index 0000000..5ff905a
Binary files /dev/null and b/src/images/creatures/Moss golem#Default.png differ
diff --git a/src/images/creatures/Mountain troll (well)#Default.png b/src/images/creatures/Mountain troll (well)#Default.png
new file mode 100644 (file)
index 0000000..6599dec
Binary files /dev/null and b/src/images/creatures/Mountain troll (well)#Default.png differ
diff --git a/src/images/creatures/Mountain troll#Default.png b/src/images/creatures/Mountain troll#Default.png
new file mode 100644 (file)
index 0000000..6599dec
Binary files /dev/null and b/src/images/creatures/Mountain troll#Default.png differ
diff --git a/src/images/creatures/Mounted terrorbird gnome#Level 46.png b/src/images/creatures/Mounted terrorbird gnome#Level 46.png
new file mode 100644 (file)
index 0000000..2889015
Binary files /dev/null and b/src/images/creatures/Mounted terrorbird gnome#Level 46.png differ
diff --git a/src/images/creatures/Mounted terrorbird gnome#Level 53.png b/src/images/creatures/Mounted terrorbird gnome#Level 53.png
new file mode 100644 (file)
index 0000000..2889015
Binary files /dev/null and b/src/images/creatures/Mounted terrorbird gnome#Level 53.png differ
diff --git a/src/images/creatures/Mourner (Mourner Tunnels)#Default.png b/src/images/creatures/Mourner (Mourner Tunnels)#Default.png
new file mode 100644 (file)
index 0000000..62e4a8e
Binary files /dev/null and b/src/images/creatures/Mourner (Mourner Tunnels)#Default.png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#1 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#1.png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#1.png
new file mode 100644 (file)
index 0000000..e33c4f2
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#1.png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#2 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#2.png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#2.png
new file mode 100644 (file)
index 0000000..6c385e7
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#2.png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#3 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#3.png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#3.png
new file mode 100644 (file)
index 0000000..8cdab8b
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#3.png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#4 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#4.png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#4.png
new file mode 100644 (file)
index 0000000..4aa2b3f
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#4.png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png
new file mode 100644 (file)
index 0000000..827357d
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#Ashes.png differ
diff --git a/src/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png b/src/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png
new file mode 100644 (file)
index 0000000..31d1e91
Binary files /dev/null and b/src/images/creatures/Mummy (Jaldraocht Pyramid)#Jaldraocht sarcophagus.png differ
diff --git a/src/images/creatures/Mummy (Ullek)#1 (on fire).png b/src/images/creatures/Mummy (Ullek)#1 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#1 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Ullek)#1.png b/src/images/creatures/Mummy (Ullek)#1.png
new file mode 100644 (file)
index 0000000..e33c4f2
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#1.png differ
diff --git a/src/images/creatures/Mummy (Ullek)#2 (on fire).png b/src/images/creatures/Mummy (Ullek)#2 (on fire).png
new file mode 100644 (file)
index 0000000..31cc66e
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#2 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Ullek)#2.png b/src/images/creatures/Mummy (Ullek)#2.png
new file mode 100644 (file)
index 0000000..6c385e7
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#2.png differ
diff --git a/src/images/creatures/Mummy (Ullek)#3 (on fire).png b/src/images/creatures/Mummy (Ullek)#3 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#3 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Ullek)#3.png b/src/images/creatures/Mummy (Ullek)#3.png
new file mode 100644 (file)
index 0000000..8cdab8b
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#3.png differ
diff --git a/src/images/creatures/Mummy (Ullek)#4 (on fire).png b/src/images/creatures/Mummy (Ullek)#4 (on fire).png
new file mode 100644 (file)
index 0000000..4092806
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#4 (on fire).png differ
diff --git a/src/images/creatures/Mummy (Ullek)#4.png b/src/images/creatures/Mummy (Ullek)#4.png
new file mode 100644 (file)
index 0000000..4aa2b3f
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#4.png differ
diff --git a/src/images/creatures/Mummy (Ullek)#Ashes.png b/src/images/creatures/Mummy (Ullek)#Ashes.png
new file mode 100644 (file)
index 0000000..827357d
Binary files /dev/null and b/src/images/creatures/Mummy (Ullek)#Ashes.png differ
diff --git a/src/images/creatures/Mutated bloodveld#A.png b/src/images/creatures/Mutated bloodveld#A.png
new file mode 100644 (file)
index 0000000..ee6e495
Binary files /dev/null and b/src/images/creatures/Mutated bloodveld#A.png differ
diff --git a/src/images/creatures/Mutated bloodveld#B.png b/src/images/creatures/Mutated bloodveld#B.png
new file mode 100644 (file)
index 0000000..031707e
Binary files /dev/null and b/src/images/creatures/Mutated bloodveld#B.png differ
diff --git a/src/images/creatures/Mutated jadinko baby#Default.png b/src/images/creatures/Mutated jadinko baby#Default.png
new file mode 100644 (file)
index 0000000..8b2ca1f
Binary files /dev/null and b/src/images/creatures/Mutated jadinko baby#Default.png differ
diff --git a/src/images/creatures/Mutated jadinko guard#Default.png b/src/images/creatures/Mutated jadinko guard#Default.png
new file mode 100644 (file)
index 0000000..faf8d6e
Binary files /dev/null and b/src/images/creatures/Mutated jadinko guard#Default.png differ
diff --git a/src/images/creatures/Mutated jadinko male#Default.png b/src/images/creatures/Mutated jadinko male#Default.png
new file mode 100644 (file)
index 0000000..eaf6f90
Binary files /dev/null and b/src/images/creatures/Mutated jadinko male#Default.png differ
diff --git a/src/images/creatures/Mutated zygomite#Level 58.png b/src/images/creatures/Mutated zygomite#Level 58.png
new file mode 100644 (file)
index 0000000..bf890c1
Binary files /dev/null and b/src/images/creatures/Mutated zygomite#Level 58.png differ
diff --git a/src/images/creatures/Mutated zygomite#Level 65.png b/src/images/creatures/Mutated zygomite#Level 65.png
new file mode 100644 (file)
index 0000000..bf890c1
Binary files /dev/null and b/src/images/creatures/Mutated zygomite#Level 65.png differ
diff --git a/src/images/creatures/Nechryael (Heart of Gielinor)#Default.png b/src/images/creatures/Nechryael (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..f0eb8a4
Binary files /dev/null and b/src/images/creatures/Nechryael (Heart of Gielinor)#Default.png differ
diff --git a/src/images/creatures/Nechryael (elite)#Default.png b/src/images/creatures/Nechryael (elite)#Default.png
new file mode 100644 (file)
index 0000000..8b8f9ec
Binary files /dev/null and b/src/images/creatures/Nechryael (elite)#Default.png differ
diff --git a/src/images/creatures/Nechryael#Default.png b/src/images/creatures/Nechryael#Default.png
new file mode 100644 (file)
index 0000000..8b8f9ec
Binary files /dev/null and b/src/images/creatures/Nechryael#Default.png differ
diff --git a/src/images/creatures/Nex b/src/images/creatures/Nex
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/images/creatures/Nex#Magic.png b/src/images/creatures/Nex#Magic.png
new file mode 100644 (file)
index 0000000..e6c8d67
Binary files /dev/null and b/src/images/creatures/Nex#Magic.png differ
diff --git a/src/images/creatures/Nex#Melee.png b/src/images/creatures/Nex#Melee.png
new file mode 100644 (file)
index 0000000..b57670c
Binary files /dev/null and b/src/images/creatures/Nex#Melee.png differ
diff --git a/src/images/creatures/Nex#Ranged.png b/src/images/creatures/Nex#Ranged.png
new file mode 100644 (file)
index 0000000..9492dde
Binary files /dev/null and b/src/images/creatures/Nex#Ranged.png differ
diff --git a/src/images/creatures/Nex#Standard.png b/src/images/creatures/Nex#Standard.png
new file mode 100644 (file)
index 0000000..cd0e5a0
Binary files /dev/null and b/src/images/creatures/Nex#Standard.png differ
diff --git a/src/images/creatures/Nightmare#Default.png b/src/images/creatures/Nightmare#Default.png
new file mode 100644 (file)
index 0000000..110a416
Binary files /dev/null and b/src/images/creatures/Nightmare#Default.png differ
diff --git a/src/images/creatures/Nodon artificer#Default.png b/src/images/creatures/Nodon artificer#Default.png
new file mode 100644 (file)
index 0000000..042a781
Binary files /dev/null and b/src/images/creatures/Nodon artificer#Default.png differ
diff --git a/src/images/creatures/Nodon enforcer#Default.png b/src/images/creatures/Nodon enforcer#Default.png
new file mode 100644 (file)
index 0000000..69af25d
Binary files /dev/null and b/src/images/creatures/Nodon enforcer#Default.png differ
diff --git a/src/images/creatures/Nodon engineer#Default.png b/src/images/creatures/Nodon engineer#Default.png
new file mode 100644 (file)
index 0000000..7f5fe76
Binary files /dev/null and b/src/images/creatures/Nodon engineer#Default.png differ
diff --git a/src/images/creatures/Nodon guard#Default.png b/src/images/creatures/Nodon guard#Default.png
new file mode 100644 (file)
index 0000000..b3366b3
Binary files /dev/null and b/src/images/creatures/Nodon guard#Default.png differ
diff --git a/src/images/creatures/Nodon hunter#Default.png b/src/images/creatures/Nodon hunter#Default.png
new file mode 100644 (file)
index 0000000..7d98b83
Binary files /dev/null and b/src/images/creatures/Nodon hunter#Default.png differ
diff --git a/src/images/creatures/Nymora, the Vengeful#Challenge Mode.png b/src/images/creatures/Nymora, the Vengeful#Challenge Mode.png
new file mode 100644 (file)
index 0000000..33e7244
Binary files /dev/null and b/src/images/creatures/Nymora, the Vengeful#Challenge Mode.png differ
diff --git a/src/images/creatures/Nymora, the Vengeful#Normal Mode.png b/src/images/creatures/Nymora, the Vengeful#Normal Mode.png
new file mode 100644 (file)
index 0000000..33e7244
Binary files /dev/null and b/src/images/creatures/Nymora, the Vengeful#Normal Mode.png differ
diff --git a/src/images/creatures/Ogre chieftain#Version 1.png b/src/images/creatures/Ogre chieftain#Version 1.png
new file mode 100644 (file)
index 0000000..0d7f692
Binary files /dev/null and b/src/images/creatures/Ogre chieftain#Version 1.png differ
diff --git a/src/images/creatures/Ogre chieftain#Version 2.png b/src/images/creatures/Ogre chieftain#Version 2.png
new file mode 100644 (file)
index 0000000..621cf11
Binary files /dev/null and b/src/images/creatures/Ogre chieftain#Version 2.png differ
diff --git a/src/images/creatures/Ogre chieftain#Version 3.png b/src/images/creatures/Ogre chieftain#Version 3.png
new file mode 100644 (file)
index 0000000..621cf11
Binary files /dev/null and b/src/images/creatures/Ogre chieftain#Version 3.png differ
diff --git a/src/images/creatures/Ogre#Combat Camp(56).png b/src/images/creatures/Ogre#Combat Camp(56).png
new file mode 100644 (file)
index 0000000..afb08ea
Binary files /dev/null and b/src/images/creatures/Ogre#Combat Camp(56).png differ
diff --git a/src/images/creatures/Ogre#God Wars Dungeon(86).png b/src/images/creatures/Ogre#God Wars Dungeon(86).png
new file mode 100644 (file)
index 0000000..f0570ca
Binary files /dev/null and b/src/images/creatures/Ogre#God Wars Dungeon(86).png differ
diff --git a/src/images/creatures/Ogre#Kandarin(Level 67).png b/src/images/creatures/Ogre#Kandarin(Level 67).png
new file mode 100644 (file)
index 0000000..4fd1cfa
Binary files /dev/null and b/src/images/creatures/Ogre#Kandarin(Level 67).png differ
diff --git a/src/images/creatures/Ogress champion#Default.png b/src/images/creatures/Ogress champion#Default.png
new file mode 100644 (file)
index 0000000..97da5b7
Binary files /dev/null and b/src/images/creatures/Ogress champion#Default.png differ
diff --git a/src/images/creatures/Ogress warrior#Default.png b/src/images/creatures/Ogress warrior#Default.png
new file mode 100644 (file)
index 0000000..e68d431
Binary files /dev/null and b/src/images/creatures/Ogress warrior#Default.png differ
diff --git a/src/images/creatures/Ogress#Default.png b/src/images/creatures/Ogress#Default.png
new file mode 100644 (file)
index 0000000..5f0e961
Binary files /dev/null and b/src/images/creatures/Ogress#Default.png differ
diff --git a/src/images/creatures/Ol' Sawtooth#Default.png b/src/images/creatures/Ol' Sawtooth#Default.png
new file mode 100644 (file)
index 0000000..ac25e9f
Binary files /dev/null and b/src/images/creatures/Ol' Sawtooth#Default.png differ
diff --git a/src/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png b/src/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..3fbf36d
Binary files /dev/null and b/src/images/creatures/Onyx dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Onyx dragon#Default.png b/src/images/creatures/Onyx dragon#Default.png
new file mode 100644 (file)
index 0000000..3fbf36d
Binary files /dev/null and b/src/images/creatures/Onyx dragon#Default.png differ
diff --git a/src/images/creatures/Oomlie bird#Default.png b/src/images/creatures/Oomlie bird#Default.png
new file mode 100644 (file)
index 0000000..4253331
Binary files /dev/null and b/src/images/creatures/Oomlie bird#Default.png differ
diff --git a/src/images/creatures/Oreb, the Magister#Default.png b/src/images/creatures/Oreb, the Magister#Default.png
new file mode 100644 (file)
index 0000000..64b21a8
Binary files /dev/null and b/src/images/creatures/Oreb, the Magister#Default.png differ
diff --git a/src/images/creatures/Orikalka#Default.png b/src/images/creatures/Orikalka#Default.png
new file mode 100644 (file)
index 0000000..3cf47a0
Binary files /dev/null and b/src/images/creatures/Orikalka#Default.png differ
diff --git a/src/images/creatures/Osseous#Default.png b/src/images/creatures/Osseous#Default.png
new file mode 100644 (file)
index 0000000..1471e99
Binary files /dev/null and b/src/images/creatures/Osseous#Default.png differ
diff --git a/src/images/creatures/Otherworldly being#Default.png b/src/images/creatures/Otherworldly being#Default.png
new file mode 100644 (file)
index 0000000..dad9d60
Binary files /dev/null and b/src/images/creatures/Otherworldly being#Default.png differ
diff --git a/src/images/creatures/Pee Hat#Default.png b/src/images/creatures/Pee Hat#Default.png
new file mode 100644 (file)
index 0000000..20ccdf4
Binary files /dev/null and b/src/images/creatures/Pee Hat#Default.png differ
diff --git a/src/images/creatures/Pekin#Default.png b/src/images/creatures/Pekin#Default.png
new file mode 100644 (file)
index 0000000..7fe489e
Binary files /dev/null and b/src/images/creatures/Pekin#Default.png differ
diff --git a/src/images/creatures/Penguin (monster)#Default.png b/src/images/creatures/Penguin (monster)#Default.png
new file mode 100644 (file)
index 0000000..6ebc3a2
Binary files /dev/null and b/src/images/creatures/Penguin (monster)#Default.png differ
diff --git a/src/images/creatures/Pernicious parrot#Default.png b/src/images/creatures/Pernicious parrot#Default.png
new file mode 100644 (file)
index 0000000..4520900
Binary files /dev/null and b/src/images/creatures/Pernicious parrot#Default.png differ
diff --git a/src/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png b/src/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..9eea1e4
Binary files /dev/null and b/src/images/creatures/Phantom sorcerer#1 (Ancient Awakening).png differ
diff --git a/src/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png b/src/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png
new file mode 100644 (file)
index 0000000..f9124eb
Binary files /dev/null and b/src/images/creatures/Phantom sorcerer#1 (hard Ungael combat activity).png differ
diff --git a/src/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png b/src/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png
new file mode 100644 (file)
index 0000000..f9124eb
Binary files /dev/null and b/src/images/creatures/Phantom sorcerer#1 (standard Ungael combat activity).png differ
diff --git a/src/images/creatures/Phantom wizard#1 (Ancient Awakening).png b/src/images/creatures/Phantom wizard#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..fa7a657
Binary files /dev/null and b/src/images/creatures/Phantom wizard#1 (Ancient Awakening).png differ
diff --git a/src/images/creatures/Phantom wizard#1 (Ungael combat activity).png b/src/images/creatures/Phantom wizard#1 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..fa7a657
Binary files /dev/null and b/src/images/creatures/Phantom wizard#1 (Ungael combat activity).png differ
diff --git a/src/images/creatures/Pit Scorpion#Default.png b/src/images/creatures/Pit Scorpion#Default.png
new file mode 100644 (file)
index 0000000..ca4041e
Binary files /dev/null and b/src/images/creatures/Pit Scorpion#Default.png differ
diff --git a/src/images/creatures/Plague frog#Default.png b/src/images/creatures/Plague frog#Default.png
new file mode 100644 (file)
index 0000000..f2e9197
Binary files /dev/null and b/src/images/creatures/Plague frog#Default.png differ
diff --git a/src/images/creatures/Poison Scorpion#Default.png b/src/images/creatures/Poison Scorpion#Default.png
new file mode 100644 (file)
index 0000000..0b747b6
Binary files /dev/null and b/src/images/creatures/Poison Scorpion#Default.png differ
diff --git a/src/images/creatures/Poison spider#Common.png b/src/images/creatures/Poison spider#Common.png
new file mode 100644 (file)
index 0000000..d8bf00c
Binary files /dev/null and b/src/images/creatures/Poison spider#Common.png differ
diff --git a/src/images/creatures/Poison spider#Observatory.png b/src/images/creatures/Poison spider#Observatory.png
new file mode 100644 (file)
index 0000000..d8bf00c
Binary files /dev/null and b/src/images/creatures/Poison spider#Observatory.png differ
diff --git a/src/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png b/src/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/src/images/creatures/Possessed pickaxe (Lava Flow Mine)#Default.png differ
diff --git a/src/images/creatures/Possessed pickaxe#Abandoned Mine.png b/src/images/creatures/Possessed pickaxe#Abandoned Mine.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/src/images/creatures/Possessed pickaxe#Abandoned Mine.png differ
diff --git a/src/images/creatures/Possessed pickaxe#Dominion Tower.png b/src/images/creatures/Possessed pickaxe#Dominion Tower.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/src/images/creatures/Possessed pickaxe#Dominion Tower.png differ
diff --git a/src/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png b/src/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png
new file mode 100644 (file)
index 0000000..f6f9387
Binary files /dev/null and b/src/images/creatures/Possessed pickaxe#Lair of Tarn Razorlor.png differ
diff --git a/src/images/creatures/Pthentraken#Default.png b/src/images/creatures/Pthentraken#Default.png
new file mode 100644 (file)
index 0000000..3c3d02a
Binary files /dev/null and b/src/images/creatures/Pthentraken#Default.png differ
diff --git a/src/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png b/src/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png
new file mode 100644 (file)
index 0000000..277cc93
Binary files /dev/null and b/src/images/creatures/Pyrefiend (The Zamorakian Undercity)#Default.png differ
diff --git a/src/images/creatures/Pyrefiend (summoned)#Default.png b/src/images/creatures/Pyrefiend (summoned)#Default.png
new file mode 100644 (file)
index 0000000..90e4b78
Binary files /dev/null and b/src/images/creatures/Pyrefiend (summoned)#Default.png differ
diff --git a/src/images/creatures/Pyrefiend#God Wars Dungeon.png b/src/images/creatures/Pyrefiend#God Wars Dungeon.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/src/images/creatures/Pyrefiend#God Wars Dungeon.png differ
diff --git a/src/images/creatures/Pyrefiend#Level 38.png b/src/images/creatures/Pyrefiend#Level 38.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/src/images/creatures/Pyrefiend#Level 38.png differ
diff --git a/src/images/creatures/Queen Black Dragon#Carapace.png b/src/images/creatures/Queen Black Dragon#Carapace.png
new file mode 100644 (file)
index 0000000..e909655
Binary files /dev/null and b/src/images/creatures/Queen Black Dragon#Carapace.png differ
diff --git a/src/images/creatures/Queen Black Dragon#Crystal.png b/src/images/creatures/Queen Black Dragon#Crystal.png
new file mode 100644 (file)
index 0000000..a54f4e6
Binary files /dev/null and b/src/images/creatures/Queen Black Dragon#Crystal.png differ
diff --git a/src/images/creatures/Queen Black Dragon#Normal.png b/src/images/creatures/Queen Black Dragon#Normal.png
new file mode 100644 (file)
index 0000000..5aaee7f
Binary files /dev/null and b/src/images/creatures/Queen Black Dragon#Normal.png differ
diff --git a/src/images/creatures/Quetzathog#Default.png b/src/images/creatures/Quetzathog#Default.png
new file mode 100644 (file)
index 0000000..8c5cc99
Binary files /dev/null and b/src/images/creatures/Quetzathog#Default.png differ
diff --git a/src/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png b/src/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png
new file mode 100644 (file)
index 0000000..39c622c
Binary files /dev/null and b/src/images/creatures/Raksha, the Shadow Colossus#During fight (duo).png differ
diff --git a/src/images/creatures/Raksha, the Shadow Colossus#During fight.png b/src/images/creatures/Raksha, the Shadow Colossus#During fight.png
new file mode 100644 (file)
index 0000000..39c622c
Binary files /dev/null and b/src/images/creatures/Raksha, the Shadow Colossus#During fight.png differ
diff --git a/src/images/creatures/Raksha, the Shadow Colossus#Shackled.png b/src/images/creatures/Raksha, the Shadow Colossus#Shackled.png
new file mode 100644 (file)
index 0000000..1b408df
Binary files /dev/null and b/src/images/creatures/Raksha, the Shadow Colossus#Shackled.png differ
diff --git a/src/images/creatures/Raksha, the Shadow Colossus#Subdued.png b/src/images/creatures/Raksha, the Shadow Colossus#Subdued.png
new file mode 100644 (file)
index 0000000..bd4de47
Binary files /dev/null and b/src/images/creatures/Raksha, the Shadow Colossus#Subdued.png differ
diff --git a/src/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png b/src/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png
new file mode 100644 (file)
index 0000000..8b95c2a
Binary files /dev/null and b/src/images/creatures/Rasial, the First Necromancer#Alpha vs Omega.png differ
diff --git a/src/images/creatures/Rasial, the First Necromancer#Normal.png b/src/images/creatures/Rasial, the First Necromancer#Normal.png
new file mode 100644 (file)
index 0000000..8b95c2a
Binary files /dev/null and b/src/images/creatures/Rasial, the First Necromancer#Normal.png differ
diff --git a/src/images/creatures/Rat#Common.png b/src/images/creatures/Rat#Common.png
new file mode 100644 (file)
index 0000000..803a17c
Binary files /dev/null and b/src/images/creatures/Rat#Common.png differ
diff --git a/src/images/creatures/Rat#Ratcatchers.png b/src/images/creatures/Rat#Ratcatchers.png
new file mode 100644 (file)
index 0000000..803a17c
Binary files /dev/null and b/src/images/creatures/Rat#Ratcatchers.png differ
diff --git a/src/images/creatures/Rat#Stronghold of Security.png b/src/images/creatures/Rat#Stronghold of Security.png
new file mode 100644 (file)
index 0000000..2cd7337
Binary files /dev/null and b/src/images/creatures/Rat#Stronghold of Security.png differ
diff --git a/src/images/creatures/Rathis#Default.png b/src/images/creatures/Rathis#Default.png
new file mode 100644 (file)
index 0000000..7eecd86
Binary files /dev/null and b/src/images/creatures/Rathis#Default.png differ
diff --git a/src/images/creatures/Ravenous ghoul (Mazchna)#Default.png b/src/images/creatures/Ravenous ghoul (Mazchna)#Default.png
new file mode 100644 (file)
index 0000000..3655789
Binary files /dev/null and b/src/images/creatures/Ravenous ghoul (Mazchna)#Default.png differ
diff --git a/src/images/creatures/Ravenous ghoul#Default.png b/src/images/creatures/Ravenous ghoul#Default.png
new file mode 100644 (file)
index 0000000..9c0a459
Binary files /dev/null and b/src/images/creatures/Ravenous ghoul#Default.png differ
diff --git a/src/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png b/src/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png
new file mode 100644 (file)
index 0000000..f5ef71b
Binary files /dev/null and b/src/images/creatures/Red dragon (Dragonkin Laboratory)#Default.png differ
diff --git a/src/images/creatures/Red dragon#1.png b/src/images/creatures/Red dragon#1.png
new file mode 100644 (file)
index 0000000..4d20989
Binary files /dev/null and b/src/images/creatures/Red dragon#1.png differ
diff --git a/src/images/creatures/Red dragon#2.png b/src/images/creatures/Red dragon#2.png
new file mode 100644 (file)
index 0000000..08258c4
Binary files /dev/null and b/src/images/creatures/Red dragon#2.png differ
diff --git a/src/images/creatures/Red dragon#3.png b/src/images/creatures/Red dragon#3.png
new file mode 100644 (file)
index 0000000..a031dd1
Binary files /dev/null and b/src/images/creatures/Red dragon#3.png differ
diff --git a/src/images/creatures/Red dragon#4.png b/src/images/creatures/Red dragon#4.png
new file mode 100644 (file)
index 0000000..b9ac714
Binary files /dev/null and b/src/images/creatures/Red dragon#4.png differ
diff --git a/src/images/creatures/Red dragon#5.png b/src/images/creatures/Red dragon#5.png
new file mode 100644 (file)
index 0000000..e4912e6
Binary files /dev/null and b/src/images/creatures/Red dragon#5.png differ
diff --git a/src/images/creatures/Revenant cyclops#Default.png b/src/images/creatures/Revenant cyclops#Default.png
new file mode 100644 (file)
index 0000000..29b732d
Binary files /dev/null and b/src/images/creatures/Revenant cyclops#Default.png differ
diff --git a/src/images/creatures/Revenant dark beast#Default.png b/src/images/creatures/Revenant dark beast#Default.png
new file mode 100644 (file)
index 0000000..c3b002b
Binary files /dev/null and b/src/images/creatures/Revenant dark beast#Default.png differ
diff --git a/src/images/creatures/Revenant demon#Default.png b/src/images/creatures/Revenant demon#Default.png
new file mode 100644 (file)
index 0000000..114a3e6
Binary files /dev/null and b/src/images/creatures/Revenant demon#Default.png differ
diff --git a/src/images/creatures/Revenant dragon#Default.png b/src/images/creatures/Revenant dragon#Default.png
new file mode 100644 (file)
index 0000000..eead49e
Binary files /dev/null and b/src/images/creatures/Revenant dragon#Default.png differ
diff --git a/src/images/creatures/Revenant goblin#16.png b/src/images/creatures/Revenant goblin#16.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/src/images/creatures/Revenant goblin#16.png differ
diff --git a/src/images/creatures/Revenant goblin#19.png b/src/images/creatures/Revenant goblin#19.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/src/images/creatures/Revenant goblin#19.png differ
diff --git a/src/images/creatures/Revenant goblin#22.png b/src/images/creatures/Revenant goblin#22.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/src/images/creatures/Revenant goblin#22.png differ
diff --git a/src/images/creatures/Revenant goblin#28.png b/src/images/creatures/Revenant goblin#28.png
new file mode 100644 (file)
index 0000000..9dd2202
Binary files /dev/null and b/src/images/creatures/Revenant goblin#28.png differ
diff --git a/src/images/creatures/Revenant hellhound#Default.png b/src/images/creatures/Revenant hellhound#Default.png
new file mode 100644 (file)
index 0000000..515fc2c
Binary files /dev/null and b/src/images/creatures/Revenant hellhound#Default.png differ
diff --git a/src/images/creatures/Revenant hobgoblin#Default.png b/src/images/creatures/Revenant hobgoblin#Default.png
new file mode 100644 (file)
index 0000000..09b447c
Binary files /dev/null and b/src/images/creatures/Revenant hobgoblin#Default.png differ
diff --git a/src/images/creatures/Revenant icefiend#Default.png b/src/images/creatures/Revenant icefiend#Default.png
new file mode 100644 (file)
index 0000000..02878a1
Binary files /dev/null and b/src/images/creatures/Revenant icefiend#Default.png differ
diff --git a/src/images/creatures/Revenant imp#Default.png b/src/images/creatures/Revenant imp#Default.png
new file mode 100644 (file)
index 0000000..1cf1003
Binary files /dev/null and b/src/images/creatures/Revenant imp#Default.png differ
diff --git a/src/images/creatures/Revenant knight#Default.png b/src/images/creatures/Revenant knight#Default.png
new file mode 100644 (file)
index 0000000..40d75f2
Binary files /dev/null and b/src/images/creatures/Revenant knight#Default.png differ
diff --git a/src/images/creatures/Revenant ork#Default.png b/src/images/creatures/Revenant ork#Default.png
new file mode 100644 (file)
index 0000000..0d8762b
Binary files /dev/null and b/src/images/creatures/Revenant ork#Default.png differ
diff --git a/src/images/creatures/Revenant pyrefiend#Default.png b/src/images/creatures/Revenant pyrefiend#Default.png
new file mode 100644 (file)
index 0000000..356a29e
Binary files /dev/null and b/src/images/creatures/Revenant pyrefiend#Default.png differ
diff --git a/src/images/creatures/Revenant vampyre#Default.png b/src/images/creatures/Revenant vampyre#Default.png
new file mode 100644 (file)
index 0000000..766ab2e
Binary files /dev/null and b/src/images/creatures/Revenant vampyre#Default.png differ
diff --git a/src/images/creatures/Revenant werewolf#Default.png b/src/images/creatures/Revenant werewolf#Default.png
new file mode 100644 (file)
index 0000000..cf4acc5
Binary files /dev/null and b/src/images/creatures/Revenant werewolf#Default.png differ
diff --git a/src/images/creatures/Ripper Demon#Default.png b/src/images/creatures/Ripper Demon#Default.png
new file mode 100644 (file)
index 0000000..2d3e248
Binary files /dev/null and b/src/images/creatures/Ripper Demon#Default.png differ
diff --git a/src/images/creatures/Ripper dinosaur#Dinosaur invasion.png b/src/images/creatures/Ripper dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..9d0362b
Binary files /dev/null and b/src/images/creatures/Ripper dinosaur#Dinosaur invasion.png differ
diff --git a/src/images/creatures/Ripper dinosaur#Normal.png b/src/images/creatures/Ripper dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..9d0362b
Binary files /dev/null and b/src/images/creatures/Ripper dinosaur#Normal.png differ
diff --git a/src/images/creatures/Risen ghost#Default.png b/src/images/creatures/Risen ghost#Default.png
new file mode 100644 (file)
index 0000000..53220d3
Binary files /dev/null and b/src/images/creatures/Risen ghost#Default.png differ
diff --git a/src/images/creatures/River troll#Default.png b/src/images/creatures/River troll#Default.png
new file mode 100644 (file)
index 0000000..4cfc7e3
Binary files /dev/null and b/src/images/creatures/River troll#Default.png differ
diff --git a/src/images/creatures/Rock (monster)#Default.png b/src/images/creatures/Rock (monster)#Default.png
new file mode 100644 (file)
index 0000000..a3833fb
Binary files /dev/null and b/src/images/creatures/Rock (monster)#Default.png differ
diff --git a/src/images/creatures/Rock slug#Default.png b/src/images/creatures/Rock slug#Default.png
new file mode 100644 (file)
index 0000000..f319e48
Binary files /dev/null and b/src/images/creatures/Rock slug#Default.png differ
diff --git a/src/images/creatures/Rooster#Default.png b/src/images/creatures/Rooster#Default.png
new file mode 100644 (file)
index 0000000..baf2a49
Binary files /dev/null and b/src/images/creatures/Rooster#Default.png differ
diff --git a/src/images/creatures/Rorarius#1.png b/src/images/creatures/Rorarius#1.png
new file mode 100644 (file)
index 0000000..333dee8
Binary files /dev/null and b/src/images/creatures/Rorarius#1.png differ
diff --git a/src/images/creatures/Rorarius#2.png b/src/images/creatures/Rorarius#2.png
new file mode 100644 (file)
index 0000000..edd0ea7
Binary files /dev/null and b/src/images/creatures/Rorarius#2.png differ
diff --git a/src/images/creatures/Rune dragon#Armoured.png b/src/images/creatures/Rune dragon#Armoured.png
new file mode 100644 (file)
index 0000000..a67c163
Binary files /dev/null and b/src/images/creatures/Rune dragon#Armoured.png differ
diff --git a/src/images/creatures/Rune dragon#Unarmoured.png b/src/images/creatures/Rune dragon#Unarmoured.png
new file mode 100644 (file)
index 0000000..3be7130
Binary files /dev/null and b/src/images/creatures/Rune dragon#Unarmoured.png differ
diff --git a/src/images/creatures/Salawa akh#Default.png b/src/images/creatures/Salawa akh#Default.png
new file mode 100644 (file)
index 0000000..6364b5c
Binary files /dev/null and b/src/images/creatures/Salawa akh#Default.png differ
diff --git a/src/images/creatures/Sangri the Red#Default.png b/src/images/creatures/Sangri the Red#Default.png
new file mode 100644 (file)
index 0000000..f5ef71b
Binary files /dev/null and b/src/images/creatures/Sangri the Red#Default.png differ
diff --git a/src/images/creatures/Sapping glacyte#Default.png b/src/images/creatures/Sapping glacyte#Default.png
new file mode 100644 (file)
index 0000000..602995d
Binary files /dev/null and b/src/images/creatures/Sapping glacyte#Default.png differ
diff --git a/src/images/creatures/Scabaras lancer#Default.png b/src/images/creatures/Scabaras lancer#Default.png
new file mode 100644 (file)
index 0000000..a83c07c
Binary files /dev/null and b/src/images/creatures/Scabaras lancer#Default.png differ
diff --git a/src/images/creatures/Scabaras mage#Default.png b/src/images/creatures/Scabaras mage#Default.png
new file mode 100644 (file)
index 0000000..ffdb509
Binary files /dev/null and b/src/images/creatures/Scabaras mage#Default.png differ
diff --git a/src/images/creatures/Scabaras ranger#Default.png b/src/images/creatures/Scabaras ranger#Default.png
new file mode 100644 (file)
index 0000000..1330925
Binary files /dev/null and b/src/images/creatures/Scabaras ranger#Default.png differ
diff --git a/src/images/creatures/Scarab akh#Default.png b/src/images/creatures/Scarab akh#Default.png
new file mode 100644 (file)
index 0000000..81cca1b
Binary files /dev/null and b/src/images/creatures/Scarab akh#Default.png differ
diff --git a/src/images/creatures/Scarab mage#Contact!.png b/src/images/creatures/Scarab mage#Contact!.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/src/images/creatures/Scarab mage#Contact!.png differ
diff --git a/src/images/creatures/Scarab mage#Dominion Tower.png b/src/images/creatures/Scarab mage#Dominion Tower.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/src/images/creatures/Scarab mage#Dominion Tower.png differ
diff --git a/src/images/creatures/Scarab mage#Rumble Mode.png b/src/images/creatures/Scarab mage#Rumble Mode.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/src/images/creatures/Scarab mage#Rumble Mode.png differ
diff --git a/src/images/creatures/Scarab mage#Sophanem Dungeon.png b/src/images/creatures/Scarab mage#Sophanem Dungeon.png
new file mode 100644 (file)
index 0000000..21f9102
Binary files /dev/null and b/src/images/creatures/Scarab mage#Sophanem Dungeon.png differ
diff --git a/src/images/creatures/Scorpion (Ape Atoll)#Default.png b/src/images/creatures/Scorpion (Ape Atoll)#Default.png
new file mode 100644 (file)
index 0000000..d1e3bb8
Binary files /dev/null and b/src/images/creatures/Scorpion (Ape Atoll)#Default.png differ
diff --git a/src/images/creatures/Scorpion#Level 14.png b/src/images/creatures/Scorpion#Level 14.png
new file mode 100644 (file)
index 0000000..ca4041e
Binary files /dev/null and b/src/images/creatures/Scorpion#Level 14.png differ
diff --git a/src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png b/src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png
new file mode 100644 (file)
index 0000000..ca4041e
Binary files /dev/null and b/src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 1).png differ
diff --git a/src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png b/src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png
new file mode 100644 (file)
index 0000000..0b747b6
Binary files /dev/null and b/src/images/creatures/Scorpion#Level 26 (Stronghold of Security, 2).png differ
diff --git a/src/images/creatures/Scutarius#1.png b/src/images/creatures/Scutarius#1.png
new file mode 100644 (file)
index 0000000..d92f1e1
Binary files /dev/null and b/src/images/creatures/Scutarius#1.png differ
diff --git a/src/images/creatures/Scutarius#2.png b/src/images/creatures/Scutarius#2.png
new file mode 100644 (file)
index 0000000..aa168a5
Binary files /dev/null and b/src/images/creatures/Scutarius#2.png differ
diff --git a/src/images/creatures/Sea Snake Hatchling#Default.png b/src/images/creatures/Sea Snake Hatchling#Default.png
new file mode 100644 (file)
index 0000000..ce4be4e
Binary files /dev/null and b/src/images/creatures/Sea Snake Hatchling#Default.png differ
diff --git a/src/images/creatures/Sea Snake Young#Default.png b/src/images/creatures/Sea Snake Young#Default.png
new file mode 100644 (file)
index 0000000..731e379
Binary files /dev/null and b/src/images/creatures/Sea Snake Young#Default.png differ
diff --git a/src/images/creatures/Sea crocodile#Normal mode.png b/src/images/creatures/Sea crocodile#Normal mode.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/src/images/creatures/Sea crocodile#Normal mode.png differ
diff --git a/src/images/creatures/Sea crocodile#Story mode.png b/src/images/creatures/Sea crocodile#Story mode.png
new file mode 100644 (file)
index 0000000..3c8c0e1
Binary files /dev/null and b/src/images/creatures/Sea crocodile#Story mode.png differ
diff --git a/src/images/creatures/Sea horror#Normal mode.png b/src/images/creatures/Sea horror#Normal mode.png
new file mode 100644 (file)
index 0000000..8c5cc99
Binary files /dev/null and b/src/images/creatures/Sea horror#Normal mode.png differ
diff --git a/src/images/creatures/Sea horror#Story mode.png b/src/images/creatures/Sea horror#Story mode.png
new file mode 100644 (file)
index 0000000..8c5cc99
Binary files /dev/null and b/src/images/creatures/Sea horror#Story mode.png differ
diff --git a/src/images/creatures/Seagull#Default.png b/src/images/creatures/Seagull#Default.png
new file mode 100644 (file)
index 0000000..d31d5eb
Binary files /dev/null and b/src/images/creatures/Seagull#Default.png differ
diff --git a/src/images/creatures/Seeker#Default.png b/src/images/creatures/Seeker#Default.png
new file mode 100644 (file)
index 0000000..4a85f8a
Binary files /dev/null and b/src/images/creatures/Seeker#Default.png differ
diff --git a/src/images/creatures/Seething Pyrefiend#Default.png b/src/images/creatures/Seething Pyrefiend#Default.png
new file mode 100644 (file)
index 0000000..ce5e21f
Binary files /dev/null and b/src/images/creatures/Seething Pyrefiend#Default.png differ
diff --git a/src/images/creatures/Seiryu the Azure Serpent#Normal mode.png b/src/images/creatures/Seiryu the Azure Serpent#Normal mode.png
new file mode 100644 (file)
index 0000000..d8488f5
Binary files /dev/null and b/src/images/creatures/Seiryu the Azure Serpent#Normal mode.png differ
diff --git a/src/images/creatures/Seiryu the Azure Serpent#Story mode.png b/src/images/creatures/Seiryu the Azure Serpent#Story mode.png
new file mode 100644 (file)
index 0000000..d8488f5
Binary files /dev/null and b/src/images/creatures/Seiryu the Azure Serpent#Story mode.png differ
diff --git a/src/images/creatures/Seren archer#Default.png b/src/images/creatures/Seren archer#Default.png
new file mode 100644 (file)
index 0000000..286369e
Binary files /dev/null and b/src/images/creatures/Seren archer#Default.png differ
diff --git a/src/images/creatures/Seren mage#Default.png b/src/images/creatures/Seren mage#Default.png
new file mode 100644 (file)
index 0000000..237fdcc
Binary files /dev/null and b/src/images/creatures/Seren mage#Default.png differ
diff --git a/src/images/creatures/Seren warrior#Default.png b/src/images/creatures/Seren warrior#Default.png
new file mode 100644 (file)
index 0000000..6206256
Binary files /dev/null and b/src/images/creatures/Seren warrior#Default.png differ
diff --git a/src/images/creatures/Sergeant Grimspike#Default.png b/src/images/creatures/Sergeant Grimspike#Default.png
new file mode 100644 (file)
index 0000000..8c52c6d
Binary files /dev/null and b/src/images/creatures/Sergeant Grimspike#Default.png differ
diff --git a/src/images/creatures/Sergeant Steelwill#Default.png b/src/images/creatures/Sergeant Steelwill#Default.png
new file mode 100644 (file)
index 0000000..1f4315f
Binary files /dev/null and b/src/images/creatures/Sergeant Steelwill#Default.png differ
diff --git a/src/images/creatures/Sergeant Strongstack#Default.png b/src/images/creatures/Sergeant Strongstack#Default.png
new file mode 100644 (file)
index 0000000..3f63777
Binary files /dev/null and b/src/images/creatures/Sergeant Strongstack#Default.png differ
diff --git a/src/images/creatures/Shade#Default.png b/src/images/creatures/Shade#Default.png
new file mode 100644 (file)
index 0000000..b728521
Binary files /dev/null and b/src/images/creatures/Shade#Default.png differ
diff --git a/src/images/creatures/Shadow (Temple of Light)#Default.png b/src/images/creatures/Shadow (Temple of Light)#Default.png
new file mode 100644 (file)
index 0000000..5f9eedd
Binary files /dev/null and b/src/images/creatures/Shadow (Temple of Light)#Default.png differ
diff --git a/src/images/creatures/Shadow Hound#Default.png b/src/images/creatures/Shadow Hound#Default.png
new file mode 100644 (file)
index 0000000..228c2e4
Binary files /dev/null and b/src/images/creatures/Shadow Hound#Default.png differ
diff --git a/src/images/creatures/Shadow nihil#boss.png b/src/images/creatures/Shadow nihil#boss.png
new file mode 100644 (file)
index 0000000..4014b94
Binary files /dev/null and b/src/images/creatures/Shadow nihil#boss.png differ
diff --git a/src/images/creatures/Shadow nihil#normal.png b/src/images/creatures/Shadow nihil#normal.png
new file mode 100644 (file)
index 0000000..4014b94
Binary files /dev/null and b/src/images/creatures/Shadow nihil#normal.png differ
diff --git a/src/images/creatures/Shadow spider#Default.png b/src/images/creatures/Shadow spider#Default.png
new file mode 100644 (file)
index 0000000..b17fb9d
Binary files /dev/null and b/src/images/creatures/Shadow spider#Default.png differ
diff --git a/src/images/creatures/Shadow warrior#Default.png b/src/images/creatures/Shadow warrior#Default.png
new file mode 100644 (file)
index 0000000..d9f769c
Binary files /dev/null and b/src/images/creatures/Shadow warrior#Default.png differ
diff --git a/src/images/creatures/Shara'Kor the Widowmaker#Default.png b/src/images/creatures/Shara'Kor the Widowmaker#Default.png
new file mode 100644 (file)
index 0000000..2acd87f
Binary files /dev/null and b/src/images/creatures/Shara'Kor the Widowmaker#Default.png differ
diff --git a/src/images/creatures/Siege engine#Default.png b/src/images/creatures/Siege engine#Default.png
new file mode 100644 (file)
index 0000000..e1eeae9
Binary files /dev/null and b/src/images/creatures/Siege engine#Default.png differ
diff --git a/src/images/creatures/Skeletal Wyvern#1.png b/src/images/creatures/Skeletal Wyvern#1.png
new file mode 100644 (file)
index 0000000..7a5b794
Binary files /dev/null and b/src/images/creatures/Skeletal Wyvern#1.png differ
diff --git a/src/images/creatures/Skeletal Wyvern#2.png b/src/images/creatures/Skeletal Wyvern#2.png
new file mode 100644 (file)
index 0000000..60502ad
Binary files /dev/null and b/src/images/creatures/Skeletal Wyvern#2.png differ
diff --git a/src/images/creatures/Skeletal Wyvern#3.png b/src/images/creatures/Skeletal Wyvern#3.png
new file mode 100644 (file)
index 0000000..35e8741
Binary files /dev/null and b/src/images/creatures/Skeletal Wyvern#3.png differ
diff --git a/src/images/creatures/Skeletal Wyvern#4.png b/src/images/creatures/Skeletal Wyvern#4.png
new file mode 100644 (file)
index 0000000..bef95a3
Binary files /dev/null and b/src/images/creatures/Skeletal Wyvern#4.png differ
diff --git a/src/images/creatures/Skeletal hand#Default.png b/src/images/creatures/Skeletal hand#Default.png
new file mode 100644 (file)
index 0000000..f0a8a9d
Binary files /dev/null and b/src/images/creatures/Skeletal hand#Default.png differ
diff --git a/src/images/creatures/Skeletal miner#Default.png b/src/images/creatures/Skeletal miner#Default.png
new file mode 100644 (file)
index 0000000..9407fb3
Binary files /dev/null and b/src/images/creatures/Skeletal miner#Default.png differ
diff --git a/src/images/creatures/Skeleton (Ape Atoll)#Default.png b/src/images/creatures/Skeleton (Ape Atoll)#Default.png
new file mode 100644 (file)
index 0000000..3a1d323
Binary files /dev/null and b/src/images/creatures/Skeleton (Ape Atoll)#Default.png differ
diff --git a/src/images/creatures/Skeleton (Barrows)#86.png b/src/images/creatures/Skeleton (Barrows)#86.png
new file mode 100644 (file)
index 0000000..5daac32
Binary files /dev/null and b/src/images/creatures/Skeleton (Barrows)#86.png differ
diff --git a/src/images/creatures/Skeleton (Barrows)#88.png b/src/images/creatures/Skeleton (Barrows)#88.png
new file mode 100644 (file)
index 0000000..4851c28
Binary files /dev/null and b/src/images/creatures/Skeleton (Barrows)#88.png differ
diff --git a/src/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png b/src/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png
new file mode 100644 (file)
index 0000000..2c3f678
Binary files /dev/null and b/src/images/creatures/Skeleton (Dark Warriors' Fortress)#1.png differ
diff --git a/src/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png b/src/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png
new file mode 100644 (file)
index 0000000..47b2b1d
Binary files /dev/null and b/src/images/creatures/Skeleton (Dark Warriors' Fortress)#2.png differ
diff --git a/src/images/creatures/Skeleton (Heart of Gielinor)#Default.png b/src/images/creatures/Skeleton (Heart of Gielinor)#Default.png
new file mode 100644 (file)
index 0000000..4b37510
Binary files /dev/null and b/src/images/creatures/Skeleton (Heart of Gielinor)#Default.png differ
diff --git a/src/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png b/src/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png
new file mode 100644 (file)
index 0000000..19c22fe
Binary files /dev/null and b/src/images/creatures/Skeleton (Lumbridge Catacombs)#Default.png differ
diff --git a/src/images/creatures/Skeleton (Tarn's Lair)#1.png b/src/images/creatures/Skeleton (Tarn's Lair)#1.png
new file mode 100644 (file)
index 0000000..b585269
Binary files /dev/null and b/src/images/creatures/Skeleton (Tarn's Lair)#1.png differ
diff --git a/src/images/creatures/Skeleton (Tarn's Lair)#2.png b/src/images/creatures/Skeleton (Tarn's Lair)#2.png
new file mode 100644 (file)
index 0000000..a320236
Binary files /dev/null and b/src/images/creatures/Skeleton (Tarn's Lair)#2.png differ
diff --git a/src/images/creatures/Skeleton (Tarn's Lair)#8.png b/src/images/creatures/Skeleton (Tarn's Lair)#8.png
new file mode 100644 (file)
index 0000000..d7af462
Binary files /dev/null and b/src/images/creatures/Skeleton (Tarn's Lair)#8.png differ
diff --git a/src/images/creatures/Skeleton (Temple Trekking)#18.png b/src/images/creatures/Skeleton (Temple Trekking)#18.png
new file mode 100644 (file)
index 0000000..1e04acd
Binary files /dev/null and b/src/images/creatures/Skeleton (Temple Trekking)#18.png differ
diff --git a/src/images/creatures/Skeleton (Temple Trekking)#Helmet.png b/src/images/creatures/Skeleton (Temple Trekking)#Helmet.png
new file mode 100644 (file)
index 0000000..61de178
Binary files /dev/null and b/src/images/creatures/Skeleton (Temple Trekking)#Helmet.png differ
diff --git a/src/images/creatures/Skeleton (Temple Trekking)#No helmet.png b/src/images/creatures/Skeleton (Temple Trekking)#No helmet.png
new file mode 100644 (file)
index 0000000..a5ac528
Binary files /dev/null and b/src/images/creatures/Skeleton (Temple Trekking)#No helmet.png differ
diff --git a/src/images/creatures/Skeleton (Ullek)#Axe.png b/src/images/creatures/Skeleton (Ullek)#Axe.png
new file mode 100644 (file)
index 0000000..5bb9d71
Binary files /dev/null and b/src/images/creatures/Skeleton (Ullek)#Axe.png differ
diff --git a/src/images/creatures/Skeleton (Ullek)#Mace.png b/src/images/creatures/Skeleton (Ullek)#Mace.png
new file mode 100644 (file)
index 0000000..c361019
Binary files /dev/null and b/src/images/creatures/Skeleton (Ullek)#Mace.png differ
diff --git a/src/images/creatures/Skeleton (Ullek)#Round shield.png b/src/images/creatures/Skeleton (Ullek)#Round shield.png
new file mode 100644 (file)
index 0000000..2a10826
Binary files /dev/null and b/src/images/creatures/Skeleton (Ullek)#Round shield.png differ
diff --git a/src/images/creatures/Skeleton (Ullek)#Square shield.png b/src/images/creatures/Skeleton (Ullek)#Square shield.png
new file mode 100644 (file)
index 0000000..36acbd4
Binary files /dev/null and b/src/images/creatures/Skeleton (Ullek)#Square shield.png differ
diff --git a/src/images/creatures/Skeleton (Ullek)#Warhammer.png b/src/images/creatures/Skeleton (Ullek)#Warhammer.png
new file mode 100644 (file)
index 0000000..9d68608
Binary files /dev/null and b/src/images/creatures/Skeleton (Ullek)#Warhammer.png differ
diff --git a/src/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png b/src/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png
new file mode 100644 (file)
index 0000000..956ef9f
Binary files /dev/null and b/src/images/creatures/Skeleton (Uncharted Isles)#Melee (With Weapons).png differ
diff --git a/src/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png b/src/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png
new file mode 100644 (file)
index 0000000..64521d4
Binary files /dev/null and b/src/images/creatures/Skeleton (Uncharted Isles)#Melee (Without Weapons).png differ
diff --git a/src/images/creatures/Skeleton (Uncharted Isles)#Ranged.png b/src/images/creatures/Skeleton (Uncharted Isles)#Ranged.png
new file mode 100644 (file)
index 0000000..f53a5f1
Binary files /dev/null and b/src/images/creatures/Skeleton (Uncharted Isles)#Ranged.png differ
diff --git a/src/images/creatures/Skeleton Archer#Normal mode.png b/src/images/creatures/Skeleton Archer#Normal mode.png
new file mode 100644 (file)
index 0000000..b6eca66
Binary files /dev/null and b/src/images/creatures/Skeleton Archer#Normal mode.png differ
diff --git a/src/images/creatures/Skeleton Archer#Story mode.png b/src/images/creatures/Skeleton Archer#Story mode.png
new file mode 100644 (file)
index 0000000..569eda6
Binary files /dev/null and b/src/images/creatures/Skeleton Archer#Story mode.png differ
diff --git a/src/images/creatures/Skeleton Mage#Level 19.png b/src/images/creatures/Skeleton Mage#Level 19.png
new file mode 100644 (file)
index 0000000..b585269
Binary files /dev/null and b/src/images/creatures/Skeleton Mage#Level 19.png differ
diff --git a/src/images/creatures/Skeleton Mage#Level 49.png b/src/images/creatures/Skeleton Mage#Level 49.png
new file mode 100644 (file)
index 0000000..b585269
Binary files /dev/null and b/src/images/creatures/Skeleton Mage#Level 49.png differ
diff --git a/src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png b/src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..c08b3ad
Binary files /dev/null and b/src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ancient Awakening).png differ
diff --git a/src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png b/src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..c08b3ad
Binary files /dev/null and b/src/images/creatures/Skeleton archer (Ancient Awakening)#1 (Ungael combat activity).png differ
diff --git a/src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png b/src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..5a19d12
Binary files /dev/null and b/src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ancient Awakening).png differ
diff --git a/src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png b/src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..8fe9759
Binary files /dev/null and b/src/images/creatures/Skeleton archer (Ancient Awakening)#2 (Ungael combat activity).png differ
diff --git a/src/images/creatures/Skeleton brute#Default.png b/src/images/creatures/Skeleton brute#Default.png
new file mode 100644 (file)
index 0000000..7df9d34
Binary files /dev/null and b/src/images/creatures/Skeleton brute#Default.png differ
diff --git a/src/images/creatures/Skeleton fremennik#Level 23.png b/src/images/creatures/Skeleton fremennik#Level 23.png
new file mode 100644 (file)
index 0000000..1648cf6
Binary files /dev/null and b/src/images/creatures/Skeleton fremennik#Level 23.png differ
diff --git a/src/images/creatures/Skeleton fremennik#Level 28.png b/src/images/creatures/Skeleton fremennik#Level 28.png
new file mode 100644 (file)
index 0000000..1648cf6
Binary files /dev/null and b/src/images/creatures/Skeleton fremennik#Level 28.png differ
diff --git a/src/images/creatures/Skeleton fremennik#Level 30.png b/src/images/creatures/Skeleton fremennik#Level 30.png
new file mode 100644 (file)
index 0000000..1648cf6
Binary files /dev/null and b/src/images/creatures/Skeleton fremennik#Level 30.png differ
diff --git a/src/images/creatures/Skeleton heavy#Default.png b/src/images/creatures/Skeleton heavy#Default.png
new file mode 100644 (file)
index 0000000..c9558bb
Binary files /dev/null and b/src/images/creatures/Skeleton heavy#Default.png differ
diff --git a/src/images/creatures/Skeleton hero#Default.png b/src/images/creatures/Skeleton hero#Default.png
new file mode 100644 (file)
index 0000000..1f9c8ce
Binary files /dev/null and b/src/images/creatures/Skeleton hero#Default.png differ
diff --git a/src/images/creatures/Skeleton knight#Ancient Awakening.png b/src/images/creatures/Skeleton knight#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..65c8648
Binary files /dev/null and b/src/images/creatures/Skeleton knight#Ancient Awakening.png differ
diff --git a/src/images/creatures/Skeleton knight#Ungael combat activity (hard).png b/src/images/creatures/Skeleton knight#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..65c8648
Binary files /dev/null and b/src/images/creatures/Skeleton knight#Ungael combat activity (hard).png differ
diff --git a/src/images/creatures/Skeleton knight#Ungael combat activity (standard).png b/src/images/creatures/Skeleton knight#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..65c8648
Binary files /dev/null and b/src/images/creatures/Skeleton knight#Ungael combat activity (standard).png differ
diff --git a/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png b/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..f2ad3a0
Binary files /dev/null and b/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ancient Awakening.png differ
diff --git a/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png b/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..f2ad3a0
Binary files /dev/null and b/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (hard).png differ
diff --git a/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png b/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..f2ad3a0
Binary files /dev/null and b/src/images/creatures/Skeleton ranger (Ancient Awakening)#Ungael combat activity (standard).png differ
diff --git a/src/images/creatures/Skeleton thug#Default.png b/src/images/creatures/Skeleton thug#Default.png
new file mode 100644 (file)
index 0000000..27d1817
Binary files /dev/null and b/src/images/creatures/Skeleton thug#Default.png differ
diff --git a/src/images/creatures/Skeleton warlord#Default.png b/src/images/creatures/Skeleton warlord#Default.png
new file mode 100644 (file)
index 0000000..0dfbf69
Binary files /dev/null and b/src/images/creatures/Skeleton warlord#Default.png differ
diff --git a/src/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png b/src/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png
new file mode 100644 (file)
index 0000000..cf5e798
Binary files /dev/null and b/src/images/creatures/Skeleton warrior (Ancient Awakening)#Default.png differ
diff --git a/src/images/creatures/Skeleton#Level 15.png b/src/images/creatures/Skeleton#Level 15.png
new file mode 100644 (file)
index 0000000..835db36
Binary files /dev/null and b/src/images/creatures/Skeleton#Level 15.png differ
diff --git a/src/images/creatures/Skeleton#Level 16.png b/src/images/creatures/Skeleton#Level 16.png
new file mode 100644 (file)
index 0000000..5b19b37
Binary files /dev/null and b/src/images/creatures/Skeleton#Level 16.png differ
diff --git a/src/images/creatures/Skeleton#Level 32.png b/src/images/creatures/Skeleton#Level 32.png
new file mode 100644 (file)
index 0000000..a06d8bf
Binary files /dev/null and b/src/images/creatures/Skeleton#Level 32.png differ
diff --git a/src/images/creatures/Skeleton#Level 46.png b/src/images/creatures/Skeleton#Level 46.png
new file mode 100644 (file)
index 0000000..36d1992
Binary files /dev/null and b/src/images/creatures/Skeleton#Level 46.png differ
diff --git a/src/images/creatures/Skeleton#Level 51.png b/src/images/creatures/Skeleton#Level 51.png
new file mode 100644 (file)
index 0000000..1a4c652
Binary files /dev/null and b/src/images/creatures/Skeleton#Level 51.png differ
diff --git a/src/images/creatures/Skeleton#Level 58.png b/src/images/creatures/Skeleton#Level 58.png
new file mode 100644 (file)
index 0000000..d75c2fa
Binary files /dev/null and b/src/images/creatures/Skeleton#Level 58.png differ
diff --git a/src/images/creatures/Skoblin#Default.png b/src/images/creatures/Skoblin#Default.png
new file mode 100644 (file)
index 0000000..ae08ccb
Binary files /dev/null and b/src/images/creatures/Skoblin#Default.png differ
diff --git a/src/images/creatures/Skogre#1.png b/src/images/creatures/Skogre#1.png
new file mode 100644 (file)
index 0000000..d2dca13
Binary files /dev/null and b/src/images/creatures/Skogre#1.png differ
diff --git a/src/images/creatures/Skogre#2.png b/src/images/creatures/Skogre#2.png
new file mode 100644 (file)
index 0000000..d2dca13
Binary files /dev/null and b/src/images/creatures/Skogre#2.png differ
diff --git a/src/images/creatures/Skogre#3.png b/src/images/creatures/Skogre#3.png
new file mode 100644 (file)
index 0000000..d2dca13
Binary files /dev/null and b/src/images/creatures/Skogre#3.png differ
diff --git a/src/images/creatures/Slasher Demon#Default.png b/src/images/creatures/Slasher Demon#Default.png
new file mode 100644 (file)
index 0000000..2d3e248
Binary files /dev/null and b/src/images/creatures/Slasher Demon#Default.png differ
diff --git a/src/images/creatures/Small Lizard#Green.png b/src/images/creatures/Small Lizard#Green.png
new file mode 100644 (file)
index 0000000..963d4ee
Binary files /dev/null and b/src/images/creatures/Small Lizard#Green.png differ
diff --git a/src/images/creatures/Small Lizard#Yellow.png b/src/images/creatures/Small Lizard#Yellow.png
new file mode 100644 (file)
index 0000000..70b5b54
Binary files /dev/null and b/src/images/creatures/Small Lizard#Yellow.png differ
diff --git a/src/images/creatures/Small scarab#Do No Evil.png b/src/images/creatures/Small scarab#Do No Evil.png
new file mode 100644 (file)
index 0000000..0583c1b
Binary files /dev/null and b/src/images/creatures/Small scarab#Do No Evil.png differ
diff --git a/src/images/creatures/Small scarab#Uzer Mastaba.png b/src/images/creatures/Small scarab#Uzer Mastaba.png
new file mode 100644 (file)
index 0000000..ad9064e
Binary files /dev/null and b/src/images/creatures/Small scarab#Uzer Mastaba.png differ
diff --git a/src/images/creatures/Small scarab#Zombie (1).png b/src/images/creatures/Small scarab#Zombie (1).png
new file mode 100644 (file)
index 0000000..5c6ab9f
Binary files /dev/null and b/src/images/creatures/Small scarab#Zombie (1).png differ
diff --git a/src/images/creatures/Small scarab#Zombie (2).png b/src/images/creatures/Small scarab#Zombie (2).png
new file mode 100644 (file)
index 0000000..d5baa3e
Binary files /dev/null and b/src/images/creatures/Small scarab#Zombie (2).png differ
diff --git a/src/images/creatures/Small scarab#Zombie (3).png b/src/images/creatures/Small scarab#Zombie (3).png
new file mode 100644 (file)
index 0000000..a4f0de3
Binary files /dev/null and b/src/images/creatures/Small scarab#Zombie (3).png differ
diff --git a/src/images/creatures/Smoke nihil#boss.png b/src/images/creatures/Smoke nihil#boss.png
new file mode 100644 (file)
index 0000000..e4622da
Binary files /dev/null and b/src/images/creatures/Smoke nihil#boss.png differ
diff --git a/src/images/creatures/Smoke nihil#normal.png b/src/images/creatures/Smoke nihil#normal.png
new file mode 100644 (file)
index 0000000..e4622da
Binary files /dev/null and b/src/images/creatures/Smoke nihil#normal.png differ
diff --git a/src/images/creatures/Smoulders#Default.png b/src/images/creatures/Smoulders#Default.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/src/images/creatures/Smoulders#Default.png differ
diff --git a/src/images/creatures/Smoulders, the Revenger#Default.png b/src/images/creatures/Smoulders, the Revenger#Default.png
new file mode 100644 (file)
index 0000000..12c7d02
Binary files /dev/null and b/src/images/creatures/Smoulders, the Revenger#Default.png differ
diff --git a/src/images/creatures/Solak#Left arm.png b/src/images/creatures/Solak#Left arm.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/src/images/creatures/Solak#Left arm.png differ
diff --git a/src/images/creatures/Solak#Left leg.png b/src/images/creatures/Solak#Left leg.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/src/images/creatures/Solak#Left leg.png differ
diff --git a/src/images/creatures/Solak#Right arm.png b/src/images/creatures/Solak#Right arm.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/src/images/creatures/Solak#Right arm.png differ
diff --git a/src/images/creatures/Solak#Right leg.png b/src/images/creatures/Solak#Right leg.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/src/images/creatures/Solak#Right leg.png differ
diff --git a/src/images/creatures/Solak#Solak.png b/src/images/creatures/Solak#Solak.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/src/images/creatures/Solak#Solak.png differ
diff --git a/src/images/creatures/Solak#Withering.png b/src/images/creatures/Solak#Withering.png
new file mode 100644 (file)
index 0000000..1ccbdce
Binary files /dev/null and b/src/images/creatures/Solak#Withering.png differ
diff --git a/src/images/creatures/Soulgazer (elite)#Default.png b/src/images/creatures/Soulgazer (elite)#Default.png
new file mode 100644 (file)
index 0000000..0a7fe08
Binary files /dev/null and b/src/images/creatures/Soulgazer (elite)#Default.png differ
diff --git a/src/images/creatures/Soulgazer#Default.png b/src/images/creatures/Soulgazer#Default.png
new file mode 100644 (file)
index 0000000..0a7fe08
Binary files /dev/null and b/src/images/creatures/Soulgazer#Default.png differ
diff --git a/src/images/creatures/Soulless armoured zombie#Default.png b/src/images/creatures/Soulless armoured zombie#Default.png
new file mode 100644 (file)
index 0000000..fcc0b40
Binary files /dev/null and b/src/images/creatures/Soulless armoured zombie#Default.png differ
diff --git a/src/images/creatures/Soulless unarmoured zombie#Default.png b/src/images/creatures/Soulless unarmoured zombie#Default.png
new file mode 100644 (file)
index 0000000..fcc0b40
Binary files /dev/null and b/src/images/creatures/Soulless unarmoured zombie#Default.png differ
diff --git a/src/images/creatures/Spider#Ape Atoll.png b/src/images/creatures/Spider#Ape Atoll.png
new file mode 100644 (file)
index 0000000..f44e18a
Binary files /dev/null and b/src/images/creatures/Spider#Ape Atoll.png differ
diff --git a/src/images/creatures/Spider#Common.png b/src/images/creatures/Spider#Common.png
new file mode 100644 (file)
index 0000000..ea6a406
Binary files /dev/null and b/src/images/creatures/Spider#Common.png differ
diff --git a/src/images/creatures/Spider#Stronghold of Security.png b/src/images/creatures/Spider#Stronghold of Security.png
new file mode 100644 (file)
index 0000000..be650ef
Binary files /dev/null and b/src/images/creatures/Spider#Stronghold of Security.png differ
diff --git a/src/images/creatures/Spider#Underground Pass.png b/src/images/creatures/Spider#Underground Pass.png
new file mode 100644 (file)
index 0000000..be650ef
Binary files /dev/null and b/src/images/creatures/Spider#Underground Pass.png differ
diff --git a/src/images/creatures/Spiritual mage#Armadyl.png b/src/images/creatures/Spiritual mage#Armadyl.png
new file mode 100644 (file)
index 0000000..22e9413
Binary files /dev/null and b/src/images/creatures/Spiritual mage#Armadyl.png differ
diff --git a/src/images/creatures/Spiritual mage#Bandos.png b/src/images/creatures/Spiritual mage#Bandos.png
new file mode 100644 (file)
index 0000000..bb800f4
Binary files /dev/null and b/src/images/creatures/Spiritual mage#Bandos.png differ
diff --git a/src/images/creatures/Spiritual mage#Saradomin.png b/src/images/creatures/Spiritual mage#Saradomin.png
new file mode 100644 (file)
index 0000000..2ad148d
Binary files /dev/null and b/src/images/creatures/Spiritual mage#Saradomin.png differ
diff --git a/src/images/creatures/Spiritual mage#The World Wakes.png b/src/images/creatures/Spiritual mage#The World Wakes.png
new file mode 100644 (file)
index 0000000..2ad148d
Binary files /dev/null and b/src/images/creatures/Spiritual mage#The World Wakes.png differ
diff --git a/src/images/creatures/Spiritual mage#Zamorak.png b/src/images/creatures/Spiritual mage#Zamorak.png
new file mode 100644 (file)
index 0000000..8df06f2
Binary files /dev/null and b/src/images/creatures/Spiritual mage#Zamorak.png differ
diff --git a/src/images/creatures/Spiritual ranger#Armadyl.png b/src/images/creatures/Spiritual ranger#Armadyl.png
new file mode 100644 (file)
index 0000000..49c575e
Binary files /dev/null and b/src/images/creatures/Spiritual ranger#Armadyl.png differ
diff --git a/src/images/creatures/Spiritual ranger#Bandos.png b/src/images/creatures/Spiritual ranger#Bandos.png
new file mode 100644 (file)
index 0000000..365e69d
Binary files /dev/null and b/src/images/creatures/Spiritual ranger#Bandos.png differ
diff --git a/src/images/creatures/Spiritual ranger#Saradomin.png b/src/images/creatures/Spiritual ranger#Saradomin.png
new file mode 100644 (file)
index 0000000..0bd03b5
Binary files /dev/null and b/src/images/creatures/Spiritual ranger#Saradomin.png differ
diff --git a/src/images/creatures/Spiritual ranger#The World Wakes.png b/src/images/creatures/Spiritual ranger#The World Wakes.png
new file mode 100644 (file)
index 0000000..0bd03b5
Binary files /dev/null and b/src/images/creatures/Spiritual ranger#The World Wakes.png differ
diff --git a/src/images/creatures/Spiritual ranger#Zamorak.png b/src/images/creatures/Spiritual ranger#Zamorak.png
new file mode 100644 (file)
index 0000000..042b315
Binary files /dev/null and b/src/images/creatures/Spiritual ranger#Zamorak.png differ
diff --git a/src/images/creatures/Spiritual warrior#Armadyl.png b/src/images/creatures/Spiritual warrior#Armadyl.png
new file mode 100644 (file)
index 0000000..d79e1c7
Binary files /dev/null and b/src/images/creatures/Spiritual warrior#Armadyl.png differ
diff --git a/src/images/creatures/Spiritual warrior#Bandos.png b/src/images/creatures/Spiritual warrior#Bandos.png
new file mode 100644 (file)
index 0000000..1e957f9
Binary files /dev/null and b/src/images/creatures/Spiritual warrior#Bandos.png differ
diff --git a/src/images/creatures/Spiritual warrior#Saradomin.png b/src/images/creatures/Spiritual warrior#Saradomin.png
new file mode 100644 (file)
index 0000000..2536b63
Binary files /dev/null and b/src/images/creatures/Spiritual warrior#Saradomin.png differ
diff --git a/src/images/creatures/Spiritual warrior#The World Wakes.png b/src/images/creatures/Spiritual warrior#The World Wakes.png
new file mode 100644 (file)
index 0000000..2536b63
Binary files /dev/null and b/src/images/creatures/Spiritual warrior#The World Wakes.png differ
diff --git a/src/images/creatures/Spiritual warrior#Zamorak.png b/src/images/creatures/Spiritual warrior#Zamorak.png
new file mode 100644 (file)
index 0000000..b5ca763
Binary files /dev/null and b/src/images/creatures/Spiritual warrior#Zamorak.png differ
diff --git a/src/images/creatures/Spyndra#Normal mode.png b/src/images/creatures/Spyndra#Normal mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/src/images/creatures/Spyndra#Normal mode.png differ
diff --git a/src/images/creatures/Spyndra#Story mode.png b/src/images/creatures/Spyndra#Story mode.png
new file mode 100644 (file)
index 0000000..95d1899
Binary files /dev/null and b/src/images/creatures/Spyndra#Story mode.png differ
diff --git a/src/images/creatures/Steel dragon#Default.png b/src/images/creatures/Steel dragon#Default.png
new file mode 100644 (file)
index 0000000..b697fd5
Binary files /dev/null and b/src/images/creatures/Steel dragon#Default.png differ
diff --git a/src/images/creatures/Stick#Default.png b/src/images/creatures/Stick#Default.png
new file mode 100644 (file)
index 0000000..4f5e5d8
Binary files /dev/null and b/src/images/creatures/Stick#Default.png differ
diff --git a/src/images/creatures/Stinkears#Default.png b/src/images/creatures/Stinkears#Default.png
new file mode 100644 (file)
index 0000000..36b11ab
Binary files /dev/null and b/src/images/creatures/Stinkears#Default.png differ
diff --git a/src/images/creatures/Stove#Default.png b/src/images/creatures/Stove#Default.png
new file mode 100644 (file)
index 0000000..6f073d4
Binary files /dev/null and b/src/images/creatures/Stove#Default.png differ
diff --git a/src/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png b/src/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/src/images/creatures/Summoned Zombie (The Shadow Reef)#Normal mode.png differ
diff --git a/src/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png b/src/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/src/images/creatures/Summoned Zombie (The Shadow Reef)#Story mode.png differ
diff --git a/src/images/creatures/Summoned Zombie#Default.png b/src/images/creatures/Summoned Zombie#Default.png
new file mode 100644 (file)
index 0000000..1b2c1ed
Binary files /dev/null and b/src/images/creatures/Summoned Zombie#Default.png differ
diff --git a/src/images/creatures/Summoned armoured zombie#Normal mode.png b/src/images/creatures/Summoned armoured zombie#Normal mode.png
new file mode 100644 (file)
index 0000000..8374d31
Binary files /dev/null and b/src/images/creatures/Summoned armoured zombie#Normal mode.png differ
diff --git a/src/images/creatures/Summoned armoured zombie#Story mode.png b/src/images/creatures/Summoned armoured zombie#Story mode.png
new file mode 100644 (file)
index 0000000..cd0f9d9
Binary files /dev/null and b/src/images/creatures/Summoned armoured zombie#Story mode.png differ
diff --git a/src/images/creatures/Summoned skeleton archer#Normal mode.png b/src/images/creatures/Summoned skeleton archer#Normal mode.png
new file mode 100644 (file)
index 0000000..ec1baa0
Binary files /dev/null and b/src/images/creatures/Summoned skeleton archer#Normal mode.png differ
diff --git a/src/images/creatures/Summoned skeleton archer#Story mode.png b/src/images/creatures/Summoned skeleton archer#Story mode.png
new file mode 100644 (file)
index 0000000..ec1baa0
Binary files /dev/null and b/src/images/creatures/Summoned skeleton archer#Story mode.png differ
diff --git a/src/images/creatures/Summoned skeleton#Normal mode.png b/src/images/creatures/Summoned skeleton#Normal mode.png
new file mode 100644 (file)
index 0000000..51df0ec
Binary files /dev/null and b/src/images/creatures/Summoned skeleton#Normal mode.png differ
diff --git a/src/images/creatures/Summoned skeleton#Story mode.png b/src/images/creatures/Summoned skeleton#Story mode.png
new file mode 100644 (file)
index 0000000..51df0ec
Binary files /dev/null and b/src/images/creatures/Summoned skeleton#Story mode.png differ
diff --git a/src/images/creatures/Super Cow#Default.png b/src/images/creatures/Super Cow#Default.png
new file mode 100644 (file)
index 0000000..d7c1d2b
Binary files /dev/null and b/src/images/creatures/Super Cow#Default.png differ
diff --git a/src/images/creatures/Suqah#Level 73 (Dual wielding swords).png b/src/images/creatures/Suqah#Level 73 (Dual wielding swords).png
new file mode 100644 (file)
index 0000000..f946cdc
Binary files /dev/null and b/src/images/creatures/Suqah#Level 73 (Dual wielding swords).png differ
diff --git a/src/images/creatures/Suqah#Level 74 (Magic).png b/src/images/creatures/Suqah#Level 74 (Magic).png
new file mode 100644 (file)
index 0000000..58890b3
Binary files /dev/null and b/src/images/creatures/Suqah#Level 74 (Magic).png differ
diff --git a/src/images/creatures/Suqah#Level 74.png b/src/images/creatures/Suqah#Level 74.png
new file mode 100644 (file)
index 0000000..58890b3
Binary files /dev/null and b/src/images/creatures/Suqah#Level 74.png differ
diff --git a/src/images/creatures/Suqah#Level 79.png b/src/images/creatures/Suqah#Level 79.png
new file mode 100644 (file)
index 0000000..58890b3
Binary files /dev/null and b/src/images/creatures/Suqah#Level 79.png differ
diff --git a/src/images/creatures/Swamp frog#Default.png b/src/images/creatures/Swamp frog#Default.png
new file mode 100644 (file)
index 0000000..5054b8b
Binary files /dev/null and b/src/images/creatures/Swamp frog#Default.png differ
diff --git a/src/images/creatures/Taraket the Necromancer#Normal mode.png b/src/images/creatures/Taraket the Necromancer#Normal mode.png
new file mode 100644 (file)
index 0000000..bf20f57
Binary files /dev/null and b/src/images/creatures/Taraket the Necromancer#Normal mode.png differ
diff --git a/src/images/creatures/Taraket the Necromancer#Story mode.png b/src/images/creatures/Taraket the Necromancer#Story mode.png
new file mode 100644 (file)
index 0000000..bf20f57
Binary files /dev/null and b/src/images/creatures/Taraket the Necromancer#Story mode.png differ
diff --git a/src/images/creatures/Telos, the Warden#Dormant.png b/src/images/creatures/Telos, the Warden#Dormant.png
new file mode 100644 (file)
index 0000000..b44dffc
Binary files /dev/null and b/src/images/creatures/Telos, the Warden#Dormant.png differ
diff --git a/src/images/creatures/Telos, the Warden#Phase 5.png b/src/images/creatures/Telos, the Warden#Phase 5.png
new file mode 100644 (file)
index 0000000..f85f55d
Binary files /dev/null and b/src/images/creatures/Telos, the Warden#Phase 5.png differ
diff --git a/src/images/creatures/Telos, the Warden#Standard.png b/src/images/creatures/Telos, the Warden#Standard.png
new file mode 100644 (file)
index 0000000..6ef2ba6
Binary files /dev/null and b/src/images/creatures/Telos, the Warden#Standard.png differ
diff --git a/src/images/creatures/Tenacious toucan#Default.png b/src/images/creatures/Tenacious toucan#Default.png
new file mode 100644 (file)
index 0000000..531785d
Binary files /dev/null and b/src/images/creatures/Tenacious toucan#Default.png differ
diff --git a/src/images/creatures/Terror dog#Level 61.png b/src/images/creatures/Terror dog#Level 61.png
new file mode 100644 (file)
index 0000000..64b4982
Binary files /dev/null and b/src/images/creatures/Terror dog#Level 61.png differ
diff --git a/src/images/creatures/Terror dog#Level 65.png b/src/images/creatures/Terror dog#Level 65.png
new file mode 100644 (file)
index 0000000..64b4982
Binary files /dev/null and b/src/images/creatures/Terror dog#Level 65.png differ
diff --git a/src/images/creatures/Terrorbird#Default.png b/src/images/creatures/Terrorbird#Default.png
new file mode 100644 (file)
index 0000000..38b3611
Binary files /dev/null and b/src/images/creatures/Terrorbird#Default.png differ
diff --git a/src/images/creatures/The Ambassador#Normal mode.png b/src/images/creatures/The Ambassador#Normal mode.png
new file mode 100644 (file)
index 0000000..019f7d0
Binary files /dev/null and b/src/images/creatures/The Ambassador#Normal mode.png differ
diff --git a/src/images/creatures/The Ambassador#Story mode.png b/src/images/creatures/The Ambassador#Story mode.png
new file mode 100644 (file)
index 0000000..019f7d0
Binary files /dev/null and b/src/images/creatures/The Ambassador#Story mode.png differ
diff --git a/src/images/creatures/The Magister#Default.png b/src/images/creatures/The Magister#Default.png
new file mode 100644 (file)
index 0000000..e895759
Binary files /dev/null and b/src/images/creatures/The Magister#Default.png differ
diff --git a/src/images/creatures/Thrower Troll#Death Plateau.png b/src/images/creatures/Thrower Troll#Death Plateau.png
new file mode 100644 (file)
index 0000000..9145f53
Binary files /dev/null and b/src/images/creatures/Thrower Troll#Death Plateau.png differ
diff --git a/src/images/creatures/Thrower Troll#Trollheim.png b/src/images/creatures/Thrower Troll#Trollheim.png
new file mode 100644 (file)
index 0000000..9145f53
Binary files /dev/null and b/src/images/creatures/Thrower Troll#Trollheim.png differ
diff --git a/src/images/creatures/Throwing muspah#Default.png b/src/images/creatures/Throwing muspah#Default.png
new file mode 100644 (file)
index 0000000..99c5bfb
Binary files /dev/null and b/src/images/creatures/Throwing muspah#Default.png differ
diff --git a/src/images/creatures/Torag the Corrupted#Normal.png b/src/images/creatures/Torag the Corrupted#Normal.png
new file mode 100644 (file)
index 0000000..f16bd70
Binary files /dev/null and b/src/images/creatures/Torag the Corrupted#Normal.png differ
diff --git a/src/images/creatures/Torag the Corrupted#Rise of the Six.png b/src/images/creatures/Torag the Corrupted#Rise of the Six.png
new file mode 100644 (file)
index 0000000..14bfa6c
Binary files /dev/null and b/src/images/creatures/Torag the Corrupted#Rise of the Six.png differ
diff --git a/src/images/creatures/Tormented demon#Standard.png b/src/images/creatures/Tormented demon#Standard.png
new file mode 100644 (file)
index 0000000..22132c2
Binary files /dev/null and b/src/images/creatures/Tormented demon#Standard.png differ
diff --git a/src/images/creatures/Tormented demon#While Guthix Sleeps.png b/src/images/creatures/Tormented demon#While Guthix Sleeps.png
new file mode 100644 (file)
index 0000000..5ceb9cb
Binary files /dev/null and b/src/images/creatures/Tormented demon#While Guthix Sleeps.png differ
diff --git a/src/images/creatures/Tormented soul (Uncharted Isles)#Default.png b/src/images/creatures/Tormented soul (Uncharted Isles)#Default.png
new file mode 100644 (file)
index 0000000..d9ec8ed
Binary files /dev/null and b/src/images/creatures/Tormented soul (Uncharted Isles)#Default.png differ
diff --git a/src/images/creatures/Tormented wraith#Default.png b/src/images/creatures/Tormented wraith#Default.png
new file mode 100644 (file)
index 0000000..39683a0
Binary files /dev/null and b/src/images/creatures/Tormented wraith#Default.png differ
diff --git a/src/images/creatures/Torrential Waterfiend (summoned)#Default.png b/src/images/creatures/Torrential Waterfiend (summoned)#Default.png
new file mode 100644 (file)
index 0000000..5572628
Binary files /dev/null and b/src/images/creatures/Torrential Waterfiend (summoned)#Default.png differ
diff --git a/src/images/creatures/Torrential Waterfiend#Default.png b/src/images/creatures/Torrential Waterfiend#Default.png
new file mode 100644 (file)
index 0000000..9fff216
Binary files /dev/null and b/src/images/creatures/Torrential Waterfiend#Default.png differ
diff --git a/src/images/creatures/Tortured soul (Port Phasmatys)#Default.png b/src/images/creatures/Tortured soul (Port Phasmatys)#Default.png
new file mode 100644 (file)
index 0000000..874f46c
Binary files /dev/null and b/src/images/creatures/Tortured soul (Port Phasmatys)#Default.png differ
diff --git a/src/images/creatures/Training dummy#Abyssal demon (magic).png b/src/images/creatures/Training dummy#Abyssal demon (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Abyssal demon (magic).png differ
diff --git a/src/images/creatures/Training dummy#Abyssal demon (melee).png b/src/images/creatures/Training dummy#Abyssal demon (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Abyssal demon (melee).png differ
diff --git a/src/images/creatures/Training dummy#Abyssal demon (ranged).png b/src/images/creatures/Training dummy#Abyssal demon (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Abyssal demon (ranged).png differ
diff --git a/src/images/creatures/Training dummy#Basilisk (magic).png b/src/images/creatures/Training dummy#Basilisk (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Basilisk (magic).png differ
diff --git a/src/images/creatures/Training dummy#Basilisk (melee).png b/src/images/creatures/Training dummy#Basilisk (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Basilisk (melee).png differ
diff --git a/src/images/creatures/Training dummy#Basilisk (ranged).png b/src/images/creatures/Training dummy#Basilisk (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Basilisk (ranged).png differ
diff --git a/src/images/creatures/Training dummy#Demon (magic).png b/src/images/creatures/Training dummy#Demon (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Demon (magic).png differ
diff --git a/src/images/creatures/Training dummy#Demon (melee).png b/src/images/creatures/Training dummy#Demon (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Demon (melee).png differ
diff --git a/src/images/creatures/Training dummy#Demon (ranged).png b/src/images/creatures/Training dummy#Demon (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Demon (ranged).png differ
diff --git a/src/images/creatures/Training dummy#Dragon (magic).png b/src/images/creatures/Training dummy#Dragon (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Dragon (magic).png differ
diff --git a/src/images/creatures/Training dummy#Dragon (melee).png b/src/images/creatures/Training dummy#Dragon (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Dragon (melee).png differ
diff --git a/src/images/creatures/Training dummy#Dragon (ranged).png b/src/images/creatures/Training dummy#Dragon (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Dragon (ranged).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to arrows, medium).png b/src/images/creatures/Training dummy#Magic (weak to arrows, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to arrows, medium).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to arrows, strong).png b/src/images/creatures/Training dummy#Magic (weak to arrows, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to arrows, strong).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to arrows, weak).png b/src/images/creatures/Training dummy#Magic (weak to arrows, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to arrows, weak).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to bolts, medium).png b/src/images/creatures/Training dummy#Magic (weak to bolts, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to bolts, medium).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to bolts, strong).png b/src/images/creatures/Training dummy#Magic (weak to bolts, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to bolts, strong).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to bolts, weak).png b/src/images/creatures/Training dummy#Magic (weak to bolts, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to bolts, weak).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to nothing, medium).png b/src/images/creatures/Training dummy#Magic (weak to nothing, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to nothing, medium).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to nothing, strong).png b/src/images/creatures/Training dummy#Magic (weak to nothing, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to nothing, strong).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to nothing, weak).png b/src/images/creatures/Training dummy#Magic (weak to nothing, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to nothing, weak).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to thrown, medium).png b/src/images/creatures/Training dummy#Magic (weak to thrown, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to thrown, medium).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to thrown, strong).png b/src/images/creatures/Training dummy#Magic (weak to thrown, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to thrown, strong).png differ
diff --git a/src/images/creatures/Training dummy#Magic (weak to thrown, weak).png b/src/images/creatures/Training dummy#Magic (weak to thrown, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Magic (weak to thrown, weak).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to air, medium).png b/src/images/creatures/Training dummy#Melee (weak to air, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to air, medium).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to air, strong).png b/src/images/creatures/Training dummy#Melee (weak to air, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to air, strong).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to air, weak).png b/src/images/creatures/Training dummy#Melee (weak to air, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to air, weak).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to earth, medium).png b/src/images/creatures/Training dummy#Melee (weak to earth, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to earth, medium).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to earth, strong).png b/src/images/creatures/Training dummy#Melee (weak to earth, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to earth, strong).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to earth, weak).png b/src/images/creatures/Training dummy#Melee (weak to earth, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to earth, weak).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to fire, medium).png b/src/images/creatures/Training dummy#Melee (weak to fire, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to fire, medium).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to fire, strong).png b/src/images/creatures/Training dummy#Melee (weak to fire, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to fire, strong).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to fire, weak).png b/src/images/creatures/Training dummy#Melee (weak to fire, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to fire, weak).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to nothing, medium).png b/src/images/creatures/Training dummy#Melee (weak to nothing, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to nothing, medium).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to nothing, strong).png b/src/images/creatures/Training dummy#Melee (weak to nothing, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to nothing, strong).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to nothing, weak).png b/src/images/creatures/Training dummy#Melee (weak to nothing, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to nothing, weak).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to water, medium).png b/src/images/creatures/Training dummy#Melee (weak to water, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to water, medium).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to water, strong).png b/src/images/creatures/Training dummy#Melee (weak to water, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to water, strong).png differ
diff --git a/src/images/creatures/Training dummy#Melee (weak to water, weak).png b/src/images/creatures/Training dummy#Melee (weak to water, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Melee (weak to water, weak).png differ
diff --git a/src/images/creatures/Training dummy#Permanent.png b/src/images/creatures/Training dummy#Permanent.png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Permanent.png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to crush, medium).png b/src/images/creatures/Training dummy#Ranged (weak to crush, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to crush, medium).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to crush, strong).png b/src/images/creatures/Training dummy#Ranged (weak to crush, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to crush, strong).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to crush, weak).png b/src/images/creatures/Training dummy#Ranged (weak to crush, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to crush, weak).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to nothing, medium).png b/src/images/creatures/Training dummy#Ranged (weak to nothing, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to nothing, medium).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to nothing, strong).png b/src/images/creatures/Training dummy#Ranged (weak to nothing, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to nothing, strong).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to nothing, weak).png b/src/images/creatures/Training dummy#Ranged (weak to nothing, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to nothing, weak).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to slash, medium).png b/src/images/creatures/Training dummy#Ranged (weak to slash, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to slash, medium).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to slash, strong).png b/src/images/creatures/Training dummy#Ranged (weak to slash, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to slash, strong).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to slash, weak).png b/src/images/creatures/Training dummy#Ranged (weak to slash, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to slash, weak).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to stab, medium).png b/src/images/creatures/Training dummy#Ranged (weak to stab, medium).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to stab, medium).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to stab, strong).png b/src/images/creatures/Training dummy#Ranged (weak to stab, strong).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to stab, strong).png differ
diff --git a/src/images/creatures/Training dummy#Ranged (weak to stab, weak).png b/src/images/creatures/Training dummy#Ranged (weak to stab, weak).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Ranged (weak to stab, weak).png differ
diff --git a/src/images/creatures/Training dummy#Revenant (magic).png b/src/images/creatures/Training dummy#Revenant (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Revenant (magic).png differ
diff --git a/src/images/creatures/Training dummy#Revenant (melee).png b/src/images/creatures/Training dummy#Revenant (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Revenant (melee).png differ
diff --git a/src/images/creatures/Training dummy#Revenant (ranged).png b/src/images/creatures/Training dummy#Revenant (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Revenant (ranged).png differ
diff --git a/src/images/creatures/Training dummy#Undead (magic).png b/src/images/creatures/Training dummy#Undead (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Undead (magic).png differ
diff --git a/src/images/creatures/Training dummy#Undead (melee).png b/src/images/creatures/Training dummy#Undead (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Undead (melee).png differ
diff --git a/src/images/creatures/Training dummy#Undead (ranged).png b/src/images/creatures/Training dummy#Undead (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Undead (ranged).png differ
diff --git a/src/images/creatures/Training dummy#Wallasalki (magic).png b/src/images/creatures/Training dummy#Wallasalki (magic).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Wallasalki (magic).png differ
diff --git a/src/images/creatures/Training dummy#Wallasalki (melee).png b/src/images/creatures/Training dummy#Wallasalki (melee).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Wallasalki (melee).png differ
diff --git a/src/images/creatures/Training dummy#Wallasalki (ranged).png b/src/images/creatures/Training dummy#Wallasalki (ranged).png
new file mode 100644 (file)
index 0000000..726a5f8
Binary files /dev/null and b/src/images/creatures/Training dummy#Wallasalki (ranged).png differ
diff --git a/src/images/creatures/Troll brute (Davendale)#Default.png b/src/images/creatures/Troll brute (Davendale)#Default.png
new file mode 100644 (file)
index 0000000..c56d15b
Binary files /dev/null and b/src/images/creatures/Troll brute (Davendale)#Default.png differ
diff --git a/src/images/creatures/Troll brute#Default.png b/src/images/creatures/Troll brute#Default.png
new file mode 100644 (file)
index 0000000..c1db093
Binary files /dev/null and b/src/images/creatures/Troll brute#Default.png differ
diff --git a/src/images/creatures/Troll chucker (Davendale)#Default.png b/src/images/creatures/Troll chucker (Davendale)#Default.png
new file mode 100644 (file)
index 0000000..6494e83
Binary files /dev/null and b/src/images/creatures/Troll chucker (Davendale)#Default.png differ
diff --git a/src/images/creatures/Troll chucker#Default.png b/src/images/creatures/Troll chucker#Default.png
new file mode 100644 (file)
index 0000000..c77c549
Binary files /dev/null and b/src/images/creatures/Troll chucker#Default.png differ
diff --git a/src/images/creatures/Troll general#Club.png b/src/images/creatures/Troll general#Club.png
new file mode 100644 (file)
index 0000000..1f8e885
Binary files /dev/null and b/src/images/creatures/Troll general#Club.png differ
diff --git a/src/images/creatures/Troll general#Hammer.png b/src/images/creatures/Troll general#Hammer.png
new file mode 100644 (file)
index 0000000..89049ef
Binary files /dev/null and b/src/images/creatures/Troll general#Hammer.png differ
diff --git a/src/images/creatures/Troll general#Sword.png b/src/images/creatures/Troll general#Sword.png
new file mode 100644 (file)
index 0000000..404606e
Binary files /dev/null and b/src/images/creatures/Troll general#Sword.png differ
diff --git a/src/images/creatures/Troll lout#Default.png b/src/images/creatures/Troll lout#Default.png
new file mode 100644 (file)
index 0000000..872f7b0
Binary files /dev/null and b/src/images/creatures/Troll lout#Default.png differ
diff --git a/src/images/creatures/Troll shaman (Davendale)#Default.png b/src/images/creatures/Troll shaman (Davendale)#Default.png
new file mode 100644 (file)
index 0000000..f0f2997
Binary files /dev/null and b/src/images/creatures/Troll shaman (Davendale)#Default.png differ
diff --git a/src/images/creatures/Troll shaman#Default.png b/src/images/creatures/Troll shaman#Default.png
new file mode 100644 (file)
index 0000000..146a547
Binary files /dev/null and b/src/images/creatures/Troll shaman#Default.png differ
diff --git a/src/images/creatures/Troll spectator#Default.png b/src/images/creatures/Troll spectator#Default.png
new file mode 100644 (file)
index 0000000..d8653fa
Binary files /dev/null and b/src/images/creatures/Troll spectator#Default.png differ
diff --git a/src/images/creatures/Truthful shadow#Default.png b/src/images/creatures/Truthful shadow#Default.png
new file mode 100644 (file)
index 0000000..540258b
Binary files /dev/null and b/src/images/creatures/Truthful shadow#Default.png differ
diff --git a/src/images/creatures/Tstanon Karlak#Default.png b/src/images/creatures/Tstanon Karlak#Default.png
new file mode 100644 (file)
index 0000000..06fb4eb
Binary files /dev/null and b/src/images/creatures/Tstanon Karlak#Default.png differ
diff --git a/src/images/creatures/Turoth#60 - Large.png b/src/images/creatures/Turoth#60 - Large.png
new file mode 100644 (file)
index 0000000..185e9cd
Binary files /dev/null and b/src/images/creatures/Turoth#60 - Large.png differ
diff --git a/src/images/creatures/Turoth#60 - Small.png b/src/images/creatures/Turoth#60 - Small.png
new file mode 100644 (file)
index 0000000..f41178e
Binary files /dev/null and b/src/images/creatures/Turoth#60 - Small.png differ
diff --git a/src/images/creatures/Turoth#68 - Female.png b/src/images/creatures/Turoth#68 - Female.png
new file mode 100644 (file)
index 0000000..2f2edf4
Binary files /dev/null and b/src/images/creatures/Turoth#68 - Female.png differ
diff --git a/src/images/creatures/Turoth#68 - Male.png b/src/images/creatures/Turoth#68 - Male.png
new file mode 100644 (file)
index 0000000..5906714
Binary files /dev/null and b/src/images/creatures/Turoth#68 - Male.png differ
diff --git a/src/images/creatures/TzHaar-Hur#Level 86.png b/src/images/creatures/TzHaar-Hur#Level 86.png
new file mode 100644 (file)
index 0000000..b4964d4
Binary files /dev/null and b/src/images/creatures/TzHaar-Hur#Level 86.png differ
diff --git a/src/images/creatures/TzHaar-Hur#Level 98.png b/src/images/creatures/TzHaar-Hur#Level 98.png
new file mode 100644 (file)
index 0000000..b4964d4
Binary files /dev/null and b/src/images/creatures/TzHaar-Hur#Level 98.png differ
diff --git a/src/images/creatures/TzHaar-Ket#Default.png b/src/images/creatures/TzHaar-Ket#Default.png
new file mode 100644 (file)
index 0000000..521ff05
Binary files /dev/null and b/src/images/creatures/TzHaar-Ket#Default.png differ
diff --git a/src/images/creatures/TzHaar-Mej#Default.png b/src/images/creatures/TzHaar-Mej#Default.png
new file mode 100644 (file)
index 0000000..dc55057
Binary files /dev/null and b/src/images/creatures/TzHaar-Mej#Default.png differ
diff --git a/src/images/creatures/TzHaar-Xil#Melee.png b/src/images/creatures/TzHaar-Xil#Melee.png
new file mode 100644 (file)
index 0000000..811c95e
Binary files /dev/null and b/src/images/creatures/TzHaar-Xil#Melee.png differ
diff --git a/src/images/creatures/TzHaar-Xil#Ranged.png b/src/images/creatures/TzHaar-Xil#Ranged.png
new file mode 100644 (file)
index 0000000..811c95e
Binary files /dev/null and b/src/images/creatures/TzHaar-Xil#Ranged.png differ
diff --git a/src/images/creatures/TzKal-Zuk#Hard Mode.png b/src/images/creatures/TzKal-Zuk#Hard Mode.png
new file mode 100644 (file)
index 0000000..68c5bb6
Binary files /dev/null and b/src/images/creatures/TzKal-Zuk#Hard Mode.png differ
diff --git a/src/images/creatures/TzKal-Zuk#Normal Mode.png b/src/images/creatures/TzKal-Zuk#Normal Mode.png
new file mode 100644 (file)
index 0000000..68c5bb6
Binary files /dev/null and b/src/images/creatures/TzKal-Zuk#Normal Mode.png differ
diff --git a/src/images/creatures/TzTok-Jad#Default.png b/src/images/creatures/TzTok-Jad#Default.png
new file mode 100644 (file)
index 0000000..ede3ebc
Binary files /dev/null and b/src/images/creatures/TzTok-Jad#Default.png differ
diff --git a/src/images/creatures/Ulthven Keith#Default.png b/src/images/creatures/Ulthven Keith#Default.png
new file mode 100644 (file)
index 0000000..28bf698
Binary files /dev/null and b/src/images/creatures/Ulthven Keith#Default.png differ
diff --git a/src/images/creatures/Undead Witch#Normal mode.png b/src/images/creatures/Undead Witch#Normal mode.png
new file mode 100644 (file)
index 0000000..965a080
Binary files /dev/null and b/src/images/creatures/Undead Witch#Normal mode.png differ
diff --git a/src/images/creatures/Undead Witch#Story mode.png b/src/images/creatures/Undead Witch#Story mode.png
new file mode 100644 (file)
index 0000000..965a080
Binary files /dev/null and b/src/images/creatures/Undead Witch#Story mode.png differ
diff --git a/src/images/creatures/Undead chicken#Default.png b/src/images/creatures/Undead chicken#Default.png
new file mode 100644 (file)
index 0000000..6206ba4
Binary files /dev/null and b/src/images/creatures/Undead chicken#Default.png differ
diff --git a/src/images/creatures/Undead cow#Default.png b/src/images/creatures/Undead cow#Default.png
new file mode 100644 (file)
index 0000000..2bac17f
Binary files /dev/null and b/src/images/creatures/Undead cow#Default.png differ
diff --git a/src/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png b/src/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png
new file mode 100644 (file)
index 0000000..7c5b695
Binary files /dev/null and b/src/images/creatures/Undead giant (Battle of Forinthry)#Normal mode.png differ
diff --git a/src/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png b/src/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png
new file mode 100644 (file)
index 0000000..7c5b695
Binary files /dev/null and b/src/images/creatures/Undead giant (Battle of Forinthry)#Story mode.png differ
diff --git a/src/images/creatures/Undead one#Skeleton (level 44).png b/src/images/creatures/Undead one#Skeleton (level 44).png
new file mode 100644 (file)
index 0000000..be4c475
Binary files /dev/null and b/src/images/creatures/Undead one#Skeleton (level 44).png differ
diff --git a/src/images/creatures/Undead one#Skeleton (level 46).png b/src/images/creatures/Undead one#Skeleton (level 46).png
new file mode 100644 (file)
index 0000000..aec16bb
Binary files /dev/null and b/src/images/creatures/Undead one#Skeleton (level 46).png differ
diff --git a/src/images/creatures/Undead one#Zombie (level 44).png b/src/images/creatures/Undead one#Zombie (level 44).png
new file mode 100644 (file)
index 0000000..c069f12
Binary files /dev/null and b/src/images/creatures/Undead one#Zombie (level 44).png differ
diff --git a/src/images/creatures/Undead one#Zombie (level 46).png b/src/images/creatures/Undead one#Zombie (level 46).png
new file mode 100644 (file)
index 0000000..e2dcb53
Binary files /dev/null and b/src/images/creatures/Undead one#Zombie (level 46).png differ
diff --git a/src/images/creatures/Undead pekin#Default.png b/src/images/creatures/Undead pekin#Default.png
new file mode 100644 (file)
index 0000000..fb05660
Binary files /dev/null and b/src/images/creatures/Undead pekin#Default.png differ
diff --git a/src/images/creatures/Undead troll#Level 77.png b/src/images/creatures/Undead troll#Level 77.png
new file mode 100644 (file)
index 0000000..ba3f5ce
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 77.png differ
diff --git a/src/images/creatures/Undead troll#Level 81 (1).png b/src/images/creatures/Undead troll#Level 81 (1).png
new file mode 100644 (file)
index 0000000..dd7c40d
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 81 (1).png differ
diff --git a/src/images/creatures/Undead troll#Level 81 (2).png b/src/images/creatures/Undead troll#Level 81 (2).png
new file mode 100644 (file)
index 0000000..bdc882f
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 81 (2).png differ
diff --git a/src/images/creatures/Undead troll#Level 81 (3).png b/src/images/creatures/Undead troll#Level 81 (3).png
new file mode 100644 (file)
index 0000000..ffbed19
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 81 (3).png differ
diff --git a/src/images/creatures/Undead troll#Level 81 (4).png b/src/images/creatures/Undead troll#Level 81 (4).png
new file mode 100644 (file)
index 0000000..6fe5b29
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 81 (4).png differ
diff --git a/src/images/creatures/Undead troll#Level 81 (5).png b/src/images/creatures/Undead troll#Level 81 (5).png
new file mode 100644 (file)
index 0000000..66898c6
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 81 (5).png differ
diff --git a/src/images/creatures/Undead troll#Level 86 (1).png b/src/images/creatures/Undead troll#Level 86 (1).png
new file mode 100644 (file)
index 0000000..166391f
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 86 (1).png differ
diff --git a/src/images/creatures/Undead troll#Level 86 (2).png b/src/images/creatures/Undead troll#Level 86 (2).png
new file mode 100644 (file)
index 0000000..db3a8f8
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 86 (2).png differ
diff --git a/src/images/creatures/Undead troll#Level 86 (3).png b/src/images/creatures/Undead troll#Level 86 (3).png
new file mode 100644 (file)
index 0000000..3570b27
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 86 (3).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (1).png b/src/images/creatures/Undead troll#Level 95 (1).png
new file mode 100644 (file)
index 0000000..af8e88b
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (1).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (2).png b/src/images/creatures/Undead troll#Level 95 (2).png
new file mode 100644 (file)
index 0000000..11f1b8c
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (2).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (3).png b/src/images/creatures/Undead troll#Level 95 (3).png
new file mode 100644 (file)
index 0000000..a3d7ea5
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (3).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (4).png b/src/images/creatures/Undead troll#Level 95 (4).png
new file mode 100644 (file)
index 0000000..f817cd9
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (4).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (5).png b/src/images/creatures/Undead troll#Level 95 (5).png
new file mode 100644 (file)
index 0000000..7fc99c2
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (5).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (6).png b/src/images/creatures/Undead troll#Level 95 (6).png
new file mode 100644 (file)
index 0000000..45c9caf
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (6).png differ
diff --git a/src/images/creatures/Undead troll#Level 95 (7).png b/src/images/creatures/Undead troll#Level 95 (7).png
new file mode 100644 (file)
index 0000000..c322ae1
Binary files /dev/null and b/src/images/creatures/Undead troll#Level 95 (7).png differ
diff --git a/src/images/creatures/Unspeakable horror (elite)#Default.png b/src/images/creatures/Unspeakable horror (elite)#Default.png
new file mode 100644 (file)
index 0000000..a8da496
Binary files /dev/null and b/src/images/creatures/Unspeakable horror (elite)#Default.png differ
diff --git a/src/images/creatures/Unspeakable horror#Default.png b/src/images/creatures/Unspeakable horror#Default.png
new file mode 100644 (file)
index 0000000..a8da496
Binary files /dev/null and b/src/images/creatures/Unspeakable horror#Default.png differ
diff --git a/src/images/creatures/Unstable glacyte#Default.png b/src/images/creatures/Unstable glacyte#Default.png
new file mode 100644 (file)
index 0000000..5017253
Binary files /dev/null and b/src/images/creatures/Unstable glacyte#Default.png differ
diff --git a/src/images/creatures/Unstable zombie#Ancient Awakening.png b/src/images/creatures/Unstable zombie#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/src/images/creatures/Unstable zombie#Ancient Awakening.png differ
diff --git a/src/images/creatures/Unstable zombie#Ungael combat activity (hard).png b/src/images/creatures/Unstable zombie#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/src/images/creatures/Unstable zombie#Ungael combat activity (hard).png differ
diff --git a/src/images/creatures/Unstable zombie#Ungael combat activity (standard).png b/src/images/creatures/Unstable zombie#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/src/images/creatures/Unstable zombie#Ungael combat activity (standard).png differ
diff --git a/src/images/creatures/Vampyre Juvenile#Burgh de Rott.png b/src/images/creatures/Vampyre Juvenile#Burgh de Rott.png
new file mode 100644 (file)
index 0000000..3689dd7
Binary files /dev/null and b/src/images/creatures/Vampyre Juvenile#Burgh de Rott.png differ
diff --git a/src/images/creatures/Vampyre Juvenile#Meiyerditch.png b/src/images/creatures/Vampyre Juvenile#Meiyerditch.png
new file mode 100644 (file)
index 0000000..4bf51af
Binary files /dev/null and b/src/images/creatures/Vampyre Juvenile#Meiyerditch.png differ
diff --git a/src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png b/src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 58).png differ
diff --git a/src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png b/src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/src/images/creatures/Vampyre Juvinate#Burgh de Rott (Level 63).png differ
diff --git a/src/images/creatures/Vampyre Juvinate#Darkmeyer.png b/src/images/creatures/Vampyre Juvinate#Darkmeyer.png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/src/images/creatures/Vampyre Juvinate#Darkmeyer.png differ
diff --git a/src/images/creatures/Vampyre Juvinate#Meiyerditch.png b/src/images/creatures/Vampyre Juvinate#Meiyerditch.png
new file mode 100644 (file)
index 0000000..d7a468d
Binary files /dev/null and b/src/images/creatures/Vampyre Juvinate#Meiyerditch.png differ
diff --git a/src/images/creatures/Vampyre#Default.png b/src/images/creatures/Vampyre#Default.png
new file mode 100644 (file)
index 0000000..bd19b83
Binary files /dev/null and b/src/images/creatures/Vampyre#Default.png differ
diff --git a/src/images/creatures/Veil-ripper Ozharakha#Default.png b/src/images/creatures/Veil-ripper Ozharakha#Default.png
new file mode 100644 (file)
index 0000000..f16467e
Binary files /dev/null and b/src/images/creatures/Veil-ripper Ozharakha#Default.png differ
diff --git a/src/images/creatures/Venomous dinosaur#Dinosaur invasion.png b/src/images/creatures/Venomous dinosaur#Dinosaur invasion.png
new file mode 100644 (file)
index 0000000..52a569e
Binary files /dev/null and b/src/images/creatures/Venomous dinosaur#Dinosaur invasion.png differ
diff --git a/src/images/creatures/Venomous dinosaur#Normal.png b/src/images/creatures/Venomous dinosaur#Normal.png
new file mode 100644 (file)
index 0000000..52a569e
Binary files /dev/null and b/src/images/creatures/Venomous dinosaur#Normal.png differ
diff --git a/src/images/creatures/Verac the Defiled#Normal.png b/src/images/creatures/Verac the Defiled#Normal.png
new file mode 100644 (file)
index 0000000..d6147eb
Binary files /dev/null and b/src/images/creatures/Verac the Defiled#Normal.png differ
diff --git a/src/images/creatures/Verac the Defiled#Rise of the Six.png b/src/images/creatures/Verac the Defiled#Rise of the Six.png
new file mode 100644 (file)
index 0000000..3cce753
Binary files /dev/null and b/src/images/creatures/Verac the Defiled#Rise of the Six.png differ
diff --git a/src/images/creatures/Verak Lith#Default.png b/src/images/creatures/Verak Lith#Default.png
new file mode 100644 (file)
index 0000000..4c6b337
Binary files /dev/null and b/src/images/creatures/Verak Lith#Default.png differ
diff --git a/src/images/creatures/Verak Little#Default.png b/src/images/creatures/Verak Little#Default.png
new file mode 100644 (file)
index 0000000..6f68132
Binary files /dev/null and b/src/images/creatures/Verak Little#Default.png differ
diff --git a/src/images/creatures/Vindicta#Hard mode.png b/src/images/creatures/Vindicta#Hard mode.png
new file mode 100644 (file)
index 0000000..e669391
Binary files /dev/null and b/src/images/creatures/Vindicta#Hard mode.png differ
diff --git a/src/images/creatures/Vindicta#Normal mode.png b/src/images/creatures/Vindicta#Normal mode.png
new file mode 100644 (file)
index 0000000..e669391
Binary files /dev/null and b/src/images/creatures/Vindicta#Normal mode.png differ
diff --git a/src/images/creatures/Vinecrawler#Default.png b/src/images/creatures/Vinecrawler#Default.png
new file mode 100644 (file)
index 0000000..bf7f3e8
Binary files /dev/null and b/src/images/creatures/Vinecrawler#Default.png differ
diff --git a/src/images/creatures/Vorago#Default.png b/src/images/creatures/Vorago#Default.png
new file mode 100644 (file)
index 0000000..8eafb50
Binary files /dev/null and b/src/images/creatures/Vorago#Default.png differ
diff --git a/src/images/creatures/Vorkath#Hard mode.png b/src/images/creatures/Vorkath#Hard mode.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/src/images/creatures/Vorkath#Hard mode.png differ
diff --git a/src/images/creatures/Vorkath#Normal mode.png b/src/images/creatures/Vorkath#Normal mode.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/src/images/creatures/Vorkath#Normal mode.png differ
diff --git a/src/images/creatures/Vorkath#Requiem for a Dragon.png b/src/images/creatures/Vorkath#Requiem for a Dragon.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/src/images/creatures/Vorkath#Requiem for a Dragon.png differ
diff --git a/src/images/creatures/Vorkath#Story mode.png b/src/images/creatures/Vorkath#Story mode.png
new file mode 100644 (file)
index 0000000..8b8ec07
Binary files /dev/null and b/src/images/creatures/Vorkath#Story mode.png differ
diff --git a/src/images/creatures/Vyrelady#1.png b/src/images/creatures/Vyrelady#1.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/src/images/creatures/Vyrelady#1.png differ
diff --git a/src/images/creatures/Vyrelady#2.png b/src/images/creatures/Vyrelady#2.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/src/images/creatures/Vyrelady#2.png differ
diff --git a/src/images/creatures/Vyrelady#3.png b/src/images/creatures/Vyrelady#3.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/src/images/creatures/Vyrelady#3.png differ
diff --git a/src/images/creatures/Vyrelady#4.png b/src/images/creatures/Vyrelady#4.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/src/images/creatures/Vyrelady#4.png differ
diff --git a/src/images/creatures/Vyrelady#5.png b/src/images/creatures/Vyrelady#5.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/src/images/creatures/Vyrelady#5.png differ
diff --git a/src/images/creatures/Vyrelady#6.png b/src/images/creatures/Vyrelady#6.png
new file mode 100644 (file)
index 0000000..cb8621c
Binary files /dev/null and b/src/images/creatures/Vyrelady#6.png differ
diff --git a/src/images/creatures/Vyrelord#1.png b/src/images/creatures/Vyrelord#1.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/src/images/creatures/Vyrelord#1.png differ
diff --git a/src/images/creatures/Vyrelord#2.png b/src/images/creatures/Vyrelord#2.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/src/images/creatures/Vyrelord#2.png differ
diff --git a/src/images/creatures/Vyrelord#3.png b/src/images/creatures/Vyrelord#3.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/src/images/creatures/Vyrelord#3.png differ
diff --git a/src/images/creatures/Vyrelord#4.png b/src/images/creatures/Vyrelord#4.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/src/images/creatures/Vyrelord#4.png differ
diff --git a/src/images/creatures/Vyrelord#5.png b/src/images/creatures/Vyrelord#5.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/src/images/creatures/Vyrelord#5.png differ
diff --git a/src/images/creatures/Vyrelord#6.png b/src/images/creatures/Vyrelord#6.png
new file mode 100644 (file)
index 0000000..6427ffd
Binary files /dev/null and b/src/images/creatures/Vyrelord#6.png differ
diff --git a/src/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png b/src/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 70 (East of Burgh de Rott).png differ
diff --git a/src/images/creatures/Vyrewatch#Level 70.png b/src/images/creatures/Vyrewatch#Level 70.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 70.png differ
diff --git a/src/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png b/src/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 72 (East of Burgh de Rott).png differ
diff --git a/src/images/creatures/Vyrewatch#Level 72.png b/src/images/creatures/Vyrewatch#Level 72.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 72.png differ
diff --git a/src/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png b/src/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 75 (East of Burgh de Rott).png differ
diff --git a/src/images/creatures/Vyrewatch#Level 75.png b/src/images/creatures/Vyrewatch#Level 75.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 75.png differ
diff --git a/src/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png b/src/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 78 (East of Burgh de Rott).png differ
diff --git a/src/images/creatures/Vyrewatch#Level 78.png b/src/images/creatures/Vyrewatch#Level 78.png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 78.png differ
diff --git a/src/images/creatures/Vyrewatch#Level 86.png b/src/images/creatures/Vyrewatch#Level 86.png
new file mode 100644 (file)
index 0000000..56b5c12
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 86.png differ
diff --git a/src/images/creatures/Vyrewatch#Level 91.png b/src/images/creatures/Vyrewatch#Level 91.png
new file mode 100644 (file)
index 0000000..56b5c12
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Level 91.png differ
diff --git a/src/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png b/src/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Temple Trekking (Easy Route).png differ
diff --git a/src/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png b/src/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Temple Trekking (Hard Route).png differ
diff --git a/src/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png b/src/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png
new file mode 100644 (file)
index 0000000..7ff6aa0
Binary files /dev/null and b/src/images/creatures/Vyrewatch#Temple Trekking (Medium Route).png differ
diff --git a/src/images/creatures/Wall beast#Default.png b/src/images/creatures/Wall beast#Default.png
new file mode 100644 (file)
index 0000000..deae076
Binary files /dev/null and b/src/images/creatures/Wall beast#Default.png differ
diff --git a/src/images/creatures/Warped bat#Default.png b/src/images/creatures/Warped bat#Default.png
new file mode 100644 (file)
index 0000000..b955679
Binary files /dev/null and b/src/images/creatures/Warped bat#Default.png differ
diff --git a/src/images/creatures/Warped cockroach#Default.png b/src/images/creatures/Warped cockroach#Default.png
new file mode 100644 (file)
index 0000000..4c39d5d
Binary files /dev/null and b/src/images/creatures/Warped cockroach#Default.png differ
diff --git a/src/images/creatures/Warped rat#Default.png b/src/images/creatures/Warped rat#Default.png
new file mode 100644 (file)
index 0000000..f88c8eb
Binary files /dev/null and b/src/images/creatures/Warped rat#Default.png differ
diff --git a/src/images/creatures/Warped skeleton#Normal mode.png b/src/images/creatures/Warped skeleton#Normal mode.png
new file mode 100644 (file)
index 0000000..ef2e08b
Binary files /dev/null and b/src/images/creatures/Warped skeleton#Normal mode.png differ
diff --git a/src/images/creatures/Warped skeleton#Story mode.png b/src/images/creatures/Warped skeleton#Story mode.png
new file mode 100644 (file)
index 0000000..823314f
Binary files /dev/null and b/src/images/creatures/Warped skeleton#Story mode.png differ
diff --git a/src/images/creatures/Warped terrorbird#1 (chimed).png b/src/images/creatures/Warped terrorbird#1 (chimed).png
new file mode 100644 (file)
index 0000000..fd3ea33
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#1 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#1.png b/src/images/creatures/Warped terrorbird#1.png
new file mode 100644 (file)
index 0000000..c16cf3a
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#1.png differ
diff --git a/src/images/creatures/Warped terrorbird#10 (chimed).png b/src/images/creatures/Warped terrorbird#10 (chimed).png
new file mode 100644 (file)
index 0000000..8c385eb
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#10 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#10.png b/src/images/creatures/Warped terrorbird#10.png
new file mode 100644 (file)
index 0000000..b8421b1
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#10.png differ
diff --git a/src/images/creatures/Warped terrorbird#2 (chimed).png b/src/images/creatures/Warped terrorbird#2 (chimed).png
new file mode 100644 (file)
index 0000000..573ca0b
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#2 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#2.png b/src/images/creatures/Warped terrorbird#2.png
new file mode 100644 (file)
index 0000000..7ee382e
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#2.png differ
diff --git a/src/images/creatures/Warped terrorbird#3 (chimed).png b/src/images/creatures/Warped terrorbird#3 (chimed).png
new file mode 100644 (file)
index 0000000..2d9f70b
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#3 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#3.png b/src/images/creatures/Warped terrorbird#3.png
new file mode 100644 (file)
index 0000000..3728789
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#3.png differ
diff --git a/src/images/creatures/Warped terrorbird#4 (chimed).png b/src/images/creatures/Warped terrorbird#4 (chimed).png
new file mode 100644 (file)
index 0000000..19bd015
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#4 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#4.png b/src/images/creatures/Warped terrorbird#4.png
new file mode 100644 (file)
index 0000000..72c8301
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#4.png differ
diff --git a/src/images/creatures/Warped terrorbird#5 (chimed).png b/src/images/creatures/Warped terrorbird#5 (chimed).png
new file mode 100644 (file)
index 0000000..a2a2192
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#5 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#5.png b/src/images/creatures/Warped terrorbird#5.png
new file mode 100644 (file)
index 0000000..181a9f5
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#5.png differ
diff --git a/src/images/creatures/Warped terrorbird#6 (chimed).png b/src/images/creatures/Warped terrorbird#6 (chimed).png
new file mode 100644 (file)
index 0000000..9cf1294
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#6 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#6.png b/src/images/creatures/Warped terrorbird#6.png
new file mode 100644 (file)
index 0000000..8900e46
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#6.png differ
diff --git a/src/images/creatures/Warped terrorbird#7 (chimed).png b/src/images/creatures/Warped terrorbird#7 (chimed).png
new file mode 100644 (file)
index 0000000..813c887
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#7 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#7.png b/src/images/creatures/Warped terrorbird#7.png
new file mode 100644 (file)
index 0000000..3798c3c
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#7.png differ
diff --git a/src/images/creatures/Warped terrorbird#8 (chimed).png b/src/images/creatures/Warped terrorbird#8 (chimed).png
new file mode 100644 (file)
index 0000000..5433465
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#8 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#8.png b/src/images/creatures/Warped terrorbird#8.png
new file mode 100644 (file)
index 0000000..22ca145
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#8.png differ
diff --git a/src/images/creatures/Warped terrorbird#9 (chimed).png b/src/images/creatures/Warped terrorbird#9 (chimed).png
new file mode 100644 (file)
index 0000000..4fd501e
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#9 (chimed).png differ
diff --git a/src/images/creatures/Warped terrorbird#9.png b/src/images/creatures/Warped terrorbird#9.png
new file mode 100644 (file)
index 0000000..1c58a6b
Binary files /dev/null and b/src/images/creatures/Warped terrorbird#9.png differ
diff --git a/src/images/creatures/Warped tortoise#Immune.png b/src/images/creatures/Warped tortoise#Immune.png
new file mode 100644 (file)
index 0000000..b1ca5b3
Binary files /dev/null and b/src/images/creatures/Warped tortoise#Immune.png differ
diff --git a/src/images/creatures/Warped tortoise#Vulnerable.png b/src/images/creatures/Warped tortoise#Vulnerable.png
new file mode 100644 (file)
index 0000000..77889d5
Binary files /dev/null and b/src/images/creatures/Warped tortoise#Vulnerable.png differ
diff --git a/src/images/creatures/Waterfiend (Ghorrock)#102.png b/src/images/creatures/Waterfiend (Ghorrock)#102.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/src/images/creatures/Waterfiend (Ghorrock)#102.png differ
diff --git a/src/images/creatures/Waterfiend (Ghorrock)#107.png b/src/images/creatures/Waterfiend (Ghorrock)#107.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/src/images/creatures/Waterfiend (Ghorrock)#107.png differ
diff --git a/src/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png b/src/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/src/images/creatures/Waterfiend (Temple of Aminishi)#Normal mode.png differ
diff --git a/src/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png b/src/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/src/images/creatures/Waterfiend (Temple of Aminishi)#Story mode.png differ
diff --git a/src/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png b/src/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png
new file mode 100644 (file)
index 0000000..9fff216
Binary files /dev/null and b/src/images/creatures/Waterfiend (The Zamorakian Undercity)#Default.png differ
diff --git a/src/images/creatures/Waterfiend (elite)#Ancient Cavern.png b/src/images/creatures/Waterfiend (elite)#Ancient Cavern.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/src/images/creatures/Waterfiend (elite)#Ancient Cavern.png differ
diff --git a/src/images/creatures/Waterfiend (elite)#Ghorrock.png b/src/images/creatures/Waterfiend (elite)#Ghorrock.png
new file mode 100644 (file)
index 0000000..40e2992
Binary files /dev/null and b/src/images/creatures/Waterfiend (elite)#Ghorrock.png differ
diff --git a/src/images/creatures/Waterfiend (summoned)#Default.png b/src/images/creatures/Waterfiend (summoned)#Default.png
new file mode 100644 (file)
index 0000000..4668e88
Binary files /dev/null and b/src/images/creatures/Waterfiend (summoned)#Default.png differ
diff --git a/src/images/creatures/Waterfiend#Default.png b/src/images/creatures/Waterfiend#Default.png
new file mode 100644 (file)
index 0000000..fa7e010
Binary files /dev/null and b/src/images/creatures/Waterfiend#Default.png differ
diff --git a/src/images/creatures/Werewolf#Alexis.png b/src/images/creatures/Werewolf#Alexis.png
new file mode 100644 (file)
index 0000000..1bfde38
Binary files /dev/null and b/src/images/creatures/Werewolf#Alexis.png differ
diff --git a/src/images/creatures/Werewolf#Boris.png b/src/images/creatures/Werewolf#Boris.png
new file mode 100644 (file)
index 0000000..d5dcd17
Binary files /dev/null and b/src/images/creatures/Werewolf#Boris.png differ
diff --git a/src/images/creatures/Werewolf#Eduard.png b/src/images/creatures/Werewolf#Eduard.png
new file mode 100644 (file)
index 0000000..80239c9
Binary files /dev/null and b/src/images/creatures/Werewolf#Eduard.png differ
diff --git a/src/images/creatures/Werewolf#Galina.png b/src/images/creatures/Werewolf#Galina.png
new file mode 100644 (file)
index 0000000..0ee5f6f
Binary files /dev/null and b/src/images/creatures/Werewolf#Galina.png differ
diff --git a/src/images/creatures/Werewolf#Georgy.png b/src/images/creatures/Werewolf#Georgy.png
new file mode 100644 (file)
index 0000000..2567652
Binary files /dev/null and b/src/images/creatures/Werewolf#Georgy.png differ
diff --git a/src/images/creatures/Werewolf#God Wars Dungeon (female).png b/src/images/creatures/Werewolf#God Wars Dungeon (female).png
new file mode 100644 (file)
index 0000000..779de01
Binary files /dev/null and b/src/images/creatures/Werewolf#God Wars Dungeon (female).png differ
diff --git a/src/images/creatures/Werewolf#God Wars Dungeon (male).png b/src/images/creatures/Werewolf#God Wars Dungeon (male).png
new file mode 100644 (file)
index 0000000..3e35028
Binary files /dev/null and b/src/images/creatures/Werewolf#God Wars Dungeon (male).png differ
diff --git a/src/images/creatures/Werewolf#Imre.png b/src/images/creatures/Werewolf#Imre.png
new file mode 100644 (file)
index 0000000..4884c5a
Binary files /dev/null and b/src/images/creatures/Werewolf#Imre.png differ
diff --git a/src/images/creatures/Werewolf#Irina.png b/src/images/creatures/Werewolf#Irina.png
new file mode 100644 (file)
index 0000000..1a6cd97
Binary files /dev/null and b/src/images/creatures/Werewolf#Irina.png differ
diff --git a/src/images/creatures/Werewolf#Joseph.png b/src/images/creatures/Werewolf#Joseph.png
new file mode 100644 (file)
index 0000000..793da70
Binary files /dev/null and b/src/images/creatures/Werewolf#Joseph.png differ
diff --git a/src/images/creatures/Werewolf#Ksenia.png b/src/images/creatures/Werewolf#Ksenia.png
new file mode 100644 (file)
index 0000000..8373eaf
Binary files /dev/null and b/src/images/creatures/Werewolf#Ksenia.png differ
diff --git a/src/images/creatures/Werewolf#Lev.png b/src/images/creatures/Werewolf#Lev.png
new file mode 100644 (file)
index 0000000..1df6607
Binary files /dev/null and b/src/images/creatures/Werewolf#Lev.png differ
diff --git a/src/images/creatures/Werewolf#Liliya.png b/src/images/creatures/Werewolf#Liliya.png
new file mode 100644 (file)
index 0000000..8fc68bf
Binary files /dev/null and b/src/images/creatures/Werewolf#Liliya.png differ
diff --git a/src/images/creatures/Werewolf#Milla.png b/src/images/creatures/Werewolf#Milla.png
new file mode 100644 (file)
index 0000000..375b31b
Binary files /dev/null and b/src/images/creatures/Werewolf#Milla.png differ
diff --git a/src/images/creatures/Werewolf#Nikita.png b/src/images/creatures/Werewolf#Nikita.png
new file mode 100644 (file)
index 0000000..5a76f6b
Binary files /dev/null and b/src/images/creatures/Werewolf#Nikita.png differ
diff --git a/src/images/creatures/Werewolf#Nikolai.png b/src/images/creatures/Werewolf#Nikolai.png
new file mode 100644 (file)
index 0000000..ae78e0a
Binary files /dev/null and b/src/images/creatures/Werewolf#Nikolai.png differ
diff --git a/src/images/creatures/Werewolf#Sofiya.png b/src/images/creatures/Werewolf#Sofiya.png
new file mode 100644 (file)
index 0000000..c3c5df4
Binary files /dev/null and b/src/images/creatures/Werewolf#Sofiya.png differ
diff --git a/src/images/creatures/Werewolf#Svetlana.png b/src/images/creatures/Werewolf#Svetlana.png
new file mode 100644 (file)
index 0000000..0775c7b
Binary files /dev/null and b/src/images/creatures/Werewolf#Svetlana.png differ
diff --git a/src/images/creatures/Werewolf#Vera.png b/src/images/creatures/Werewolf#Vera.png
new file mode 100644 (file)
index 0000000..bbd61b5
Binary files /dev/null and b/src/images/creatures/Werewolf#Vera.png differ
diff --git a/src/images/creatures/Werewolf#Yadviga.png b/src/images/creatures/Werewolf#Yadviga.png
new file mode 100644 (file)
index 0000000..a8cab0a
Binary files /dev/null and b/src/images/creatures/Werewolf#Yadviga.png differ
diff --git a/src/images/creatures/Werewolf#Yuri.png b/src/images/creatures/Werewolf#Yuri.png
new file mode 100644 (file)
index 0000000..985c854
Binary files /dev/null and b/src/images/creatures/Werewolf#Yuri.png differ
diff --git a/src/images/creatures/Werewolf#Zoja.png b/src/images/creatures/Werewolf#Zoja.png
new file mode 100644 (file)
index 0000000..b170899
Binary files /dev/null and b/src/images/creatures/Werewolf#Zoja.png differ
diff --git a/src/images/creatures/White wolf#Default.png b/src/images/creatures/White wolf#Default.png
new file mode 100644 (file)
index 0000000..f4c6da2
Binary files /dev/null and b/src/images/creatures/White wolf#Default.png differ
diff --git a/src/images/creatures/Wight (Missing, Presumed Death)#Default.png b/src/images/creatures/Wight (Missing, Presumed Death)#Default.png
new file mode 100644 (file)
index 0000000..1c39faa
Binary files /dev/null and b/src/images/creatures/Wight (Missing, Presumed Death)#Default.png differ
diff --git a/src/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png b/src/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png
new file mode 100644 (file)
index 0000000..1df2d3a
Binary files /dev/null and b/src/images/creatures/Wight ranger (Sliske's Endgame)#78 (Weak in slash).png differ
diff --git a/src/images/creatures/Wight ranger (Sliske's Endgame)#78.png b/src/images/creatures/Wight ranger (Sliske's Endgame)#78.png
new file mode 100644 (file)
index 0000000..1df2d3a
Binary files /dev/null and b/src/images/creatures/Wight ranger (Sliske's Endgame)#78.png differ
diff --git a/src/images/creatures/Wight ranger (Sliske's Endgame)#85.png b/src/images/creatures/Wight ranger (Sliske's Endgame)#85.png
new file mode 100644 (file)
index 0000000..1df2d3a
Binary files /dev/null and b/src/images/creatures/Wight ranger (Sliske's Endgame)#85.png differ
diff --git a/src/images/creatures/Wight ranger#Default.png b/src/images/creatures/Wight ranger#Default.png
new file mode 100644 (file)
index 0000000..595f2f7
Binary files /dev/null and b/src/images/creatures/Wight ranger#Default.png differ
diff --git a/src/images/creatures/Wight#Default.png b/src/images/creatures/Wight#Default.png
new file mode 100644 (file)
index 0000000..ab49025
Binary files /dev/null and b/src/images/creatures/Wight#Default.png differ
diff --git a/src/images/creatures/Wild dog#Default.png b/src/images/creatures/Wild dog#Default.png
new file mode 100644 (file)
index 0000000..a36b600
Binary files /dev/null and b/src/images/creatures/Wild dog#Default.png differ
diff --git a/src/images/creatures/WildyWyrm (2015, historical)#Default.png b/src/images/creatures/WildyWyrm (2015, historical)#Default.png
new file mode 100644 (file)
index 0000000..fabdb27
Binary files /dev/null and b/src/images/creatures/WildyWyrm (2015, historical)#Default.png differ
diff --git a/src/images/creatures/Wingman Skree#Default.png b/src/images/creatures/Wingman Skree#Default.png
new file mode 100644 (file)
index 0000000..ec70595
Binary files /dev/null and b/src/images/creatures/Wingman Skree#Default.png differ
diff --git a/src/images/creatures/Wolf#Level 11 (1).png b/src/images/creatures/Wolf#Level 11 (1).png
new file mode 100644 (file)
index 0000000..67eb414
Binary files /dev/null and b/src/images/creatures/Wolf#Level 11 (1).png differ
diff --git a/src/images/creatures/Wolf#Level 11 (2).png b/src/images/creatures/Wolf#Level 11 (2).png
new file mode 100644 (file)
index 0000000..67eb414
Binary files /dev/null and b/src/images/creatures/Wolf#Level 11 (2).png differ
diff --git a/src/images/creatures/Wolf#Level 8 (1).png b/src/images/creatures/Wolf#Level 8 (1).png
new file mode 100644 (file)
index 0000000..6fd684c
Binary files /dev/null and b/src/images/creatures/Wolf#Level 8 (1).png differ
diff --git a/src/images/creatures/Wolf#Level 8 (2).png b/src/images/creatures/Wolf#Level 8 (2).png
new file mode 100644 (file)
index 0000000..6e87e9e
Binary files /dev/null and b/src/images/creatures/Wolf#Level 8 (2).png differ
diff --git a/src/images/creatures/Wyvern (elite)#Default.png b/src/images/creatures/Wyvern (elite)#Default.png
new file mode 100644 (file)
index 0000000..60a99da
Binary files /dev/null and b/src/images/creatures/Wyvern (elite)#Default.png differ
diff --git a/src/images/creatures/Wyvern#Default.png b/src/images/creatures/Wyvern#Default.png
new file mode 100644 (file)
index 0000000..60a99da
Binary files /dev/null and b/src/images/creatures/Wyvern#Default.png differ
diff --git a/src/images/creatures/Yor'Ger the Deceiver#Normal mode.png b/src/images/creatures/Yor'Ger the Deceiver#Normal mode.png
new file mode 100644 (file)
index 0000000..bb63a7a
Binary files /dev/null and b/src/images/creatures/Yor'Ger the Deceiver#Normal mode.png differ
diff --git a/src/images/creatures/Yor'Ger the Deceiver#Story mode.png b/src/images/creatures/Yor'Ger the Deceiver#Story mode.png
new file mode 100644 (file)
index 0000000..bb63a7a
Binary files /dev/null and b/src/images/creatures/Yor'Ger the Deceiver#Story mode.png differ
diff --git a/src/images/creatures/Young grotworm#Default.png b/src/images/creatures/Young grotworm#Default.png
new file mode 100644 (file)
index 0000000..b1636e3
Binary files /dev/null and b/src/images/creatures/Young grotworm#Default.png differ
diff --git a/src/images/creatures/Zakl'n Gritch#Default.png b/src/images/creatures/Zakl'n Gritch#Default.png
new file mode 100644 (file)
index 0000000..3ab51de
Binary files /dev/null and b/src/images/creatures/Zakl'n Gritch#Default.png differ
diff --git a/src/images/creatures/Zamorak, Lord of Chaos#Hard mode.png b/src/images/creatures/Zamorak, Lord of Chaos#Hard mode.png
new file mode 100644 (file)
index 0000000..f16a796
Binary files /dev/null and b/src/images/creatures/Zamorak, Lord of Chaos#Hard mode.png differ
diff --git a/src/images/creatures/Zamorak, Lord of Chaos#Normal mode.png b/src/images/creatures/Zamorak, Lord of Chaos#Normal mode.png
new file mode 100644 (file)
index 0000000..f16a796
Binary files /dev/null and b/src/images/creatures/Zamorak, Lord of Chaos#Normal mode.png differ
diff --git a/src/images/creatures/Zamorak, Lord of Chaos#Story mode.png b/src/images/creatures/Zamorak, Lord of Chaos#Story mode.png
new file mode 100644 (file)
index 0000000..f16a796
Binary files /dev/null and b/src/images/creatures/Zamorak, Lord of Chaos#Story mode.png differ
diff --git a/src/images/creatures/Zemouregal#Ancient Awakening.png b/src/images/creatures/Zemouregal#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..f3b951c
Binary files /dev/null and b/src/images/creatures/Zemouregal#Ancient Awakening.png differ
diff --git a/src/images/creatures/Zemouregal#Battle of Forinthry.png b/src/images/creatures/Zemouregal#Battle of Forinthry.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Battle of Forinthry.png differ
diff --git a/src/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png b/src/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png
new file mode 100644 (file)
index 0000000..299c687
Binary files /dev/null and b/src/images/creatures/Zemouregal#Children of Mah (Freneskae cutscene).png differ
diff --git a/src/images/creatures/Zemouregal#Children of Mah (examinable).png b/src/images/creatures/Zemouregal#Children of Mah (examinable).png
new file mode 100644 (file)
index 0000000..65c274c
Binary files /dev/null and b/src/images/creatures/Zemouregal#Children of Mah (examinable).png differ
diff --git a/src/images/creatures/Zemouregal#Children of Mah.png b/src/images/creatures/Zemouregal#Children of Mah.png
new file mode 100644 (file)
index 0000000..7ef4ecd
Binary files /dev/null and b/src/images/creatures/Zemouregal#Children of Mah.png differ
diff --git a/src/images/creatures/Zemouregal#Daughter of Chaos.png b/src/images/creatures/Zemouregal#Daughter of Chaos.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Daughter of Chaos.png differ
diff --git a/src/images/creatures/Zemouregal#Dead and Buried.png b/src/images/creatures/Zemouregal#Dead and Buried.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Dead and Buried.png differ
diff --git a/src/images/creatures/Zemouregal#Defender of Varrock (1).png b/src/images/creatures/Zemouregal#Defender of Varrock (1).png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Defender of Varrock (1).png differ
diff --git a/src/images/creatures/Zemouregal#Defender of Varrock (2).png b/src/images/creatures/Zemouregal#Defender of Varrock (2).png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Defender of Varrock (2).png differ
diff --git a/src/images/creatures/Zemouregal#Dimension of Disaster.png b/src/images/creatures/Zemouregal#Dimension of Disaster.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Dimension of Disaster.png differ
diff --git a/src/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png b/src/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Dishonour among Thieves (cutscene).png differ
diff --git a/src/images/creatures/Zemouregal#Dishonour among Thieves (lair).png b/src/images/creatures/Zemouregal#Dishonour among Thieves (lair).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Dishonour among Thieves (lair).png differ
diff --git a/src/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png b/src/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Dishonour among Thieves (lair, examinable).png differ
diff --git a/src/images/creatures/Zemouregal#Dishonour among Thieves.png b/src/images/creatures/Zemouregal#Dishonour among Thieves.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Dishonour among Thieves.png differ
diff --git a/src/images/creatures/Zemouregal#Missing, Presumed Death.png b/src/images/creatures/Zemouregal#Missing, Presumed Death.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Missing, Presumed Death.png differ
diff --git a/src/images/creatures/Zemouregal#Nadir.png b/src/images/creatures/Zemouregal#Nadir.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Nadir.png differ
diff --git a/src/images/creatures/Zemouregal#Requiem for a Dragon.png b/src/images/creatures/Zemouregal#Requiem for a Dragon.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Requiem for a Dragon.png differ
diff --git a/src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png b/src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort).png differ
diff --git a/src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png b/src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Ritual of the Mahjarrat (fort, skeletal).png differ
diff --git a/src/images/creatures/Zemouregal#Ritual of the Mahjarrat.png b/src/images/creatures/Zemouregal#Ritual of the Mahjarrat.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Ritual of the Mahjarrat.png differ
diff --git a/src/images/creatures/Zemouregal#Succession (skeletal).png b/src/images/creatures/Zemouregal#Succession (skeletal).png
new file mode 100644 (file)
index 0000000..f09cb9d
Binary files /dev/null and b/src/images/creatures/Zemouregal#Succession (skeletal).png differ
diff --git a/src/images/creatures/Zemouregal#Succession.png b/src/images/creatures/Zemouregal#Succession.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#Succession.png differ
diff --git a/src/images/creatures/Zemouregal#The World Wakes.png b/src/images/creatures/Zemouregal#The World Wakes.png
new file mode 100644 (file)
index 0000000..ae06e49
Binary files /dev/null and b/src/images/creatures/Zemouregal#The World Wakes.png differ
diff --git a/src/images/creatures/Zemouregal#TzekHaar Front.png b/src/images/creatures/Zemouregal#TzekHaar Front.png
new file mode 100644 (file)
index 0000000..04e1274
Binary files /dev/null and b/src/images/creatures/Zemouregal#TzekHaar Front.png differ
diff --git a/src/images/creatures/Zemouregal#Unwelcome Guests.png b/src/images/creatures/Zemouregal#Unwelcome Guests.png
new file mode 100644 (file)
index 0000000..08d9bd1
Binary files /dev/null and b/src/images/creatures/Zemouregal#Unwelcome Guests.png differ
diff --git a/src/images/creatures/Zogre#1.png b/src/images/creatures/Zogre#1.png
new file mode 100644 (file)
index 0000000..8d6296f
Binary files /dev/null and b/src/images/creatures/Zogre#1.png differ
diff --git a/src/images/creatures/Zogre#2.png b/src/images/creatures/Zogre#2.png
new file mode 100644 (file)
index 0000000..8502d10
Binary files /dev/null and b/src/images/creatures/Zogre#2.png differ
diff --git a/src/images/creatures/Zogre#3.png b/src/images/creatures/Zogre#3.png
new file mode 100644 (file)
index 0000000..9d112c4
Binary files /dev/null and b/src/images/creatures/Zogre#3.png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png
new file mode 100644 (file)
index 0000000..92d156d
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#72.png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png
new file mode 100644 (file)
index 0000000..c5d5eef
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png
new file mode 100644 (file)
index 0000000..9f83c51
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#74 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png
new file mode 100644 (file)
index 0000000..06de319
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png
new file mode 100644 (file)
index 0000000..2ba2330
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#75 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png
new file mode 100644 (file)
index 0000000..e76e09e
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png
new file mode 100644 (file)
index 0000000..28af945
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#77 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png
new file mode 100644 (file)
index 0000000..7a96aea
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png
new file mode 100644 (file)
index 0000000..0944563
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#78 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png
new file mode 100644 (file)
index 0000000..b262592
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png
new file mode 100644 (file)
index 0000000..b303cd0
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#79 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png
new file mode 100644 (file)
index 0000000..2f34518
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png
new file mode 100644 (file)
index 0000000..f46a419
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png
new file mode 100644 (file)
index 0000000..eaf1839
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#82 (3).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png
new file mode 100644 (file)
index 0000000..5c94a21
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png
new file mode 100644 (file)
index 0000000..9a57651
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#84 (2).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png
new file mode 100644 (file)
index 0000000..658cc42
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (1).png differ
diff --git a/src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png
new file mode 100644 (file)
index 0000000..c25286e
Binary files /dev/null and b/src/images/creatures/Zombie (Lair of Tarn Razorlor)#85 (2).png differ
diff --git a/src/images/creatures/Zombie (New Varrock)#Default.png b/src/images/creatures/Zombie (New Varrock)#Default.png
new file mode 100644 (file)
index 0000000..3da8c1e
Binary files /dev/null and b/src/images/creatures/Zombie (New Varrock)#Default.png differ
diff --git a/src/images/creatures/Zombie (Stronghold of Security)#Level 12.png b/src/images/creatures/Zombie (Stronghold of Security)#Level 12.png
new file mode 100644 (file)
index 0000000..8169a33
Binary files /dev/null and b/src/images/creatures/Zombie (Stronghold of Security)#Level 12.png differ
diff --git a/src/images/creatures/Zombie (Stronghold of Security)#Level 21.png b/src/images/creatures/Zombie (Stronghold of Security)#Level 21.png
new file mode 100644 (file)
index 0000000..ac0c282
Binary files /dev/null and b/src/images/creatures/Zombie (Stronghold of Security)#Level 21.png differ
diff --git a/src/images/creatures/Zombie (Temple Trekking)#Default.png b/src/images/creatures/Zombie (Temple Trekking)#Default.png
new file mode 100644 (file)
index 0000000..da0839b
Binary files /dev/null and b/src/images/creatures/Zombie (Temple Trekking)#Default.png differ
diff --git a/src/images/creatures/Zombie (The Shadow Reef)#Normal mode.png b/src/images/creatures/Zombie (The Shadow Reef)#Normal mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/src/images/creatures/Zombie (The Shadow Reef)#Normal mode.png differ
diff --git a/src/images/creatures/Zombie (The Shadow Reef)#Story mode.png b/src/images/creatures/Zombie (The Shadow Reef)#Story mode.png
new file mode 100644 (file)
index 0000000..1e2aec3
Binary files /dev/null and b/src/images/creatures/Zombie (The Shadow Reef)#Story mode.png differ
diff --git a/src/images/creatures/Zombie (Uncharted Isles)#Aggressive.png b/src/images/creatures/Zombie (Uncharted Isles)#Aggressive.png
new file mode 100644 (file)
index 0000000..a324bd4
Binary files /dev/null and b/src/images/creatures/Zombie (Uncharted Isles)#Aggressive.png differ
diff --git a/src/images/creatures/Zombie (Uncharted Isles)#Female.png b/src/images/creatures/Zombie (Uncharted Isles)#Female.png
new file mode 100644 (file)
index 0000000..7712fc5
Binary files /dev/null and b/src/images/creatures/Zombie (Uncharted Isles)#Female.png differ
diff --git a/src/images/creatures/Zombie (Uncharted Isles)#Male.png b/src/images/creatures/Zombie (Uncharted Isles)#Male.png
new file mode 100644 (file)
index 0000000..a324bd4
Binary files /dev/null and b/src/images/creatures/Zombie (Uncharted Isles)#Male.png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 22 (1).png b/src/images/creatures/Zombie (Wilderness)#Level 22 (1).png
new file mode 100644 (file)
index 0000000..3a677a2
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 22 (1).png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 22 (2).png b/src/images/creatures/Zombie (Wilderness)#Level 22 (2).png
new file mode 100644 (file)
index 0000000..ab4f2ae
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 22 (2).png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 22 (3).png b/src/images/creatures/Zombie (Wilderness)#Level 22 (3).png
new file mode 100644 (file)
index 0000000..48d9847
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 22 (3).png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 29 (1).png b/src/images/creatures/Zombie (Wilderness)#Level 29 (1).png
new file mode 100644 (file)
index 0000000..b630977
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 29 (1).png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 29 (2).png b/src/images/creatures/Zombie (Wilderness)#Level 29 (2).png
new file mode 100644 (file)
index 0000000..1408a39
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 29 (2).png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 29 (3).png b/src/images/creatures/Zombie (Wilderness)#Level 29 (3).png
new file mode 100644 (file)
index 0000000..b417efa
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 29 (3).png differ
diff --git a/src/images/creatures/Zombie (Wilderness)#Level 29 (4).png b/src/images/creatures/Zombie (Wilderness)#Level 29 (4).png
new file mode 100644 (file)
index 0000000..6d3556f
Binary files /dev/null and b/src/images/creatures/Zombie (Wilderness)#Level 29 (4).png differ
diff --git a/src/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png b/src/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png
new file mode 100644 (file)
index 0000000..8c8d2eb
Binary files /dev/null and b/src/images/creatures/Zombie (Zogre Flesh Eaters)#Default.png differ
diff --git a/src/images/creatures/Zombie cow (New Varrock)#Boss.png b/src/images/creatures/Zombie cow (New Varrock)#Boss.png
new file mode 100644 (file)
index 0000000..16be64c
Binary files /dev/null and b/src/images/creatures/Zombie cow (New Varrock)#Boss.png differ
diff --git a/src/images/creatures/Zombie cow (New Varrock)#Regular.png b/src/images/creatures/Zombie cow (New Varrock)#Regular.png
new file mode 100644 (file)
index 0000000..16be64c
Binary files /dev/null and b/src/images/creatures/Zombie cow (New Varrock)#Regular.png differ
diff --git a/src/images/creatures/Zombie hand#Default.png b/src/images/creatures/Zombie hand#Default.png
new file mode 100644 (file)
index 0000000..d73e640
Binary files /dev/null and b/src/images/creatures/Zombie hand#Default.png differ
diff --git a/src/images/creatures/Zombie knight#Ancient Awakening.png b/src/images/creatures/Zombie knight#Ancient Awakening.png
new file mode 100644 (file)
index 0000000..16e760b
Binary files /dev/null and b/src/images/creatures/Zombie knight#Ancient Awakening.png differ
diff --git a/src/images/creatures/Zombie knight#Ungael combat activity (hard).png b/src/images/creatures/Zombie knight#Ungael combat activity (hard).png
new file mode 100644 (file)
index 0000000..16e760b
Binary files /dev/null and b/src/images/creatures/Zombie knight#Ungael combat activity (hard).png differ
diff --git a/src/images/creatures/Zombie knight#Ungael combat activity (standard).png b/src/images/creatures/Zombie knight#Ungael combat activity (standard).png
new file mode 100644 (file)
index 0000000..16e760b
Binary files /dev/null and b/src/images/creatures/Zombie knight#Ungael combat activity (standard).png differ
diff --git a/src/images/creatures/Zombie pirate#Level 49.png b/src/images/creatures/Zombie pirate#Level 49.png
new file mode 100644 (file)
index 0000000..c418c5b
Binary files /dev/null and b/src/images/creatures/Zombie pirate#Level 49.png differ
diff --git a/src/images/creatures/Zombie pirate#Level 50.png b/src/images/creatures/Zombie pirate#Level 50.png
new file mode 100644 (file)
index 0000000..6aa5b68
Binary files /dev/null and b/src/images/creatures/Zombie pirate#Level 50.png differ
diff --git a/src/images/creatures/Zombie pirate#Pieces of Hate.png b/src/images/creatures/Zombie pirate#Pieces of Hate.png
new file mode 100644 (file)
index 0000000..c418c5b
Binary files /dev/null and b/src/images/creatures/Zombie pirate#Pieces of Hate.png differ
diff --git a/src/images/creatures/Zombie swab#Default.png b/src/images/creatures/Zombie swab#Default.png
new file mode 100644 (file)
index 0000000..c3902ed
Binary files /dev/null and b/src/images/creatures/Zombie swab#Default.png differ
diff --git a/src/images/creatures/Zombie warrior#1 (Ancient Awakening).png b/src/images/creatures/Zombie warrior#1 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..1d81fb1
Binary files /dev/null and b/src/images/creatures/Zombie warrior#1 (Ancient Awakening).png differ
diff --git a/src/images/creatures/Zombie warrior#1 (Ungael combat activity).png b/src/images/creatures/Zombie warrior#1 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..1d81fb1
Binary files /dev/null and b/src/images/creatures/Zombie warrior#1 (Ungael combat activity).png differ
diff --git a/src/images/creatures/Zombie warrior#2 (Ancient Awakening).png b/src/images/creatures/Zombie warrior#2 (Ancient Awakening).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/src/images/creatures/Zombie warrior#2 (Ancient Awakening).png differ
diff --git a/src/images/creatures/Zombie warrior#2 (Ungael combat activity).png b/src/images/creatures/Zombie warrior#2 (Ungael combat activity).png
new file mode 100644 (file)
index 0000000..bf3e1dc
Binary files /dev/null and b/src/images/creatures/Zombie warrior#2 (Ungael combat activity).png differ
diff --git a/src/images/creatures/Zombie#Level 12.png b/src/images/creatures/Zombie#Level 12.png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/src/images/creatures/Zombie#Level 12.png differ
diff --git a/src/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png b/src/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/src/images/creatures/Zombie#Level 22 (Graveyard of Shadows).png differ
diff --git a/src/images/creatures/Zombie#Level 22.png b/src/images/creatures/Zombie#Level 22.png
new file mode 100644 (file)
index 0000000..8f662b8
Binary files /dev/null and b/src/images/creatures/Zombie#Level 22.png differ
diff --git a/src/images/creatures/Zombie#Level 29 (Entrana).png b/src/images/creatures/Zombie#Level 29 (Entrana).png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/src/images/creatures/Zombie#Level 29 (Entrana).png differ
diff --git a/src/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png b/src/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png
new file mode 100644 (file)
index 0000000..e0406bc
Binary files /dev/null and b/src/images/creatures/Zombie#Level 29 (Graveyard of Shadows).png differ
diff --git a/src/images/creatures/Zombie#Level 29.png b/src/images/creatures/Zombie#Level 29.png
new file mode 100644 (file)
index 0000000..b630977
Binary files /dev/null and b/src/images/creatures/Zombie#Level 29.png differ
diff --git a/src/images/data/reaper_collapsed_OSL.data.png b/src/images/data/reaper_collapsed_OSL.data.png
new file mode 100644 (file)
index 0000000..bbadbf2
Binary files /dev/null and b/src/images/data/reaper_collapsed_OSL.data.png differ
diff --git a/src/images/data/reaper_collapsed_RS3.data.png b/src/images/data/reaper_collapsed_RS3.data.png
new file mode 100644 (file)
index 0000000..080fe2f
Binary files /dev/null and b/src/images/data/reaper_collapsed_RS3.data.png differ
diff --git a/src/images/data/reaper_expanded_OSL.data.png b/src/images/data/reaper_expanded_OSL.data.png
new file mode 100644 (file)
index 0000000..205cfbd
Binary files /dev/null and b/src/images/data/reaper_expanded_OSL.data.png differ
diff --git a/src/images/data/reaper_expanded_RS3.data.png b/src/images/data/reaper_expanded_RS3.data.png
new file mode 100644 (file)
index 0000000..3f17ed6
Binary files /dev/null and b/src/images/data/reaper_expanded_RS3.data.png differ
diff --git a/src/images/data/slayer_collapsed_OSL.data.png b/src/images/data/slayer_collapsed_OSL.data.png
new file mode 100644 (file)
index 0000000..a4ce055
Binary files /dev/null and b/src/images/data/slayer_collapsed_OSL.data.png differ
diff --git a/src/images/data/slayer_collapsed_RS3.data.png b/src/images/data/slayer_collapsed_RS3.data.png
new file mode 100644 (file)
index 0000000..e2b0677
Binary files /dev/null and b/src/images/data/slayer_collapsed_RS3.data.png differ
diff --git a/src/images/data/slayer_expanded_OSL.data.png b/src/images/data/slayer_expanded_OSL.data.png
new file mode 100644 (file)
index 0000000..a6fc667
Binary files /dev/null and b/src/images/data/slayer_expanded_OSL.data.png differ
diff --git a/src/images/data/slayer_expanded_RS3.data.png b/src/images/data/slayer_expanded_RS3.data.png
new file mode 100644 (file)
index 0000000..3be8970
Binary files /dev/null and b/src/images/data/slayer_expanded_RS3.data.png differ
diff --git a/src/images/icon.png b/src/images/icon.png
new file mode 100644 (file)
index 0000000..f603f85
Binary files /dev/null and b/src/images/icon.png differ
diff --git a/src/images/masters/Chaeldar.png b/src/images/masters/Chaeldar.png
new file mode 100644 (file)
index 0000000..f2923a2
Binary files /dev/null and b/src/images/masters/Chaeldar.png differ
diff --git a/src/images/masters/Duradel.png b/src/images/masters/Duradel.png
new file mode 100644 (file)
index 0000000..8a015e3
Binary files /dev/null and b/src/images/masters/Duradel.png differ
diff --git a/src/images/masters/Jacquelyn.png b/src/images/masters/Jacquelyn.png
new file mode 100644 (file)
index 0000000..385405e
Binary files /dev/null and b/src/images/masters/Jacquelyn.png differ
diff --git a/src/images/masters/Kuradal.png b/src/images/masters/Kuradal.png
new file mode 100644 (file)
index 0000000..efc6507
Binary files /dev/null and b/src/images/masters/Kuradal.png differ
diff --git a/src/images/masters/Laniakea.png b/src/images/masters/Laniakea.png
new file mode 100644 (file)
index 0000000..da9cd2f
Binary files /dev/null and b/src/images/masters/Laniakea.png differ
diff --git a/src/images/masters/Mandrith.png b/src/images/masters/Mandrith.png
new file mode 100644 (file)
index 0000000..ab75bfb
Binary files /dev/null and b/src/images/masters/Mandrith.png differ
diff --git a/src/images/masters/Mazchna.png b/src/images/masters/Mazchna.png
new file mode 100644 (file)
index 0000000..5385ad4
Binary files /dev/null and b/src/images/masters/Mazchna.png differ
diff --git a/src/images/masters/Morvran.png b/src/images/masters/Morvran.png
new file mode 100644 (file)
index 0000000..92bb8c2
Binary files /dev/null and b/src/images/masters/Morvran.png differ
diff --git a/src/images/masters/Sumona.png b/src/images/masters/Sumona.png
new file mode 100644 (file)
index 0000000..f126916
Binary files /dev/null and b/src/images/masters/Sumona.png differ
diff --git a/src/images/masters/The Raptor.png b/src/images/masters/The Raptor.png
new file mode 100644 (file)
index 0000000..d7984f9
Binary files /dev/null and b/src/images/masters/The Raptor.png differ
diff --git a/src/images/masters/Turael.png b/src/images/masters/Turael.png
new file mode 100644 (file)
index 0000000..3efbf40
Binary files /dev/null and b/src/images/masters/Turael.png differ
diff --git a/src/images/masters/Vannaka.png b/src/images/masters/Vannaka.png
new file mode 100644 (file)
index 0000000..b337aeb
Binary files /dev/null and b/src/images/masters/Vannaka.png differ
diff --git a/src/images/misc/combat.png b/src/images/misc/combat.png
new file mode 100644 (file)
index 0000000..e1def8b
Binary files /dev/null and b/src/images/misc/combat.png differ
diff --git a/src/images/misc/defence.png b/src/images/misc/defence.png
new file mode 100644 (file)
index 0000000..e91d7c8
Binary files /dev/null and b/src/images/misc/defence.png differ
diff --git a/src/images/misc/lifepoints.png b/src/images/misc/lifepoints.png
new file mode 100644 (file)
index 0000000..bf7de60
Binary files /dev/null and b/src/images/misc/lifepoints.png differ
diff --git a/src/images/misc/magic.png b/src/images/misc/magic.png
new file mode 100644 (file)
index 0000000..aa48a5a
Binary files /dev/null and b/src/images/misc/magic.png differ
diff --git a/src/images/misc/melee.png b/src/images/misc/melee.png
new file mode 100644 (file)
index 0000000..4a2671c
Binary files /dev/null and b/src/images/misc/melee.png differ
diff --git a/src/images/misc/necromancy.png b/src/images/misc/necromancy.png
new file mode 100644 (file)
index 0000000..d4e8d5f
Binary files /dev/null and b/src/images/misc/necromancy.png differ
diff --git a/src/images/misc/ranged.png b/src/images/misc/ranged.png
new file mode 100644 (file)
index 0000000..9718ffe
Binary files /dev/null and b/src/images/misc/ranged.png differ
diff --git a/src/images/misc/slayer.png b/src/images/misc/slayer.png
new file mode 100644 (file)
index 0000000..e8c1db9
Binary files /dev/null and b/src/images/misc/slayer.png differ
diff --git a/src/images/misc/spec.png b/src/images/misc/spec.png
new file mode 100644 (file)
index 0000000..7dae6ab
Binary files /dev/null and b/src/images/misc/spec.png differ
diff --git a/src/images/preview/SlayerAssistant.png b/src/images/preview/SlayerAssistant.png
new file mode 100644 (file)
index 0000000..568fe3d
Binary files /dev/null and b/src/images/preview/SlayerAssistant.png differ
diff --git a/src/images/preview/SlayerAssistantNewLookNFeel.png b/src/images/preview/SlayerAssistantNewLookNFeel.png
new file mode 100644 (file)
index 0000000..7c09432
Binary files /dev/null and b/src/images/preview/SlayerAssistantNewLookNFeel.png differ
diff --git a/src/images/preview/SlayerAssistantUpdate20240611.png b/src/images/preview/SlayerAssistantUpdate20240611.png
new file mode 100644 (file)
index 0000000..f4f50b2
Binary files /dev/null and b/src/images/preview/SlayerAssistantUpdate20240611.png differ
diff --git a/src/images/preview/SlayerAssistantUpdate20240615.png b/src/images/preview/SlayerAssistantUpdate20240615.png
new file mode 100644 (file)
index 0000000..07b0984
Binary files /dev/null and b/src/images/preview/SlayerAssistantUpdate20240615.png differ
diff --git a/src/images/susceptible/Abyssal_head.png b/src/images/susceptible/Abyssal_head.png
new file mode 100644 (file)
index 0000000..29d077f
Binary files /dev/null and b/src/images/susceptible/Abyssal_head.png differ
diff --git a/src/images/susceptible/Balmung.png b/src/images/susceptible/Balmung.png
new file mode 100644 (file)
index 0000000..4b0544c
Binary files /dev/null and b/src/images/susceptible/Balmung.png differ
diff --git a/src/images/susceptible/Basilisk_head.png b/src/images/susceptible/Basilisk_head.png
new file mode 100644 (file)
index 0000000..8470f40
Binary files /dev/null and b/src/images/susceptible/Basilisk_head.png differ
diff --git a/src/images/susceptible/Blisterwood_staff.png b/src/images/susceptible/Blisterwood_staff.png
new file mode 100644 (file)
index 0000000..1f44692
Binary files /dev/null and b/src/images/susceptible/Blisterwood_staff.png differ
diff --git a/src/images/susceptible/Corrupt_Vesta's_longsword.png b/src/images/susceptible/Corrupt_Vesta's_longsword.png
new file mode 100644 (file)
index 0000000..1fa62a5
Binary files /dev/null and b/src/images/susceptible/Corrupt_Vesta's_longsword.png differ
diff --git a/src/images/susceptible/Demon_Slayer_(perk).png b/src/images/susceptible/Demon_Slayer_(perk).png
new file mode 100644 (file)
index 0000000..f010ce4
Binary files /dev/null and b/src/images/susceptible/Demon_Slayer_(perk).png differ
diff --git a/src/images/susceptible/Dragon_Slayer_(perk).png b/src/images/susceptible/Dragon_Slayer_(perk).png
new file mode 100644 (file)
index 0000000..863f821
Binary files /dev/null and b/src/images/susceptible/Dragon_Slayer_(perk).png differ
diff --git a/src/images/susceptible/Ghost_hunter_backpack.png b/src/images/susceptible/Ghost_hunter_backpack.png
new file mode 100644 (file)
index 0000000..5dc8178
Binary files /dev/null and b/src/images/susceptible/Ghost_hunter_backpack.png differ
diff --git a/src/images/susceptible/Hexhunter_bow.png b/src/images/susceptible/Hexhunter_bow.png
new file mode 100644 (file)
index 0000000..bfe434a
Binary files /dev/null and b/src/images/susceptible/Hexhunter_bow.png differ
diff --git a/src/images/susceptible/Ice_Barrage_icon.png b/src/images/susceptible/Ice_Barrage_icon.png
new file mode 100644 (file)
index 0000000..44b35ab
Binary files /dev/null and b/src/images/susceptible/Ice_Barrage_icon.png differ
diff --git a/src/images/susceptible/Inquisitor_staff.png b/src/images/susceptible/Inquisitor_staff.png
new file mode 100644 (file)
index 0000000..667af4b
Binary files /dev/null and b/src/images/susceptible/Inquisitor_staff.png differ
diff --git a/src/images/susceptible/Keris.png b/src/images/susceptible/Keris.png
new file mode 100644 (file)
index 0000000..4880e9b
Binary files /dev/null and b/src/images/susceptible/Keris.png differ
diff --git a/src/images/susceptible/Necklace_of_Salamancy.png b/src/images/susceptible/Necklace_of_Salamancy.png
new file mode 100644 (file)
index 0000000..9c20c04
Binary files /dev/null and b/src/images/susceptible/Necklace_of_Salamancy.png differ
diff --git a/src/images/susceptible/Steel_brutal_2.png b/src/images/susceptible/Steel_brutal_2.png
new file mode 100644 (file)
index 0000000..566ab3d
Binary files /dev/null and b/src/images/susceptible/Steel_brutal_2.png differ
diff --git a/src/images/susceptible/Terrasaur_maul.png b/src/images/susceptible/Terrasaur_maul.png
new file mode 100644 (file)
index 0000000..b79334d
Binary files /dev/null and b/src/images/susceptible/Terrasaur_maul.png differ
diff --git a/src/images/susceptible/Undead_Slayer.png b/src/images/susceptible/Undead_Slayer.png
new file mode 100644 (file)
index 0000000..a35289f
Binary files /dev/null and b/src/images/susceptible/Undead_Slayer.png differ
diff --git a/src/images/ui/default/about/Reaper_counter.png b/src/images/ui/default/about/Reaper_counter.png
new file mode 100644 (file)
index 0000000..7a57927
Binary files /dev/null and b/src/images/ui/default/about/Reaper_counter.png differ
diff --git a/src/images/ui/default/about/Reaper_counter_expanded.png b/src/images/ui/default/about/Reaper_counter_expanded.png
new file mode 100644 (file)
index 0000000..d498e4c
Binary files /dev/null and b/src/images/ui/default/about/Reaper_counter_expanded.png differ
diff --git a/src/images/ui/default/about/Reaper_task_interface.png b/src/images/ui/default/about/Reaper_task_interface.png
new file mode 100644 (file)
index 0000000..54b28bf
Binary files /dev/null and b/src/images/ui/default/about/Reaper_task_interface.png differ
diff --git a/src/images/ui/default/about/Right_click_interface.png b/src/images/ui/default/about/Right_click_interface.png
new file mode 100644 (file)
index 0000000..493ad62
Binary files /dev/null and b/src/images/ui/default/about/Right_click_interface.png differ
diff --git a/src/images/ui/default/about/Select_your_own_task.png b/src/images/ui/default/about/Select_your_own_task.png
new file mode 100644 (file)
index 0000000..d0c8542
Binary files /dev/null and b/src/images/ui/default/about/Select_your_own_task.png differ
diff --git a/src/images/ui/default/about/Slayer_assistant_interface.png b/src/images/ui/default/about/Slayer_assistant_interface.png
new file mode 100644 (file)
index 0000000..6269b5f
Binary files /dev/null and b/src/images/ui/default/about/Slayer_assistant_interface.png differ
diff --git a/src/images/ui/default/about/Slayer_assistant_interface.xcf b/src/images/ui/default/about/Slayer_assistant_interface.xcf
new file mode 100644 (file)
index 0000000..341698a
Binary files /dev/null and b/src/images/ui/default/about/Slayer_assistant_interface.xcf differ
diff --git a/src/images/ui/default/about/Slayer_counter.png b/src/images/ui/default/about/Slayer_counter.png
new file mode 100644 (file)
index 0000000..807332e
Binary files /dev/null and b/src/images/ui/default/about/Slayer_counter.png differ
diff --git a/src/images/ui/default/about/Slayer_counter_expanded.png b/src/images/ui/default/about/Slayer_counter_expanded.png
new file mode 100644 (file)
index 0000000..b5353bc
Binary files /dev/null and b/src/images/ui/default/about/Slayer_counter_expanded.png differ
diff --git a/src/images/ui/default/about/Slayer_task_interface.png b/src/images/ui/default/about/Slayer_task_interface.png
new file mode 100644 (file)
index 0000000..51123c9
Binary files /dev/null and b/src/images/ui/default/about/Slayer_task_interface.png differ
diff --git a/src/images/ui/default/about/VIP_ticket_interface.png b/src/images/ui/default/about/VIP_ticket_interface.png
new file mode 100644 (file)
index 0000000..89d3626
Binary files /dev/null and b/src/images/ui/default/about/VIP_ticket_interface.png differ
diff --git a/src/images/ui/default/back.png b/src/images/ui/default/back.png
new file mode 100644 (file)
index 0000000..9d23646
Binary files /dev/null and b/src/images/ui/default/back.png differ
diff --git a/src/images/ui/default/background.png b/src/images/ui/default/background.png
new file mode 100644 (file)
index 0000000..d6ef4bb
Binary files /dev/null and b/src/images/ui/default/background.png differ
diff --git a/src/images/ui/default/donate.png b/src/images/ui/default/donate.png
new file mode 100644 (file)
index 0000000..46dde21
Binary files /dev/null and b/src/images/ui/default/donate.png differ
diff --git a/src/images/ui/default/forward.png b/src/images/ui/default/forward.png
new file mode 100644 (file)
index 0000000..b8907f9
Binary files /dev/null and b/src/images/ui/default/forward.png differ
diff --git a/src/images/ui/default/infoicon.png b/src/images/ui/default/infoicon.png
new file mode 100644 (file)
index 0000000..7177084
Binary files /dev/null and b/src/images/ui/default/infoicon.png differ
diff --git a/src/images/ui/default/nisbutton.png b/src/images/ui/default/nisbutton.png
new file mode 100644 (file)
index 0000000..496b8e7
Binary files /dev/null and b/src/images/ui/default/nisbutton.png differ
diff --git a/src/images/ui/default/settingscog.png b/src/images/ui/default/settingscog.png
new file mode 100644 (file)
index 0000000..96265cf
Binary files /dev/null and b/src/images/ui/default/settingscog.png differ
diff --git a/src/images/ui/default/wikipedia.png b/src/images/ui/default/wikipedia.png
new file mode 100644 (file)
index 0000000..1f9a7a7
Binary files /dev/null and b/src/images/ui/default/wikipedia.png differ
diff --git a/src/images/weakness/Air_weakness_icon.png b/src/images/weakness/Air_weakness_icon.png
new file mode 100644 (file)
index 0000000..20244ce
Binary files /dev/null and b/src/images/weakness/Air_weakness_icon.png differ
diff --git a/src/images/weakness/Arrow_weakness_icon.png b/src/images/weakness/Arrow_weakness_icon.png
new file mode 100644 (file)
index 0000000..7a996ab
Binary files /dev/null and b/src/images/weakness/Arrow_weakness_icon.png differ
diff --git a/src/images/weakness/Bolt_weakness_icon.png b/src/images/weakness/Bolt_weakness_icon.png
new file mode 100644 (file)
index 0000000..5e9ef1b
Binary files /dev/null and b/src/images/weakness/Bolt_weakness_icon.png differ
diff --git a/src/images/weakness/Crush_weakness_icon.png b/src/images/weakness/Crush_weakness_icon.png
new file mode 100644 (file)
index 0000000..4bf250e
Binary files /dev/null and b/src/images/weakness/Crush_weakness_icon.png differ
diff --git a/src/images/weakness/Earth_weakness_icon.png b/src/images/weakness/Earth_weakness_icon.png
new file mode 100644 (file)
index 0000000..fd407bd
Binary files /dev/null and b/src/images/weakness/Earth_weakness_icon.png differ
diff --git a/src/images/weakness/Fire_weakness_icon.png b/src/images/weakness/Fire_weakness_icon.png
new file mode 100644 (file)
index 0000000..bf25460
Binary files /dev/null and b/src/images/weakness/Fire_weakness_icon.png differ
diff --git a/src/images/weakness/Magic_weakness_icon.png b/src/images/weakness/Magic_weakness_icon.png
new file mode 100644 (file)
index 0000000..5bc4bf0
Binary files /dev/null and b/src/images/weakness/Magic_weakness_icon.png differ
diff --git a/src/images/weakness/Melee_weakness_icon.png b/src/images/weakness/Melee_weakness_icon.png
new file mode 100644 (file)
index 0000000..e7c6dfb
Binary files /dev/null and b/src/images/weakness/Melee_weakness_icon.png differ
diff --git a/src/images/weakness/Necromancy-icon.png b/src/images/weakness/Necromancy-icon.png
new file mode 100644 (file)
index 0000000..6c7e50c
Binary files /dev/null and b/src/images/weakness/Necromancy-icon.png differ
diff --git a/src/images/weakness/Ranged_weakness_icon.png b/src/images/weakness/Ranged_weakness_icon.png
new file mode 100644 (file)
index 0000000..3349fbc
Binary files /dev/null and b/src/images/weakness/Ranged_weakness_icon.png differ
diff --git a/src/images/weakness/Slash_weakness_icon.png b/src/images/weakness/Slash_weakness_icon.png
new file mode 100644 (file)
index 0000000..b627f15
Binary files /dev/null and b/src/images/weakness/Slash_weakness_icon.png differ
diff --git a/src/images/weakness/Stab_weakness_icon.png b/src/images/weakness/Stab_weakness_icon.png
new file mode 100644 (file)
index 0000000..a65ba88
Binary files /dev/null and b/src/images/weakness/Stab_weakness_icon.png differ
diff --git a/src/images/weakness/Thrown_weakness_icon.png b/src/images/weakness/Thrown_weakness_icon.png
new file mode 100644 (file)
index 0000000..85d069e
Binary files /dev/null and b/src/images/weakness/Thrown_weakness_icon.png differ
diff --git a/src/images/weakness/Water_weakness_icon.png b/src/images/weakness/Water_weakness_icon.png
new file mode 100644 (file)
index 0000000..840989c
Binary files /dev/null and b/src/images/weakness/Water_weakness_icon.png differ
diff --git a/src/images/weakness/Zero_weakness_icon.png b/src/images/weakness/Zero_weakness_icon.png
new file mode 100644 (file)
index 0000000..384a6dc
Binary files /dev/null and b/src/images/weakness/Zero_weakness_icon.png differ
diff --git a/src/index.html b/src/index.html
new file mode 100644 (file)
index 0000000..92a2173
--- /dev/null
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+       <title>Slayer Assistant</title>
+       <link rel="icon" href="./images/icon.png" type="image/png">
+       <link rel="stylesheet" href="./styles/default/index.css">
+</head>
+
+<body id="nis" class="nis">
+</body>
+<script src="./main.js"></script>
+</html>
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
new file mode 100644 (file)
index 0000000..6a92f44
--- /dev/null
@@ -0,0 +1,97 @@
+import * as dochandler from "./modules/dochandler";
+import * as settings from "./modules/settings";
+import * as slayer from "./modules/slayer";
+import * as logger from "./modules/logger";
+
+import "./index.html";
+import "./appconfig.json";
+
+/* COPYRIGHT NOTICE - DO NOT REMOVE
+    2021 @ Unlishema Dragonsworn
+    I have programmed this enitre app myself; however, I must give credit where credit is due.
+    
+    The credits have been moved into their own file @ https://slayer.unlishema.org/pages/credits.html
+*/
+/*
+    ~~~ Slayer Assistant App ~~~
+    Features coming in the near future (Also my current TODO List)
+
+    ~ Before Release for Sure ~
+    Update the about page. (Will need updated again on next release)
+    Update the changelog page. (Will need updated again on next release)
+    Update the credits page. (Will need updated again on next release)
+
+    ~ Coming Next Release ~
+    Adjust where the CNAME for the app on github is located for source update (Done)
+    Upload the source of the app to github so we won't lose it again (Ready but source needs Tested First)
+    Adjust the DNS Record for https://slayer.unlishema.org to point at https://unlishema.github.io/slayerassistant/dist instead for new update because the source is the main dir
+    Add ability to load the database through a php file instead of the json (Done, except for reapers.json)
+    - We will still use a json database in the app but the php file will build the json via MySQL (Done)
+    - The php file will be creatures.json via the .htaccess file (Done)
+    - http://slayer.unlishema.org/data/creatures.json will load http://slayer.unlishema.org/data/creatures.php?q=all (Done)
+    - Add other features to the database query php even if the app don't use them yet (Coming in the future)
+    -- Example: http://slayer.unlishema.org/data/creatures.php?q=Dragon&l=10
+    -- l=100 could limit results, d could have it give extra details, q could also be setup for seaching, and so on
+    Adjust the caching of the json database files to make sure they get updated timely (use .htaccess and mode_expires.c)
+    - This may not be needed once I change over to the php file instead. (Doesn't seem to be needed anymore, more testing required)
+
+    ~ Coming Very Soon Maybe even next Release ~
+    Add in a status tracking area to keep track of xp/hr, kills/hr, and more (Needs finished)
+    Add settings into the app finally (Needs rest added)
+    Adjust histories to use sessionStorage
+    Make it show if it detects your using alt1toolkit or not and warn a users of the features they are missing without using alt1toolkit.
+    - Also add into settings ability to hide this warning. Also add setting to turn off injection of the alt1 app.
+
+    ~ Near future Release ~
+    Add support for Ushubti
+
+    ~ Settings for the app ~
+    Settings:
+    - Ability to toggle on and off Debug and Verbose mode
+    - Ability to toggle auto find task via dialog (Done)
+    - Ability to toggle auto find current task via Slayer Count RS3UI (Done)
+    - Ability to toggle extra info to make box smaller without scrollbar (Done)
+    - Ability to toggle all hidden creatures
+    -- Ability to toggle sub-classes of hidden creatures like (elite), (dragonkin lab) and such
+    - Ability to select default loading
+    -- Default Task(s) on open and adjust doc based on it (Done, Partially)
+    -- Load previous task(s) and adjust doc based on it
+    - Ability to select defaults for everything (Later On)
+    -- Select default creature per task
+    -- Select default variant per creature
+    - Ability to customize the Look N Feel of the Slayer Assistant UI (Way Later On)
+    - Ability to select how long to save search history (Way Later On)
+    - Ability to select the type of search algo for the app (Maybe Later On)
+    - Ability to toggle warnings (eg. Missing Features due to not on Alt1Toolkit, Missing Data, and so on...)
+    - Ability to turn off app injection (This will fix issues where a user can't inject into the client)
+
+*/
+
+if (window.alt1) alt1.identifyAppUrl("./appconfig.json");
+
+// Initialize the JavaScript for the app
+document.addEventListener("DOMContentLoaded", async () => {
+    try {
+        // Setup the main document and load assignment index
+        await dochandler.main.setup.documentMain();
+
+        // Run the Config Setup Process
+        await settings.controller.load();
+
+        // Start the capture loop at the configured interval
+        setInterval(() => {
+            slayer.findTask();
+        }, settings.controller.data.autoCapture.loopTimer);
+    } catch (error) {
+        console.error("Initialization error:", error);
+    }
+});
+
+// Save settings before closing the app
+document.addEventListener("beforeunload", async () => {
+    try {
+        await settings.controller.save();
+    } catch (error) {
+        logger.error("Error saving settings:", error);
+    }
+});
\ No newline at end of file
diff --git a/src/modules/SearchAlgorithm.ts b/src/modules/SearchAlgorithm.ts
new file mode 100644 (file)
index 0000000..13637d0
--- /dev/null
@@ -0,0 +1,141 @@
+export class SearchData {
+    reaper: boolean;
+    task: string;
+    probability: number;
+
+    constructor() {
+        this.reaper = false;
+        this.task = 'Dragons';
+        this.probability = 0;
+    }
+}
+
+export class SearchAlgorithm {
+    private data: SearchData;
+
+    constructor() {
+        this.data = new SearchData();
+    }
+
+    // Lookup best possible assignment based on input string
+    public async lookup(lookup: string, skipReaper: boolean = false): Promise<SearchData> {
+        const probabilities: { [key: string]: any } = {};
+
+        if (!skipReaper) {
+            const reapersResponse = await fetch("./data/reapers.json");
+            const reapers = await reapersResponse.json();
+
+            for (const a of reapers) {
+                probabilities[a["index"]] = {
+                    reaper: true,
+                    index: Math.round(this.similarity(a["index"], lookup) * 10000) / 100,
+                    creatures: {}
+                };
+
+                for (const b of a["creatures"]) {
+                    probabilities[a["index"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;
+                }
+            }
+        }
+
+        const assignmentsResponse = await fetch("./data/assignments.json");
+        const assignments = await assignmentsResponse.json();
+
+        for (const a of assignments) {
+            probabilities[a["index"]] = {
+                reaper: false,
+                index: Math.round(this.similarity(a["index"], lookup) * 10000) / 125,
+                alias: {},
+                creatures: {}
+            };
+
+            for (const b of a["alias"]) {
+                probabilities[a["index"]].alias[b] = Math.round(this.similarity(b, lookup) * 10000) / 150;
+            }
+
+            for (const b of a["creatures"]) {
+                probabilities[a["index"]].creatures[b] = Math.round(this.similarity(b, lookup) * 10000) / 175;
+            }
+        }
+
+        // Find highest likelihood of the search
+        for (const key in probabilities) {
+            if (probabilities[key].index > this.data.probability) {
+                this.data.task = key;
+                this.data.reaper = probabilities[key].reaper;
+                this.data.probability = probabilities[key].index;
+            }
+
+            if (probabilities[key].alias) {
+                const aliasKeys = Object.keys(probabilities[key].alias);
+                for (const aliasKey of aliasKeys) {
+                    if (probabilities[key].alias[aliasKey] > this.data.probability) {
+                        this.data.task = key;
+                        this.data.reaper = probabilities[key].reaper;
+                        this.data.probability = probabilities[key].alias[aliasKey];
+                    }
+                }
+            }
+
+            if (probabilities[key].creatures) {
+                const creatureKeys = Object.keys(probabilities[key].creatures);
+                for (const creatureKey of creatureKeys) {
+                    if (probabilities[key].creatures[creatureKey] > this.data.probability) {
+                        this.data.task = key;
+                        this.data.reaper = probabilities[key].reaper;
+                        this.data.probability = probabilities[key].creatures[creatureKey];
+                    }
+                }
+            }
+        }
+
+        return this.data;
+    }
+
+    // Check the similarity of 2 strings
+    private similarity(s1: string, s2: string): number {
+        let longer = s1;
+        let shorter = s2;
+
+        if (s1.length < s2.length) {
+            longer = s2;
+            shorter = s1;
+        }
+
+        const longerLength = longer.length;
+
+        if (longerLength === 0) return 1.0;
+
+        return (longerLength - this.editDistance(longer, shorter)) / parseFloat('' + longerLength);
+    }
+
+    // Calculate the edit distance between 2 strings
+    private editDistance(s1: string, s2: string): number {
+        s1 = s1.toLowerCase();
+        s2 = s2.toLowerCase();
+        const costs: number[] = [];
+
+        for (let i = 0; i <= s1.length; i++) {
+            let lastValue = i;
+
+            for (let j = 0; j <= s2.length; j++) {
+                if (i === 0) {
+                    costs[j] = j;
+                } else if (j > 0) {
+                    let newValue = costs[j - 1];
+                    if (s1.charAt(i - 1) !== s2.charAt(j - 1)) {
+                        newValue = Math.min(Math.min(newValue, lastValue), costs[j]) + 1;
+                    }
+                    costs[j - 1] = lastValue;
+                    lastValue = newValue;
+                }
+            }
+
+            if (i > 0) {
+                costs[s2.length] = lastValue;
+            }
+        }
+
+        return costs[s2.length];
+    }
+}
diff --git a/src/modules/SlayerDialogReader.ts b/src/modules/SlayerDialogReader.ts
new file mode 100644 (file)
index 0000000..67a45e9
--- /dev/null
@@ -0,0 +1,86 @@
+import * as a1lib from "alt1";
+import DialogReader from 'alt1/dialog';
+
+class SlayerData {
+    selectYourOwn: boolean;
+    ticket: boolean;
+    reaper: boolean;
+    count: number[];
+    task: string[];
+
+    constructor() {
+        this.selectYourOwn = false;
+        this.ticket = false;
+        this.reaper = false;
+        this.count = [];
+        this.task = [];
+    }
+}
+
+export class SlayerDialogReader {
+    public dialogReader: any;
+    public data: SlayerData;
+
+    constructor() {}
+
+    public async read(buffer: any = null): Promise<SlayerData | null> {
+        if (!buffer) {
+            buffer = a1lib.captureHoldFullRs();
+        }
+        if (!this.dialogReader) {
+            this.dialogReader = new DialogReader();
+        }
+        this.data = new SlayerData();
+
+        const data = this.dialogReader.find(buffer);
+        if (!data) return null;
+
+        const box = this.dialogReader.read(buffer);
+        if (!box) return null;
+
+        if (box.text && (!box.opts || box.opts.length !== 2)) {
+            const msg = box.text.toString();
+
+            // Parsing logic for various types of dialogs
+            if (msg.toLowerCase().includes("select your own task")) {
+                this.data.selectYourOwn = true;
+            }
+
+            if (msg.toLowerCase().includes("require you to collect")) {
+                this.data.reaper = true;
+                const countText = msg.substring(msg.indexOf("collect ") + 8, msg.indexOf(" souls"));
+                this.data.count[0] = parseInt(countText);
+                this.data.task[0] = msg.substring(msg.indexOf("battle: ") + 8, msg.indexOf(". Can"));
+            }
+
+            if (msg.toLowerCase().includes("new task is to kill")) {
+                const e = msg.substring(msg.indexOf("kill ") + 5, msg.length - 1);
+                const countText = e.substring(0, e.includes(",") ? e.indexOf(",") : e.indexOf(" "));
+                this.data.count[0] = parseInt(countText);
+                this.data.task[0] = e.substring((e.includes(",") ? e.indexOf(",") : e.indexOf(" ")) + 1);
+            }
+
+            if (msg.toLowerCase().includes("still need to kill")) {
+                const e = msg.substring(msg.indexOf("kill ") + 5);
+                this.data.count[0] = parseInt(e.substring(0, e.indexOf(" ")));
+                this.data.task[0] = e.substring(e.indexOf(" ") + 1, e.includes(".") ? e.indexOf(".") : e.length - 1);
+            }
+
+            if (msg.toLowerCase().includes("still hunting")) {
+                this.data.task[0] = msg.substring(msg.indexOf("hunting ") + 8, msg.indexOf(";"));
+            }
+        }
+
+        if (box.opts && box.opts.length === 2 && (box.title && box.title.toLowerCase().includes("change your assigned slayer task"))) {
+            this.data.ticket = true;
+            for (let i = 0; i < box.opts.length; i++) {
+                const msg = box.opts[i].text;
+                const countText = msg.substring(0, msg.indexOf(' '));
+                this.data.count[i] = parseInt(countText);
+                this.data.task[i] = msg.substring(msg.indexOf(' ') + 1, msg.includes('(') ? msg.indexOf('(') - 1 : msg.length);
+            }
+        }
+
+        return this.data;
+    }
+}
diff --git a/src/modules/UICounterReader.ts b/src/modules/UICounterReader.ts
new file mode 100644 (file)
index 0000000..c807d52
--- /dev/null
@@ -0,0 +1,78 @@
+import * as a1lib from "alt1";
+import * as OCR from "alt1/ocr";
+import { ImageData } from "alt1/base";
+
+import * as settings from "./settings";
+
+let imgs = a1lib.webpackImages({
+    slayer_expanded_RS3: require("../images/data/slayer_expanded_RS3.data.png"),
+    slayer_expanded_OSL: require("../images/data/slayer_expanded_OSL.data.png"),
+    reaper_expanded_RS3: require("../images/data/reaper_expanded_RS3.data.png"),
+    reaper_expanded_OSL: require("../images/data/reaper_expanded_OSL.data.png"),
+    slayer_collapsed_RS3: require("../images/data/slayer_collapsed_RS3.data.png"),
+    slayer_collapsed_OSL: require("../images/data/slayer_collapsed_OSL.data.png"),
+    reaper_collapsed_RS3: require("../images/data/reaper_collapsed_RS3.data.png"),
+    reaper_collapsed_OSL: require("../images/data/reaper_collapsed_OSL.data.png"),
+});
+
+export class UICounterData {
+    img: ImageData;
+    collapsed: boolean;
+    OS: boolean;
+    reaper: boolean;
+    count: number;
+    task: string;
+}
+
+export class UICounterReader {
+    countFont: OCR.FontDefinition | null = null;
+    taskFont: OCR.FontDefinition | null = null;
+    pos: { x: number; y: number; }[];
+    data: UICounterData | null = null;
+
+    async read(buffer?: a1lib.ImgRef) {
+        if (!buffer) buffer = a1lib.captureHoldFullRs();
+        if (!this.countFont) this.countFont = await fetch(require("../fonts/aa_10px_mono.fontmeta.json")).then(r => r.json());
+        if (!this.taskFont) this.taskFont = await fetch(require("../fonts/aa_8px_mono.fontmeta.json")).then(r => r.json());
+        // Reset data for next search
+        this.pos = [];
+        this.data = null;
+
+        // Look for all UI Elements until we find one, then the rest will get skipped
+        this.findUIElement(buffer, imgs.slayer_collapsed_OSL, { reaper: false, collapsed: true, OS: true });
+        this.findUIElement(buffer, imgs.slayer_expanded_OSL, { reaper: false, collapsed: false, OS: true });
+        this.findUIElement(buffer, imgs.slayer_collapsed_RS3, { reaper: false, collapsed: true, OS: false });
+        this.findUIElement(buffer, imgs.slayer_expanded_RS3, { reaper: false, collapsed: false, OS: false });
+        this.findUIElement(buffer, imgs.reaper_collapsed_OSL, { reaper: true, collapsed: true, OS: true });
+        this.findUIElement(buffer, imgs.reaper_expanded_OSL, { reaper: true, collapsed: false, OS: true });
+        this.findUIElement(buffer, imgs.reaper_collapsed_RS3, { reaper: true, collapsed: true, OS: false });
+        this.findUIElement(buffer, imgs.reaper_expanded_RS3, { reaper: true, collapsed: false, OS: false });
+
+        // If we don't find any data or we found too many matches then return
+        if (!this.data && this.pos.length == 0) return null;
+
+        // Setup some temp data for extract the image
+        let width = this.data.collapsed ? imgs.slayer_collapsed_OSL.width : imgs.slayer_expanded_OSL.width;
+        let height = this.data.collapsed ? imgs.slayer_collapsed_OSL.height : imgs.slayer_expanded_OSL.height;
+
+        // Loop the results and return the data we find
+        for (let match of this.pos) {
+            // Overlay a rectangle around the matched area on screen if we're running in alt1
+            if (window.alt1 && alt1.permissionOverlay && settings.controller.data.ui.counter) alt1.overLayRect(a1lib.mixColor(255, 255, 255), match.x, match.y, width, height, 500, 3);
+
+            // Get the pixel data for the matched area
+            this.data.img = buffer.toData(match.x, match.y, width, height);
+
+            // Extract the count and task (if avaliable)
+            let countText = OCR.findReadLine(this.data.img, this.countFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], this.data.collapsed ? 10 : 72, 15, 30, 3);
+            this.data.count = parseInt(countText.text);
+            if (!this.data.collapsed) this.data.task = OCR.findReadLine(this.data.img, this.taskFont, this.data.OS ? [[255, 152, 31]] : [[255, 203, 5]], 9, 28, 156, 3).text;
+        }
+        return (!this.pos || this.pos.length == 0) ? null : this.data;
+    }
+
+    private findUIElement(buffer: a1lib.ImgRef, img: ImageData, mode: { reaper: boolean, collapsed: boolean, OS: boolean }) {
+        if (!this.data && this.pos.length == 0) this.pos = buffer.findSubimage(img);
+        if (!this.data && this.pos.length > 0) this.data = { reaper: mode.reaper, collapsed: mode.collapsed, OS: mode.OS, img: null, count: -1, task: null }
+    }
+}
\ No newline at end of file
diff --git a/src/modules/data/assignnments.ts b/src/modules/data/assignnments.ts
new file mode 100644 (file)
index 0000000..29b4f8c
--- /dev/null
@@ -0,0 +1,39 @@
+// Fetch a single assignment based on the index or alias
+export async function get(assignment) {
+    try {
+        const response = await fetch("./data/assignments.json");
+        const data = await response.json();
+        
+        for (const a of data) {
+            if (a["index"].toLowerCase() === assignment.toLowerCase()) {
+                return a;
+            }
+            for (const b of a["alias"]) {
+                if (b.toLowerCase() === assignment.toLowerCase()) {
+                    return a;
+                }
+            }
+        }
+        return null;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return null;
+    }
+}
+
+// Get an array of the index
+export async function getIndexList() {
+    try {
+        let dataList = "";
+        const response = await fetch("./data/assignments.json");
+        const data = await response.json();
+        
+        for (const a of data) {
+            dataList += `<option>${a["index"]}</option>\n\r`;
+        }
+        return dataList;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return "";
+    }
+}
diff --git a/src/modules/data/creatures.ts b/src/modules/data/creatures.ts
new file mode 100644 (file)
index 0000000..aaeae01
--- /dev/null
@@ -0,0 +1,20 @@
+// Assuming decodeHtml function is defined or imported elsewhere
+import { decodeHtml } from '../extrafuncs';
+
+// Fetch a single creature based on the name
+export async function get(creature) {
+    try {
+        const response = await fetch("./data/creatures.json");
+        const data = await response.json();
+        
+        for (const a of data) {
+            if (decodeHtml(a["name"].toLowerCase()) === creature.toLowerCase()) {
+                return a;
+            }
+        }
+        return null;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return null;
+    }
+}
diff --git a/src/modules/data/masters.ts b/src/modules/data/masters.ts
new file mode 100644 (file)
index 0000000..5da9aba
--- /dev/null
@@ -0,0 +1,20 @@
+// Assuming decodeHtml function is defined or imported elsewhere
+import { decodeHtml } from '../extrafuncs';
+
+// Fetch a single master based on the name
+export async function get(master) {
+    try {
+        const response = await fetch("./data/masters.json");
+        const data = await response.json();
+        
+        for (const a of data) {
+            if (decodeHtml(a["name"].toLowerCase()) === master.toLowerCase()) {
+                return a;
+            }
+        }
+        return null;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return null;
+    }
+}
diff --git a/src/modules/data/reapers.ts b/src/modules/data/reapers.ts
new file mode 100644 (file)
index 0000000..0110cd3
--- /dev/null
@@ -0,0 +1,34 @@
+// Fetch a single reaper based on the index or alias
+export async function get(reaper) {
+    try {
+        const response = await fetch("./data/reapers.json");
+        const data = await response.json();
+        
+        for (const a of data) {
+            if (a["index"].toLowerCase() === reaper.toLowerCase()) {
+                return a;
+            }
+        }
+        return null;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return null;
+    }
+}
+
+// Get an array of the index as HTML option elements
+export async function getIndexList() {
+    try {
+        let dataList = "";
+        const response = await fetch("./data/reapers.json");
+        const data = await response.json();
+        
+        for (const a of data) {
+            dataList += `<option>${a["index"]}</option>\n\r`;
+        }
+        return dataList;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return "";
+    }
+}
diff --git a/src/modules/data/variants.ts b/src/modules/data/variants.ts
new file mode 100644 (file)
index 0000000..1dce496
--- /dev/null
@@ -0,0 +1,24 @@
+// Import the decodeHtml function
+import { decodeHtml } from '../extrafuncs';
+
+// Fetch a single variant based on the creature name and variant name
+export async function get(creature, variant) {
+    try {
+        const response = await fetch("./data/creatures.json");
+        const data = await response.json();
+
+        for (const a of data) {
+            if (decodeHtml(a["name"].toLowerCase()) === creature.toLowerCase()) {
+                for (const b of a["variants"]) {
+                    if (b["name"].toLowerCase() === variant.toLowerCase()) {
+                        return b;
+                    }
+                }
+            }
+        }
+        return null;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+        return null;
+    }
+}
diff --git a/src/modules/dochandler.ts b/src/modules/dochandler.ts
new file mode 100644 (file)
index 0000000..12d47a0
--- /dev/null
@@ -0,0 +1,22 @@
+
+// Import required modules
+import * as main from './dochandler/main';
+
+// Export required modules
+export * as animate from './dochandler/animate';
+export * as change from './dochandler/change';
+export * as hide from './dochandler/hide';
+export * as hover from './dochandler/hover';
+export * as main from './dochandler/main';
+export * as show from './dochandler/show';
+export * as open from './dochandler/open';
+
+// Function to get the side element based on the index
+export function getSide(i: number) {
+    var base = main.get.elid("base");
+    var side = main.get.elc(i === 0 ? "left" : "right", base);
+    if (!side) {
+        side = main.get.elc("single", base);
+    }
+    return side;
+}
diff --git a/src/modules/dochandler/animate.ts b/src/modules/dochandler/animate.ts
new file mode 100644 (file)
index 0000000..700ada9
--- /dev/null
@@ -0,0 +1,18 @@
+// Import required modules
+import * as dochandler from '../dochandler';
+
+// Function to show the loading bar
+export function loading() {
+    var loadingBar = dochandler.main.get.elid("loading-bar");
+    if (loadingBar) {
+        loadingBar.style.visibility = "visible";
+    }
+}
+
+// Function to hide the loading bar
+export function loadingStop() {
+    var loadingBar = dochandler.main.get.elid("loading-bar");
+    if (loadingBar) {
+        loadingBar.style.visibility = "hidden";
+    }
+}
\ No newline at end of file
diff --git a/src/modules/dochandler/change.ts b/src/modules/dochandler/change.ts
new file mode 100644 (file)
index 0000000..d59bf0b
--- /dev/null
@@ -0,0 +1,258 @@
+// Import all modules as namespaces
+import * as settings from '../settings';
+import * as dochandler from '../dochandler';
+import * as extrafuncs from '../extrafuncs';
+import * as masters from '../data/masters';
+import * as reapers from '../data/reapers';
+import * as assignments from '../data/assignnments';
+import * as creatures from '../data/creatures';
+import * as variants from '../data/variants';
+import * as logger from "../logger";
+
+// Update the Creature variant shown
+export async function variant(i, creature = null, variant = null) {
+    // Start loading animation
+    dochandler.animate.loading();
+
+    // Determine the side (view/panel)
+    const side = dochandler.getSide(i);
+
+    // Return early if UI is limited or data is not available
+    if ((settings.controller.data.ui.limited || dochandler.main.limitedLoaded) && (!creature || !variant)) {
+        dochandler.animate.loadingStop();
+        return;
+    }
+
+    // Fetch creature and variant from UI elements if not provided
+    if (!creature) {
+        creature = (<HTMLInputElement>dochandler.main.get.elc("creatures", side)).value;
+    }
+    if (!variant) {
+        variant = (<HTMLInputElement>dochandler.main.get.elc("variants", side)).value;
+    }
+
+    logger.log(`Change variant to: ${creature}#${variant}`);
+
+    // Fetch data for the selected variant
+    const data = await variants.get(creature, variant);
+
+    if (data) {
+        // Update UI if not limited
+        if (!settings.controller.data.ui.limited && !dochandler.main.limitedLoaded) {
+            // Update image
+            const imageContainer = dochandler.main.get.elc("image-container", side);
+            imageContainer.innerHTML = data["image"].replace("#", "%23");
+            const imageElement = <HTMLElement>imageContainer.firstElementChild;
+            const newSize = extrafuncs.calculateAspectRatioFit(
+                parseInt(imageElement.getAttribute("width")),
+                parseInt(imageElement.getAttribute("height")),
+                imageContainer.offsetWidth,
+                imageContainer.offsetHeight
+            );
+            imageElement.style.maxWidth = `${newSize.width}px`;
+            imageElement.style.maxHeight = `${newSize.height}px`;
+
+            // Update stats
+            updateStats(side, data);
+        }
+
+        // Update total slayer experience
+        const kills = parseInt(dochandler.main.get.elc("kills", side).innerHTML, 10);
+        dochandler.main.get.elc("total-slayer-exp", side).innerHTML = extrafuncs.numberWithCommas((data["slayer-exp"] * kills).toFixed(2));
+    }
+
+    // Stop loading animation
+    dochandler.animate.loadingStop();
+}
+
+// Helper function to update stats
+function updateStats(side, data) {
+    dochandler.main.get.elc("level", side).innerHTML = data["level"];
+    dochandler.main.get.elc("slayer-level", side).innerHTML = data["slayer-level"];
+    dochandler.main.get.elc("lifepoints", side).innerHTML = data["lifepoints"];
+    dochandler.main.get.elc("defence", side).innerHTML = data["defence"];
+    dochandler.main.get.elc("max-melee", side).innerHTML = data["max-melee"];
+    dochandler.main.get.elc("max-ranged", side).innerHTML = data["max-ranged"];
+    dochandler.main.get.elc("max-magic", side).innerHTML = data["max-magic"];
+    dochandler.main.get.elc("max-necromancy", side).innerHTML = data["max-necromancy"];
+    dochandler.main.get.elc("max-spec", side).innerHTML = data["max-spec"];
+
+    // Update weakness and susceptibility
+    const weaknessElem = dochandler.main.get.elc("weaknessBox", side);
+    weaknessElem.innerHTML = "<p id=\"weakness-text\">Weakness</p>" + data["weakness"].join("");
+
+    const susceptibleElem = dochandler.main.get.elc("susceptibleBox", side);
+    susceptibleElem.innerHTML = "<p id=\"susceptible-text\">Susceptible</p>" + data["susceptible"].join("");
+
+    // Update experience values
+    dochandler.main.get.elc("combat-exp", side).innerHTML = extrafuncs.numberWithCommas(data["experience"].toFixed(2));
+    dochandler.main.get.elc("lifepoints-exp", side).innerHTML = extrafuncs.numberWithCommas(data["lifepoint-exp"].toFixed(2));
+    dochandler.main.get.elc("slayer-exp", side).innerHTML = extrafuncs.numberWithCommas(data["slayer-exp"].toFixed(2));
+}
+
+// Update the Creature shown
+export async function creature(i, creature = null, variant = null) {
+    // Start loading animation
+    dochandler.animate.loading();
+
+    // Determine the side (view/panel)
+    const side = dochandler.getSide(i);
+
+    // Return early if UI is limited and no creature is provided
+    if ((settings.controller.data.ui.limited || dochandler.main.limitedLoaded) && !creature) {
+        dochandler.animate.loadingStop();
+        return;
+    }
+
+    // Fetch creature from UI elements if not provided
+    if (!creature) {
+        creature = (<HTMLInputElement>dochandler.main.get.elc("creatures", side)).value;
+    }
+
+    logger.log(`Change Creature to: ${creature}${variant ? `#${variant}` : ''}`);
+
+    // Fetch data for the selected creature
+    const data = await creatures.get(creature);
+
+    if (data) {
+        // Update variants if available
+        if (data["variants"] && !settings.controller.data.ui.limited && !dochandler.main.limitedLoaded) {
+            const variantsElem = dochandler.main.get.elc("variants", side);
+            variantsElem.innerHTML = "";
+            data["variants"].forEach(a => {
+                variantsElem.innerHTML += `<option value="${a["name"]}"${variant && extrafuncs.decodeHtml(a["name"]) === extrafuncs.decodeHtml(variant) ? " selected" : ""}>${a["name"]}</option>`;
+            });
+            if (!variant) {
+                variant = data["variants"][0]["name"];
+            }
+        }
+
+        // Update the variant to reflect changes
+        dochandler.change.variant(i, creature, variant);
+    }
+
+    // Stop loading animation
+    dochandler.animate.loadingStop();
+}
+
+// Update the reaper assignment data
+export async function reaper(task, count) {
+    return await assignment(2, task, count);
+}
+
+// Update the entire Assignment data
+export async function assignment(i, task, count) {
+    // Ensure correct task loading conditions
+    if (i === 1 && !dochandler.main.doubleLoaded) {
+        console.error("Cannot load double slayer task if only 1 is displayed!");
+        return;
+    }
+    if (i === 2 && !dochandler.main.reaperLoaded) {
+        console.error("Cannot load reaper task if 2 are displayed!");
+        return;
+    }
+
+    // Show loading animation
+    dochandler.animate.loading();
+    const side = dochandler.getSide(i);
+    const nameElement = dochandler.main.get.elc("name", side);
+
+    if (!nameElement) return;
+
+    // Check if the current task is the same as the new one
+    if ((task == null && nameElement.innerHTML !== "???") || nameElement.innerHTML.toLowerCase() === task.toLowerCase()) {
+        logger.log(`Update task: [${count}] ${task} ${i === 0 ? "(Default)" : (i === 2 ? "(Reaper)" : "(1 Slayer Token)")}`);
+        dochandler.main.get.elc("kills", side).innerHTML = extrafuncs.numberWithCommas(count);
+        let slayer_exp = dochandler.main.get.elc("slayer-exp", side);
+        if (slayer_exp && slayer_exp.innerHTML !== "") {
+            let slayxp = parseInt(slayer_exp.innerHTML);
+            dochandler.main.get.elc("total-slayer-exp", side).innerHTML = extrafuncs.numberWithCommas((slayxp * count).toFixed(2));
+        }
+        dochandler.animate.loadingStop();
+        return;
+    }
+
+    // Load new task data
+    logger.log(`Load task: [${count}] ${task} ${i === 0 ? "(Default)" : (i === 2 ? "(Reaper)" : "(1 Slayer Token)")}`);
+    dochandler.main.get.elc("type", side).innerHTML = i === 0 ? "(Default)" : (i === 2 ? "(Reaper)" : "(1 Slayer Token)");
+    if (i === 2) dochandler.main.get.elc("type", side).id = "type-reaper";
+
+    let data = await (i === 2 ? reapers.get(task) : assignments.get(task));
+    if (!data) {
+        dochandler.animate.loadingStop();
+        return;
+    }
+
+    // Update UI elements with the new data
+    dochandler.main.get.elc("name", side).innerHTML = data["index"];
+    dochandler.main.get.elc("name", side).title = data["index"];
+    dochandler.main.get.elc("kills", side).innerHTML = extrafuncs.numberWithCommas(count);
+    if (dochandler.main.limitedLoaded) {
+        let total_exp = 0; // FIXME Add in ability to show the default creature exp
+        dochandler.main.get.elc("total-slayer-exp", side).innerHTML = extrafuncs.numberWithCommas(total_exp);
+    }
+
+    // Update masters data
+    if (!settings.controller.data.ui.limited && !dochandler.main.limitedLoaded) {
+        dochandler.main.get.elc("masters", side).innerHTML = "<div class=\"nistext masterTitle\">Assignment Range</div>";
+        for (let j = 0; j < data["masters"].length; j++) {
+            const img = `<img id="masterImage${j}" alt="${data["masters"][j]}" src="./images/masters/${data["masters"][j]}.png" title="${data["masters"][j]}"></img>`;
+            const masterData = await masters.get(data["masters"][j]);
+            const kills = masterData["task-counts"][data["index"]];
+            dochandler.main.get.elc("masters", side).innerHTML += `<div class="nistext masterInfo${j}">${img} Kills: ${kills}</div>`;
+        }
+        for (let j = 0; j < data["masters"].length; j++) {
+            dochandler.main.get.elc(`masterInfo${j}`, side).addEventListener('click', () => dochandler.open.wiki.master(i, j));
+        }
+
+        // Update equipment data
+        if (data["equipment"]) {
+            for (let j = 0; j < 3; j++) {
+                dochandler.main.get.elc(`equipInfo${j + 1}`, side).innerHTML = j === 0 ? "None" : "";
+            }
+            for (let j = 0; j < data["equipment"].length; j++) {
+                dochandler.main.get.elc(`equipInfo${j + 1}`, side).innerHTML = data["equipment"][j] || "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Empty</span>";
+            }
+            dochandler.main.get.elc("equipMore", side).style.visibility = data["equipment"].length < 3 ? "hidden" : "visible";
+        } else {
+            dochandler.main.get.elc("equipMore", side).style.visibility = "hidden";
+            dochandler.main.get.elc("equipInfo1", side).innerHTML = "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Missing</span>";
+        }
+
+        // Update locations data
+        if (data["locations"]) {
+            for (let j = 0; j < 3; j++) {
+                dochandler.main.get.elc(`locationInfo${j + 1}`, side).innerHTML = j === 0 ? "None" : "";
+            }
+            for (let j = 0; j < data["locations"].length; j++) {
+                dochandler.main.get.elc(`locationInfo${j + 1}`, side).innerHTML = data["locations"][j] || "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Empty</span>";
+            }
+            dochandler.main.get.elc("locationMore", side).style.visibility = data["locations"].length < 3 ? "hidden" : "visible";
+        } else {
+            dochandler.main.get.elc("locationMore", side).style.visibility = "hidden";
+            dochandler.main.get.elc("locationInfo1", side).innerHTML = "<span style=\"color: red;\" title=\"There is no information in the database.\">Database Missing</span>";
+        }
+
+        // Update creatures data
+        if (data["creatures"]) {
+            dochandler.main.get.elc("creatures", side).innerHTML = "";
+            for (let a of data["creatures"]) {
+                if (!extrafuncs.listContains(data["hidden-creatures"], a)) {
+                    const defaultCreature = data["default-creature"]?.split("#")[0] || "";
+                    dochandler.main.get.elc("creatures", side).innerHTML += `<option value="${a}" ${extrafuncs.decodeHtml(a) === extrafuncs.decodeHtml(defaultCreature) ? "selected" : ""}>${a}</option>`;
+                }
+            }
+        }
+
+        // Set default creature and variant
+        if (data["default-creature"]) {
+            const [creature, variant] = data["default-creature"].split("#");
+            dochandler.change.creature(i, creature, variant);
+        } else {
+            dochandler.change.creature(i);
+        }
+    }
+
+    // Stop loading animation
+    dochandler.animate.loadingStop();
+}
diff --git a/src/modules/dochandler/hide.ts b/src/modules/dochandler/hide.ts
new file mode 100644 (file)
index 0000000..b288783
--- /dev/null
@@ -0,0 +1,26 @@
+import * as dochandler from "../dochandler";
+import * as settings from "../settings";
+
+export function assignmentWikiPreview(i: number): void {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    dochandler.main.get.elc("preview-task-wiki", side).style.visibility = "hidden";
+}
+
+export function creatureWikiPreview(i: number): void {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    dochandler.main.get.elc("preview-creature-wiki", side).style.visibility = "hidden";
+}
+
+export function moreEquip(i: number): void {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    dochandler.main.get.elc("equipHidden", side).style.visibility = "hidden";
+}
+
+export function moreLocations(i: number): void {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    dochandler.main.get.elc("locationHidden", side).style.visibility = "hidden";
+}
diff --git a/src/modules/dochandler/hover.ts b/src/modules/dochandler/hover.ts
new file mode 100644 (file)
index 0000000..97cf48c
--- /dev/null
@@ -0,0 +1,50 @@
+import * as dochandler from "../dochandler";
+import * as settings from "../settings";
+
+export function assignmentWiki(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    let showTimer: NodeJS.Timeout;
+    let hideTimer: NodeJS.Timeout | null = null;
+    showTimer = setTimeout(() => dochandler.show.assignmentWikiPreview(i), 500);
+    dochandler.main.get.elc("task-wiki", side).onmouseleave = () => {
+        hideTimer = setTimeout(() => dochandler.hide.assignmentWikiPreview(i), 200);
+        clearTimeout(showTimer);
+    };
+    dochandler.main.get.elc("preview-task-wiki", side).onmouseenter = () => {
+        if (hideTimer !== null) clearTimeout(hideTimer);
+    };
+}
+
+export function creatureWiki(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    let showTimer: NodeJS.Timeout;
+    let hideTimer: NodeJS.Timeout | null = null;
+    showTimer = setTimeout(() => dochandler.show.creatureWikiPreview(i), 500);
+    dochandler.main.get.elc("creature-wiki", side).onmouseleave = () => {
+        hideTimer = setTimeout(() => dochandler.hide.creatureWikiPreview(i), 200);
+        clearTimeout(showTimer);
+    };
+    dochandler.main.get.elc("preview-creature-wiki", side).onmouseenter = () => {
+        if (hideTimer !== null) clearTimeout(hideTimer);
+    };
+}
+
+export function moreEquip(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    const showTimer = setTimeout(() => dochandler.show.moreEquip(i), 500);
+    dochandler.main.get.elc("equipMore", side).onmouseleave = () => {
+        clearTimeout(showTimer);
+    };
+}
+
+export function moreLocations(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    const showTimer = setTimeout(() => dochandler.show.moreLocations(i), 500);
+    dochandler.main.get.elc("locationMore", side).onmouseleave = () => {
+        clearTimeout(showTimer);
+    };
+}
diff --git a/src/modules/dochandler/main.ts b/src/modules/dochandler/main.ts
new file mode 100644 (file)
index 0000000..5e6f78a
--- /dev/null
@@ -0,0 +1,339 @@
+import * as dochandler from '../dochandler';
+import * as reapers from '../data/reapers';
+import * as assignments from '../data/assignnments';
+import * as settings from '../settings';
+import * as slayer from '../slayer';
+import * as logger from "../logger";
+
+// Define variables
+export let doubleLoaded = false;
+export let singleLoaded = false;
+export let reaperLoaded = false;
+export let suggestedLoaded = false;
+export let limitedLoaded = false;
+
+export module get {
+    export function elc(id: any, base: any): HTMLElement {
+        return <HTMLElement>base.getElementsByClassName(id)[0];
+    }
+
+    export function elid(id): HTMLElement {
+        return <HTMLElement>document.getElementById(id);
+    }
+
+    export function searchInput() {
+        return (<HTMLInputElement>document.querySelector(`input[name='search-info']`)).value;
+    }
+}
+
+export module reset {
+    export async function single() {
+        if (!singleLoaded) return;
+        const baseElement = await get.elid("base");
+        baseElement.innerHTML = "";
+        singleLoaded = false;
+    }
+
+    export async function double() {
+        if (!doubleLoaded) return;
+        const baseElement = await get.elid("base");
+        baseElement.innerHTML = "";
+        doubleLoaded = false;
+    }
+
+    export async function reaper() {
+        if (!reaperLoaded) return;
+        const baseElement = await get.elid("base");
+        baseElement.innerHTML = "";
+        reaperLoaded = false;
+    }
+
+    export async function suggested() {
+        if (!suggestedLoaded) return;
+        const baseElement = await get.elid("base");
+        baseElement.innerHTML = "";
+        suggestedLoaded = false;
+    }
+
+    export async function searchBox() {
+        let searchInfo: HTMLInputElement = <HTMLInputElement>await get.elid("search-info");
+        searchInfo.value = "";
+        toggle.searchText();
+    }
+}
+
+export module set {
+    // Set to use a double document
+    export async function double(task0: { name: string, count: number }, task1: { name: string, count: number }, bypass: boolean = false) {
+        if ((task0 == null || task1 == null) && !doubleLoaded) return;
+
+        logger.log(`Load Double: [${task0.count}] ${task0.name} | [${task1.count}] ${task1.name}`);
+
+        // Reset all others
+        await reset.single();
+        await reset.reaper();
+        await reset.suggested();
+
+        if (!doubleLoaded) {
+            await setup.doubleAssignment();
+        }
+
+        await dochandler.change.assignment(0, task0.name, task0.count);
+        await dochandler.change.assignment(1, task1.name, task1.count);
+
+        // Log history if not bypassed
+        if (!bypass && task0.name && task1.name) {
+            settings.change.addHistory({ type: 'double', tasks: [task0, task1] });
+        }
+    }
+
+    // Set to use a single document
+    export async function single(task: { name: string, count: number }, bypass: boolean = false) {
+        if (task == null && !singleLoaded) return;
+
+        logger.log(`Load Single: [${task.count}] ${task.name}`);
+
+        // Reset all others
+        await reset.double();
+        await reset.reaper();
+        await reset.suggested();
+
+        if (!singleLoaded) {
+            await setup.singleAssignment(0);
+        }
+
+        await dochandler.change.assignment(0, task.name, task.count);
+
+        // Log history if not bypassed
+        if (!bypass && task.name) {
+            settings.change.addHistory({ type: 'single', tasks: [task] });
+        }
+    }
+
+    // Set to use reaper tasks doc
+    export async function reaper(task: { name: string, count: number }, bypass: boolean = false) {
+        if (task == null && !reaperLoaded) return;
+
+        logger.log(`Load Reaper: [${task.count}] ${task.name}`);
+
+        // Reset all others
+        await reset.single();
+        await reset.double();
+        await reset.suggested();
+
+        await setup.singleAssignment(2);
+        await dochandler.change.reaper(task.name, task.count);
+
+        // Log history if not bypassed
+        if (!bypass && task.name) {
+            settings.change.addHistory({ type: 'reaper', tasks: [task] });
+        }
+    }
+
+    // Set to use suggested tasks doc
+    export async function suggested(bypass: boolean = false) {
+        if (suggestedLoaded) return;
+
+        logger.log("Load Suggested!");
+
+        // Reset all others
+        await reset.single();
+        await reset.double();
+        await reset.reaper();
+
+        await dochandler.main.setup.suggested();
+
+        // Log history if not bypassed
+        if (!bypass) {
+            settings.change.addHistory({ type: 'suggestion', tasks: null });
+        }
+    }
+
+    // Set search button
+    export function searchButtonText(s: string) {
+        dochandler.main.get.elid("search-button").innerHTML = `${s}<span style="visibility: hidden;">. . .</span>`;
+    }
+
+    // Set the search input
+    export function searchInput(s: string | null) {
+        if (s == null) return;
+
+        (<HTMLInputElement>dochandler.main.get.elid("search-info")).value = s;
+        dochandler.main.toggle.searchText();
+    }
+}
+
+export module setup {
+    // Setup the main document
+    export async function documentMain() {
+        const nisElement = dochandler.main.get.elid("nis");
+        nisElement.innerHTML = await fetch("./pages/doc/body.html").then(r => r.text());
+
+        // Setup event listeners
+        dochandler.main.get.elid("infobutton").addEventListener('click', dochandler.open.aboutInfo);
+        dochandler.main.get.elid("menubutton").addEventListener('click', dochandler.open.settingsPage);
+        dochandler.main.get.elid("donatebutton").addEventListener('click', dochandler.open.donate);
+        dochandler.main.get.elid("backbutton").addEventListener('click', settings.change.goPreviousHistory);
+        dochandler.main.get.elid("forwardbutton").addEventListener('click', settings.change.goNextHistory);
+        dochandler.main.get.elid("search-button").addEventListener('click', function () { slayer.searchTasks(); });
+        dochandler.main.get.elid("search-info").addEventListener('input', dochandler.main.toggle.searchText);
+        dochandler.main.get.elid("search-info").addEventListener('change', function () { slayer.searchTasks(); });
+        dochandler.main.get.elid("search-info").addEventListener('keyup', (event) => {
+            switch (event.key) {
+                case "ArrowUp":
+                    dochandler.main.set.searchInput(settings.search.getPreviousHistory());
+                    break;
+                case "ArrowDown":
+                    dochandler.main.set.searchInput(settings.search.getNextHistory());
+                    break;
+            }
+        });
+
+        // Load the list of all assignments into the search feature (aka datalist)
+        const reapersIndexList = await reapers.getIndexList();
+        dochandler.main.get.elid("search-info-list").innerHTML = reapersIndexList;
+
+        const assignmentsIndexList = await assignments.getIndexList();
+        dochandler.main.get.elid("search-info-list").innerHTML += assignmentsIndexList;
+    }
+
+    // Setup the base for double assignment
+    export async function doubleAssignment() {
+        limitedLoaded = true;
+        const baseElement = dochandler.main.get.elid("base");
+        baseElement.innerHTML = await fetch("./pages/doc/dual.html").then(r => r.text());
+
+        for (let i = 0; i < 2; i++) {
+            const side = dochandler.getSide(i);
+            side.innerHTML = await fetch("./pages/doc/example.html").then(r => r.text());
+
+            // Setup event listeners
+            dochandler.main.get.elc("task-wiki", side).addEventListener('click', () => dochandler.open.wiki.assignment(i));
+            dochandler.main.get.elc("task-wiki", side).addEventListener('mouseover', () => dochandler.hover.assignmentWiki(i));
+
+            if (!settings.controller.data.ui.limited) {
+                const extraInfo = dochandler.main.get.elc("extra-info", side);
+                extraInfo.innerHTML = await fetch("./pages/doc/example-extra.html").then(r => r.text());
+                limitedLoaded = false;
+
+                dochandler.main.get.elc("preview-task-wiki", side).addEventListener('mouseleave', () => dochandler.hide.assignmentWikiPreview(i));
+                dochandler.main.get.elc("preview-creature-wiki", side).addEventListener('mouseleave', () => dochandler.hide.creatureWikiPreview(i));
+                dochandler.main.get.elc("equipMore", side).addEventListener('mouseenter', () => dochandler.hover.moreEquip(i));
+                dochandler.main.get.elc("equipHidden", side).addEventListener('mouseleave', () => dochandler.hide.moreEquip(i));
+                dochandler.main.get.elc("locationMore", side).addEventListener('mouseenter', () => dochandler.hover.moreLocations(i));
+                dochandler.main.get.elc("locationHidden", side).addEventListener('mouseleave', () => dochandler.hide.moreLocations(i));
+                dochandler.main.get.elc("creature-wiki", side).addEventListener('click', () => dochandler.open.wiki.creature(i));
+                dochandler.main.get.elc("creature-wiki", side).addEventListener('mouseover', () => dochandler.hover.creatureWiki(i));
+                dochandler.main.get.elc("creatures", side).addEventListener('change', () => dochandler.change.creature(i));
+                dochandler.main.get.elc("variants", side).addEventListener('change', () => dochandler.change.variant(i));
+            }
+        }
+
+        // Adjust the doc for limited and full
+        adjustForSettings();
+        doubleLoaded = true;
+    }
+
+    // Setup the base for single assignment
+    export async function singleAssignment(i: number) {
+        limitedLoaded = true;
+        const baseElement = dochandler.main.get.elid("base");
+        baseElement.innerHTML = await fetch("./pages/doc/single.html").then(r => r.text());
+
+        const side = dochandler.getSide(i);
+        side.innerHTML = await fetch("./pages/doc/example.html").then(r => r.text());
+
+        // Setup event listeners
+        dochandler.main.get.elc("task-wiki", side).addEventListener('click', () => dochandler.open.wiki.assignment(i));
+        dochandler.main.get.elc("task-wiki", side).addEventListener('mouseover', () => dochandler.hover.assignmentWiki(i));
+
+        if (!settings.controller.data.ui.limited) {
+            const extraInfo = dochandler.main.get.elc("extra-info", side);
+            extraInfo.innerHTML = await fetch("./pages/doc/example-extra.html").then(r => r.text());
+            limitedLoaded = false;
+
+            dochandler.main.get.elc("preview-task-wiki", side).addEventListener('mouseleave', () => dochandler.hide.assignmentWikiPreview(i));
+            dochandler.main.get.elc("preview-creature-wiki", side).addEventListener('mouseleave', () => dochandler.hide.creatureWikiPreview(i));
+            dochandler.main.get.elc("equipMore", side).addEventListener('mouseenter', () => dochandler.hover.moreEquip(i));
+            dochandler.main.get.elc("equipHidden", side).addEventListener('mouseleave', () => dochandler.hide.moreEquip(i));
+            dochandler.main.get.elc("locationMore", side).addEventListener('mouseenter', () => dochandler.hover.moreLocations(i));
+            dochandler.main.get.elc("locationHidden", side).addEventListener('mouseleave', () => dochandler.hide.moreLocations(i));
+            dochandler.main.get.elc("creature-wiki", side).addEventListener('click', () => dochandler.open.wiki.creature(i));
+            dochandler.main.get.elc("creature-wiki", side).addEventListener('mouseover', () => dochandler.hover.creatureWiki(i));
+            dochandler.main.get.elc("creatures", side).addEventListener('change', () => dochandler.change.creature(i));
+            dochandler.main.get.elc("variants", side).addEventListener('change', () => dochandler.change.variant(i));
+        }
+
+        // Adjust if status is visible
+        const statusElement = <HTMLElement>dochandler.main.get.elc("status", side);
+        if (settings.controller.data.ui.status) {
+            statusElement.style.visibility = "visible";
+        } else {
+            statusElement.style.visibility = "hidden";
+        }
+
+        // Adjust the doc for limited and full
+        adjustForSettings();
+        if (i === 2) {
+            reaperLoaded = true;
+        } else {
+            singleLoaded = true;
+        }
+    }
+
+    // Setup the base for suggested
+    export async function suggested() {
+        const baseElement = dochandler.main.get.elid("base");
+        baseElement.innerHTML = await fetch("./pages/doc/suggested.html").then(r => r.text());
+
+        const suggestType = dochandler.main.get.elid("type-suggest");
+        if (suggestType) {
+            suggestType.addEventListener('click', () => window.open("https://runescape.wiki/w/Slayer_training/High-levelled"));
+        }
+
+        for (let i = 1; i <= 12; i++) {
+            const element = dochandler.main.get.elid(`suggestion-${i}`);
+            if (element) {
+                element.addEventListener('click', () => slayer.searchTasks(element.innerHTML));
+            }
+        }
+
+        suggestedLoaded = true;
+    }
+
+    // If limited, set the size of the base
+    function adjustForSettings() {
+        const baseElement = dochandler.main.get.elid("base");
+        const divideElement = dochandler.main.get.elid("divide");
+        const copyrightElement = dochandler.main.get.elid("copyright");
+
+        if (settings.controller.data.ui.limited) {
+            baseElement.classList.remove("base-full");
+            if (divideElement) {
+                divideElement.classList.remove("divide-full");
+            }
+            copyrightElement.classList.remove("copyright-full");
+        } else {
+            baseElement.classList.add("base-full");
+            if (divideElement) {
+                divideElement.classList.add("divide-full");
+            }
+            copyrightElement.classList.add("copyright-full");
+        }
+    }
+}
+
+export module toggle {
+    // Toggle if we are capturing screen or searching text
+    export function searchText() {
+        const searchResult = slayer.searchResult;
+        const autoCaptureEnabled = settings.controller.data.autoCapture.enabled;
+        const searchInput = dochandler.main.get.searchInput();
+
+        if (searchResult || (!autoCaptureEnabled && searchInput === "")) {
+            dochandler.main.set.searchButtonText("Capture");
+        } else {
+            dochandler.main.set.searchButtonText("Search");
+        }
+    }
+}
diff --git a/src/modules/dochandler/open.ts b/src/modules/dochandler/open.ts
new file mode 100644 (file)
index 0000000..337a280
--- /dev/null
@@ -0,0 +1,64 @@
+import * as dochandler from '../dochandler';
+import * as settings from '../settings';
+
+// Open the Donate Page (https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ)
+export function donate() {
+    window.open("https://www.paypal.com/donate/?hosted_button_id=LRFC6766YMVTQ");
+}
+
+// Open the about info page
+export function aboutInfo() {
+    window.open("./pages/about.html", null, "width=680,height=550");
+}
+
+// Open the settings page
+export function settingsPage() {
+    const settingsWindow = window.open("./pages/settings.html", "_blank", "width=420,height=550");
+    console.warn("Settings Opened!");
+    settingsWindow?.window.console.warn("Settings Loaded!");
+    
+    settingsWindow?.addEventListener('keyup', (e) => {
+        if ((e.which || e.keyCode) === 116) {
+            // Prevent F5 key press from refreshing the page
+            e.preventDefault();
+        }
+    });
+    
+    settingsWindow?.addEventListener('beforeunload', () => {
+        // Load the new settings and apply them
+        settings.controller.load();
+        dochandler.main.toggle.searchText();
+        console.warn("Settings Closed!");
+        settingsWindow?.window.console.warn("Settings Saved!");
+    });
+}
+
+export module wiki {
+    // Opens the wiki page for a specific task
+    export function assignment(i: number) {
+        const side = dochandler.getSide(i);
+        const task = dochandler.main.get.elc("name", side).innerHTML;
+        if (task) {
+            window.open('https://runescape.wiki/' + task + '_(Slayer_assignment)');
+        }
+    }
+
+    // Opens the wiki page for a specific creature
+    export function creature(i: number) {
+        const side = dochandler.getSide(i);
+        const creature = (<HTMLInputElement> dochandler.main.get.elc("creatures", side)).value;
+        const variant = (<HTMLInputElement> dochandler.main.get.elc("variants", side)).value;
+        if (creature && variant) {
+            window.open('https://runescape.wiki/' + creature + "#" + variant);
+        }
+    }
+
+    // Opens the wiki page for a specific master
+    export function master(i: number, j: number) {
+        const side = dochandler.getSide(i);
+        const master = (<HTMLImageElement> dochandler.main.get.elc("masterImage" + j, side)).alt;
+        if (master) {
+            window.open('https://runescape.wiki/' + master);
+        }
+    }
+}
diff --git a/src/modules/dochandler/show.ts b/src/modules/dochandler/show.ts
new file mode 100644 (file)
index 0000000..386b4d2
--- /dev/null
@@ -0,0 +1,36 @@
+import * as dochandler from '../dochandler';
+import * as settings from '../settings';
+
+// Show the specific Creature's preview wiki page
+export function assignmentWikiPreview(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    dochandler.main.get.elc("preview-task-wiki", side).style.visibility = "visible";
+}
+
+// Show the specific Creature's preview wiki page
+export function creatureWikiPreview(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    dochandler.main.get.elc("preview-creature-wiki", side).style.visibility = "visible";
+}
+
+// Show more Equipment for task
+export function moreEquip(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    const equipHiddenElement = dochandler.main.get.elc("equipHidden", side);
+    if (equipHiddenElement.innerHTML?.trimEnd()) {
+        equipHiddenElement.style.visibility = "visible";
+    }
+}
+
+// Show more Locations for task
+export function moreLocations(i: number) {
+    if (settings.controller.data.ui.limited) return;
+    const side = dochandler.getSide(i);
+    const locationHiddenElement = dochandler.main.get.elc("locationHidden", side);
+    if (locationHiddenElement.innerHTML?.trimEnd()) {
+        locationHiddenElement.style.visibility = "visible";
+    }
+}
diff --git a/src/modules/extrafuncs.ts b/src/modules/extrafuncs.ts
new file mode 100644 (file)
index 0000000..37dd8d7
--- /dev/null
@@ -0,0 +1,30 @@
+// Add commas into a number if its big enough
+export function numberWithCommas(n: any | null): string {
+    if (n == null)
+        return "<span style=\"color: red;\">Empty</span>";
+    if (n === -666)
+        return "<span style=\"color: red;\">Error</span>";
+    return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+}
+
+// Check if the list contains what you want to find
+export function listContains(list: string[], find: string): boolean {
+    for (const l of list) {
+        if (decodeHtml(l).toLowerCase() === decodeHtml(find).toLowerCase())
+            return true;
+    }
+    return false;
+}
+
+// Get new width and height for image based on aspect ratio
+export function calculateAspectRatioFit(srcWidth: number, srcHeight: number, maxWidth: number, maxHeight: number): { width: number, height: number } {
+    const ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
+    return { width: srcWidth * ratio, height: srcHeight * ratio };
+}
+
+// Decode the HTML chars that have been encoded during database downloading
+export function decodeHtml(html: string): string {
+    const txt = document.createElement("textarea");
+    txt.innerHTML = html;
+    return txt.value;
+}
diff --git a/src/modules/logger.ts b/src/modules/logger.ts
new file mode 100644 (file)
index 0000000..3698ee7
--- /dev/null
@@ -0,0 +1,66 @@
+// Private queues and settings
+let debugQueue: string[] = [];
+let verboseQueue: string[] = [];
+let queueLimit = 50;
+let debugEnabled = false;
+let verboseEnabled = false;
+
+// Set the queue limit for debug and verbose
+export function setLimit(limit: number) {
+    queueLimit = limit;
+}
+
+// Enable or disable debug logging
+export function setDebug(enabled: boolean): void {
+    debugEnabled = enabled;
+    if (enabled) debug("Debug logging enabled"); // Force Flush the Queue
+}
+
+// Enable or disable verbose logging
+export function setVerbose(enabled: boolean): void {
+    verboseEnabled = enabled;
+    if (enabled) verbose("Verbose logging enabled"); // Force Flush the Queue
+}
+
+// Public: Log to the normal queue and flush the queue
+export function log(...messages: any[]): void {
+    console.log(...messages);
+}
+
+// Public: Log to the warn queue and flush the queue
+export function warn(...messages: any[]): void {
+    console.warn(...messages);
+}
+
+// Public: Log to the error queue and flush the queue
+export function error(...messages: any[]): void {
+    console.error(...messages);
+}
+
+// Public: Log to the debug queue only if debug is enabled and flush the queue
+export function debug(...messages: any[]): void {
+    debugQueue.push(messages.join(' '));
+    trimQueue(debugQueue);
+    if (debugEnabled) flushQueue(debugQueue, "Debug");
+}
+
+// Public: Log to the verbose queue only if verbose is enabled and flush the queue
+export function verbose(...messages: any[]): void {
+    verboseQueue.push(messages.join(' '));
+    trimQueue(verboseQueue);
+    if (verboseEnabled) flushQueue(verboseQueue, "Verbose");
+}
+
+// Private: Trim the queue if it exceeds the limit (FIFO: remove first entry)
+function trimQueue(queue: string[]): void {
+    if (queue.length > queueLimit) queue.shift();
+}
+
+// Private: Flush and output the entire queue, emptying it afterward
+function flushQueue(queue: string[], label: string): void {
+    while (queue.length > 0) {
+        const message = queue.shift();
+        if (label === "Debug") console.log(`[${label}] ${message}`);
+        if (label === "Verbose") console.warn(`[${label}] ${message}`);
+    }
+}
diff --git a/src/modules/settings.ts b/src/modules/settings.ts
new file mode 100644 (file)
index 0000000..4dccc0e
--- /dev/null
@@ -0,0 +1,317 @@
+import * as dochandler from "./dochandler"
+import * as slayer from "./slayer"
+import * as main from "./dochandler/main"
+import * as logger from "./logger";
+
+// Define classes
+export class AutoCaptureData { }
+export class UIData { }
+export class DefaultData { }
+export class HiddenData { }
+export class SettingsData { }
+
+// Controls all the settings data
+export class SettingsDataController {
+    configLoaded: boolean = false;
+    data = {
+        version: 1,
+        searchAlgorithim: "default",
+        autoCapture: {
+            enabled: true,
+            counter: true,
+            search: false,
+            loopTimer: 500,
+            counterTimer: 500,
+            dialogTimer: 5000,
+            searchTimer: 10000,
+        },
+        ui: {
+            style: "default",
+            limited: false,
+            status: true,
+            counter: false,
+            counterTimer: 500,
+            historyRetentionCount: 10,
+            lookupRetentionCount: 0,
+        },
+        showHidden: {
+            creatures: false,
+            eliteCreatures: false,
+            dragonkinCreatures: false,
+            godWarsCreatures: false,
+            ghorrockCreatures: false,
+            heartGielinorCreatures: false,
+            monsterCreatures: false,
+            newVarrockCreatures: false,
+            shadowReefCreatures: false,
+            strongholdSecurityCreatures: false,
+            summonedCreatures: false,
+            templeTrekkingCreatures: false,
+            unchartedIslesCreatures: false
+        },
+        default: {
+            taskName0: "waterfiends",
+            taskName1: "black demons",
+            taskCount0: 777,
+            taskCount1: 666
+        },
+    };
+
+    async load() {
+        if (window.localStorage.getItem('version') != null) {
+            this.data.version = this.decodeVersion(window.localStorage.getItem('version'));
+        }
+        if (this.data.version <= 5 && !this.configLoaded) {
+            logger.log("(Versioning System Missing) Setting up versioning system.");
+            window.localStorage.removeItem('recent_task_0');
+            window.localStorage.removeItem('recent_task_count_0');
+            window.localStorage.removeItem('recent_task_1');
+            window.localStorage.removeItem('recent_task_count_1');
+            this.save();
+        }
+        const res = await fetch("./data/version.json").then(r => r.json());
+        if (this.data.version < this.decodeVersion(res['version'])) {
+            this.data.version = this.decodeVersion(res['version']);
+        }
+        controller.data.autoCapture.enabled = window.localStorage.getItem("auto-capture-enabled") === "true";
+        controller.data.autoCapture.counter = window.localStorage.getItem("auto-capture-counter") === "true";
+        controller.data.autoCapture.search = window.localStorage.getItem("auto-capture-search") === "true";
+        controller.data.autoCapture.loopTimer = parseInt(window.localStorage.getItem("auto-capture-timer-loop"));
+        controller.data.autoCapture.dialogTimer = parseInt(window.localStorage.getItem("auto-capture-timer-dialog"));
+        controller.data.autoCapture.counterTimer = parseInt(window.localStorage.getItem("auto-capture-timer-counter"));
+        controller.data.autoCapture.searchTimer = parseInt(window.localStorage.getItem("auto-capture-timer-search"));
+        controller.data.ui.limited = window.localStorage.getItem("ui-limited") === "true";
+        controller.data.ui.status = window.localStorage.getItem("ui-status") === "true";
+        controller.data.ui.counter = window.localStorage.getItem("ui-counter") === "true";
+        controller.data.ui.counterTimer = parseInt(window.localStorage.getItem("ui-counter-timer"));
+
+        // TODO Load history here then reset the UI and load them
+        main.reset.single();
+        main.reset.double();
+        main.reset.reaper();
+        main.reset.suggested();
+
+        if (this.data.default.taskName0 != null && this.data.default.taskName1 != null) {
+            await main.set.double(
+                { name: this.data.default.taskName0, count: this.data.default.taskCount0 },
+                { name: this.data.default.taskName1, count: this.data.default.taskCount1 }
+            );
+        } else if (this.data.default.taskName0 != null && this.data.default.taskName1 == null) {
+            await main.set.single({ name: this.data.default.taskName0, count: this.data.default.taskCount0 });
+        }
+        console.warn("Config Loaded");
+        this.configLoaded = true;
+    }
+
+    async save() {
+        if (this.data.version > 1) {
+            window.localStorage.setItem('version', this.encodeVersion(this.data.version));
+        }
+        window.localStorage.setItem("auto-capture-enabled", "" + controller.data.autoCapture.enabled);
+        window.localStorage.setItem("auto-capture-counter", "" + controller.data.autoCapture.counter);
+        window.localStorage.setItem("auto-capture-search", "" + controller.data.autoCapture.search);
+        window.localStorage.setItem("auto-capture-timer-loop", "" + controller.data.autoCapture.loopTimer);
+        window.localStorage.setItem("auto-capture-timer-dialog", "" + controller.data.autoCapture.dialogTimer);
+        window.localStorage.setItem("auto-capture-timer-counter", "" + controller.data.autoCapture.counterTimer);
+        window.localStorage.setItem("auto-capture-timer-search", "" + controller.data.autoCapture.searchTimer);
+        window.localStorage.setItem("ui-limited", "" + controller.data.ui.limited);
+        window.localStorage.setItem("ui-status", "" + controller.data.ui.status);
+        window.localStorage.setItem("ui-counter", "" + controller.data.ui.counter);
+        window.localStorage.setItem("ui-counter-timer", "" + controller.data.ui.counterTimer);
+        console.warn("Config Saved");
+    }
+
+    decodeVersion(version: string) {
+        const versionSplit = version.split(".");
+        const versionUpper = versionSplit.length > 2 ? parseInt(versionSplit[0]) : 0;
+        const versionLower = parseInt(versionSplit.length > 2 ? versionSplit[1] : versionSplit[0]);
+        const versionPatch = parseInt(versionSplit.length > 2 ? versionSplit[2] : versionSplit[1]);
+        return ((versionUpper * 256 * 256) + (versionLower * 256) + versionPatch);
+    }
+
+    encodeVersion(version: number) {
+        const versionUpper = version > 256 * 256 ? version / (256 * 256) : 0;
+        const versionLower = version > 256 ? (version - (versionUpper * 256 * 256)) / 256 : 0;
+        const versionPatch = (version - (versionUpper * 256 * 256) - (versionLower * 256));
+        return versionUpper + "." + versionLower + "." + versionPatch;
+    }
+}
+
+export const controller = new SettingsDataController();
+
+// Change history functions
+export module change {
+    export let history: any[] = [];
+    export let index: number = 0;
+
+    export function addHistory(history: any) {
+        if (!history || !history.tasks || !change.history[change.index]) return;
+        if ((history.type === "single" || history.type === "reaper") &&
+            history.tasks[0].name === change.history[change.index].tasks[0].name) return;
+        if (history.type === "double" &&
+            history.tasks[0].name === change.history[change.index].tasks[0].name &&
+            history.tasks[1].name === change.history[change.index].tasks[1].name) return;
+        if (history.type === "suggestion" && history.type === change.history[change.index].type) return;
+
+        if (change.index + 1 != change.history.length) {
+            change.history = change.history.slice(0, change.index + 1);
+        }
+        change.history.push(history);
+        change.index = change.history.length - 1;
+        console.warn("Save History");
+        controller.save();
+    }
+
+    export function refreshCurrent() {
+        if (change.index < 0 || change.index >= change.history.length) return;
+        main.reset.single();
+        main.reset.double();
+        main.reset.reaper();
+        main.reset.suggested();
+
+        const previousChange = change.history[change.index];
+        if (previousChange.type === 'double') main.set.double(previousChange.tasks[0], previousChange.tasks[1], true);
+        if (previousChange.type === 'single') main.set.single(previousChange.tasks[0], true);
+        if (previousChange.type === 'reaper') main.set.reaper(previousChange.tasks[0], true);
+        if (previousChange.type === 'suggestion') main.set.suggested(true);
+
+        console.warn("Save History");
+        controller.save();
+    }
+
+    export function goPreviousHistory() {
+        if (change.index - 1 < 0) return;
+        const previousChange = change.history[--change.index];
+        if (previousChange.type === 'double') main.set.double(previousChange.tasks[0], previousChange.tasks[1], true);
+        if (previousChange.type === 'single') main.set.single(previousChange.tasks[0], true);
+        if (previousChange.type === 'reaper') main.set.reaper(previousChange.tasks[0], true);
+        if (previousChange.type === 'suggestion') main.set.suggested(true);
+
+        console.warn("Save History");
+        controller.save();
+    }
+
+    export function goNextHistory() {
+        if (change.index + 1 >= change.history.length) return;
+        const nextChange = change.history[++change.index];
+        if (nextChange.type === 'double') main.set.double(nextChange.tasks[0], nextChange.tasks[1], true);
+        if (nextChange.type === 'single') main.set.single(nextChange.tasks[0], true);
+        if (nextChange.type === 'reaper') main.set.reaper(nextChange.tasks[0], true);
+        if (nextChange.type === 'suggestion') main.set.suggested(true);
+
+        console.warn("Save History");
+        controller.save();
+    }
+}
+
+export module search {
+    let temp: string | null = null;
+    let history: string[] = [];
+    let index: number = 0;
+
+    export function addHistory(value: string) {
+        if (!value) return;
+        history.push(value);
+        index = history.length;
+        temp = null;
+        console.warn("Save History");
+        controller.save();
+    }
+
+    export function getPreviousHistory(): string | null {
+        tempValue();
+        console.warn("Save History");
+        controller.save();
+        if (index - 1 < 0) return null;
+        if (--index === history.length) return temp;
+        return history[index];
+    }
+
+    export function getNextHistory(): string | null {
+        tempValue();
+        console.warn("Save History");
+        controller.save();
+        if (index + 1 > history.length + (temp === "" ? 0 : 1)) return null;
+        if (++index === history.length + (temp === "" ? 0 : 1)) return "";
+        if (temp !== "" && index === history.length) return temp;
+        return history[index];
+    }
+
+    function tempValue() {
+        const currentValue = (<HTMLInputElement>dochandler.main.get.elid("search-info")).value;
+        if (temp === null) temp = currentValue;
+        if (index === history.length && temp !== currentValue) temp = currentValue;
+        if (index === history.length + 1 && currentValue !== "") {
+            temp = currentValue;
+            --index;
+        }
+    }
+}
+
+export async function executeDevTools(value: string) {
+    if (value === "devTools") {
+        logger.log(" ~~~ Dev Tools ~ Information Opened ~~~ ");
+        alt1.openBrowser("https://runeapps.org/forums/viewtopic.php?id=101");
+        return;
+    }
+
+    logger.log(" ~~~ Dev Tools ~ Started ~~~ ");
+    try {
+        if (value === "size") {
+            logger.log(`Current Size: ${document.body.clientWidth}, ${document.body.clientHeight}`);
+        } else if (value === "debug") {
+            logger.setDebug(true);
+        } else if (value === "verbose") {
+            logger.setVerbose(true);
+        } else if (value === "counterReader") {
+            const counterData = await slayer.counterReader.read();
+            if (counterData) {
+                logger.log(`The Counter UI Collapsed [${counterData.collapsed}]`);
+                logger.log(`The Counter UI Old School [${counterData.OS}]`);
+                logger.log(`The Counter UI Reaper [${counterData.reaper}]`);
+                logger.log(`The Counter UI Count [${counterData.count}]`);
+                logger.log(`The Counter UI Task [${counterData.task}]`);
+            } else {
+                logger.log(" ~~~ Dev Tools ~ Error: Cannot read counter data! ~~~ ");
+            }
+        } else if (value === "slayerReader") {
+            const slayerData = await slayer.slayerReader.read();
+            if (slayerData) {
+                logger.log(`The Slayer Reader Select Your Own [${slayerData.selectYourOwn}]`);
+                logger.log(`The Slayer Reader Reaper [${slayerData.reaper}]`);
+                logger.log(`The Slayer Reader Ticket [${slayerData.ticket}]`);
+                for (const a in slayerData.count) {
+                    logger.log(`The Slayer Reader Count{${a}} [${slayerData.count[a]}]`);
+                }
+                for (const a in slayerData.task) {
+                    logger.log(`The Slayer Reader Task{${a}} [${slayerData.task[a]}]`);
+                }
+            } else {
+                logger.log(" ~~~ Dev Tools ~ Error: Cannot read slayer data! ~~~ ");
+            }
+        } else if (value === "dialogReader") {
+            logger.log("Searching for Dialog...");
+            const pos = slayer.slayerReader.dialogReader.find();
+            if (!pos) {
+                logger.log(" ~~~ Dev Tools ~ Error: Cannot find the Dialog! ~~~ ");
+                return;
+            }
+            const box = slayer.slayerReader.dialogReader.read();
+            if (!box) {
+                logger.log(" ~~~ Dev Tools ~ Error: Cannot read the Dialog! ~~~ ");
+                return;
+            }
+            if (box.title) logger.log(`The Dialog Box Title [${box.title}]`);
+            if (box.text) logger.log(`The Dialog Box Text [${box.text}]`);
+            if (box.opts) {
+                logger.log(`The Dialog Box Options (${box.opts.length}) [${box.opts}]`);
+                for (const [index, option] of box.opts.entries()) {
+                    logger.log(`\t${index + 1}. ${option.text}`);
+                }
+            }
+        }
+    } catch (e) {
+        console.error("~~~ Dev Tools ~ Error: Issue Capturing Screen! ~~~ ");
+    }
+    logger.log(" ~~~ Dev Tools ~ Finished ~~~ ");
+}
diff --git a/src/modules/slayer.ts b/src/modules/slayer.ts
new file mode 100644 (file)
index 0000000..0379884
--- /dev/null
@@ -0,0 +1,143 @@
+import * as a1lib from "alt1";
+
+import { SearchAlgorithm } from './SearchAlgorithm';
+import { SlayerDialogReader } from './SlayerDialogReader';
+import { UICounterReader } from './UICounterReader';
+import * as settings from './settings';
+import * as docHandler from './dochandler';
+import * as logger from "./logger";
+
+// Setup the readers and search algo
+export let searchAlgo = new SearchAlgorithm();
+export let slayerReader = new SlayerDialogReader();
+export let counterReader = new UICounterReader();
+export let searchResult = false;
+
+// Get a timer and setup vars
+const timer = (ms: number) => new Promise(res => setTimeout(res, ms));
+let loopRunning = false;
+
+// Check if we can capture the screen
+export function canCaptureRunescape(): boolean {
+    return window.alt1 && alt1.rsLinked && alt1.permissionPixel;
+}
+
+// Capture the screen
+export function captureRunescape(): any {
+    if (!canCaptureRunescape()) return null;
+    try {
+        return a1lib.captureHoldFullRs();
+    } catch (ex) {
+        if (ex.message === "capturehold failed")
+            console.warn("Capturing screen failed! Is runescape open?");
+    }
+    return null;
+}
+
+// Find a task on the current screen
+export async function findTask(buffer?: any): Promise<void> {
+    if (!settings.controller.data.autoCapture.enabled || loopRunning || searchResult) return;
+    if (!buffer) buffer = captureRunescape();
+    if (!buffer) return;
+    loopRunning = true;
+    docHandler.animate.loadingStop();
+
+    let slayerData, counterData;
+    slayerData = await slayerReader.read(buffer);
+
+    if (slayerData && slayerData[0]) {
+        docHandler.animate.loading();
+        if (slayerData.selectYourOwn) {
+            docHandler.main.set.suggested();
+            docHandler.animate.loadingStop();
+            await timer(settings.controller.data.autoCapture.dialogTimer);
+            loopRunning = false;
+            return;
+        }
+        if (slayerData.reaper && !slayerData.ticket) {
+            await docHandler.main.set.reaper({ name: slayerData[0].task, count: slayerData[0].count });
+        } else if (slayerData.ticket) {
+            await docHandler.main.set.double(
+                { name: slayerData[0].task, count: slayerData[0].count },
+                { name: slayerData[1].task, count: slayerData[1].count }
+            );
+        } else {
+            await docHandler.main.set.single({ name: slayerData[0].task, count: slayerData[0].count });
+        }
+        docHandler.animate.loadingStop();
+        await timer(settings.controller.data.autoCapture.dialogTimer);
+        loopRunning = false;
+    } else if (settings.controller.data.autoCapture.counter) {
+        counterData = await counterReader.read(buffer);
+        if (counterData) {
+            docHandler.animate.loading();
+            if (counterData.reaper && (docHandler.main.reaperLoaded || counterData.task != null)) {
+                await docHandler.main.set.reaper({ name: counterData.task, count: counterData.count });
+            } else if (!counterData.reaper && (docHandler.main.singleLoaded || counterData.task != null)) {
+                await docHandler.main.set.single({ name: counterData.task, count: counterData.count });
+            }
+            docHandler.animate.loadingStop();
+            await timer(settings.controller.data.autoCapture.counterTimer);
+            loopRunning = false;
+        } else {
+            docHandler.animate.loadingStop();
+            loopRunning = false;
+        }
+    } else {
+        docHandler.animate.loadingStop();
+        loopRunning = false;
+    }
+}
+
+// Search for tasks
+export async function searchTasks(value?: string): Promise<void> {
+    if (!value) value = await docHandler.main.get.searchInput();
+    docHandler.main.reset.searchBox();
+    settings.search.addHistory(value);
+
+    if (value.length == 0 && (searchResult || !settings.controller.data.autoCapture.enabled)) {
+        searchResult = false;
+        docHandler.main.toggle.searchText();
+        await findTask();
+        return;
+    } else if (value.startsWith("devTools")) {
+        const tool = value.includes(" ") ? value.substring(value.indexOf(" ") + 1) : value;
+        settings.executeDevTools(tool);
+        return;
+    } else if (value.toLowerCase().includes("suggest")) {
+        docHandler.main.set.suggested();
+        return;
+    }
+
+    searchResult = true;
+    docHandler.main.toggle.searchText();
+    const lookup = value.includes("|") ?
+        [value.substring(0, value.indexOf("|")), value.substring(value.indexOf("|") + 1)] :
+        [value];
+    const tasks = [];
+
+    for (const term of lookup) {
+        const data = await searchAlgo.lookup(term, lookup.length > 1);
+        if (data) {
+            logger.log("Search for (Reaper/Slayer Assignment, Alias, or Creature): " + data.task);
+            tasks.push({ name: data.task, reaper: data.reaper });
+        }
+    }
+
+    if (tasks.length > 1) {
+        await docHandler.main.set.double({ name: tasks[0].name, count: 1 }, { name: tasks[1].name, count: 1 });
+    } else if (tasks.length == 1) {
+        if (tasks[0].reaper) {
+            await docHandler.main.set.reaper({ name: tasks[0].name, count: 1 });
+        } else {
+            await docHandler.main.set.single({ name: tasks[0].name, count: 1 });
+        }
+    }
+
+    docHandler.animate.loadingStop();
+    if (!settings.controller.data.autoCapture.search) {
+        await timer(settings.controller.data.autoCapture.searchTimer);
+        searchResult = false;
+        docHandler.main.toggle.searchText();
+    }
+}
diff --git a/src/pages/about.html b/src/pages/about.html
new file mode 100644 (file)
index 0000000..5969848
--- /dev/null
@@ -0,0 +1,96 @@
+<html>
+
+<head>
+    <title>About Slayer Assistant</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/about.css">
+</head>
+
+<body class="nis">
+
+    <div class="nisbutton" id="changelog-button" onclick="openCredits();">Open Credits</div>
+    <div class="nisbutton" id="changelog-button" onclick="openChangelog();">Open Changelog</div>
+    <h2 class="nistext">Need Help or Having Trouble?</br>Welcome to the Correct Place!</h2>
+
+    <h3 class="nistext">Current Slayer Assistant Look N Feel</h3>
+    <p class="nistext">This Look N Feel has been designed by the community. It has slowly but surely updated to
+        accomadate new information and features.</p>
+    <img src="../images/ui/default/about/Slayer_assistant_interface.png" alt="Slayer Assistant Interface Image"></img>
+
+    <h3 class="nistext">What activates the Slayer Assistant?</h3>
+    <p class="nistext">There are a few different instances that will cause the Slayer Assistant to update it's
+        information. The first is if you go get a new task from a slayer master or death for reaper tasks. The next is
+        while you are on a task, it will keep track of your kills vis the slayer/reaper counter GUI.</p>
+    <p class="nistext">Once it reads an interface similar to the examples below it will save this assignment information
+        and automatically do a lookup for you. You can also click on Capture to make it try and lookup a task on the
+        screen at the very moment.</p>
+    <h4 class="nistext">The following are examples of the interfaces it can read for slayer tasks.</h4>
+    <div class="example">
+        <img src="../images/ui/default/about/Slayer_task_interface.png" alt="Slayer Assignment Interface Image"></img>
+        <p class="info nistext">Example Slayer Assignment Interface</p>
+    </div>
+    <div class="example">
+        <img src="../images/ui/default/about/VIP_ticket_interface.png" alt="VIP Ticket Interface Image"></img>
+        <p class="info nistext">Example Slayer Ticket Assignment Interface</p>
+    </div>
+    <div class="example">
+        <img class="expanded" src="../images/ui/default/about/Slayer_counter_expanded.png"
+            alt="Slayer Counter Expanded Image"></img>
+        <img class="collapsed" src="../images/ui/default/about/Slayer_counter.png"
+            alt="Slayer Counter Collapsed Image"></img>
+        <p class="info nistext">Example Slayer Counter Interface</p>
+        <p class="info nistext">This interface will cause it to lookup the exact assignment that is given (if expanded)
+            and display relevant data; otherwise, it will just attempt to update the count of the current task it has
+            loaded.</p>
+    </div>
+    <h4 class="nistext">The following are examples of the interfaces it can read for reaper tasks.</h4>
+    <div class="example">
+        <img src="../images/ui/default/about/Reaper_task_interface.png" alt="Reaper Assignment Interface Image"></img>
+        <p class="info nistext">Example Reaper Assignment Interface</p>
+        <p class="info nistext">This interface will cause it to lookup the exact assignment that is given and display
+            relevant data.</p>
+    </div>
+    <div class="example">
+        <img class="expanded" src="../images/ui/default/about/Reaper_counter_expanded.png"
+            alt="Reaper Counter Expanded Image"></img>
+        <img class="collapsed" src="../images/ui/default/about/Reaper_counter.png"
+            alt="Reaper Counter Collapsed Image"></img>
+        <p class="info nistext">Example Reaper Counter Interface</p>
+        <p class="info nistext">This interface will cause it to lookup the exact assignment that is given (if expanded)
+            and display relevant data; otherwise, it will just attempt to update the count of the current task it has
+            loaded.</p>
+    </div>
+    <h4 class="nistext">The following are examples of the interfaces it can read for select your own assignment tasks.
+    </h4>
+    <div class="example">
+        <img src="../images/ui/default/about/Select_your_own_task.png"
+            alt="Select Your Own Assignment Interface Image"></img>
+        <p class="info nistext">Example Select Your Own Assignment Interface</p>
+        <p class="info nistext">This interface will cause it to display a list of suggested tasks and why they are
+            suggested for the Select Your Own Assignment.</p>
+    </div>
+
+
+    <h3 class="nistext">Did you know?</h3>
+    <p class="info nistext">There is now a search history you can use with the up and down arrow key? It resets
+        everytime you close the app.</p>
+    <p class="info nistext">If you hover over the assignment wiki, creature wiki, and See More... on the app it shows
+        more data. Give it a try</p>
+    <img src="../images/ui/default/about/Right_click_interface.png" alt="Right Click Image"></img>
+    <p class="info nistext">Opens up Slayer Assistant</p>
+
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function openChangelog() {
+            window.open("./changelog.html", null, "width=480,height=550");
+        }
+
+        function openCredits() {
+            window.open("./credits.html", null, "width=480,height=550");
+        }
+    </script>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/pages/changelog.html b/src/pages/changelog.html
new file mode 100644 (file)
index 0000000..c5141fd
--- /dev/null
@@ -0,0 +1,438 @@
+<html>
+
+<head>
+    <title>Changelog</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/changelog.css">
+</head>
+
+<body class="nis">
+    <div class="nisbutton" id="changelog-button" onclick="history.back();">Go Back</div>
+
+    <h2>06/22/2024 - Bug Fixes and Future Updates</h2>
+    <p class="nistext">
+        <b>Bug Fixes:</b> Quite a bit of minor (and a couple major) bugs that poped up during the newest development of
+        the app has been fixed in this release. There was quick pushes for the major bugs to get rid of them as fast as
+        possible.
+    </p>
+    <p class="nistext">
+        <b>Basic Settings Added:</b> Basic settings have been added, more will come in the future. The current settings
+        will allow at least simple control over the app so far. A few to more coming soon is search and lookup history.
+    </p>
+    <p class="nistext">
+        <b>Updates to Allow Better Future Updates:</b> Quite a bit of the backend of the app has been re-wrote to allow
+        better future updates. A couple examples are adding settings to allow better usability of the app, making other
+        looks for the app to allow a more personal feel for the app, and adding comments to the code along with
+        restructuring it to be easier to navigate and understand. All of these changes were to allow the next future
+        updates to be easier to implement and the settings are working but not all of them have been added where you can
+        change them. This should come in the next update.
+    </p>
+    <p class="nistext">
+        <b>A few Tweaks:</b> There is also a few tweaks to different parts of the app that happened as well due to these
+        changes. The About Page width has changed to make it easier to read. The LookNFeel of the app has been slightly
+        altered during the update due to making it more flexible for the future style update. The LookNFeel also has a
+        limited UI option now that is changable in the settings.
+    </p>
+
+    <h2>06/15/2024 - Added Counter UI Support</h2>
+    <p class="nistext">
+        <b>Slayer and Reaper Counter UI:</b> Full support added. When collapsed, it updates only the current assignment
+        count; when expanded, it loads and updates the assignment unless it's already loaded.
+    </p>
+    <p class="nistext">
+        <b>Task Comparison:</b> Compare Slayer tasks by separating them with a "|". Note: Reaper assignments cannot be
+        compared.
+    </p>
+    <p class="nistext">
+        <b>Suggested Slayer Assignments:</b> For level 120, "Select Your Own Assignment" dialog now includes suggested
+        tasks. Search "suggest" in the search bar to view suggestions.
+    </p>
+    <p class="nistext">
+        <b>Navigation Enhancements:</b> Navigate forward and backward through lookups, making it easy to revisit
+        previous tasks and suggested assignments.
+    </p>
+    <p class="nistext">
+        <b>UI Adjustments:</b> Improved look and feel for all pages when resized. Additional tweaks are planned for
+        perfection.
+    </p>
+    <p class="nistext">
+        <b>Project Adjustments:</b> Updates now designed to avoid disruptions, ensuring smoother future Alt1 updates.
+    </p>
+    <p class="nistext">
+        <b>Code Refactoring:</b> Improved readability and data separation into Readers for better portability. Skillbert
+        can now extract Readers for the main Alt1 source.
+    </p>
+    <p class="nistext">
+        <b>New DevTools:</b> Added debugging functions for testing and resolving issues.
+    </p>
+
+
+    <h2>06/11/2024 - Major Recode
+    </h2>
+    <p class="nistext">Today is a special day because a massive recode has came for Slayer Assistant. This recode
+        started on 06/02/2024. Most of the changes were due to an update to the base alt1. You may not see a lot of
+        changes but there is a lot, so lets go over them all.</p>
+    <p class="nistext">The recode has allowed me to have all the code neater so updates should be much easier. Also
+        new features won't be as hard to add in because the code before was a huge mess</p>
+    <p class="nistext">Features coming soon</p>
+    <ul class="nistext">
+        <li>Update the forum post</li>
+        <li>Add in some basic settings</li>
+        <li>120 Slayer Assignment suggestions (Needs Page Made)</li>
+        <li>Ability to lookup task via Slayer Counter RS3</li>
+        <li>Ability to lookup task via Reaper Counter RS3</li>
+        <li>Add support for Ushabti</li>
+    </ul>
+    <p class="nistext">Features added</p>
+    <ul class="nistext">
+        <li>Adjusted Search Algorithm to work better</li>
+        <li>Reaper Task support has been added (Needs more Work)</li>
+        <li>Added Necromancy Support to databaase and app</li>
+        <li>Ability to Ctrl+V paste an image for lookup</li>
+        <li>Ability to Drag & Drop an image for lookup</li>
+        <li>Added a small copyright at the bottom of all pages</li>
+        <li>Search bar now has history using up and down arrows</li>
+        <ul>
+            <li>It also temp saves the current search too</li>
+        </ul>
+        <li>Optimized the updating of current task</li>
+        <ul>
+            <li>This way it won't flicker on updates</li>
+        </ul>
+    </ul>
+    <p class="nistext">Features updated</p>
+    <ul class="nistext">
+        <li>Massive fixes to the database</li>
+        <li>Updated the database for new content</li>
+        <li>Updated the about page with new info</li>
+        <li>Capture Loop has been optimized</li>
+        <li>Capture Button has now been added</li>
+        <li>Search Button is also the Capture Button</li>
+        <ul>
+            <li>It changes when you type in search</li>
+        </ul>
+    </ul>
+    <p class="nistext">Features kept from previous version</p>
+    <ul class="nistext">
+        <li>Help/About, Settings, & Donate Buttons</li>
+        <li>Search Bar and Capture/Search Button</li>
+        <li>Ability to show single Assignments</li>
+        <li>Ability to show 2(vs) Assignments</li>
+        <li>Important Info Shown at All Times</li>
+        <ul>
+            <li>Wiki, Kills, & Assignment</li>
+            <ul>
+                <li>Total Exp for Assignment</li>
+                <li>Hover Assignment Wiki</li>
+                <ul>
+                    <li>Slayer Master Info</li>
+                </ul>
+            </ul>
+            <li>Locations for Assignment</li>
+            <li>Equipment Suggested for Assignment</li>
+            <li>Wiki, Creatures, & Creature Variants</li>
+            <ul>
+                <li>Slayer Level & Exp</li>
+                <li>Weakness & Susceptible</li>
+                <li>Hover Creature Wiki</li>
+                <ul>
+                    <li>Image</li>
+                    <li>Stats</li>
+                    <ul>
+                        <li>Combat Level</li>
+                        <li>Lifepoints</li>
+                        <li>Defence</li>
+                    </ul>
+                    <li>Exp</li>
+                    <ul>
+                        <li>Combat</li>
+                        <li>Lifepoints</li>
+                    </ul>
+                    <li>Max Hit</li>
+                    <ul>
+                        <li>Melee</li>
+                        <li>Range</li>
+                        <li>Magic</li>
+                        <li>Spec</li>
+                    </ul>
+                </ul>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>04/27/2024 - Minor Bug Fixes</h2>
+    <p class="nistext">Fixed a bug that caused only the first assignment to get loaded and not the second one.</p>
+    <p class="nistext">Fixed a bug that caused the wiki links to not go to the currently loaded assignment.</p>
+
+    <h2>02/13/2022 - Minor but Needed</h2>
+    <p class="nistext">Finally have a little time to work on updating the Forum Post as well as the credits. Also going
+        to update the about section soon.</p>
+
+    <h2>12/24/2021 - Merry Christmas</h2>
+    <p class="nistext">Finished updating all the old changelog information, some may be missing but the most of it is
+        there for now. Need to backup discord info during development so I can check later.</p>
+    <p class="nistext">Adding about info section soon...</p>
+    <p class="nistext">Current App Features to Date</p>
+    <ul class="nistext">
+        <li>Help/About, Settings, & Donate Buttons</li>
+        <li>Search Bar and Button</li>
+        <li>Ability to show 1 or 2(vs) Assignments</li>
+        <li>Important Info Shown at All Times</li>
+        <ul>
+            <li>Wiki, Kills, & Assignment</li>
+            <ul>
+                <li>Total Exp for Assignment</li>
+                <li>Hover Assignment Wiki</li>
+                <ul>
+                    <li>Slayer Master Info</li>
+                </ul>
+            </ul>
+            <li>Locations for Assignment</li>
+            <li>Equipment Suggested for Assignment</li>
+            <li>Wiki, Creatures, & Creature Varants</li>
+            <ul>
+                <li>Slayer Level & Exp</li>
+                <li>Weakness & Susceptible</li>
+                <li>Hover Creature Wiki</li>
+                <ul>
+                    <li>Image</li>
+                    <li>Stats</li>
+                    <ul>
+                        <li>Combat Level</li>
+                        <li>Lifepoints</li>
+                        <li>Defence</li>
+                    </ul>
+                    <li>Exp</li>
+                    <ul>
+                        <li>Combat</li>
+                        <li>Lifepoints</li>
+                    </ul>
+                    <li>Max Hit</li>
+                    <ul>
+                        <li>Melee</li>
+                        <li>Range</li>
+                        <li>Magic</li>
+                        <li>Spec</li>
+                    </ul>
+                </ul>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>12/09/2021 - Beta Updated</h2>
+    <p class="nistext">Massively adjusted the look and feel of the app. Moved a lot of data into a "Wiki Preview Screen"
+        that shows up when hovering over the wiki button.</p>
+    <p class="nistext">Adjusted and added a lot of the user experience features.</p>
+    <ul class="nistext">
+        <li>Hover Assigment Wiki for Slayer Master Info</li>
+        <li>Hover Creature Wiki for Creature Info</li>
+        <li>Adjusted/Added hovering effects timer</li>
+        <li>Added donate button just to have it for now</li>
+    </ul>
+
+    <h2>11/29/2021 - Beta Updated</h2>
+    <p class="nistext">Added 2 items that was missed before even though they aren't complete yet.</p>
+    <ul class="nistext">
+        <li>Added About Info Button</li>
+        <li>Added Settings Button</li>
+    </ul>
+
+    <h2>11/19/2021 - Beta Released</h2>
+    <p class="nistext">Released the Beta to the public as it was working well enough for the public to use without worry
+        about it crashing.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>11/09/2021 - Beta Getting Close</h2>
+    <p class="nistext">Fixed almost all the major bugs and most of the minor bugs, next is to finish adjusting the look
+        of the new app.</p>
+    <p class="nistext">With a massive amount of help from <a onclick="openDiscordUser('Emma Kitty#6969');">Emma
+            Kitty</a>, I was finally able to add the first bit of
+        user experience features to the app making the list of creatures smaller and easiler to navigate. Also default
+        selected creatures were added. These features still need refined more so they do everything they are supposed
+        to.</p>
+
+    <h2>08/12/2021 - Changelog Added</h2>
+    <p class="nistext">Added the changelog and about webpages for the app; however, still haven't added them to the app
+        intself. Still need to work on settings and updating the look and feel even more to work out the rest of the
+        bugs.</p>
+
+    <h2>08/05/2021 - New Alpha Release</h2>
+    <p class="nistext">Released the alpha to the development channel on Discord with a few bugs and a lot of information
+        missing to see how it worked for others before releasing to the public.</p>
+    <p class="nistext">Features partially or fully added.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>07/09/2021 - Major Bug Found</h2>
+    <p class="nistext">Soon after doing the redesign of the Database Updater, a major bug came up that almost crashed
+        the computer many times. Come to find out this was a bug in the compiler I was using and had nothing to do with
+        the way I created the app at all.</p>
+
+    <h2>06/11/2021 - Redesign Revealed</h2>
+    <p class="nistext">Revealed the redesigned look and feel of the Slayer Assistant to the Development channel on
+        RuneApps Discord. Public didn't have access to the app but got to see it's progress.</p>
+    <p class="nistext">Features partially or fully added.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <h2>05/20/2021 - Redesign Started</h2>
+    <p class="nistext">Due to a major computer crash that required a re-install of the OS, all source for the database
+        updater was lost. This lead to a complete redesign of the app for many reasons, but the biggest was due to the
+        system not supporting cluster tasks.</p>
+    <p class="nistext">After a lot of discussion with <a onclick="openDiscordUser('Zykrow#8009');">Zykrow</a> on the
+        matter, I started working on the new database
+        updater and redesigning the Alt1 app.</p>
+    <p class="nistext">Features planned for the redesign.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Settings for app</li>
+        <li>About info for app</li>
+        <li>Refresh/reload button to allow manual reading of task incase the loop breaks</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Most Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Locations for assignments</li>
+            <li>Equipment required for assignments</li>
+            <li>Slayer Master info per assignment</li>
+            <li>Cluster Task Support (Creature List and Variants)</li>
+            <li>Wiki links for each assignment and creature</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness & Susceptible</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+        <li>Donate to contributers button</li>
+    </ul>
+
+    <h2>05/14/2021 - First Release</h2>
+    <p class="nistext">With a lot of assistance from <a onclick="openDiscordUser('Skillbert#9582');">Skillbert</a> on
+        discord, I was finally able to create my first
+        basic app on Alt1.</p>
+    <p class="nistext">Not long after the first app was working, I was able to turn it into the Slayer Assistant app.
+        This was not without help from the rest of the discord comunity though. <a
+            onclick="openDiscordUser('crazye97#2027');">crazye97</a> assisted a lot to get the first version created. <a
+            onclick="openDiscordUser('troy236#2361');">troy236</a> gave me the answer to my last issue with
+        the app allowing me to get it released.</p>
+    <p class="nistext">Here is a list of all features supported in this version.</p>
+    <ul class="nistext">
+        <li>A button to read the task on screen incase the app had a glitch and wasn't working correctly</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Basic Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness (as Displayed on wiki)</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+            <li>Wiki links for each creature</li>
+        </ul>
+    </ul>
+
+    <h2>05/12/2021 - Project Started</h2>
+    <p class="nistext">Here is a little history on how this app came to be.</p>
+    <p class="nistext">After a long conversation with <a onclick="openDiscordUser('Zykrow#8009');">Zykrow</a> on the
+        viability of a new slayer app for Alt1, I
+        started doing some research on creating Alt1 apps and come to find out it is not hard but not easy either;
+        however, redesigning the wheel is bad practice so lets see if anyone else has already created an app like this.
+    </p>
+    <p class="nistext">To my suprise there was one; however, it was outdated and no source code was known to exist for
+        it. Oh well. Time to start designing it then.</p>
+    <p class="nistext">The original Slayer Decision App was used as a base for the look and feel for the new app I
+        started creating. The original app can be found <a
+            onclick="window.open('https://runeapps.org/forums/viewtopic.php?id=570');">here</a>.</p>
+    <p class="nistext">There was a lot discussed on what could be added to the app; however, quite a bit of it was for
+        way later on once the app was made and working. So here is a list of what was planned for the first release.</p>
+    <ul class="nistext">
+        <li>Ability to search for an assignment</li>
+        <li>Compare 2 Assignments side by side</li>
+        <li>Basic Information for Assignments</li>
+        <ul>
+            <li>Kills Required and Total Exp</li>
+            <li>Creature information</li>
+            <ul>
+                <li>Name, Image, Location, and Examine Info</li>
+                <li>Level, Slayer Lvl, LP, Defence</li>
+                <li>Max Hits for Melee, Range, Magic, and Spec</li>
+                <li>Weakness (aka. Melee, Range, Magic)</li>
+                <li>Exp for Combat, Lifepoints, and Slayer</li>
+            </ul>
+        </ul>
+    </ul>
+
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function openDiscordUser(user) {
+            window.open('https://discordapp.com/users/' + user);
+        }
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/pages/credits.html b/src/pages/credits.html
new file mode 100644 (file)
index 0000000..c8ca3f8
--- /dev/null
@@ -0,0 +1,81 @@
+<html>
+
+<head>
+    <title>Credits</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/credits.css">
+</head>
+
+<body class="nis">
+    <div class="nisbutton" id="changelog-button" onclick="history.back();">Go Back</div>
+    <h2>Credit due where deserved</h2>
+    <p class="nistext">Assistance with Slayer Assistant for Alt1</p>
+    <ul class="nistext">
+        <li><a onclick="window.open('https://runeapps.org/forums/viewtopic.php?id=570');">codedninja</a> -
+            For creating the original app and inspiring the look and feel of this app</li>
+        <li><a onclick="openDiscordUser('Skillbert#9582');">Skillbert</a> - For all the assistance during
+            the creation of this app, as well as for creating Alt1 Toolkit</li>
+        <li><a onclick="openDiscordUser('Zykrow#8009');">Zykrow</a> - For support and assistance during the
+            entire development of this app</li>
+        <li><a onclick="openDiscordUser('crazye97#2027');">crazye97</a> - For all the assistance during the
+            development of this app, too much to specify each one</li>
+        <li><a onclick="openDiscordUser('troy236#2361');">troy236</a> - For giving me the answer to why I
+            couldn't edit the src of an img in javascript</li>
+        <li><a onclick="openDiscordUser('Emma Kitty#6969');">Emma Kitty</a> - For helping manage the
+            database; formatting, adding manual entries, and adding user experience content to the app</li>
+        <li><a onclick="openDiscordUser('Annie the Eagle#0001');">Annie the Eagle</a> - For help with
+            adjusting the Look and Feel of the app</li>
+        <li><a onclick="openDiscordUser('MrSlayerGod#5656');">MrSlayerGod</a> - For suggestions on the
+            newest Look and Feel of the app</li>
+        <li><a onclick="openDiscordUser('Poop Skewer#7325');">Poop Skewer</a> - For suggesting moving the
+            app over to github for better uptime</li>
+        <li><a onclick="openDiscordUser('vinay#5636');">display_this</a> - For reporting app breaking bugs
+            that kept the app from running at its full potential</li>
+        <li><a onclick="openDiscordUser('Leridon#6812');">Leridon</a> - For assisting me on getting the
+            slayer/reaper counter lookup started as well as helping fix major issues during upgrading alt1 source</li>
+        <li><a onclick="openDiscordUser('Umbra#5689');">Nex ex Umbra</a> - For assitance on getting the
+            Select
+            your own task detection to work</li>
+        <li><a
+                onclick="window.open('https://stackoverflow.com/questions/10473745/compare-strings-javascript-return-of-likely');">overlord1234
+                & David</a> - For the Levenshtein distance algorithim for the search feature</li>
+    </ul>
+
+    <p class="nistext">Assistance with Slayer Assistant Database Updater</p>
+    <ul class="nistext">
+        <li><a onclick="window.open('https://runescape.wiki');">Runescape Wiki</a> - For having an amazing
+            database that I can just parse to make use of in this app</li>
+        <li><a onclick="openDiscordUser('achievementshunter');">Chiev Hunter</a> - For assistance in fixing
+            the slayer assignment wiki so my updater would quit throwing an error</li>
+        <li><a onclick="openDiscordUser('Wahi#5030');">Wahi</a> - For explaining the Wights task was old
+            content that was removed</li>
+        <li><a onclick="openDiscordUser('Robert571#7543');">Robert571</a> - For suggesting the new query
+            search for database downloading from the wiki</li>
+        <li><a onclick="openDiscordUser('Wired In#2593');">Im Wired In</a> - For all the assistance in
+            helping to figure out how to use the new query search for database downloading from the wiki</li>
+    </ul>
+
+    <p class="nistext">For Creating Something Amazing</p>
+    <ul class="nistext">
+        <li><a onclick="window.open('http://jagex.com');">Jagex</a> - For creating an amazing game that has
+            many more years to come</li>
+        <li><a onclick="window.open('http://runescape.com');">Runescape</a> - For still being here after
+            all these years, it has came a long way</li>
+        <li><a onclick="window.open('https://runescape.wiki');">Runescape Wiki</a> - For having an amazing
+            database for all of the RuneScape community</li>
+        <li><a onclick="window.open('https://chat.openai.com');">Chat GPT</a> - For creating something
+            amazing that can assist with anything</li>
+        <li><a onclick="openDiscordUser('Skillbert#9582');">Skillbert</a> - For creating Alt1 Toolkit and
+            keeping it maintained</li>
+    </ul>
+
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function openDiscordUser(user) {
+            window.open('https://discordapp.com/users/' + user);
+        }
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/pages/doc/body.html b/src/pages/doc/body.html
new file mode 100644 (file)
index 0000000..23b883e
--- /dev/null
@@ -0,0 +1,18 @@
+<div id="menubar">
+    <div id="infobutton" class="transbutton" title="About"></div>
+    <div id="menubutton" class="transbutton" title="Settings"></div>
+    <div id="donatebutton" class="transbutton" title="Donate"></div>
+    <div id="backbutton" class="transbutton" title="Previous Lookup"></div>
+    <div id="forwardbutton" class="transbutton" title="Next Lookup"></div>
+
+    <input type="text" list="search-info-list" class="nistext" id="search-info" name="search-info"
+        title="Search assignments, alias, or creatures" placeholder="Search..." autofocus></input>
+    <datalist id="search-info-list"></datalist>
+    <div class="nisbutton" id="search-button" title="You can also just press enter">Search<span
+            style="visibility: hidden;">. . .</span></div>
+    <div class="loading-container"><span class="loading" id="loading-bar" title="Loading..."></span></div>
+</div>
+
+<div id="base">
+</div>
+<div id="copyright" class="copyright-limited">Copyright &copy;2021 Unlishema Dragonsworn</div>
\ No newline at end of file
diff --git a/src/pages/doc/dual.html b/src/pages/doc/dual.html
new file mode 100644 (file)
index 0000000..eb01f66
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="left"></div>
+<div id="divide" class="divide-limited"></div>
+<div class="right"></div>
\ No newline at end of file
diff --git a/src/pages/doc/example-extra.html b/src/pages/doc/example-extra.html
new file mode 100644 (file)
index 0000000..f79605b
--- /dev/null
@@ -0,0 +1,134 @@
+<div class="nistext preview-task-wiki">
+    <div class="nistext masters">
+        <div class="nistext masterInfo1"><img id="masterImage1" alt="Chaeldar" src="./images/masters/Chaeldar.png"
+                title="Chaeldar"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo2"><img id="masterImage2" alt="Duradel" src="./images/masters/Duradel.png"
+                title="Duradel"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo3"><img id="masterImage3" alt="Jacquelyn" src="./images/masters/Jacquelyn.png"
+                title="Jacquelyn"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo4"><img id="masterImage4" alt="Kuradal" src="./images/masters/Kuradal.png"
+                title="Kuradal"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo5"><img id="masterImage5" alt="Laniakea" src="./images/masters/Laniakea.png"
+                title="Laniakea"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo6"><img id="masterImage6" alt="Mandrith" src="./images/masters/Mandrith.png"
+                title="Mandrith"></img> Kills: Coming Soon...</div>
+        <div class="nistext masterInfo7"><img id="masterImage7" alt="Mazchna" src="./images/masters/Mazchna.png"
+                title="Mazchna"></img> Kills: Coming Soon...</div>
+    </div>
+</div>
+
+<div class="nistext preview-creature-wiki">
+    <div class="nistext image-container"></div>
+    <div class="nistext stats">
+        <div class="nistext" id="title-4">Stats</div>
+        <img class="first-third-image" src="./images/misc/combat.png" title="Combat Level"></img>
+        <img class="second-third-image" src="./images/misc/lifepoints.png" title="Lifepoints"></img>
+        <img class="third-third-image" src="./images/misc/defence.png" title="Defense"></img>
+        <div class="nistext first-third level" title="Combat Level">???</div>
+        <div class="nistext second-third lifepoints" title="Lifepoints">???</div>
+        <div class="nistext third-third defence" title="Defense">???</div>
+    </div>
+
+    <div class="nistext exp">
+        <div class="nistext" id="title-5">Exp</div>
+        <img class="first-third-image" src="./images/misc/combat.png" title="Combat Exp"></img>
+        <img class="second-third-image" src="./images/misc/lifepoints.png" title="Lifepoints Exp"></img>
+        <div class="nistext first-third combat-exp" title="Combat Exp">???</div>
+        <div class="nistext second-third lifepoints-exp" title="Lifepoints Exp">???</div>
+    </div>
+
+    <div class="nistext max-hits">
+        <div class="nistext" id="title-6">Max Hit</div>
+        <img class="first-quarter-image" src="./images/misc/melee.png" title="Max Melee"></img>
+        <img class="second-quarter-image" src="./images/misc/ranged.png" title="Max Ranged"></img>
+        <img class="third-quarter-image" src="./images/misc/magic.png" title="Max Magic"></img>
+        <img class="forth-quarter-image" src="./images/misc/necromancy.png" title="Max Necromancy"></img>
+        <img class="fifth-quarter-image" src="./images/misc/spec.png" title="Max Special"></img>
+        <div class="nistext first-quarter max-melee" title="Max Melee">???</div>
+        <div class="nistext second-quarter max-ranged" title="Max Ranged">???</div>
+        <div class="nistext third-quarter max-magic" title="Max Magic">???</div>
+        <div class="nistext forth-quarter max-necromancy" title="Max Necromancy">???</div>
+        <div class="nistext fifth-quarter max-spec" title="Max Special">???</div>
+    </div>
+</div>
+
+<div class="nistext equipment">
+    <div class="nistext" id="title-1">Equipment</div>
+    <div class="nistext equipInfo1"></div>
+    <div class="nistext equipInfo2"></div>
+    <div class="nistext equipMore">See More...</div>
+    <div class="nistext equipHidden">
+        <div class="nistext equipInfo3"></div>
+        <div class="nistext equipInfo4"></div>
+        <div class="nistext equipInfo5"></div>
+        <div class="nistext equipInfo6"></div>
+        <div class="nistext equipInfo7"></div>
+        <div class="nistext equipInfo8"></div>
+        <div class="nistext equipInfo9"></div>
+    </div>
+</div>
+
+<div class="nistext locations">
+    <div class="nistext" id="title-2">Locations</div>
+    <div class="nistext locationInfo1"></div>
+    <div class="nistext locationInfo2"></div>
+    <div class="nistext locationMore">See More...</div>
+    <div class="nistext locationHidden">
+        <div class="nistext locationInfo3"></div>
+        <div class="nistext locationInfo4"></div>
+        <div class="nistext locationInfo5"></div>
+        <div class="nistext locationInfo6"></div>
+        <div class="nistext locationInfo7"></div>
+        <div class="nistext locationInfo8"></div>
+        <div class="nistext locationInfo9"></div>
+        <div class="nistext locationInfo10"></div>
+        <div class="nistext locationInfo11"></div>
+        <div class="nistext locationInfo12"></div>
+        <div class="nistext locationInfo13"></div>
+        <div class="nistext locationInfo14"></div>
+        <div class="nistext locationInfo15"></div>
+        <div class="nistext locationInfo16"></div>
+        <div class="nistext locationInfo17"></div>
+        <div class="nistext locationInfo18"></div>
+        <div class="nistext locationInfo19"></div>
+        <div class="nistext locationInfo20"></div>
+        <div class="nistext locationInfo21"></div>
+        <div class="nistext locationInfo22"></div>
+        <div class="nistext locationInfo23"></div>
+        <div class="nistext locationInfo24"></div>
+        <div class="nistext locationInfo25"></div>
+    </div>
+</div>
+
+<div class="nistext" id="creature-container">
+    <div class="nistext" id="title-3">Creatures</div>
+    <div class="nistext creature-wiki"></div>
+
+    <select class="nistext creatures" name="creatures" title="Creatures">
+    </select>
+
+    <select class="nistext variants" name="variants" title="variants">
+    </select>
+</div>
+
+<div class="nistext summary">
+    <div class="nistext" id="title-7">Summary</div>
+    <div class="nistext first-quarter" style="left: 5px;">Slayer Level</div>
+    <div class="nistext third-quarter" style="left: 5px;">Slayer Exp</div>
+    <img class="second-quarter-image" src="./images/misc/slayer.png" title="Slayer Level"></img>
+    <img class="forth-quarter-image" src="./images/misc/slayer.png" title="Slayer Exp"></img>
+    <div class="nistext second-quarter slayer-level" title="Slayer Level">???</div>
+    <div class="nistext forth-quarter slayer-exp" title="Slayer Exp">???</div>
+
+    <div class="nistext weaknessBox">
+        <p id="weakness-text">Weakness</p>
+        <img class="weakness-image weakness-image1" src=""></img>
+        <img class="weakness-image weakness-image2" src=""></img>
+    </div>
+
+    <div class="nistext susceptibleBox">
+        <p id="susceptible-text">Susceptible</p>
+        <img class="susceptible-image susceptible-image1" src=""></img>
+        <img class="susceptible-image susceptible-image2" src=""></img>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/pages/doc/example.html b/src/pages/doc/example.html
new file mode 100644 (file)
index 0000000..4a8d762
--- /dev/null
@@ -0,0 +1,25 @@
+<div class="nistext type">(Default)</div>
+
+<div class="nistext info">
+    <div class="nistext task-wiki"></div>
+
+    <div class="nistext kills" title="Kills Left">???</div>
+    <div class="nistext name" title="Assignment">???</div>
+    <div class="nistext" id="slayer-exp-text" title="Total Slayer Experience">Exp:</div>
+    <div class="nistext total-slayer-exp" title="Total Slayer Experience">???</div>
+</div>
+
+<div class="nistext status">
+    <div class="nistext timer-text" title="Timer">Timer:
+        <div class="nistext timer-value">??:??:??</div>
+    </div>
+    <div class="nistext kills-per-text" title="Kills/Hr">Kills/Hr:
+        <div class="nistext kills-per-hour">?,???</div>
+    </div>
+    <div class="nistext exp-per-text" title="XP/Hr">XP/Hr:
+        <div class="nistext exp-per-hour">???,???</div>
+    </div>
+</div>
+
+
+<div class="nistext extra-info"></div>
\ No newline at end of file
diff --git a/src/pages/doc/single.html b/src/pages/doc/single.html
new file mode 100644 (file)
index 0000000..eb4fc4b
--- /dev/null
@@ -0,0 +1 @@
+<div class="single"></div>
\ No newline at end of file
diff --git a/src/pages/doc/suggested.html b/src/pages/doc/suggested.html
new file mode 100644 (file)
index 0000000..9d6588b
--- /dev/null
@@ -0,0 +1,64 @@
+<div class="nistext type" id="type-suggest">(Suggested)</div>
+
+<table id="suggestions">
+    <thead>
+        <tr>
+            <td class="nistext">Assignment</td>
+            <td class="nistext">Slayer xp/hr</td>
+        </tr>
+    </thead>
+    <tbody>
+        <tr>
+            <td class="nistext" id="suggestion-1" title="Gemstone dragons">Gemstone dragons</td>
+            <td class="nistext">1400k (Hydrix)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-2" title="Ripper Demon">Ripper Demon</td>
+            <td class="nistext">700k (Darklight)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-3" title="Soul devourer">Soul devourer</td>
+            <td class="nistext">680k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-4" title="Shadow creatures">Shadow creatures</td>
+            <td class="nistext">680k (Manifest)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-5" title="Nightmare">Nightmare</td>
+            <td class="nistext">650k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-6" title="Lost Grove creatures">Lost Grove creatures</td>
+            <td class="nistext" title="Legacy 1324k">610k (Golem)<span class="starnote">*</span>
+            </td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-7" title="Acheron mammoth">Acheron mammoth</td>
+            <td class="nistext">600k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-8" title="Corrupted creatures">Corrupted creatures</td>
+            <td class="nistext">580k (Worker)</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-9" title="Elves">Elves</td>
+            <td class="nistext" title="1200k (chinning)">560k<span class="starnote">*</span>
+            </td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-10" title="Living wyverns">Living wyverns</td>
+            <td class="nistext">530k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-11" title="Crystal shapeshifters">Crystal shapeshifters</td>
+            <td class="nistext">500k</td>
+        </tr>
+        <tr>
+            <td class="nistext" id="suggestion-12" title="Greater demons">Greater demons</td>
+            <td class="nistext" title="180k (K'ril)">1000k (Berserkers)<span class="starnote">*</span>
+            </td>
+        </tr>
+    </tbody>
+</table>
+<div class="nistext" id="footnote">* - More information on hover</div>
\ No newline at end of file
diff --git a/src/pages/settings.html b/src/pages/settings.html
new file mode 100644 (file)
index 0000000..d26e60b
--- /dev/null
@@ -0,0 +1,73 @@
+<html>
+
+<head>
+    <title>Slayer Assistant Settings</title>
+    <link rel="icon" href="../images/icon.png" type="image/png">
+    <link rel="stylesheet" href="../styles/default/settings.css">
+</head>
+
+<body class="nis">
+
+    <h2 class="nistext">Settings</h2>
+    <p class="nistext" id="test">More Coming soon... This is only the basic settings for now</p>
+
+    <label class="nistext">Auto Capture Settings</label><br>
+    <input type="checkbox" id="auto-capture-enabled">
+    <label class="nistext" for="auto-capture-enabled"> Enabled?</label><br>
+    <input type="checkbox" id="auto-capture-counter">
+    <label class="nistext" for="auto-capture-counter"> Counter UI?</label><br>
+    <input type="checkbox" id="auto-capture-search">
+    <label class="nistext" for="auto-capture-search"> Search Toggle?</label><br>
+    <br>
+    <label class="nistext">UI Settings</label><br>
+    <input type="checkbox" id="ui-limited">
+    <label class="nistext" for="ui-limited"> Limited?</label><br>
+    <input type="checkbox" id="ui-status">
+    <label class="nistext" for="ui-status"> Status?</label><br>
+    <input type="checkbox" id="ui-overlay">
+    <label class="nistext" for="ui-overlay"> Overlay?</label><br>
+
+    <div class="nisbutton" id="changelog-button" onclick="closeSettings();">Close Settings</div>
+    <div id="copyright">Copyright &copy;2021 Unlishema Dragonsworn</div>
+
+    <script type="text/javascript">
+        function closeSettings() {
+            window.close();
+        }
+
+        // On Load lets load in the settings from the local storage
+        document.addEventListener("DOMContentLoaded", async (event) => {
+            // FIXME Finished setting up settings
+
+            if (localStorage.getItem("auto-capture-enabled")) document.getElementById("auto-capture-enabled").checked = localStorage.getItem("auto-capture-enabled") === "true";
+            if (localStorage.getItem("auto-capture-counter")) document.getElementById("auto-capture-counter").checked = localStorage.getItem("auto-capture-counter") === "true";
+            if (localStorage.getItem("auto-capture-search")) document.getElementById("auto-capture-search").checked = localStorage.getItem("auto-capture-search") === "true";
+
+            if (localStorage.getItem("ui-limited")) document.getElementById("ui-limited").checked = localStorage.getItem("ui-limited") === "true";
+            if (localStorage.getItem("ui-status")) document.getElementById("ui-status").checked = localStorage.getItem("ui-status") === "true";
+            if (localStorage.getItem("ui-overlay")) document.getElementById("ui-overlay").checked = localStorage.getItem("ui-overlay") === "true";
+        });
+
+        // On change lets update the locally stored settings
+        document.getElementById("auto-capture-enabled").addEventListener("input", function () {
+            localStorage.setItem("auto-capture-enabled", document.getElementById("auto-capture-enabled").checked);
+        });
+        document.getElementById("auto-capture-counter").addEventListener("input", function () {
+            localStorage.setItem("auto-capture-counter", document.getElementById("auto-capture-counter").checked);
+        });
+        document.getElementById("auto-capture-search").addEventListener("input", function () {
+            localStorage.setItem("auto-capture-search", document.getElementById("auto-capture-search").checked);
+        });
+        document.getElementById("ui-limited").addEventListener("input", function () {
+            localStorage.setItem("ui-limited", document.getElementById("ui-limited").checked);
+        });
+        document.getElementById("ui-status").addEventListener("input", function () {
+            localStorage.setItem("ui-status", document.getElementById("ui-status").checked);
+        });
+        document.getElementById("ui-overlay").addEventListener("input", function () {
+            localStorage.setItem("ui-overlay", document.getElementById("ui-overlay").checked);
+        });
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/styles/default/about.css b/src/styles/default/about.css
new file mode 100644 (file)
index 0000000..ab80731
--- /dev/null
@@ -0,0 +1,32 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family:sans-serif; font-size:14px; overflow-x:hidden; margin:5px; width: calc(100% - 10px);}
+h2{text-align: center; font-size: 22px; font-weight:normal;}
+h2:first-child{margin-top:5px;}
+h3{text-align: center; font-size: 18px; border-top:3px double rgb(255, 231, 185); font-weight:bold;}
+h4{text-align: center; font-size: 16px; border-top:3px dashed rgb(255, 231, 185); font-weight:normal;}
+table{margin:auto;}
+img{width:100%;}
+img.expanded{width:60%;}
+img.collapsed{width:35%;}
+
+/* Sections */
+.info{text-align: center;}
+.example{border: 1px solid rgb(84, 85, 66); margin-top: 5px; margin-bottom: 5px;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/src/styles/default/changelog.css b/src/styles/default/changelog.css
new file mode 100644 (file)
index 0000000..34d996a
--- /dev/null
@@ -0,0 +1,22 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family: sans-serif; font-size: 14px; overflow-x: hidden; margin: 10px; width: calc(100% - 10px);}
+h2{border-top:1px solid #A3A3A3; font-weight: normal; margin-top: 25px; margin-bottom: -10px; color: #068b1c;}
+h2:first-child{margin-top:10px;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/src/styles/default/credits.css b/src/styles/default/credits.css
new file mode 100644 (file)
index 0000000..f0367a6
--- /dev/null
@@ -0,0 +1,22 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family:sans-serif; font-size:14px; overflow-x:hidden; margin: 10px; width: calc(100% - 10px);}
+h2{border-top:1px solid #A3A3A3; font-weight:normal; margin-top: 25px; margin-bottom:-10px; color:#068b1c;}
+h2:first-child{margin-top:10px;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/src/styles/default/index.css b/src/styles/default/index.css
new file mode 100644 (file)
index 0000000..a079ec4
--- /dev/null
@@ -0,0 +1,190 @@
+/* Global App settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; cursor: pointer;}
+a:hover  {color: #a19100; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; cursor: pointer;}
+
+/* Base Sections of App */
+div#menubar        {position: relative; width: 100%; height: 34px;}
+div#base           {position: relative; width: 100%; height: 70px;}
+#copyright         {position: relative; width: 100%; height: 13px; font-family: 'trajan-pro-3'; font-size: 11px; color: #5a6400; text-align: center; }
+div.base-full      {height: 310px;}
+.copyright-limited {top: 0px;}
+.copyright-full    {top: 250px;}
+
+/* Menu Bar Controls */
+#infobutton          {position: absolute; width: 12px; height: 12px; top: 00px; left: 00px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/infoicon.png') 0px 0px / cover;}
+#menubutton          {position: absolute; width: 12px; height: 12px; top: 16px; left: 00px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/settingscog.png') 0px 0px / cover;}
+#donatebutton        {position: absolute; width: 12px; height: 12px; top: 32px; left: 00px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/donate.png') 0px 0px / cover;}
+#backbutton          {position: absolute; width: 12px; height: 12px; top: 32px; left: 16px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/back.png') 0px 0px / cover;}
+#forwardbutton       {position: absolute; width: 12px; height: 12px; top: 32px; left: 32px; z-index: 11; cursor:pointer; background: url('../../images/ui/default/forward.png') 0px 0px / cover;}
+#infobutton:hover    {background-position: 0px -12px;}
+#menubutton:hover    {background-position: 0px -12px;}
+#donatebutton:hover  {background-position: 0px -12px;}
+#backbutton:hover    {background-position: 0px -12px;}
+#forwardbutton:hover {background-position: 0px -12px;}
+
+/* Search Box & Button */
+#search-info   {position: relative; width: calc(100% - 20px - 100px); height: 20px; top: 3px; left: 18px; color:#a39e00; cursor:pointer; background-color:#2f2f2f;}
+#search-button {position: absolute; width: 66px; height: 33px; top: 0px; right: 0px; color:#370042; font-size: 18px; text-align: left;}
+
+/* Search Button LookNFeel */
+.nisbutton               {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin-left: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before       {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after        {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active        {-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+.nisbutton.fakeactive    {-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Loading Spinner */
+.loading-container {position: absolute; width: 20px; height: 20px; top: 8px; right: 8px; cursor:pointer; }
+.loading           {width: 20px; height: 20px; display: flex; justify-content: center; visibility: hidden;}
+.loading::after    {width: 12px; height: 12px; content: ""; border: 3px dashed #13314e; border-radius: 100%; transform: rotate(0.125turn); animation: loading 2.5s ease-in-out infinite;}
+@keyframes loading {to {transform: rotate(1.130turn);}}
+
+/* Division Bar */
+div.left        {position: absolute; width: calc(050% - 01px); left: 00%;}
+div.right       {position: absolute; width: calc(050% - 01px); left: 50%;}
+div.single      {position: absolute; width: 100%; left: 00%;}
+div#divide      {position: absolute; width: 2px; left: calc(50% - 2px); background-color: #afad1f;}
+.divide-limited {height: 65px;}
+.divide-full    {height: 310px;}
+
+/* Headers for Sections */
+div#title-1 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-2 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-3 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-4 {position: absolute; height: 11px; left: calc(15%); right: calc(15%); z-index: 22; margin-top: -06px; font-size: 12px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-5 {position: absolute; height: 11px; left: calc(15%); right: calc(15%); z-index: 22; margin-top: -08px; font-size: 12px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-6 {position: absolute; height: 11px; left: calc(15%); right: calc(15%); z-index: 22; margin-top: -08px; font-size: 12px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+div#title-7 {position: absolute; height: 13px; left: calc(25%); right: calc(25%); z-index: 10; margin-top: -10px; font-size: 14px; text-align: center; padding: 0px 8px 0px; color: #778899; background: url("../../images/ui/default/background.png");}
+
+/* Type of Assignment */
+div.type            {position: relative; width: 100%; height: 22px; color: #008000; font-family: 'trajan-pro-3'; font-size: 20px; text-align: center;}
+.right div.type     {color: #ff0000;}
+#type-reaper        {color: #ffd700;}
+#type-suggest       {color: #ff00d4; cursor:pointer;}
+#type-suggest:hover {color: #6d0077;}
+
+/* Suggested Creatures */
+span.starnote              {position: relative; display: inline; color: #ffd700; font-size: 11px;}
+div#footnote               {position: relative; width: 100%; height: 015px; left: 0%; top: 0px; color: #ffd700; font-size: 11px; text-align: right;}
+table#suggestions          {position: relative; width: 100%; height: 200px; left: 0%; top: 0px; font-size: 16px; text-align: left;}
+table#suggestions thead td {color: #ffd700; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+table#suggestions td       {color: #39cf96; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+td[id^="suggestion"]       {color: #008000; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; cursor:pointer;}
+td[id^="suggestion"]:hover {color: #00db00;}
+
+/* Assignment Info */
+div.info                      {position: relative; width: 068%; height: 40px; left: 3px; top: 0px; margin-top: 5px; text-align: left;}
+div.info div.task-wiki        {position: absolute; width: 24px; height: 24px; left: 0px; top: -4px; cursor:pointer; text-align: left; background: transparent url("../../images/ui/default/wikipedia.png") 0px 0px / cover;}
+div.info div.kills            {position: absolute; width: 40px; height: 16px; left: 18px; top: 0px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.info div#slayer-exp-text  {position: absolute; width: 33px; height: 16px; left: 3px; top: 20px; text-align: left;}
+div.info div.name             {position: absolute; width: calc(100% - 65px); height: 16px; left: 62px; top: 0px; text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.info div.total-slayer-exp {position: absolute; width: calc(100% - 40px); height: 16px; left: 35px; top: 20px; text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.left div.info             {width: 100%;}
+div.right div.info            {width: 100%;}
+div.info:hover                {background-color: #324e6165;}
+div.info div.task-wiki:hover  {background-position:0px -24px;}
+
+/* Preview Task Wiki */
+div.preview-task-wiki                                {position: absolute; width: calc(100% - 8px); height: auto; left: 0px; top: 0px; z-index: 11; visibility: hidden; text-align: left; border: 2px ridge #a19100; background: url("../../images/ui/default/background.png");}
+div.preview-task-wiki div.masters                    {position: relative; width: calc(100% - 8px); height: auto; left: 0px; top: 0px; text-align: left;}
+div.preview-task-wiki div.masterTitle                {position: relative; width: 100%; height: 27px; font-size: 18px; margin: 2px 0px 0px 3px; border-bottom: 3px double #a19100;}
+div.preview-task-wiki div[class*="masterInfo"]       {position: relative; width: 100%; height: 27px; cursor:pointer; font-size: 14px; padding: 2px 0px 0px 3px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.preview-task-wiki img[id^="masterImage"]         {position: relative; width: 20px; height: 27px; cursor:pointer; vertical-align: middle; text-align: center;}
+div.preview-task-wiki div[class*="masterInfo"]:hover {background-color: #64643065;}
+div.left div.preview-task-wiki                       {left: 0px;}
+div.right div.preview-task-wiki                      {left: 4px;}
+
+/* Status Menu */
+div.status                          {position: absolute; width: 100px; height: 60px; right: 0px; top: 2px; z-index: 10; text-align: left; border: 2px ridge #5a6400;}
+div.status div.kills-per-text       {position: absolute; width: 100%; height: calc(33% - 6px); left: 0px; top: 33%; padding-top: 2px; font-size: 16px; border-top: 1px solid #a19100; margin-top: -2px;}
+div.status div.exp-per-text         {position: absolute; width: 100%; height: calc(33% - 6px); left: 0px; top: 66%; padding-top: 2px; font-size: 16px; border-top: 1px solid #a19100; margin-top: -2px;}
+div.status div.timer-text           {position: absolute; width: 100%; height: calc(33% - 6px); left: 0px; top: 0%; padding-top: 2px; font-size: 16px; margin-top: -2px;}
+div.status div.timer-value          {position: absolute; width: calc(100% - 46px); height: 100%; left: 46px; top: 0px; padding: 2px 2px 0px 0px; font-size: 16px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.status div.kills-per-hour       {position: absolute; width: calc(100% - 60px); height: 100%; left: 60px; top: 0px; padding: 2px 2px 0px 0px; font-size: 16px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.status div.exp-per-hour         {position: absolute; width: calc(100% - 50px); height: 100%; left: 50px; top: 0px; padding: 2px 2px 0px 0px; font-size: 16px; text-align: right; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+div.status div.timer-text:hover     {background-color: #324e6165;}
+div.status div.kills-per-text:hover {background-color: #324e6165;}
+div.status div.exp-per-text:hover   {background-color: #324e6165;}
+div.left div.status                 {visibility: hidden;}
+div.right div.status                {visibility: hidden;}
+
+/* Extra Data (Not shown on limited) */
+div.extra-info {position: relative; width: 100%;}
+
+/* Equpiment */
+img#equip-image                             {position: relative; width: 18px; height: 18px;}
+div.equipment                               {position: relative; width: calc(100% - 8px); height: 60px; left: 5px; top: 0px; padding-top: 3px; text-align: left; border-top: 3px double #a19100;}
+div.equipment div[class*="equipInfo"]       {position: relative; width: 100%; height: auto; text-align: left;}
+div.equipment div.equipHidden               {position: absolute; width: 100%; height: auto; left: 0px; top: 42px; z-index: 11; margin-left: -3px; visibility: hidden; border: 3px groove #778899; border-top-style:none; background: url("../../images/ui/default/background.png");}
+div.equipment div.equipMore                 {position: absolute; width: 100%; height: 16px; left: 0px; top: 42px; cursor:pointer; text-decoration: underline; color: #778899; font-size: 10px; text-align: left;}
+div.equipment div[class*="equipInfo"]:hover {background-color: #64643065;}
+div.equipment div.equipMore:hover           {background-color: #64643065;}
+
+/* Locations */
+img#location-image                             {position: relative; width: 18px; height: 18px;}
+div.locations                                  {position: relative; width: calc(100% - 8px); height: 60px; left: 5px; top: 0px; padding-top: 3px; text-align: left; border-top: 3px double #a19100;}
+div.locations div[class*="locationInfo"]       {position: relative; width: 100%; height: auto; text-align: left;}
+div.locations div.locationHidden               {position: absolute; width: 100%; height: auto; left: 0px; top: 42px; z-index: 11; margin-left: -3px; visibility: hidden; border: 3px groove #778899; border-top-style:none; background: url("../../images/ui/default/background.png");}
+div.locations div.locationMore                 {position: absolute; width: 100%; height: 16px; left: 0px; top: 42px; cursor:pointer; text-decoration: underline; color: #778899; font-size: 10px; text-align: left;}
+div.locations div[class*="locationInfo"]:hover {background-color: #64643065;}
+div.locations div.locationMore:hover           {background-color: #64643065;}
+
+/* Creature Wiki */
+div#creature-container  {position: relative; width: calc(100%  - 08px); height: 32px; left: 03px; top: 0px; padding-top: 3px; border-top: 3px double #a19100;}
+select.creatures        {position: absolute; width: calc(64%   - 10px); height: 20px; left: 24px; top: 9px; cursor:pointer; background-color: #2f2f2f;}
+select.variants         {position: absolute; width: calc(34.5% - 15px); height: 20px; left: calc(65% + 16px); top: 9px; cursor:pointer; background-color: #2f2f2f;}
+div.creature-wiki       {position: absolute; width: 24px; height: 24px; left: -2px; top: 5px; cursor:pointer; text-align: left; background: transparent url("../../images/ui/default/wikipedia.png") 0px 0px / cover;}
+div.creature-wiki:hover {background-position: 0px -24px;}
+
+/* Creature Wiki Preview */
+div.preview-creature-wiki                           {position: absolute; width: calc(100% - 6px); height: 178px; left: 0px; top: -42px; z-index: 11; visibility: hidden; border: 2px ridge #a19100; background: url("../../images/ui/default/background.png"); text-align: left;}
+div.preview-creature-wiki div.image-container       {position: absolute; width: 50%; height: 50%; left: 0px; top: 0px; border-top: 1px solid #a19100; border-right: 1px ridge #a19100;}
+div.preview-creature-wiki div.stats                 {position: absolute; width: 50%; height: 50%; left: 50%; top: 0px; font-size: 12px; text-align: center; border-top: 1px solid #a19100;}
+div.preview-creature-wiki div.exp                   {position: absolute; width: 50%; height: 50%; left: 0px; top: 50%; font-size: 12px; text-align: center; border-top: 3px double #a19100; border-right: 1px ridge #a19100; padding-top: -1px;}
+div.preview-creature-wiki div.max-hits              {position: absolute; width: 50%; height: 50%; left: 50%; top: 50%; font-size: 12px; text-align: center; border-top: 3px double #a19100; padding-top: -1px;}
+div.preview-creature-wiki img.image                 {display: block; margin-left: auto; margin-right: auto; background-color: transparent;}
+div.preview-creature-wiki div.image-container:hover {background-color: #64643065;}
+div.preview-creature-wiki div.stats:hover           {background-color: #64643065;}
+div.preview-creature-wiki div.exp:hover             {background-color: #64643065;}
+div.preview-creature-wiki div.max-hits:hover        {background-color: #64643065;}
+div.left div.preview-creature-wiki                  {left: -2px;}
+div.right div.preview-creature-wiki                 {left: 3px;}
+
+/* Summary */
+div.summary       {position: relative; width: calc(100% - 8px); height: 75px; left: 5px; top: 0px; padding-top: 3px; font-size: 12px; text-align: center; border-top: 3px double #a19100;}
+div.summary:hover {background-color: #324e6165;}
+
+div.summary div.weaknessBox     {position: absolute; width: 048%; height: 35px; left: 50%; top: 5px; font-size: 12px; text-align: center;}
+div.summary div.weaknessBox img {position: relative; width: 18px; height: 18px; padding: 0px 3px 0px 3px;}
+div.summary div.weaknessBox p#weakness-text {margin: 0px; padding: 0px;}
+
+div.summary div.susceptibleBox     {position: absolute; width: 048%; height: 35px; left: 50%; top: 40px; font-size: 12px; text-align: center;}
+div.summary div.susceptibleBox img {position: relative; width: 18px; height: 18px; padding: 0px 3px 0px 3px;}
+div.summary div.susceptibleBox p#susceptible-text {margin: 0px; padding: 0px;}
+
+/* Third Sections */
+img.first-third-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 10px;}
+img.second-third-image {position: absolute; width: 15px; height: 15px; left: 5px; top: 28px;}
+img.third-third-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 43px;}
+
+.first-third  {position: absolute; width: 50%; height: 12px; left: 25px; top: 10px; font-size: 10px; text-align: left;}
+.second-third {position: absolute; width: 50%; height: 12px; left: 25px; top: 28px; font-size: 10px; text-align: left;}
+.third-third  {position: absolute; width: 50%; height: 12px; left: 25px; top: 46px; font-size: 10px; text-align: left;}
+
+/* Quarter Sections */
+img.first-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 8px;}
+img.second-quarter-image {position: absolute; width: 15px; height: 15px; left: 5px; top: 23px;}
+img.third-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 38px;}
+img.forth-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 53px;}
+img.fifth-quarter-image  {position: absolute; width: 15px; height: 15px; left: 5px; top: 68px;}
+
+.first-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 10px; font-size: 10px; text-align: left;}
+.second-quarter {position: absolute; width: 50%; height: 12px; left: 25px; top: 26px; font-size: 10px; text-align: left;}
+.third-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 40px; font-size: 10px; text-align: left;}
+.forth-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 55px; font-size: 10px; text-align: left;}
+.fifth-quarter  {position: absolute; width: 50%; height: 12px; left: 25px; top: 70px; font-size: 10px; text-align: left;}
\ No newline at end of file
diff --git a/src/styles/default/settings.css b/src/styles/default/settings.css
new file mode 100644 (file)
index 0000000..e906e8e
--- /dev/null
@@ -0,0 +1,23 @@
+/* Global Settings */
+.nis     {background: url("../../images/ui/default/background.png");}
+.nistext {color: #E5E6EB;}
+a        {color: #ffffff; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+a:hover  {color: #a19100; text-decoration: underline; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* Buttons */
+.nisbutton         {position: relative; width: auto; height: 32px; cursor: pointer; text-align: center; color: #000000; font-family: 'trajan-pro-3'; font-size: 18px; text-shadow: 1px 1px 2px #ECC622; margin: 5px; padding: 0px 12px; line-height: 32px; user-select: none; -webkit-user-select: none; background: url('../../images/ui/default/nisbutton.png') 0px -100%/24px 400% repeat content-box;}
+.nisbutton::before {position: absolute; width: 12px; height: 100%; top: 0px; left: 00px; content: ""; background: url('../../images/ui/default/nisbutton.png') 0px 0px / 24px 400%;}
+.nisbutton::after  {position: absolute; width: 12px; height: 100%; top: 0px; right: 1px; content: ""; background: url('../../images/ui/default/nisbutton.png') -12px 0px / 24px 400%;}
+.nisbutton:hover         {background-position: 000px -300%;}
+.nisbutton:hover::before {background-position: 000px -200%;}
+.nisbutton:hover::after  {background-position: -12px -200%;}
+.nisbutton:active, .nisbutton.fakeactive{-webkit-filter: brightness(1.2); filter: brightness(1.2);}
+
+/* Main Settings */
+body{font-family:sans-serif; font-size:14px; overflow-x:hidden; margin: 10px; width: calc(100% - 10px)}
+h2{border-top:1px solid #000; font-weight:normal;}
+h2:first-child{margin-top:5px;}
+table{margin:auto;}
+
+/* Credits */
+#copyright {font-size: 10px; color: #5a6400; text-align:center; padding-top: 3px; height:20px; width: calc(100% - 10px);}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644 (file)
index 0000000..04af310
--- /dev/null
@@ -0,0 +1,9 @@
+// Typescript configuration file
+{
+       "compilerOptions": {
+               // Settings to make typescript play nice with webpack
+               "resolvePackageJsonExports": true,
+               "moduleResolution": "bundler",
+               "module": "ESNext",
+       }
+}
\ No newline at end of file
diff --git a/webpack.config.js b/webpack.config.js
new file mode 100644 (file)
index 0000000..fddd88f
--- /dev/null
@@ -0,0 +1,59 @@
+const path = require("path");
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+
+/**
+ * @type {import("webpack").Configuration}
+ */
+module.exports = {
+    //tell webpack where to look for source files
+    context: path.resolve(__dirname, "src"),
+    entry: {
+        //each entrypoint results in an output file
+        //so this results in an output file called 'main.js' which is built from src/index.ts
+        "main": "./index.ts"
+    },
+    output: {
+        path: path.resolve(__dirname, "dist"),
+        // library means that the exports from the entry file can be accessed from outside, in this case from the global scope as window.TestApp
+        library: { type: "umd", name: "SlayerAssistant" }
+    },
+    devtool: 'source-map',
+    mode: "development",
+    // prevent webpack from bundling these imports (alt1 libs can use them when running in nodejs)
+    externals: [
+        "sharp",
+        "canvas",
+        "electron/common"
+    ],
+    resolve: {
+        extensions: [".wasm", ".tsx", ".ts", ".mjs", ".jsx", ".js"]
+    },
+    module: {
+        // The rules section tells webpack what to do with different file types when you import them from js/ts
+        rules: [
+            { test: /\.tsx?$/, loader: "ts-loader" },
+            { test: /\.css$/, use: ["style-loader", "css-loader"] },
+            { test: /\.scss$/, use: ["style-loader", "css-loader", "sass-loader"] },
+            // type:"asset" means that webpack copies the file and gives you an url to them when you import them from js
+            { test: /\.(png|jpg|jpeg|gif|webp)$/, type: "asset/resource", generator: { filename: "[base]" } },
+            { test: /\.(html|json)$/, type: "asset/resource", generator: { filename: "[base]" } },
+            // file types useful for writing alt1 apps, make sure these two loader come after any other json or png loaders, otherwise they will be ignored
+            { test: /\.data\.png$/, loader: "alt1/imagedata-loader", type: "javascript/auto" },
+            { test: /\.fontmeta.json/, loader: "alt1/font-loader" }
+        ]
+    },
+    plugins: [
+        new CopyWebpackPlugin({
+            patterns: [
+                { from: 'index.html', to: 'index.html' },
+                { from: 'dev-appconfig.json', to: 'appconfig.json' },
+                // Folders we need
+                { from: 'data', to: 'data' },
+                //{ from: 'modules', to: 'modules' },
+                { from: 'images', to: 'images', globOptions: { ignore: ['**/data/**'] } },
+                { from: 'styles', to: 'styles' },
+                { from: 'pages', to: 'pages' }
+            ]
+        })
+    ]
+}
\ No newline at end of file