#pragma once
#include <string_view>
#include <vector>

using string_view = std::string_view;

extern string_view openRandomize;
extern string_view worldRandomize;
extern string_view shuffleRandomize;
extern string_view dungeonRandomize;

extern string_view logicGlitchless;
extern string_view logicGlitched;
extern string_view logicNoLogic;
extern string_view logicVanilla;

extern string_view forestOpen;
extern string_view forestClosed;
extern string_view forestClosedDeku;

extern string_view kakGateOpen;
extern string_view kakGateClosed;

extern string_view doorOfTimeOpen;
extern string_view doorOfTimeSongOnly;
extern string_view doorOfTimeClosed;

extern string_view fountainNormal;
extern string_view fountainAdult;
extern string_view fountainOpen;

extern string_view gerudoNormal;
extern string_view gerudoFast;
extern string_view gerudoOpen;

extern string_view bridgeOpen;
extern string_view bridgeVanilla;
extern string_view bridgeStones;
extern string_view bridgeMedallions;
extern string_view bridgeRewards;
extern string_view bridgeDungeons;
extern string_view bridgeTokens;
extern string_view bridgeGreg;

extern string_view bridgeStoneCountDesc;
extern string_view bridgeMedallionCountDesc;
extern string_view bridgeRewardCountDesc;
extern string_view bridgeDungeonCountDesc;
extern string_view bridgeTokenCountDesc;

extern string_view randomGanonsTrialsDesc;

extern string_view ganonsTrialCountDesc;

extern string_view ageDesc;

extern string_view shuffleEntrancesDesc;

extern string_view dungeonEntrancesDesc;

extern string_view bossEntrancesDesc;

extern string_view overworldEntrancesDesc;

extern string_view grottoEntrancesDesc;

extern string_view owlDropsDesc;

extern string_view warpSongsDesc;

extern string_view overworldSpawnsDesc;

extern string_view mixedPoolsDesc;
extern string_view mixDungeonsDesc;
extern string_view mixOverworldDesc;
extern string_view mixInteriorsDesc;
extern string_view mixGrottosDesc;

extern string_view decoupledEntrancesDesc;

extern string_view interiorEntrancesOff;
extern string_view interiorEntrancesSimple;
extern string_view interiorEntrancesAll;

extern string_view bombchuLogicDesc;

extern string_view defaultAmmoDropsDesc;
extern string_view bombchuDropsDesc;
extern string_view noAmmoDropsDesc;

extern string_view defaultHeartDropsDesc;
extern string_view noHeartDropsDesc;
extern string_view noHeartRefillDesc;
extern string_view scarceHeartsDesc;

extern string_view mqDungeonCountDesc;
extern string_view setDungeonTypesDesc;

extern string_view shuffleRewardsEndOfDungeon;
extern string_view shuffleRewardsAnyDungeon;
extern string_view shuffleRewardsOverworld;
extern string_view shuffleRewardsAnywhere;

extern string_view linksPocketDungeonReward;
extern string_view linksPocketAdvancement;
extern string_view linksPocketAnything;
extern string_view linksPocketNothing;

extern string_view songsSongLocations;
extern string_view songsDungeonRewards;
extern string_view songsAllLocations;

extern string_view shopsOff;
extern string_view shopsZero;
extern string_view shopsOne;
extern string_view shopsTwo;
extern string_view shopsThree;
extern string_view shopsFour;
extern string_view shopsRandom;

extern string_view tokensOff;
extern string_view tokensDungeon;
extern string_view tokensOverworld;
extern string_view tokensAllTokens;

extern string_view scrubsOff;
extern string_view scrubsAffordable;
extern string_view scrubsExpensive;
extern string_view scrubsRandomPrices;

extern string_view shuffleCowsDesc;

extern string_view kokiriSwordDesc;

extern string_view ocarinasDesc;

extern string_view weirdEggDesc;

extern string_view gerudoTokenDesc;

extern string_view magicBeansDesc;

extern string_view merchantsDesc;
extern string_view merchantsHintsDesc;

extern string_view frogSongRupeesDesc;

extern string_view adultTradeDesc;

extern string_view chestMinigameDesc;

extern string_view shuffle100GsDesc;

extern string_view mapCompassStartWith;
extern string_view mapCompassVanilla;
extern string_view mapCompassOwnDungeon;
extern string_view mapCompassAnyDungeon;
extern string_view mapCompassOverworld;
extern string_view mapCompassAnywhere;

extern string_view smallKeyStartWith;
extern string_view smallKeyVanilla;
extern string_view smallKeyOwnDungeon;
extern string_view smallKeyAnyDungeon;
extern string_view smallKeyOverworld;
extern string_view smallKeyAnywhere;

extern string_view gerudoKeysVanilla;
extern string_view gerudoKeysAnyDungeon;
extern string_view gerudoKeysOverworld;
extern string_view gerudoKeysAnywhere;

extern string_view keyRingDesc;

extern string_view bossKeyStartWith;
extern string_view bossKeyVanilla;
extern string_view bossKeyOwnDungeon;
extern string_view bossKeyAnyDungeon;
extern string_view bossKeyOverworld;
extern string_view bossKeyAnywhere;

extern string_view ganonKeyStartWith;
extern string_view ganonKeyVanilla;
extern string_view ganonKeyOwnDungeon;
extern string_view ganonKeyAnyDungeon;
extern string_view ganonKeyOverworld;
extern string_view ganonKeyAnywhere;
extern string_view ganonKeyLACS;
extern string_view ganonKey100GS;

extern string_view lacsMedallionCountDesc;
extern string_view lacsStoneCountDesc;
extern string_view lacsRewardCountDesc;
extern string_view lacsDungeonCountDesc;
extern string_view lacsTokenCountDesc;

extern string_view childStealthDesc;

extern string_view skipTowerEscapeDesc;

extern string_view skipEponaRaceDesc;

extern string_view skipMinigamePhasesDesc;

extern string_view freeScarecrowDesc;

extern string_view fourPoesDesc;

extern string_view lakeHyliaOwlDesc;

extern string_view bigPoeTargetCountDesc;

extern string_view numRequiredCuccosDesc;

extern string_view kingZoraSpeedFast;
extern string_view kingZoraSpeedVanilla;
extern string_view kingZoraSpeedRandom;

extern string_view completeMaskDesc;

extern string_view glitchCutscenesDesc;

extern string_view quickTextDesc0;
extern string_view quickTextDesc1;
extern string_view quickTextDesc2;
extern string_view quickTextDesc3;
extern string_view skipSongReplaysDesc;

extern string_view keepFWWarpPointDesc;

extern string_view fastBunnyHoodDesc;

extern string_view gossipStonesHintsDesc;

extern string_view obscureHintsDesc;
extern string_view ambiguousHintsDesc;
extern string_view clearHintsDesc;

extern string_view uselessHintsDesc;
extern string_view balancedHintsDesc;
extern string_view strongHintsDesc;
extern string_view veryStrongHintsDesc;

extern string_view compassesShowRewardsDesc;
extern string_view compassesShowWotHDesc;
extern string_view mapsShowDungeonModesDesc;

extern string_view damageMultiDesc;

extern string_view startingTimeDesc;

extern string_view locationsReachableDesc;
extern string_view nightGSDesc;

extern string_view chestAnimDesc;

extern string_view chestSizeDesc;

extern string_view ingameSpoilersShowDesc;
extern string_view ingameSpoilersHideDesc;

extern string_view menuButtonDesc;

extern string_view startWithConsumablesDesc;

extern string_view startWithMaxRupeesDesc;

extern string_view itemPoolPlentiful;
extern string_view itemPoolBalanced;
extern string_view itemPoolScarce;
extern string_view itemPoolMinimal;

extern string_view iceTrapsOff;
extern string_view iceTrapsNormal;
extern string_view iceTrapsExtra;
extern string_view iceTrapsMayhem;
extern string_view iceTrapsOnslaught;

extern string_view removeDDDesc;

extern string_view progGoronSword;

extern string_view faroresWindAnywhereDesc;

extern string_view ageRestrictionsDesc;
extern string_view adultStickDesc;
extern string_view adultBoomerangDesc;
extern string_view childHammerDesc;
extern string_view adultSlingshotDesc;
extern string_view childBowDesc;
extern string_view childHookshotDesc;
extern string_view childIronBootsDesc;
extern string_view childHoverBootsDesc;
extern string_view adultMasksDesc;
extern string_view adultKokiriSwordDesc;
extern string_view childMasterSwordDesc;
extern string_view childBiggoronSwordDesc;
extern string_view adultDekuShieldDesc;
extern string_view childMirrorShieldDesc;
extern string_view childGoronTunicDesc;
extern string_view childZoraTunicDesc;

extern string_view gkDurabilityVanilla;
extern string_view gkDurabilityRandomRisk;
extern string_view gkDurabilityRandomSafe;

extern string_view blueFireArrowsDesc;
extern string_view sunlightArrowsDesc;

extern string_view mp_EnabledDesc;
extern string_view mp_SharedProgressDesc;
extern string_view mp_SyncIdDesc;
extern string_view mp_SharedHealthDesc;
extern string_view mp_SharedRupeesDesc;
extern string_view mp_SharedAmmoDesc;

extern string_view zTargetingDesc;
extern string_view cameraControlDesc;
extern string_view motionControlDesc;
extern string_view togglePlayMusicDesc;
extern string_view togglePlaySFXDesc;
extern string_view silenceNaviDesc;
extern string_view ignoreMaskReactionDesc;

extern string_view naviColorsDesc;
extern string_view necessarySimpleModeDesc;
extern string_view alwaysSimpleModeDesc;

extern string_view coloredKeysDesc;
extern string_view coloredBossKeysDesc;

extern string_view mirrorWorldDesc;

extern string_view musicRandoDesc;
extern string_view shuffleBGMDesc;
extern string_view fanfaresOffDesc;
extern string_view onlyFanfaresDesc;
extern string_view fanfaresOcarinaDesc;
extern string_view shuffleOcaMusicDesc;

extern string_view shuffleSFXOff;
extern string_view shuffleSFXAll;
extern string_view shuffleSFXSceneSpecific;
extern string_view shuffleSFXChaos;
extern string_view shuffleSFXCategorically;

extern string_view randomTrapDmgDesc;
extern string_view basicTrapDmgDesc;
extern string_view advancedTrapDmgDesc;

extern string_view ToggleAllTricksDesc;

extern string_view ToggleLogicNoneDesc;
extern string_view ToggleLogicNoviceDesc;
extern string_view ToggleLogicIntermediateDesc;
extern string_view ToggleLogicExpertDesc;
extern string_view LogicGrottosWithoutAgonyDesc;
extern string_view LogicVisibleCollisionDesc;
extern string_view LogicFewerTunicRequirementsDesc;
extern string_view LogicLostWoodsGSBeanDesc;
extern string_view LogicLabDivingDesc;
extern string_view LogicLabWallGSDesc;
extern string_view LogicGraveyardPoHDesc;
extern string_view LogicChildDampeRacePoHDesc;
extern string_view LogicGVHammerChestDesc;
extern string_view LogicGerudoKitchenDesc;
extern string_view LogicLensWastelandDesc;
extern string_view LogicReverseWastelandDesc;
extern string_view LogicColossusGSDesc;
extern string_view LogicOutsideGanonsGSDesc;
extern string_view LogicManOnRoofDesc;
extern string_view LogicWindmillPoHHookshotDesc;
extern string_view LogicDMTBombableDesc;
extern string_view LogicDMTSoilGSDesc;
extern string_view LogicDMTSummitHoverDesc;
extern string_view LogicLinkGoronDinsDesc;
extern string_view LogicGoronCityLeftMostDesc;
extern string_view LogicGoronCityPotDesc;
extern string_view LogicGoronCityPotWithStrengthDesc;
extern string_view LogicChildRollingWithStrengthDesc;
extern string_view LogicCraterUpperToLowerDesc;
extern string_view LogicCraterBeanPoHWithHoversDesc;
extern string_view LogicBiggoronBoleroDesc;
extern string_view LogicZoraRiverLowerDesc;
extern string_view LogicZoraRiverUpperDesc;
extern string_view LogicZFGreatFairyDesc;
extern string_view LogicDekuB1WebsWithBowDesc;
extern string_view LogicDekuB1SkipDesc;
extern string_view LogicDekuBasementGSDesc;
extern string_view LogicDCStaircaseDesc;
extern string_view LogicDCJumpDesc;
extern string_view LogicDCSlingshotSkipDesc;
extern string_view LogicDCScarecrowGSDesc;
extern string_view LogicJabuBossGSAdultDesc;
extern string_view LogicJabuScrubJumpDiveDesc;
extern string_view LogicForestOutsideBackdoorDesc;
extern string_view LogicForestDoorFrameDesc;
extern string_view LogicForestOutdoorEastGSDesc;
extern string_view LogicFireBossDoorJumpDesc;
extern string_view LogicFireStrengthDesc;
extern string_view LogicFireScarecrowDesc;
extern string_view LogicFireFlameMazeDesc;
extern string_view LogicFireSongOfTimeDesc;
extern string_view LogicWaterTempleTorchLongshotDesc;
extern string_view LogicWaterTempleUpperBoostDesc;
extern string_view LogicWaterCentralBowDesc;
extern string_view LogicWaterCentralGSFWDesc;
extern string_view LogicWaterCrackedWallNothingDesc;
extern string_view LogicWaterCrackedWallHoversDesc;
extern string_view LogicWaterBossKeyRegionDesc;
extern string_view LogicWaterBKJumpDiveDesc;
extern string_view LogicWaterNorthBasementLedgeJumpDesc;
extern string_view LogicWaterDragonAdultDesc;
extern string_view LogicWaterDragonJumpDiveDesc;
extern string_view LogicWaterRiverGSDesc;
extern string_view LogicWaterFallingPlatformGSDesc;
extern string_view LogicSpiritLowerAdultSwitchDesc;
extern string_view LogicSpiritChildBombchuDesc;
extern string_view LogicSpiritWallDesc;
extern string_view LogicSpiritLobbyGSDesc;
extern string_view LogicSpiritMapChestDesc;
extern string_view LogicSpiritSunChestDesc;
extern string_view LogicShadowFireArrowEntryDesc;
extern string_view LogicShadowUmbrellaDesc;
extern string_view LogicShadowFreestandingKeyDesc;
extern string_view LogicShadowStatueDesc;
extern string_view LogicChildDeadhandDesc;
extern string_view LogicGtgWithoutHookshotDesc;
extern string_view LogicGtgFakeWallDesc;
extern string_view LogicLensSpiritDesc;
extern string_view LogicLensShadowDesc;
extern string_view LogicLensShadowBackDesc;
extern string_view LogicLensBotwDesc;
extern string_view LogicLensGtgDesc;
extern string_view LogicLensCastleDesc;
extern string_view LogicLensJabuMQDesc;
extern string_view LogicLensSpiritMQDesc;
extern string_view LogicLensShadowMQDesc;
extern string_view LogicLensShadowMQBackDesc;
extern string_view LogicLensBotwMQDesc;
extern string_view LogicLensGtgMQDesc;
extern string_view LogicLensCastleMQDesc;
extern string_view LogicSpiritTrialHookshotDesc;
extern string_view LogicFlamingChestsDesc;

extern const std::vector<string_view> GlitchDifficulties;

extern string_view GlitchRestrictedItemsDescDisabled;
extern string_view GlitchRestrictedItemsDescNovice;

extern string_view GlitchSuperStabDescDisabled;
extern string_view GlitchSuperStabDescNovice;

extern string_view GlitchISGDescDisabled;
extern string_view GlitchISGDescNovice;
extern string_view GlitchISGDescIntermediate;
extern string_view GlitchISGDescAdvanced;

extern string_view GlitchHoverDescDisabled;
extern string_view GlitchHoverDescNovice;
extern string_view GlitchHoverDescIntermediate;
extern string_view GlitchHoverDescAdvanced;

extern string_view GlitchBombOIDescDisabled;
extern string_view GlitchBombOIDescNovice;
extern string_view GlitchBombOIDescIntermediate;
extern string_view GlitchBombOIDescAdvanced;
extern string_view GlitchBombOIDescExpert;

extern string_view GlitchHoverBoostDescDisabled;
extern string_view GlitchHoverBoostDescNovice;
extern string_view GlitchHoverBoostDescIntermediate;
extern string_view GlitchHoverBoostDescAdvanced;

extern string_view GlitchSuperSlideDescDisabled;
extern string_view GlitchSuperSlideDescNovice;
extern string_view GlitchSuperSlideDescIntermediate;
extern string_view GlitchSuperSlideDescAdvanced;
extern string_view GlitchSuperSlideDescExpert;

extern string_view GlitchMegaflipDescDisabled;
extern string_view GlitchMegaflipDescNovice;
extern string_view GlitchMegaflipDescIntermediate;
extern string_view GlitchMegaflipDescAdvanced;
extern string_view GlitchMegaflipDescExpert;
extern string_view GlitchMegaflipDescHero;

extern string_view GlitchASlideDescDisabled;
extern string_view GlitchASlideDescNovice;
extern string_view GlitchASlideDescIntermediate;
extern string_view GlitchASlideDescAdvanced;
extern string_view GlitchASlideDescExpert;

extern string_view GlitchHammerSlideDescDisabled;
extern string_view GlitchHammerSlideDescNovice;
extern string_view GlitchHammerSlideDescIntermediate;

extern string_view GlitchLedgeCancelDescDisabled;
extern string_view GlitchLedgeCancelDescNovice;
extern string_view GlitchLedgeCancelDescIntermediate;
extern string_view GlitchLedgeCancelDescAdvanced;

extern string_view GlitchActionSwapDescDisabled;
extern string_view GlitchActionSwapDescNovice;
extern string_view GlitchActionSwapDescAdvanced;

extern string_view GlitchQPADescDisabled;
extern string_view GlitchQPADescNovice;
extern string_view GlitchQPADescIntermediate;
extern string_view GlitchQPADescAdvanced;
extern string_view GlitchQPADescExpert;

extern string_view GlitchHookshotClipDescDisabled;
extern string_view GlitchHookshotClipDescNovice;
extern string_view GlitchHookshotClipDescIntermediate;

extern string_view GlitchHookshotJump_BonkDescDisabled;
extern string_view GlitchHookshotJump_BonkDescNovice;
extern string_view GlitchHookshotJump_BonkDescIntermediate;
extern string_view GlitchHookshotJump_BonkDescAdvanced;

extern string_view GlitchHookshotJump_BootsDescDisabled;
extern string_view GlitchHookshotJump_BootsDescNovice;
extern string_view GlitchHookshotJump_BootsDescIntermediate;
extern string_view GlitchHookshotJump_BootsDescAdvanced;

extern string_view GlitchCutsceneDiveDescDisabled;
extern string_view GlitchCutsceneDiveDescNovice;
extern string_view GlitchCutsceneDiveDescIntermediate;
extern string_view GlitchCutsceneDiveDescAdvanced;

extern string_view GlitchNaviDive_StickDescDisabled;
extern string_view GlitchNaviDive_StickDescNovice;
extern string_view GlitchNaviDive_StickDescIntermediate;
extern string_view GlitchNaviDive_StickDescAdvanced;

extern string_view GlitchTripleSlashClipDescDisabled;
extern string_view GlitchTripleSlashClipDescNovice;
extern string_view GlitchTripleSlashClipDescIntermediate;
extern string_view GlitchTripleSlashClipDescAdvanced;
extern string_view GlitchTripleSlashClipDescExpert;

extern string_view GlitchLedgeClipDescDisabled;
extern string_view GlitchLedgeClipDescNovice;
extern string_view GlitchLedgeClipDescIntermediate;
extern string_view GlitchLedgeClipDescAdvanced;

extern string_view GlitchSeamWalkDescDisabled;
extern string_view GlitchSeamWalkDescNovice;
extern string_view GlitchSeamWalkDescIntermediate;
extern string_view GlitchSeamWalkDescAdvanced;
extern string_view GlitchSeamWalkDescExpert;
extern string_view GlitchSeamWalkDescHero;

extern string_view GlitchWWTEscapeDesc;
extern string_view GlitchGVTentAsChildDesc;
extern string_view GlitchGFGuardSneakDesc;
extern string_view GlitchItemlessWastelandDesc;
extern string_view GlitchOccamsStatueDesc;
extern string_view GlitchZDOoBJumpSlashDesc;
extern string_view GlitchJabuStickRecoilDesc;
extern string_view GlitchJabuAdultDesc;
extern string_view GlitchBlueFireWallDesc;
extern string_view GlitchClassicHalfieDesc;
extern string_view GlitchModernHalfieDesc;
extern string_view GlitchJabuSwitchDesc;
extern string_view GlitchForestBKSkipDesc;
extern string_view GlitchFireGrunzClipDesc;
