@flesh-and-blood/search 3.6.71 → 3.6.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/filters.d.ts CHANGED
@@ -9,13 +9,11 @@ export interface AppliedFilter {
9
9
  isOptional?: boolean;
10
10
  cardTypes?: string[];
11
11
  }
12
- export type Filter = "art" | "artist" | "attack" | "banned" | "b" | "block" | "c" | "class" | "chain" | "co" | "cost" | "color" | "d" | "def" | "defense" | "f" | "fusion" | "foil" | "foiling" | "hero" | "i" | "intellect" | "k" | "keyword" | "l" | "legal" | "li" | "life" | "name" | "p" | "pitch" | "pwr" | "pow" | "power" | "r" | "rarity" | "referencedby" | "references" | "s" | "set" | "shortand" | "shortands" | "sp" | "specialization" | "specializations" | "st" | "subtype" | "text" | "t" | "type" | "tal" | "talent" | "text" | "treatment" | "variation" | "x";
12
+ export type Filter = "art" | "artist" | "attack" | "banned" | "b" | "block" | "c" | "class" | "chain" | "co" | "cost" | "color" | "d" | "def" | "defense" | "f" | "fusion" | "foil" | "foiling" | "hero" | "i" | "intellect" | "k" | "keyword" | "l" | "legal" | "li" | "life" | "name" | "p" | "pitch" | "pwr" | "pow" | "power" | "r" | "rarity" | "referencedby" | "references" | "s" | "set" | "sp" | "specialization" | "specializations" | "st" | "subtype" | "text" | "t" | "type" | "tal" | "talent" | "text" | "treatment" | "variation" | "x";
13
13
  export type Modifier = ">=" | ">" | "<=" | "<";
14
14
  export declare const availableModifiers: Modifier[];
15
15
  export type Exclusion = "!" | "-";
16
16
  export declare const availableExclusions: Exclusion[];
17
- export type Optional = "#";
18
- export declare const availableOptionals: Optional[];
19
17
  export interface FilterToPropertyMapping {
20
18
  nestedProperty?: string;
21
19
  property: string;
@@ -26,7 +24,6 @@ export interface FilterToPropertyMapping {
26
24
  isString?: boolean;
27
25
  isBoolean?: boolean;
28
26
  isMeta?: boolean;
29
- optional?: Optional;
30
27
  modifier?: Modifier;
31
28
  partialMatch?: boolean;
32
29
  specialProperty?: string;
@@ -82,8 +79,6 @@ export declare const filtersToCardPropertyMappings: {
82
79
  rf: FilterToPropertyMapping;
83
80
  s: FilterToPropertyMapping;
84
81
  set: FilterToPropertyMapping;
85
- short: FilterToPropertyMapping;
86
- shorthand: FilterToPropertyMapping;
87
82
  sp: FilterToPropertyMapping;
88
83
  spec: FilterToPropertyMapping;
89
84
  specialization: FilterToPropertyMapping;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var Yt=Object.create;var he=Object.defineProperty,Xt=Object.defineProperties,Zt=Object.getOwnPropertyDescriptor,Qt=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertyNames,vr=Object.getOwnPropertySymbols,ea=Object.getPrototypeOf,Ar=Object.prototype.hasOwnProperty,ra=Object.prototype.propertyIsEnumerable;var br=(e,r,t)=>r in e?he(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,j=(e,r)=>{for(var t in r||(r={}))Ar.call(r,t)&&br(e,t,r[t]);if(vr)for(var t of vr(r))ra.call(r,t)&&br(e,t,r[t]);return e},V=(e,r)=>Xt(e,Qt(r));var Dr=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ta=(e,r)=>{for(var t in r)he(e,t,{get:r[t],enumerable:!0})},Cr=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of qt(r))!Ar.call(e,i)&&i!==t&&he(e,i,{get:()=>r[i],enumerable:!(a=Zt(r,i))||a.enumerable});return e};var Z=(e,r,t)=>(t=e!=null?Yt(ea(e)):{},Cr(r||!e||!e.__esModule?he(t,"default",{value:e,enumerable:!0}):t,e)),aa=e=>Cr(he({},"__esModule",{value:!0}),e);var Q=Dr((Bs,Xr)=>{var ve=Object.defineProperty,ia=Object.defineProperties,sa=Object.getOwnPropertyDescriptor,na=Object.getOwnPropertyDescriptors,oa=Object.getOwnPropertyNames,Br=Object.getOwnPropertySymbols,Fr=Object.prototype.hasOwnProperty,la=Object.prototype.propertyIsEnumerable,Mr=(e,r,t)=>r in e?ve(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,ca=(e,r)=>{for(var t in r||(r={}))Fr.call(r,t)&&Mr(e,t,r[t]);if(Br)for(var t of Br(r))la.call(r,t)&&Mr(e,t,r[t]);return e},da=(e,r)=>ia(e,na(r)),ua=(e,r)=>{for(var t in r)ve(e,t,{get:r[t],enumerable:!0})},ha=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of oa(r))!Fr.call(e,i)&&i!==t&&ve(e,i,{get:()=>r[i],enumerable:!(a=sa(r,i))||a.enumerable});return e},pa=e=>ha(ve({},"__esModule",{value:!0}),e),Er={};ua(Er,{Bond:()=>Lr,Class:()=>Sr,Flow:()=>Rr,Foiling:()=>Tr,Format:()=>Pr,Fusion:()=>Ir,Hero:()=>$r,Keyword:()=>jr,Language:()=>Ur,Meta:()=>zr,Metatype:()=>Gr,Rarity:()=>wr,Release:()=>Or,ReleaseEdition:()=>Nr,ReleaseType:()=>Jr,Subtype:()=>Wr,Talent:()=>Hr,Trait:()=>_r,Treatment:()=>xr,Type:()=>Kr,coreSetIdentifiers:()=>Ma,fullSetIdentifiers:()=>He,getCanAddToDeck:()=>ma,getCanCardBeTokenForDeck:()=>ya,getCardIdentifier:()=>fa,getDefaultPrinting:()=>Na,getIsArenaCard:()=>Vr,getIsBooster:()=>ba,getIsCardTokenForDeck:()=>be,getIsDeckCard:()=>Ne,getIsDraftable:()=>Da,getIsPreconstructed:()=>Ba,getIsReprint:()=>Aa,getPrint:()=>Ra,getShouldRotateCardImage:()=>ka,getSpecialPrinting:()=>za,orderedFullSetBlackBorderIdentifiers:()=>Pa,promoSetIdentifiers:()=>Ea,releases:()=>Ta,setIdentifierToSetMappings:()=>Yr,setToSetIdentifierMappings:()=>xa,supplementalSetIdentifiers:()=>Fa});Xr.exports=pa(Er);var Tr=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Tr||{}),xr=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.EA="Extended Art",e.FA="Full Art",e))(xr||{}),Sr=(e=>(e.NotClassed="NotClassed",e.Generic="Generic",e.Adjudicator="Adjudicator",e.Assassin="Assassin",e.Bard="Bard",e.Brute="Brute",e.Guardian="Guardian",e.Illusionist="Illusionist",e.Mechanologist="Mechanologist",e.Merchant="Merchant",e.Necromancer="Necromancer",e.Ninja="Ninja",e.Pirate="Pirate",e.Ranger="Ranger",e.Runeblade="Runeblade",e.Shapeshifter="Shapeshifter",e.Thief="Thief",e.Warrior="Warrior",e.Wizard="Wizard",e))(Sr||{}),Lr=(e=>(e.Earth="Earth",e))(Lr||{}),Rr=(e=>(e.Lightning="Lightning",e))(Rr||{}),Pr=(e=>(e.Blitz="Blitz",e.BlitzLivingLegend="Blitz (Living Legend)",e.Clash="Clash",e.ClassicConstructed="Classic Constructed",e.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",e.Commoner="Commoner",e.Draft="Draft",e.Open="Open",e.ProjectBlue="Project Blue",e.Sealed="Sealed",e.UltimatePitFight="Ultimate Pit Fight",e))(Pr||{}),Ir=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(Ir||{}),wr=(e=>(e.Basic="Basic",e.Token="Token",e.Common="Common",e.Rare="Rare",e.SuperRare="Super Rare",e.Majestic="Majestic",e.Marvel="Marvel",e.Legendary="Legendary",e.Fabled="Fabled",e.Promo="Promo",e))(wr||{}),zr=(e=>(e.Expansion="Expansion slot",e.Rainbow="Rainbow",e))(zr||{}),Or=(e=>(e.ArcaneRising="Arcane Rising",e.BrightLights="Bright Lights",e.CrucibleOfWar="Crucible of War",e.DuskTillDawn="Dusk till Dawn",e.Dynasty="Dynasty",e.Everfest="Everfest",e.HeavyHitters="Heavy Hitters",e.HighSeas="High Seas",e.HistoryPack1="History Pack 1",e.Monarch="Monarch",e.Outsiders="Outsiders",e.PartTheMistveil="Part the Mistveil",e.Rosetta="Rosetta",e.TalesOfAria="Tales of Aria",e.TheHunted="The Hunted",e.Uprising="Uprising",e.WelcomeToRathe="Welcome to Rathe",e.ArmoryDeckAurora="Armory Deck: Aurora",e.ArmoryDeckAzalea="Armory Deck: Azalea",e.ArmoryDeckBoltyn="Armory Deck: Boltyn",e.ArmoryDeckDash="Armory Deck: Dash",e.ArmoryDeckGravyBones="Armory Deck: Gravy Bones",e.ArmoryDeckIra="Armory Deck: Ira",e.ArmoryDeckKayo="Armory Deck: Kayo",e.ArmoryDeckMaxx="Armory Deck: Maxx",e.ArmoryDeckOriginsJarl="Armory Deck Origins: Jarl",e.ArmoryDeckLegendsPrism="Armory Deck Legends: Prism",e.ArmoryDeckLegendsViserai="Armory Deck Legends: Viserai",e.ArakniBlitzDeck="Arakni Blitz Deck",e.ArakniBlitzDeckARK="Arakni Hunted Blitz Deck",e.AuroraBlitzDeck="Aurora Blitz Deck",e.AzaleaBlitzDeck="Azalea Blitz Deck",e.BenjiBlitzDeck="Benji Blitz Deck",e.BetsyBlitzDeck="Betsy Blitz Deck",e.BoltynBlitzDeck="Boltyn Blitz Deck",e.BriarBlitzDeck="Briar Blitz Deck",e.ChaneBlitzDeck="Chane Blitz Deck",e.DromaiBlitzDeck="Dromai Blitz Deck",e.EnigmaBlitzDeck="Enigma Blitz Deck",e.FaiBlitzDeck="Fai Blitz Deck",e.FlorianBlitzDeck="Florian Blitz Deck",e.KassaiBlitzDeck="Kassai Blitz Deck",e.KatsuBlitzDeck="Katsu Blitz Deck",e.KayoBlitzDeck="Kayo Blitz Deck",e.LeviaBlitzDeck="Levia Blitz Deck",e.LexiBlitzDeck="Lexi Blitz Deck",e.NuuBlitzDeck="Nuu Blitz Deck",e.OldhimBlitzDeck="Oldhim Blitz Deck",e.OlympiaBlitzDeck="Olympia Blitz Deck",e.OscilioBlitzDeck="Oscilio Blitz Deck",e.PrismBlitzDeck="Prism Blitz Deck",e.RhinarBlitzDeck="Rhinar Blitz Deck",e.RiptideBlitzDeck="Riptide Blitz Deck",e.UzuriBlitzDeck="Uzuri Blitz Deck",e.VerdanceBlitzDeck="Verdance Blitz Deck",e.VictorBlitzDeck="Victor Blitz Deck",e.ZenBlitzDeck="Zen Blitz Deck",e.FirstStrikeAurora="1st Strike: Aurora",e.FirstStrikeTerra="1st Strike: Terra",e.BravoHeroDeck="Bravo Hero Deck",e.DorintheaHeroDeck="Dorinthea Hero Deck",e.KatsuHeroDeck="Katsu Hero Deck",e.RhinarHeroDeck="Rhinar Hero Deck",e.BravoDemoDeck="Bravo Demo Deck",e.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",e.MasteryPackGuardian="Mastery Pack: Guardian",e.IraWelcomeDeck="Ira Welcome Deck",e.RoundTheTable="Round the Table: TCC x LSS",e.GEM="GEM",e.Promos="Promos",e))(Or||{}),Nr=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(Nr||{}),Hr=(e=>(e.Chaos="Chaos",e.Draconic="Draconic",e.Earth="Earth",e.Elemental="Elemental",e.Ice="Ice",e.Light="Light",e.Lightning="Lightning",e.Mystic="Mystic",e.Royal="Royal",e.Shadow="Shadow",e))(Hr||{}),_r=(e=>(e.AgentOfChaos="Agent of Chaos",e))(_r||{}),Gr=(e=>(e.Arakni="Arakni",e.Scurv="Scurv",e.HighSeas="High Seas",e.Puffin="Puffin",e.Rosetta="Rosetta",e))(Gr||{}),Kr=(e=>(e.Action="Action",e.AttackReaction="Attack Reaction",e.Block="Block",e.Companion="Companion",e.DefenseReaction="Defense Reaction",e.DemiHero="Demi-Hero",e.Equipment="Equipment",e.Hero="Hero",e.Instant="Instant",e.Macro="Macro",e.Mentor="Mentor",e.Resource="Resource",e.Token="Token",e.Weapon="Weapon",e))(Kr||{}),Wr=(e=>(e.OneHanded="1H",e.TwoHanded="2H",e.Affliction="Affliction",e.Ally="Ally",e.Angel="Angel",e.Arms="Arms",e.Arrow="Arrow",e.Ash="Ash",e.Attack="Attack",e.Aura="Aura",e.Axe="Axe",e.Base="Base",e.Book="Book",e.Bow="Bow",e.Cannon="Cannon",e.Chest="Chest",e.Chi="Chi",e.Claw="Claw",e.Club="Club",e.Construct="Construct",e.Dagger="Dagger",e.Demon="Demon",e.Dragon="Dragon",e.Evo="Evo",e.Fiddle="Fiddle",e.Figment="Figment",e.Flail="Flail",e.Gem="Gem",e.Gun="Gun",e.Hammer="Hammer",e.Head="Head",e.Invocation="Invocation",e.Item="Item",e.Landmark="Landmark",e.Lute="Lute",e.Legs="Legs",e.NonAttack="Non-Attack",e.OffHand="Off-Hand",e.Orb="Orb",e.Pistol="Pistol",e.Polearm="Polearm",e.Quiver="Quiver",e.Rock="Rock",e.Shuriken="Shuriken",e.Scepter="Scepter",e.Scroll="Scroll",e.Scythe="Scythe",e.Song="Song",e.Staff="Staff",e.Sword="Sword",e.Trap="Trap",e.Wrench="Wrench",e.Young="Young",e))(Wr||{}),$r=(e=>(e.Arakni="Arakni",e.Aurora="Aurora",e.Azalea="Azalea",e.Benji="Benji",e.Betsy="Betsy",e.Blaze="Blaze",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Brutus="Brutus",e.Chane="Chane",e.Cindra="Cindra",e.Crackni="Crackni",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Enigma="Enigma",e.Fai="Fai",e.Fang="Fang",e.Florian="Florian",e.Genis="Genis",e.GravyBones="Gravy Bones",e.Ira="Ira",e.Iyslander="Iyslander",e.Jarl="Jarl",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Levia="Levia",e.Lexi="Lexi",e.Marlynn="Marlynn",e.Maxx="Maxx",e.Melody="Melody",e.Nuu="Nuu",e.Oldhim="Oldhim",e.Olympia="Olympia",e.Oscilio="Oscilio",e.Prism="Prism",e.Puffin="Puffin",e.Rhinar="Rhinar",e.Riptide="Riptide",e.Ruudi="Ruu'di",e.Shiyana="Shiyana",e.Slippy="Slippy",e.Squizzy="Squizzy",e.Scurv="Scurv",e.Starvo="Starvo",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Terra="Terra",e.Theryon="Theryon",e.Uzuri="Uzuri",e.Valda="Valda",e.Verdance="Verdance",e.Victor="Victor",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e.Zen="Zen",e))($r||{}),jr=(e=>(e.Ambush="Ambush",e.Amp="Amp",e.ArcaneBarrier="Arcane Barrier",e.ArcaneShelter="Arcane Shelter",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BeatChest="Beat Chest",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Bond="Bond",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Cloaked="Cloaked",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.Crush="Crush",e.Decompose="Decompose",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Flow="Flow",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.GoFish="Go Fish",e.Guardwell="Guardwell",e.Heave="Heave",e.Heavy="Heavy",e.HighTide="High Tide",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Mark="Mark",e.Material="Material",e.Meld="Meld",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Reload="Reload",e.Reprise="Reprise",e.Retrieve="Retrieve",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Steal="Steal",e.Stealth="Stealth",e.Surge="Surge",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Transcend="Transcend",e.Unlimited="Unlimited",e.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e.WateryGrave="Watery Grave",e))(jr||{}),fa=(e,r)=>{let{name:t,pitch:a}=e,i=t.trim().toLowerCase().replace("//","-").normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/ /g,"-").replace("\xF0","d").replace("\u0111","d").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),s="";switch(a){case"1":case 1:s=r?"-1":"-red";break;case"2":case 2:s=r?"-2":"-yellow";break;case"3":case 3:s=r?"-3":"-blue";break}return`${i}${s}`},Vr=({keywords:e,traits:r,types:t})=>{let a=Ne({keywords:e,traits:r,types:t}),i=be({keywords:e,traits:r,types:t}),s=["Companion","Demi-Hero","Equipment","Weapon"].some(o=>t.includes(o));return!a&&!i&&s},Ne=({keywords:e,traits:r,types:t})=>{let a=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(s=>t.includes(s)),i=be({keywords:e,traits:r,types:t});return a&&!i},be=({keywords:e,traits:r,types:t})=>{let a=!!r&&(r==null?void 0:r.includes("Agent of Chaos")),i=!!e&&e.includes("Ephemeral"),s=["Macro","Token"].some(o=>t.includes(o));return a||i||s},ga=["cracked-bauble-yellow","goldfin-harpoon"],ya=e=>{let r=ga.includes(e.cardIdentifier),t=be(e),a=e.isCardBack&&e.cardIdentifier!=="inner-chi-blue";return r||t||a},ma=({isCardBack:e,keywords:r,traits:t,types:a})=>{let i=Vr({keywords:r,traits:t,types:a}),s=Ne({keywords:r,traits:t,types:a});return!e&&(i||s)},ka=e=>{var r,t,a;let i=(r=e.keywords)==null?void 0:r.includes("Meld"),s=!((t=e.types)!=null&&t.includes("Macro"))&&((a=e.subtypes)==null?void 0:a.includes("Landmark"));return i||s},Ur=(e=>(e.English="English",e.French="Fran\xE7ais",e.German="Deutsch",e.Italian="Italiano",e.Japanese="\u65E5\u672C\u8A9E",e.Spanish="Espa\xF1ol",e))(Ur||{}),pe=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],ae=["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],Jr=(e=>(e.ArmoryDeck="Armory Deck",e.BlitzDeck="Blitz Deck",e.ClassicBattles="Classic Battles",e.ExpansionBooster="Expansion Booster",e.FirstStrike="1st Strike",e.HistoryPack="History Pack",e.MasteryPack="Mastery Pack",e.RoundTheTable="Round the Table",e.StandaloneBooster="Standalone Booster",e.WelcomeDeck="Welcome Deck",e))(Jr||{}),va=["Expansion Booster","Standalone Booster"],ba=e=>va.includes(e),Aa=e=>e==="History Pack",Da=e=>e==="Standalone Booster",Ca=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Welcome Deck"],Ba=e=>Ca.includes(e),Ma={wtr:"Welcome to Rathe",arc:"Arcane Rising",mon:"Monarch",ele:"Tales of Aria",upr:"Uprising",out:"Outsiders",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta"},Fa={cru:"Crucible of War",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",dyn:"Dynasty",dtd:"Dusk till Dawn"},Ea=["fab","her","jdg","lgs","lss","oxo","xxx","win"],Ta=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:pe,release:"Ira Welcome Deck",relatedReleases:[],releaseDate:"2019-08-31 12:00",releaseType:"Welcome Deck",setIdentifiers:["ira"],talents:[]},{cards:226,classes:["Brute","Guardian","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["bravo","dorinthea","katsu","rhinar"],picksPerPack:15},heroes:["Bravo","Dorinthea","Katsu","Rhinar"],languages:["English"],release:"Welcome to Rathe",relatedReleases:[],releaseDate:"2019-10-11 12:00",releaseType:"Standalone Booster",setIdentifiers:["wtr"],talents:[]},{cards:219,classes:["Mechanologist","Ranger","Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["azalea","dash","kano","viserai"],picksPerPack:15},heroes:["Azalea","Dash","Kano","Viserai"],languages:["English"],release:"Arcane Rising",relatedReleases:[],releaseDate:"2020-03-27 12:00",releaseType:"Standalone Booster",setIdentifiers:["arc"],talents:[]},{cards:194,classes:["Brute","Guardian","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Benji","Data Doll","Ira","Kassai","Kavdaen","Kayo","Shiyana"],languages:["English"],release:"Crucible of War",relatedReleases:[],releaseDate:"2020-08-28 12:00",releaseType:"Expansion Booster",setIdentifiers:["cru"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01G7FD2B3YQAMR8NJ4B3M58H96"}],heroes:["Boltyn"],languages:["English"],release:"Boltyn Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["bol"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7FDVRZP35DFWBRK64AG5TKQ"}],heroes:["Chane"],languages:["English"],release:"Chane Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["chn"],talents:["Shadow"]},{cards:40,classes:["Brute"],languages:["English"],deckLinks:[{url:"https://fabrary.net/decks/01G7B1T1D1M2DAM61K876VJBDK"}],heroes:["Levia"],release:"Levia Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["lev"],talents:["Shadow"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G7FCP2N7N0MNHWAH6JTP0KFN"}],heroes:["Prism"],languages:["English"],relatedReleases:[],releaseDate:"2021-05-07 12:00",release:"Prism Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["psm"],talents:["Light"]},{cards:307,classes:["Brute","Illusionist","Runeblade","Warrior"],deckLinks:[],draft:{heroIdentifiers:["boltyn","chane","levia","prism"],picksPerPack:15},heroes:["Boltyn","Chane","Levia","Prism"],languages:["English"],release:"Monarch",relatedReleases:["Boltyn Blitz Deck","Chane Blitz Deck","Levia Blitz Deck","Prism Blitz Deck"],releaseDate:"2021-05-07 12:00",releaseType:"Standalone Booster",setIdentifiers:["mon"],talents:["Light","Shadow"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7K4D304QQCZZSBT7ABCX4XC"}],heroes:["Briar"],languages:["English"],release:"Briar Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",talents:["Elemental","Earth","Lightning"],setIdentifiers:["bri"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01G7K3WGPVKVDXG2J013GXSXNP"}],heroes:["Lexi"],languages:["English"],release:"Lexi Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["lxi"],talents:["Elemental","Ice","Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01G7K464J7VS0K7HKW5E395TBK"}],heroes:["Oldhim"],languages:["English"],release:"Oldhim Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["old"],talents:["Elemental","Earth","Ice"]},{cards:238,classes:["Guardian","Ranger","Runeblade"],deckLinks:[],draft:{heroIdentifiers:["briar","lexi","oldhim"],picksPerPack:15},heroes:["Briar","Lexi","Oldhim"],languages:["English"],release:"Tales of Aria",relatedReleases:["Briar Blitz Deck","Lexi Blitz Deck","Oldhim Blitz Deck"],releaseDate:"2021-09-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["ele"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:198,classes:["Brute","Guardian","Illusionist","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Genis","Starvo","Valda"],languages:["English"],release:"Everfest",relatedReleases:[],releaseDate:"2022-02-04 12:00",releaseType:"Expansion Booster",setIdentifiers:["evr"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:423,classes:["Brute","Guardian","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Azalea","Benji","Bravo","Dash","Data Doll","Dorinthea","Ira","Kassai","Katsu","Kayo","Rhinar","Viserai","Kano"],languages:["English"],release:"History Pack 1",relatedReleases:[],releaseDate:"2022-05-06 12:00",releaseType:"History Pack",setIdentifiers:["1hp","hp1"],talents:[]},{cards:80,classes:["Brute","Warrior"],deckLinks:[{name:"Dorinthea",url:"https://fabrary.net/decks/01GA4WTNSD12YTQB4FY8EYYNG5"},{name:"Rhinar",url:"https://fabrary.net/decks/01GA4WZKX9VEWKKPX7Y7H3MG1F"}],heroes:["Dorinthea","Rhinar"],languages:["English"],release:"Classic Battles: Rhinar vs Dorinthea",relatedReleases:[],releaseDate:"2022-05-27 12:00",releaseType:"Classic Battles",setIdentifiers:["dvr","rvd"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G76H1R1ERRBRKS7RVCQAB8RX"}],heroes:["Dromai"],languages:["English"],relatedReleases:[],releaseDate:"2022-06-24 12:00",release:"Dromai Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["dro"],talents:["Draconic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01G76H7RG7GN5ZA10F3BJBH740"}],heroes:["Fai"],languages:["English"],release:"Fai Blitz Deck",relatedReleases:[],releaseDate:"2022-06-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["fai"],talents:["Draconic"]},{cards:226,classes:["Illusionist","Ninja","Wizard"],deckLinks:[],draft:{heroIdentifiers:["dromai","fai","iyslander"],picksPerPack:14},heroes:["Dromai","Fai","Iyslander"],languages:["English"],release:"Uprising",relatedReleases:["Dromai Blitz Deck","Fai Blitz Deck"],releaseDate:"2022-06-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["upr"],talents:["Draconic","Elemental","Ice"]},{cards:247,classes:["Assassin","Brute","Guardian","Illusionist","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Arakni","Emperor","Yoji"],languages:["English"],release:"Dynasty",relatedReleases:[],releaseDate:"2022-11-11 12:00",releaseType:"Expansion Booster",setIdentifiers:["dyn"],talents:["Royal"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW25PNWBW2FPDHRNTPSET0GT"}],heroes:["Arakni"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Arakni Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ara"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW26RNH1Q1J0S1VFXPN609S2"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Azalea Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["azl"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28622XSVAK7H9RXZVAVKM0"}],heroes:["Benji"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Benji Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ben"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28TF5FXFKJ5CGRNXB84CG6"}],heroes:["Katsu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Katsu Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["kat"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW29DPNZ3XVBJQHHFQHHHDGN"}],heroes:["Riptide"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Riptide Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["rip"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW2945GHPH2YSX3FTS7HCBT1"}],heroes:["Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Uzuri Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["uzu"],talents:[]},{cards:239,classes:["Assassin","Ranger","Ninja"],deckLinks:[],draft:{heroIdentifiers:["arakni-solitary-confinement","azalea","benji-the-piercing-wind","katsu","riptide","uzuri"],picksPerPack:14},heroes:["Arakni","Azalea","Benji","Katsu","Riptide","Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Outsiders",relatedReleases:["Arakni Blitz Deck","Azalea Blitz Deck","Benji Blitz Deck","Katsu Blitz Deck","Riptide Blitz Deck","Uzuri Blitz Deck"],releaseDate:"2023-03-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["out"],talents:[]},{cards:236,classes:["Illusionist","Runeblade","Warrior","Brute"],deckLinks:[],heroes:["Prism","Vynnset","Boltyn","Levia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Dusk till Dawn",relatedReleases:[],releaseDate:"2023-07-14 12:00",releaseType:"Expansion Booster",setIdentifiers:["dtd"],talents:["Light","Shadow"]},{cards:107,classes:["Mechanologist","Bard","Guardian","Ninja"],deckLinks:[{name:"Brevant",url:"https://fabrary.net/decks/01HAXKPFH7ZHPDEJZH967VNRW6"},{name:"Ira",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"},{name:"Melody",url:"https://fabrary.net/decks/01HAXKSFPXGCEH99PDZJ32V4N9"},{name:"Teklovossen",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"}],heroes:["Teklovossen","Melody","Brevant","Ira"],languages:["English"],release:"Round the Table: TCC x LSS",relatedReleases:[],releaseDate:"2023-09-29 12:00",releaseType:"Round the Table",talents:[],setIdentifiers:["tcc"]},{cards:251,classes:["Mechanologist"],deckLinks:[],draft:{heroIdentifiers:["dash-database","maxx-nitro","teklovossen"],picksPerPack:14},heroes:["Dash","Maxx","Teklovossen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Bright Lights",relatedReleases:[],releaseDate:"2023-10-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["evo"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3J1X1NQ9TB9RTVWV42JG46"}],heroes:["Betsy"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Betsy Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["bet"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3SHBEQBRECYK6ZN1CHRADR"}],heroes:["Kassai"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kassai Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ksi"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3HK89NA910SK3FQV84H46Z"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kayo Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["kyo"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3GP5ZJ1NRC0XBYNE45XQE8"}],heroes:["Olympia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Olympia Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ola"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3Q4GBDMEFSX98HEN9ET308"}],heroes:["Rhinar"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Rhinar Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["rhi"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3K8ZV7KBRRJKPHW4B13J1K"}],heroes:["Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Victor Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["vic"],talents:[]},{cards:255,classes:["Brute","Guardian","Warrior"],deckLinks:[],draft:{heroIdentifiers:["kassai","betsy","kayo","olympia","rhinar","victor-goldmane"],picksPerPack:14},heroes:["Kassai","Betsy","Kayo","Olympia","Rhinar","Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Heavy Hitters",relatedReleases:["Betsy Blitz Deck","Kassai Blitz Deck","Kayo Blitz Deck","Olympia Blitz Deck","Rhinar Blitz Deck","Victor Blitz Deck"],releaseDate:"2024-02-02 12:00",releaseType:"Standalone Booster",setIdentifiers:["hvy"],talents:[]},{cards:66,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HWNCK2BYPVKK6701052YYXMZ"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Kayo",relatedReleases:[],releaseDate:"2024-05-03 12:00",releaseType:"Armory Deck",setIdentifiers:["ako"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z23X2PRQCJ100FP4CAZGK"}],heroes:["Enigma"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Enigma Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["eng"],talents:["Mystic"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z4BD3TRMS3CP1ME4ZP3T6"}],heroes:["Nuu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Nuu Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["nuu"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z395FD35CM24QCJQKJER1"}],heroes:["Zen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Zen Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["zen"],talents:["Mystic"]},{cards:239,classes:["Assassin","Illusionist","Ninja"],deckLinks:[],draft:{heroIdentifiers:["enigma","nuu","zen"],picksPerPack:14},heroes:["Enigma","Nuu","Zen"],languages:pe,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Part the Mistveil",relatedReleases:["Enigma Blitz Deck","Nuu Blitz Deck","Zen Blitz Deck"],releaseDate:"2024-05-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["mst"],talents:["Mystic"]},{cards:66,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01J202NH0RG8S0V8WXH1FWB2AH"}],heroes:["Boltyn"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Boltyn",relatedReleases:[],releaseDate:"2024-07-12 12:00",releaseType:"Armory Deck",setIdentifiers:["asb"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J45SYSM2ZERW6CWY283ZAT1S"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Aurora",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["aur"],talents:["Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01J45SWXNDV5XD8PTBACAV8NZ1"}],heroes:["Terra"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Terra",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["ter"],talents:["Earth"]},{cards:66,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01J3GKKSTM773CW7BG3RRJ5FJH"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Azalea",relatedReleases:[],releaseDate:"2024-08-02 12:00",releaseType:"Armory Deck",setIdentifiers:["aaz"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KF1TFNN62TC0G7M993FTY"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Aurora Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["aua"],talents:["Lightning"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KFRMJFKRQYJJ7THG1GMTB"}],heroes:["Florian"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Florian Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["flr"],talents:["Earth"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGA3JVKFHEXGKYW0441CY"}],heroes:["Oscilio"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Oscilio Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["osc"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGT3XD3HMVVRFT174QNMF"}],heroes:["Verdance"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Verdance Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["ver"],talents:["Earth"]},{cards:258,classes:["Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["aurora","florian","oscilio","verdance"],picksPerPack:14},heroes:["Aurora","Florian","Oscilio","Verdance"],languages:pe,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Rosetta",relatedReleases:["Aurora Blitz Deck","Florian Blitz Deck","Oscilio Blitz Deck","Verdance Blitz Deck"],releaseDate:"2024-09-20 12:00",releaseType:"Standalone Booster",setIdentifiers:["ros"],talents:["Elemental","Earth","Lightning"]},{cards:66,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01J9822H5PANJAFQVMC4TPK4Z1"}],heroes:["Dash"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Dash",relatedReleases:[],releaseDate:"2024-10-18 12:00",releaseType:"Armory Deck",setIdentifiers:["aio"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01JCPPENK52DTRBJZMWQF8S0X2"}],heroes:["Jarl"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck Origins: Jarl",relatedReleases:[],releaseDate:"2024-11-29 12:00",releaseType:"Armory Deck",setIdentifiers:["ajv"],talents:["Elemental","Earth","Ice"]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Arakni"],languages:pe,release:"Arakni Hunted Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["ark"],talents:["Chaos"]},{cards:265,classes:["Assassin","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["arakni-web-of-deceit","cindra","fang"],picksPerPack:14},heroes:["Arakni","Cindra","Fang"],heroOverrides:{Arakni:"Crackni"},languages:pe,raritiesExcludedInLimited:["Legendary","Fabled"],release:"The Hunted",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["hnt"],talents:["Chaos","Draconic","Royal"],url:"https://fabtcg.com/en/articles/hnt/"},{cards:28,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01JN2DEG4X2V8DVMCWFBWQTTSC"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Aurora",relatedReleases:[],releaseDate:"2025-03-14 12:00",releaseType:"Armory Deck",setIdentifiers:["ast"],talents:["Elemental","Lightning"]},{cards:28,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01JRH0631MH5A9JPVGTP3TKJXN"}],heroes:["Maxx"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Maxx",relatedReleases:[],releaseDate:"2025-04-17 12:00",releaseType:"Armory Deck",setIdentifiers:["amx"],talents:[]},{cards:30,classes:["Necromancer","Pirate"],deckLinks:[{url:"https://fabrary.net/decks/01JVYZ0NCHP49HAP40C23P14E3"}],heroes:["Gravy Bones"],languages:ae,release:"Armory Deck: Gravy Bones",relatedReleases:[],releaseDate:"2025-05-30 12:00",releaseType:"Armory Deck",setIdentifiers:["agb"],talents:[]},{cards:265,classes:["Mechanologist","Necromancer","Pirate","Ranger","Thief"],deckLinks:[],draft:{heroIdentifiers:["gravy-bones","marlynn","puffin","scurv-stowaway"],picksPerPack:14},heroes:["Gravy Bones","Marlynn","Puffin","Scurv"],languages:ae,raritiesExcludedInLimited:["Fabled","Legendary"],release:"High Seas",relatedReleases:[],releaseDate:"2025-06-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["sea"],talents:[]},{cards:30,classes:["Ninja"],deckLinks:[],heroes:["Ira"],languages:ae,release:"Armory Deck: Ira",relatedReleases:[],releaseDate:"2025-07-11 12:00",releaseType:"Armory Deck",setIdentifiers:["asr"],talents:[]},{cards:30,classes:["Runeblade"],deckLinks:[],heroes:["Viserai"],languages:ae,release:"Armory Deck Legends: Viserai",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["avs"],talents:[]},{cards:30,classes:["Illusionist"],deckLinks:[],heroes:["Prism"],languages:ae,release:"Armory Deck Legends: Prism",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["apr"],talents:["Light"]},{cards:130,classes:["Guardian"],deckLinks:[],heroes:["Valda"],languages:ae,release:"Mastery Pack: Guardian",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Expansion Booster",setIdentifiers:["mpg"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[],heroes:["Bravo"],languages:ae,release:"Bravo Demo Deck",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Welcome Deck",setIdentifiers:["bdd"],talents:[]}],He={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta",hnt:"The Hunted",sea:"High Seas",mpg:"Mastery Pack: Guardian"},Yr=da(ca({},He),{aaz:"Armory Deck: Azalea",asb:"Armory Deck: Boltyn",aio:"Armory Deck: Dash",ako:"Armory Deck: Kayo",ajv:"Armory Deck Origins: Jarl",ast:"Armory Deck: Aurora",amx:"Armory Deck: Maxx",agb:"Armory Deck: Gravy Bones",asr:"Armory Deck: Ira",apr:"Armory Deck Legends: Prism",avs:"Armory Deck Legends: Viserai",ara:"Arakni Blitz Deck",ark:"Arakni Hunted Blitz Deck",aua:"Aurora Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",flr:"Florian Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",osc:"Oscilio Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rhi:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",ver:"Verdance Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",bdd:"Bravo Demo Deck",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table: TCC x LSS",bvo:"Bravo Hero Deck",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",gem:"GEM",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),Oe={};for(let[e,r]of Object.entries(Yr)){let t=Oe[r];t?t.push(e):Oe[r]=[e]}var xa=Oe,Sa={},La={MST158_V3:"-V3",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3"},Ra=e=>{var r,t,a;let i=Sa[e.set]||"",s=`${e.identifier}${i}`,o=e.edition?`-${e.edition}`:"",n=e.foiling?`-${e.foiling}`:"",l=(r=e.treatments)!=null&&r.length?`-${e.treatments.sort().join("-")}`:e.treatment?`-${e.treatment}`:"",d=(t=e.image)!=null&&t.toLowerCase().includes("back")?"-Back":"",c=La[((a=e.image)==null?void 0:a.toUpperCase())||""]||"";return`${s}${o}${n}${l}${d}${c}`},Pa=Object.keys(He).filter(e=>!e.toLowerCase().includes("hp")).reverse().map(e=>e.toUpperCase()),Ia={"adaptive-plating":{print:"EVO013-Cold"},"command-and-conquer-red":{print:"DYN000-Cold-Alternate Art-Extended Art"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ROS256-Cold"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Alternate Art-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"},"wreck-havoc-red":{print:"OUT198"}},wa=["JDG044-Full Art-Back"],za=(e,r)=>{let{cardIdentifier:t}=e,a=Object.entries(Ia).find(([i])=>i===t);if(a&&r.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return r.find(s=>s.print===i)||r[0]}else{let i,s,o,n,l,d,c,u,h,p,y,A,v,f,k,D,g,E,T,C,S,I;for(let B of r){let{edition:F,foiling:L,identifier:O,image:G,print:W,treatments:x}=B,R=(G==null?void 0:G.toUpperCase())||"",w=O.toLowerCase().includes("win"),Y=!!R,me=R.includes("HP"),ue=wa.includes(W);if(Y&&!w&&!me&&!ue){if(i||(i=B),x!=null&&x.includes("Full Art")){if(y=B,L==="Cold"&&(d=B,R.includes("_V3"))){c=B;break}R.includes("BACK")?h=B:p=B}x!=null&&x.includes("Extended Art")&&(u=B,L==="Cold"&&(l=B),L||(A=B),F==="Promo"&&(v=B)),x!=null&&x.includes("Alternate Art")&&(s=B),x!=null&&x.includes("Alternate Border")&&(o=B),x!=null&&x.includes("Alternate Text")&&(n=B),(R.includes("_V2")||R.includes("-MV"))&&x!=null&&x.includes("Full Art")&&(k=B),F==="Alpha"?D=B:F==="First"?g=B:F==="Promo"?E=B:F==="Unlimited"&&(T=B),L==="Cold"?(C=B,F==="Promo"&&(I=B)):L==="Gold"&&(S=B)}}return f||c||p||h||d||y||l||k||v||A||u||o||s||n||I||D||g||E||T||S||C||i}},Oa={"command-and-conquer-red":{print:"HNT260"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"portside-exchange-blue":{print:"SEA145"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ELE222-First"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"wreck-havoc-red":{print:"OUT198"}},Na=(e,r)=>{let{cardIdentifier:t}=e,a=Object.entries(Oa).find(([i])=>i===t);if(a&&r.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return r.find(s=>s.print===i)||r[0]}else{let i,s;for(let o of r){let{edition:n,image:l,treatment:d}=o,c=!!l,u=l==null?void 0:l.includes("HP");if(c&&!u&&(i||(i=o),!s&&n!=="Promo"&&d!=="Full Art"&&(s=o)),i&&s)break}return s||i||r[0]}}});var ft=Dr((Ms,pt)=>{"use strict";function Zr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,a)}return t}function oe(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Zr(Object(t),!0).forEach(function(a){Ke(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Zr(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function Ge(e){"@babel/helpers - typeof";return Ge=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ge(e)}function N(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function Qr(e,r){for(var t=0;t<r.length;t++){var a=r[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function H(e,r,t){return r&&Qr(e.prototype,r),t&&Qr(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ke(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function q(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),r&&We(e,r)}function De(e){return De=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},De(e)}function We(e,r){return We=Object.setPrototypeOf||function(a,i){return a.__proto__=i,a},We(e,r)}function Ha(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function _a(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ga(e,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _a(e)}function ee(e){var r=Ha();return function(){var a=De(e),i;if(r){var s=De(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return Ga(this,i)}}function se(e){return Ka(e)||Wa(e)||$a(e)||ja()}function Ka(e){if(Array.isArray(e))return $e(e)}function Wa(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function $a(e,r){if(e){if(typeof e=="string")return $e(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return $e(e,r)}}function $e(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}function ja(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X(e){return Array.isArray?Array.isArray(e):nt(e)==="[object Array]"}var Va=1/0;function Ua(e){if(typeof e=="string")return e;var r=e+"";return r=="0"&&1/e==-Va?"-0":r}function Ja(e){return e==null?"":Ua(e)}function U(e){return typeof e=="string"}function it(e){return typeof e=="number"}function Ya(e){return e===!0||e===!1||Xa(e)&&nt(e)=="[object Boolean]"}function st(e){return Ge(e)==="object"}function Xa(e){return st(e)&&e!==null}function K(e){return e!=null}function _e(e){return!e.trim().length}function nt(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Za="Incorrect 'index' type",Qa=function(r){return"Invalid value for key ".concat(r)},qa=function(r){return"Pattern length exceeds max of ".concat(r,".")},ei=function(r){return"Missing ".concat(r," property in key")},ri=function(r){return"Property 'weight' in key '".concat(r,"' must be a positive integer")},qr=Object.prototype.hasOwnProperty,ti=function(){function e(r){var t=this;N(this,e),this._keys=[],this._keyMap={};var a=0;r.forEach(function(i){var s=ot(i);a+=s.weight,t._keys.push(s),t._keyMap[s.id]=s,a+=s.weight}),this._keys.forEach(function(i){i.weight/=a})}return H(e,[{key:"get",value:function(t){return this._keyMap[t]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function ot(e){var r=null,t=null,a=null,i=1,s=null;if(U(e)||X(e))a=e,r=et(e),t=je(e);else{if(!qr.call(e,"name"))throw new Error(ei("name"));var o=e.name;if(a=o,qr.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(ri(o));r=et(o),t=je(o),s=e.getFn}return{path:r,id:t,weight:i,src:a,getFn:s}}function et(e){return X(e)?e:e.split(".")}function je(e){return X(e)?e.join("."):e}function ai(e,r){var t=[],a=!1,i=function s(o,n,l){if(K(o))if(!n[l])t.push(o);else{var d=n[l],c=o[d];if(!K(c))return;if(l===n.length-1&&(U(c)||it(c)||Ya(c)))t.push(Ja(c));else if(X(c)){a=!0;for(var u=0,h=c.length;u<h;u+=1)s(c[u],n,l+1)}else n.length&&s(c,n,l+1)}};return i(e,U(r)?r.split("."):r,0),a?t:t[0]}var ii={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},si={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(r,t){return r.score===t.score?r.idx<t.idx?-1:1:r.score<t.score?-1:1}},ni={location:0,threshold:.6,distance:100},oi={useExtendedSearch:!1,getFn:ai,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},b=oe(oe(oe(oe({},si),ii),ni),oi),li=/[^ ]+/g;function ci(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t=new Map,a=Math.pow(10,r);return{get:function(s){var o=s.match(li).length;if(t.has(o))return t.get(o);var n=1/Math.pow(o,.5*e),l=parseFloat(Math.round(n*a)/a);return t.set(o,l),l},clear:function(){t.clear()}}}var Xe=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=r.getFn,a=t===void 0?b.getFn:t,i=r.fieldNormWeight,s=i===void 0?b.fieldNormWeight:i;N(this,e),this.norm=ci(s,3),this.getFn=a,this.isCreated=!1,this.setIndexRecords()}return H(e,[{key:"setSources",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.docs=t}},{key:"setIndexRecords",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.records=t}},{key:"setKeys",value:function(){var t=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.keys=a,this._keysMap={},a.forEach(function(i,s){t._keysMap[i.id]=s})}},{key:"create",value:function(){var t=this;this.isCreated||!this.docs.length||(this.isCreated=!0,U(this.docs[0])?this.docs.forEach(function(a,i){t._addString(a,i)}):this.docs.forEach(function(a,i){t._addObject(a,i)}),this.norm.clear())}},{key:"add",value:function(t){var a=this.size();U(t)?this._addString(t,a):this._addObject(t,a)}},{key:"removeAt",value:function(t){this.records.splice(t,1);for(var a=t,i=this.size();a<i;a+=1)this.records[a].i-=1}},{key:"getValueForItemAtKeyId",value:function(t,a){return t[this._keysMap[a]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(t,a){if(!(!K(t)||_e(t))){var i={v:t,i:a,n:this.norm.get(t)};this.records.push(i)}}},{key:"_addObject",value:function(t,a){var i=this,s={i:a,$:{}};this.keys.forEach(function(o,n){var l=o.getFn?o.getFn(t):i.getFn(t,o.path);if(K(l)){if(X(l))(function(){for(var c=[],u=[{nestedArrIndex:-1,value:l}];u.length;){var h=u.pop(),p=h.nestedArrIndex,y=h.value;if(K(y))if(U(y)&&!_e(y)){var A={v:y,i:p,n:i.norm.get(y)};c.push(A)}else X(y)&&y.forEach(function(v,f){u.push({nestedArrIndex:f,value:v})})}s.$[n]=c})();else if(U(l)&&!_e(l)){var d={v:l,n:i.norm.get(l)};s.$[n]=d}}}),this.records.push(s)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function lt(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.getFn,i=a===void 0?b.getFn:a,s=t.fieldNormWeight,o=s===void 0?b.fieldNormWeight:s,n=new Xe({getFn:i,fieldNormWeight:o});return n.setKeys(e.map(ot)),n.setSources(r),n.create(),n}function di(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.getFn,a=t===void 0?b.getFn:t,i=r.fieldNormWeight,s=i===void 0?b.fieldNormWeight:i,o=e.keys,n=e.records,l=new Xe({getFn:a,fieldNormWeight:s});return l.setKeys(o),l.setIndexRecords(n),l}function Ae(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.errors,a=t===void 0?0:t,i=r.currentLocation,s=i===void 0?0:i,o=r.expectedLocation,n=o===void 0?0:o,l=r.distance,d=l===void 0?b.distance:l,c=r.ignoreLocation,u=c===void 0?b.ignoreLocation:c,h=a/e.length;if(u)return h;var p=Math.abs(n-s);return d?h+p/d:p?1:h}function ui(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:b.minMatchCharLength,t=[],a=-1,i=-1,s=0,o=e.length;s<o;s+=1){var n=e[s];n&&a===-1?a=s:!n&&a!==-1&&(i=s-1,i-a+1>=r&&t.push([a,i]),a=-1)}return e[s-1]&&s-a>=r&&t.push([a,s-1]),t}var ie=32;function hi(e,r,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=a.location,s=i===void 0?b.location:i,o=a.distance,n=o===void 0?b.distance:o,l=a.threshold,d=l===void 0?b.threshold:l,c=a.findAllMatches,u=c===void 0?b.findAllMatches:c,h=a.minMatchCharLength,p=h===void 0?b.minMatchCharLength:h,y=a.includeMatches,A=y===void 0?b.includeMatches:y,v=a.ignoreLocation,f=v===void 0?b.ignoreLocation:v;if(r.length>ie)throw new Error(qa(ie));for(var k=r.length,D=e.length,g=Math.max(0,Math.min(s,D)),E=d,T=g,C=p>1||A,S=C?Array(D):[],I;(I=e.indexOf(r,T))>-1;){var B=Ae(r,{currentLocation:I,expectedLocation:g,distance:n,ignoreLocation:f});if(E=Math.min(B,E),T=I+k,C)for(var F=0;F<k;)S[I+F]=1,F+=1}T=-1;for(var L=[],O=1,G=k+D,W=1<<k-1,x=0;x<k;x+=1){for(var R=0,w=G;R<w;){var Y=Ae(r,{errors:x,currentLocation:g+w,expectedLocation:g,distance:n,ignoreLocation:f});Y<=E?R=w:G=w,w=Math.floor((G-R)/2+R)}G=w;var me=Math.max(1,g-w+1),ue=u?D:Math.min(g+w,D)+k,ne=Array(ue+2);ne[ue+1]=(1<<x)-1;for(var $=ue;$>=me;$-=1){var ke=$-1,mr=t[e.charAt(ke)];if(C&&(S[ke]=+!!mr),ne[$]=(ne[$+1]<<1|1)&mr,x&&(ne[$]|=(L[$+1]|L[$])<<1|1|L[$+1]),ne[$]&W&&(O=Ae(r,{errors:x,currentLocation:ke,expectedLocation:g,distance:n,ignoreLocation:f}),O<=E)){if(E=O,T=ke,T<=g)break;me=Math.max(1,2*g-T)}}var Jt=Ae(r,{errors:x+1,currentLocation:g,expectedLocation:g,distance:n,ignoreLocation:f});if(Jt>E)break;L=ne}var ze={isMatch:T>=0,score:Math.max(.001,O)};if(C){var kr=ui(S,p);kr.length?A&&(ze.indices=kr):ze.isMatch=!1}return ze}function pi(e){for(var r={},t=0,a=e.length;t<a;t+=1){var i=e.charAt(t);r[i]=(r[i]||0)|1<<a-t-1}return r}var ct=function(){function e(r){var t=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.location,s=i===void 0?b.location:i,o=a.threshold,n=o===void 0?b.threshold:o,l=a.distance,d=l===void 0?b.distance:l,c=a.includeMatches,u=c===void 0?b.includeMatches:c,h=a.findAllMatches,p=h===void 0?b.findAllMatches:h,y=a.minMatchCharLength,A=y===void 0?b.minMatchCharLength:y,v=a.isCaseSensitive,f=v===void 0?b.isCaseSensitive:v,k=a.ignoreLocation,D=k===void 0?b.ignoreLocation:k;if(N(this,e),this.options={location:s,threshold:n,distance:d,includeMatches:u,findAllMatches:p,minMatchCharLength:A,isCaseSensitive:f,ignoreLocation:D},this.pattern=f?r:r.toLowerCase(),this.chunks=[],!!this.pattern.length){var g=function(F,L){t.chunks.push({pattern:F,alphabet:pi(F),startIndex:L})},E=this.pattern.length;if(E>ie){for(var T=0,C=E%ie,S=E-C;T<S;)g(this.pattern.substr(T,ie),T),T+=ie;if(C){var I=E-ie;g(this.pattern.substr(I),I)}}else g(this.pattern,0)}}return H(e,[{key:"searchIn",value:function(t){var a=this.options,i=a.isCaseSensitive,s=a.includeMatches;if(i||(t=t.toLowerCase()),this.pattern===t){var o={isMatch:!0,score:0};return s&&(o.indices=[[0,t.length-1]]),o}var n=this.options,l=n.location,d=n.distance,c=n.threshold,u=n.findAllMatches,h=n.minMatchCharLength,p=n.ignoreLocation,y=[],A=0,v=!1;this.chunks.forEach(function(k){var D=k.pattern,g=k.alphabet,E=k.startIndex,T=hi(t,D,g,{location:l+E,distance:d,threshold:c,findAllMatches:u,minMatchCharLength:h,includeMatches:s,ignoreLocation:p}),C=T.isMatch,S=T.score,I=T.indices;C&&(v=!0),A+=S,C&&I&&(y=[].concat(se(y),se(I)))});var f={isMatch:v,score:v?A/this.chunks.length:1};return v&&s&&(f.indices=y),f}}]),e}(),re=function(){function e(r){N(this,e),this.pattern=r}return H(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(t){return rt(t,this.multiRegex)}},{key:"isSingleMatch",value:function(t){return rt(t,this.singleRegex)}}]),e}();function rt(e,r){var t=e.match(r);return t?t[1]:null}var fi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),t}(re),gi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i.indexOf(this.pattern),o=s===-1;return{isMatch:o,score:o?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),t}(re),yi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),t}(re),mi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=!i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),t}(re),ki=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[i.length-this.pattern.length,i.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),t}(re),vi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=!i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),t}(re),dt=function(e){q(t,e);var r=ee(t);function t(a){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.location,n=o===void 0?b.location:o,l=s.threshold,d=l===void 0?b.threshold:l,c=s.distance,u=c===void 0?b.distance:c,h=s.includeMatches,p=h===void 0?b.includeMatches:h,y=s.findAllMatches,A=y===void 0?b.findAllMatches:y,v=s.minMatchCharLength,f=v===void 0?b.minMatchCharLength:v,k=s.isCaseSensitive,D=k===void 0?b.isCaseSensitive:k,g=s.ignoreLocation,E=g===void 0?b.ignoreLocation:g;return N(this,t),i=r.call(this,a),i._bitapSearch=new ct(a,{location:n,threshold:d,distance:u,includeMatches:p,findAllMatches:A,minMatchCharLength:f,isCaseSensitive:D,ignoreLocation:E}),i}return H(t,[{key:"search",value:function(i){return this._bitapSearch.searchIn(i)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),t}(re),ut=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){for(var s=0,o,n=[],l=this.pattern.length;(o=i.indexOf(this.pattern,s))>-1;)s=o+l,n.push([o,s-1]);var d=!!n.length;return{isMatch:d,score:d?0:1,indices:n}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),t}(re),Ve=[fi,ut,yi,mi,vi,ki,gi,dt],tt=Ve.length,bi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,Ai="|";function Di(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split(Ai).map(function(t){for(var a=t.trim().split(bi).filter(function(y){return y&&!!y.trim()}),i=[],s=0,o=a.length;s<o;s+=1){for(var n=a[s],l=!1,d=-1;!l&&++d<tt;){var c=Ve[d],u=c.isMultiMatch(n);u&&(i.push(new c(u,r)),l=!0)}if(!l)for(d=-1;++d<tt;){var h=Ve[d],p=h.isSingleMatch(n);if(p){i.push(new h(p,r));break}}}return i})}var Ci=new Set([dt.type,ut.type]),Bi=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.isCaseSensitive,i=a===void 0?b.isCaseSensitive:a,s=t.includeMatches,o=s===void 0?b.includeMatches:s,n=t.minMatchCharLength,l=n===void 0?b.minMatchCharLength:n,d=t.ignoreLocation,c=d===void 0?b.ignoreLocation:d,u=t.findAllMatches,h=u===void 0?b.findAllMatches:u,p=t.location,y=p===void 0?b.location:p,A=t.threshold,v=A===void 0?b.threshold:A,f=t.distance,k=f===void 0?b.distance:f;N(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:o,minMatchCharLength:l,findAllMatches:h,ignoreLocation:c,location:y,threshold:v,distance:k},this.pattern=i?r:r.toLowerCase(),this.query=Di(this.pattern,this.options)}return H(e,[{key:"searchIn",value:function(t){var a=this.query;if(!a)return{isMatch:!1,score:1};var i=this.options,s=i.includeMatches,o=i.isCaseSensitive;t=o?t:t.toLowerCase();for(var n=0,l=[],d=0,c=0,u=a.length;c<u;c+=1){var h=a[c];l.length=0,n=0;for(var p=0,y=h.length;p<y;p+=1){var A=h[p],v=A.search(t),f=v.isMatch,k=v.indices,D=v.score;if(f){if(n+=1,d+=D,s){var g=A.constructor.type;Ci.has(g)?l=[].concat(se(l),se(k)):l.push(k)}}else{d=0,n=0,l.length=0;break}}if(n){var E={isMatch:!0,score:d/n};return s&&(E.indices=l),E}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(t,a){return a.useExtendedSearch}}]),e}(),Ce=[];function Mi(){Ce.push.apply(Ce,arguments)}function Ue(e,r){for(var t=0,a=Ce.length;t<a;t+=1){var i=Ce[t];if(i.condition(e,r))return new i(e,r)}return new ct(e,r)}var Be={AND:"$and",OR:"$or"},Je={PATH:"$path",PATTERN:"$val"},Ye=function(r){return!!(r[Be.AND]||r[Be.OR])},Fi=function(r){return!!r[Je.PATH]},Ei=function(r){return!X(r)&&st(r)&&!Ye(r)},at=function(r){return Ke({},Be.AND,Object.keys(r).map(function(t){return Ke({},t,r[t])}))};function ht(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.auto,i=a===void 0?!0:a,s=function o(n){var l=Object.keys(n),d=Fi(n);if(!d&&l.length>1&&!Ye(n))return o(at(n));if(Ei(n)){var c=d?n[Je.PATH]:l[0],u=d?n[Je.PATTERN]:n[c];if(!U(u))throw new Error(Qa(c));var h={keyId:je(c),pattern:u};return i&&(h.searcher=Ue(u,r)),h}var p={children:[],operator:l[0]};return l.forEach(function(y){var A=n[y];X(A)&&A.forEach(function(v){p.children.push(o(v))})}),p};return Ye(e)||(e=at(e)),s(e)}function Ti(e,r){var t=r.ignoreFieldNorm,a=t===void 0?b.ignoreFieldNorm:t;e.forEach(function(i){var s=1;i.matches.forEach(function(o){var n=o.key,l=o.norm,d=o.score,c=n?n.weight:null;s*=Math.pow(d===0&&c?Number.EPSILON:d,(c||1)*(a?1:l))}),i.score=s})}function xi(e,r){var t=e.matches;r.matches=[],K(t)&&t.forEach(function(a){if(!(!K(a.indices)||!a.indices.length)){var i=a.indices,s=a.value,o={indices:i,value:s};a.key&&(o.key=a.key.src),a.idx>-1&&(o.refIndex=a.idx),r.matches.push(o)}})}function Si(e,r){r.score=e.score}function Li(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.includeMatches,i=a===void 0?b.includeMatches:a,s=t.includeScore,o=s===void 0?b.includeScore:s,n=[];return i&&n.push(xi),o&&n.push(Si),e.map(function(l){var d=l.idx,c={item:r[d],refIndex:d};return n.length&&n.forEach(function(u){u(l,c)}),c})}var le=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;N(this,e),this.options=oe(oe({},b),t),this.options.useExtendedSearch,this._keyStore=new ti(this.options.keys),this.setCollection(r,a)}return H(e,[{key:"setCollection",value:function(t,a){if(this._docs=t,a&&!(a instanceof Xe))throw new Error(Za);this._myIndex=a||lt(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(t){K(t)&&(this._docs.push(t),this._myIndex.add(t))}},{key:"remove",value:function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return!1},a=[],i=0,s=this._docs.length;i<s;i+=1){var o=this._docs[i];t(o,i)&&(this.removeAt(i),i-=1,s-=1,a.push(o))}return a}},{key:"removeAt",value:function(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.limit,s=i===void 0?-1:i,o=this.options,n=o.includeMatches,l=o.includeScore,d=o.shouldSort,c=o.sortFn,u=o.ignoreFieldNorm,h=U(t)?U(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return Ti(h,{ignoreFieldNorm:u}),d&&h.sort(c),it(s)&&s>-1&&(h=h.slice(0,s)),Li(h,this._docs,{includeMatches:n,includeScore:l})}},{key:"_searchStringList",value:function(t){var a=Ue(t,this.options),i=this._myIndex.records,s=[];return i.forEach(function(o){var n=o.v,l=o.i,d=o.n;if(K(n)){var c=a.searchIn(n),u=c.isMatch,h=c.score,p=c.indices;u&&s.push({item:n,idx:l,matches:[{score:h,value:n,norm:d,indices:p}]})}}),s}},{key:"_searchLogical",value:function(t){var a=this,i=ht(t,this.options),s=function d(c,u,h){if(!c.children){var p=c.keyId,y=c.searcher,A=a._findMatches({key:a._keyStore.get(p),value:a._myIndex.getValueForItemAtKeyId(u,p),searcher:y});return A&&A.length?[{idx:h,item:u,matches:A}]:[]}for(var v=[],f=0,k=c.children.length;f<k;f+=1){var D=c.children[f],g=d(D,u,h);if(g.length)v.push.apply(v,se(g));else if(c.operator===Be.AND)return[]}return v},o=this._myIndex.records,n={},l=[];return o.forEach(function(d){var c=d.$,u=d.i;if(K(c)){var h=s(i,c,u);h.length&&(n[u]||(n[u]={idx:u,item:c,matches:[]},l.push(n[u])),h.forEach(function(p){var y,A=p.matches;(y=n[u].matches).push.apply(y,se(A))}))}}),l}},{key:"_searchObjectList",value:function(t){var a=this,i=Ue(t,this.options),s=this._myIndex,o=s.keys,n=s.records,l=[];return n.forEach(function(d){var c=d.$,u=d.i;if(K(c)){var h=[];o.forEach(function(p,y){h.push.apply(h,se(a._findMatches({key:p,value:c[y],searcher:i})))}),h.length&&l.push({idx:u,item:c,matches:h})}}),l}},{key:"_findMatches",value:function(t){var a=t.key,i=t.value,s=t.searcher;if(!K(i))return[];var o=[];if(X(i))i.forEach(function(p){var y=p.v,A=p.i,v=p.n;if(K(y)){var f=s.searchIn(y),k=f.isMatch,D=f.score,g=f.indices;k&&o.push({score:D,key:a,value:y,idx:A,norm:v,indices:g})}});else{var n=i.v,l=i.n,d=s.searchIn(n),c=d.isMatch,u=d.score,h=d.indices;c&&o.push({score:u,key:a,value:n,norm:l,indices:h})}return o}}]),e}();le.version="6.6.2";le.createIndex=lt;le.parseIndex=di;le.config=b;le.parseQuery=ht;Mi(Bi);var Ri=le;pt.exports=Ri});var Ds={};ta(Ds,{FilterProperty:()=>Qe,PUNCTUATION:()=>M,RARITY_VALUES_MAPPING:()=>cr,abbreviations:()=>Ze,availableExclusions:()=>Ht,availableModifiers:()=>Nt,availableOptionals:()=>_t,default:()=>$t,filterCard:()=>jt,filtersToCardPropertyMappings:()=>Pe,getAbbreviation:()=>Me,getAbbreviationByCard:()=>Pi,getCardByName:()=>ur,getCleanText:()=>hr,getExcludedMetaFilters:()=>er,getKeywordsAndAppliedFiltersFromText:()=>dr,getMetaFilters:()=>qe,getNormalizedText:()=>ge,getRelatedCards:()=>yr,getRelatedCardsByName:()=>Ie,getTokensReferencedByCards:()=>As,multiWordShorthands:()=>tr,shorthands:()=>rr,singleWordShorthands:()=>ar});module.exports=aa(Ds);var Wt=Z(Q()),pr=Z(ft());var M=/[!"#$%&'’(),./:;<=>?@[\]^_`|~]/g;var m=Z(Q());var Me=e=>Ze.find(({abbreviations:r})=>r.find(t=>t.toLowerCase()===e)),Pi=e=>Ze.find(({card:r})=>r.toLowerCase()===e.name.toLowerCase()),Ze=[{abbreviations:["10k"],card:"10,000 Year Reunion"},{abbreviations:["Pajamas","PJs"],card:"Alluvion Constellas"},{abbreviations:["Slippy","Arakni Slipped Through the Cracks","Arakni, Slipped Through the Cracks"],card:"Arakni, 5L!p3d 7hRu 7h3 cR4X"},{abbreviations:["Dullcap"],card:"Arcanite Skullcap"},{abbreviations:["ALS"],card:"Arc Light Sentinel"},{abbreviations:["AoW"],card:"Art of War"},{abbreviations:["BBD"],card:"Barraging Beatdown"},{abbreviations:["BBS"],card:"Big Blue Sky"},{abbreviations:["Starvo"],card:"Bravo, Star of the Show"},{abbreviations:["BEB"],card:"Bull's Eye Bracers"},{abbreviations:["BLW"],card:"Be Like Water"},{abbreviations:["BoJ"],card:"Balance of Justice"},{abbreviations:["BOHH"],card:"Blood on Her Hands"},{abbreviations:["BRB"],card:"Bloodrush Bellow"},{abbreviations:["Breezies"],card:"Breeze Rider Boots"},{abbreviations:["BTA"],card:"Burn Them All"},{abbreviations:["CStrike","C-Strike","C Strike"],card:"Celestial Cataclysm"},{abbreviations:["CBelly"],card:"Cerebellum Processor"},{abbreviations:["CLF"],card:"Channel Lake Frigid"},{abbreviations:["CLV"],card:"Channel Lightning Valley"},{abbreviations:["CMH"],card:"Channel Mount Heroic"},{abbreviations:["CMI"],card:"Channel Mount Isen"},{abbreviations:["CMT"],card:"Channel the Millennium Tree"},{abbreviations:["CnC","C&C"],card:"Command and Conquer"},{abbreviations:["Sea and Sea"],card:"Conqueror of the High Seas"},{abbreviations:["CYB"],card:"Count Your Blessings"},{abbreviations:["Cat","Kitty"],card:"Crouching Tiger"},{abbreviations:["CoD"],card:"Crown of Dominion"},{abbreviations:["CoP"],card:"Crown of Providence"},{abbreviations:["CtW"],card:"Crush the Weak"},{abbreviations:["DD"],card:"Death Dealer"},{abbreviations:["DnD"],card:"Devotion Never Dies"},{abbreviations:["DIO"],card:"Dash I/O"},{abbreviations:["EBTT"],card:"Even Bigger Than That!"},{abbreviations:["NewNigma"],card:"Enigma, New Moon"},{abbreviations:["EPot","E Pot"],card:"Energy Potion"},{abbreviations:["EStrike","E-Strike","E Strike"],card:"Enlightened Strike"},{abbreviations:["FFS"],card:"Fyendal's Fighting Spirit"},{abbreviations:["FoN"],card:"Force of Nature"},{abbreviations:["Frosty","\u{1F976}","\u{1F9CA}","\u2744\uFE0F"],card:"Frostbite"},{abbreviations:["Yum yum"],card:"Fruits of the Forest"},{abbreviations:["GnT"],card:"Give and Take"},{abbreviations:["Habibi"],card:"Hanabi Blaster"},{abbreviations:["HMH"],card:"Hope Merchant's Hood"},{abbreviations:["HoI"],card:"Heart of Ice"},{abbreviations:["Pumpkin"],card:"Jack-o'-lantern"},{abbreviations:["KKBB"],card:"Knick Knack Bric-a-brac"},{abbreviations:["BStrike"],card:"Levels of Enlightenment"},{abbreviations:["LAG","Twominaris"],card:"Luminaris, Angel's Glow"},{abbreviations:["LCF","Newminaris"],card:"Luminaris, Celestial Fury"},{abbreviations:["LDE"],card:"Last Ditch Effort"},{abbreviations:["LtC"],card:"Lead the Charge"},{abbreviations:["LNW"],card:"Leave No Witnesses"},{abbreviations:["LFaL","L4aL"],card:"Life for a Life"},{abbreviations:["LiT"],card:"Lost in Thought"},{abbreviations:["MMB"],card:"Mage Master Boots"},{abbreviations:["MaxV"],card:"Maximum Velocity"},{abbreviations:["MoM"],card:"Mask of Momentum"},{abbreviations:["MnG"],card:"Meat and Greet"},{abbreviations:["Cake","\u{1F382}"],card:"Ninth Blade of the Blood Oath"},{abbreviations:["PoM"],card:"Peace of Mind"},{abbreviations:["P-Bone"],card:"Performance Bonus"},{abbreviations:["PF","\u{1F525}"],card:"Phoenix Flame"},{abbreviations:["PtW"],card:"Poison the Well"},{abbreviations:["Thanos","Infinity Gauntlet"],card:"Polarity Reversal Script"},{abbreviations:["DPot","D Pot"],card:"Potion of D\xE9j\xE0 Vu"},{abbreviations:["Ponder Run"],card:"Premeditate"},{abbreviations:["Qi Unbound"],card:"Qi Unleashed"},{abbreviations:["RitL"],card:"Red in the Ledger"},{abbreviations:["Cats","Ghost cat","Ghost cats"],card:"Restless Coalescence"},{abbreviations:["SSGB"],card:"Sandscour Greatbow"},{abbreviations:["SSP"],card:"Sand Sketched Plan"},{abbreviations:["SFaS","S4aS"],card:"Scar for a Scar"},{abbreviations:["SWOMB"],card:"Shifting Winds of the Mystic Beast"},{abbreviations:["SWK"],card:"Spinning Wheel Kick"},{abbreviations:["SFTL"],card:"Swing Fist, Think Later"},{abbreviations:["TTT"],card:"Take the Tempo"},{abbreviations:["Ultron"],card:"Teklovossen, the Mechropotent"},{abbreviations:["ToS"],card:"Test of Strength"},{abbreviations:["TAYG"],card:"That All You Got?"},{abbreviations:["TROM"],card:"This Round's on Me"},{abbreviations:["3oak"],card:"Three of a Kind"},{abbreviations:["Pox Malone","Post Malone"],card:"Virulent Touch"},{abbreviations:["Cast Homes"],card:"Visit Goldmane Estate"},{abbreviations:["Frosty Hammer"],card:"Winter's Wail"},{abbreviations:["Wreckless Wing"],card:"War Cry of Bellona"},{abbreviations:["ZTS"],card:"Zero to Sixty"}];var z=Z(Q());var Qe=(t=>(t.LegalFormats="legalFormats",t.LegalHeroes="legalHeroes",t))(Qe||{}),xe=Array.from(Array(50).keys()).map(e=>`${e}`),Ii=[{format:z.Format.BlitzLivingLegend,nicknames:["blitz ll"]},{format:z.Format.ClassicConstructed,nicknames:["cc","classic"]},{format:z.Format.ClassicConstructedLivingLegend,nicknames:["cc ll","classic constructed ll","ll cc","ll","living legend"]},{format:z.Format.ProjectBlue,nicknames:["pb"]},{format:z.Format.UltimatePitFight,nicknames:["upf"]}],wi=Object.values(z.Format).map(e=>{let r=Ii.find(({format:a})=>a===e),t=e.toLowerCase().replaceAll(M,"");return r?V(j({},r),{format:t}):{format:t}}),zi=[{hero:z.Hero.DataDoll,nicknames:["data","datadoll"]},{hero:z.Hero.Dorinthea,nicknames:["dori"]},{hero:z.Hero.Genis,nicknames:["genis"]},{hero:z.Hero.GravyBones,nicknames:["gravy"]},{hero:z.Hero.Iyslander,nicknames:["islander"]}],Oi=Object.values(z.Hero).map(e=>{let r=zi.find(({hero:a})=>a===e),t=e.toLowerCase().replaceAll(M,"");return r?V(j({},r),{hero:t}):{hero:t}}),Fe=["common","rare","super rare","majestic","legendary","fabled"],Ni=(e,r,t,a)=>{let i=[];if(!r)i.push(...e);else for(let s of e)switch(r){case">=":let o=!1;for(let c of Fe)o?i.push(c):c===s&&(o=!0,i.push(c));break;case">":let n=!1;for(let c of Fe)n?i.push(c):c===s&&(n=!0);break;case"<=":let l=!1;for(let c of Fe.slice().reverse())l?i.push(c):c===s&&(l=!0,i.push(c));break;case"<":let d=!1;for(let c of Fe.slice().reverse())d?i.push(c):c===s&&(d=!0);break;default:break}return{filterToPropertyMapping:{nestedProperty:"rarity",property:"printings",isArray:!0},isExcluded:t,isOptional:a,isOr:!0,values:i}},Hi=(e,r,t,a)=>{let i=a.map(l=>({hero:l.toLowerCase().replaceAll(M,"")})),s=[],o=[],n=[];for(let l of e){let d=wi.find(({format:c,nicknames:u})=>c===l||!!u&&u.includes(l));if(d)o.push(d.format);else{let c=Oi.find(({hero:u,nicknames:h})=>u===l||!!h&&h.includes(l))||i.find(({hero:u})=>u===l);c&&n.push(c.hero)}}return o.length>0&&s.push({filterToPropertyMapping:{property:"legalFormats",isArray:!0},values:o,isOr:!0,isExcluded:r,isOptional:t}),n.length>0&&s.push({filterToPropertyMapping:{property:"legalHeroes",isArray:!0},values:n,isOr:!0,isExcluded:r,isOptional:t}),s},qe=(e,r,t,a,i,s)=>{let o=[];return Ki(t)?o.push(...Hi(a,e,r,s)):$i(t)&&o.push(Ni(a,i,e,r)),o},ce=[{filterToPropertyMapping:{property:"cost",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},isExcluded:!0,values:["*","x"]},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["equipment","hero","placeholder","token","weapon"]}],J=[{filterToPropertyMapping:{property:"defense",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},isExcluded:!0,values:["*","x"]},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["hero","placeholder","token","weapon"]}],Ee=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["equipment","hero","placeholder","token","weapon"]},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},isExcluded:!0,values:["true"]}],te=[{filterToPropertyMapping:{property:"power",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},isExcluded:!0,values:["*","x"]},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["equipment","hero","placeholder","token"]}],Te=[{filterToPropertyMapping:{property:"talents",isArray:!0},isExcluded:!0,values:Object.values(z.Talent).map(e=>e.toLowerCase())}],_i={"!co":ce,"-co":ce,"!cost":ce,"-cost":ce,"!color":ce,"-color":ce,"!b":J,"-b":J,"!block":J,"-block":J,"!d":J,"-d":J,"!def":J,"-def":J,"!defense":J,"-defense":J,"!pitch":Ee,"-pitch":Ee,"!p":Ee,"-p":Ee,"!attack":te,"-attack":te,"!power":te,"-power":te,"!pwr":te,"-pwr":te,"!pow":te,"-pow":te,"!talents":Te,"-talents":Te,"!tal":Te,"-tal":Te},er=e=>{let r=[],t=_i[e];return t&&r.push(...t),r},Gi=["l","legal","hero"],Ki=e=>Gi.includes(e),Wi=["r","rarity"],$i=e=>Wi.includes(e);var _=Z(Q());var rr=[{description:"Attack actions",expanded:["st:attack"],filters:{subtypes:[_.Subtype.Attack]},isCardProperty:!1,shorthands:["AA"]},{description:"Arcane barrier",expanded:['k:"arcane barrier"'],filters:{keywords:[_.Keyword.ArcaneBarrier]},isCardProperty:!1,shorthands:["AB"]},{description:"Attack reactions",expanded:['t:"attack reaction"'],filters:{types:[_.Type.AttackReaction]},isCardProperty:!1,shorthands:["AR"]},{description:"Defense reactions",expanded:['t:"defense reaction"'],filters:{types:[_.Type.DefenseReaction]},isCardProperty:!1,shorthands:["DR"]},{description:"Flick daggers",expanded:["dagger you control deal 1 damage"],filters:{functionalText:"dagger you control deal 1 damage"},isCardProperty:!0,shorthands:["Flick","Hurl","Throw"]},{description:"Gain life",expanded:["gain {h}"],filters:{functionalText:"gain {h}"},isCardProperty:!1,shorthands:["Gain life","Gains life"]},{description:"Go again",expanded:['k:"go again"'],filters:{keywords:[_.Keyword.GoAgain]},isCardProperty:!1,shorthands:["GA"]},{description:"Non-attack actions",expanded:["t:action","st:non-attack"],filters:{subtypes:[_.Subtype.NonAttack],types:[_.Type.Action]},isCardProperty:!1,shorthands:["NAA"]},{description:"Plus defense",expanded:["+ {d}"],filters:{functionalText:"+ {d}"},isCardProperty:!1,shorthands:["Pump defense","Pumps defense","Buff defense","Buffs defense"]},{description:"Plus power",expanded:["+ {p}"],filters:{functionalText:"+ {p}"},isCardProperty:!1,shorthands:["Pumps","Pump","Buff","Buffs","Pump attack","Pump attacks","Pumps attack","Pumps attacks","Buff attack","Buff attacks","Buffs attack","Buffs attacks","Pump power","Pumps power","Buff power","Buffs power"]},{description:"Poppers",expanded:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],filters:{defenseGreaterThanOrEqualTo:0,notClass:[_.Class.Illusionist],powerGreaterThanOrEqualTo:6,subtypes:[_.Subtype.Attack]},isCardProperty:!1,helper:'6+ power non-Illusionist attacks that can "pop" phantasm attacks when defending',shorthands:["Poppers","Popper"]},{description:"Spellvoid",expanded:['k:"spellvoid"'],filters:{keywords:[_.Keyword.Spellvoid]},isCardProperty:!1,shorthands:["SV"]},{description:"Tap",expanded:["{t}"],filters:{functionalText:"{t}"},isCardProperty:!0,shorthands:["Tap"]}],tr=rr.filter(({shorthands:e})=>e.some(r=>r.includes(" "))).map(e=>V(j({},e),{shorthands:e.shorthands.filter(r=>r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)})),ar=rr.filter(({shorthands:e})=>e.some(r=>!r.includes(" "))).map(e=>V(j({},e),{shorthands:e.shorthands.filter(r=>!r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)}));var Nt=[">=",">","<=","<"],Ht=["!","-"],_t=["#"],ji={property:"arcane",specialProperty:"specialArcane",isNumber:!0,partialMatch:!0},ir={property:"artists",isArray:!0,partialMatch:!0},gt={property:"bannedFormats",isArray:!0,partialMatch:!0},yt={property:"bonds",isArray:!0},Vi={property:"n/a"},mt={property:"classes",isArray:!0,partialMatch:!0},kt={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},fe={property:"defense",specialProperty:"specialDefense",isNumber:!0},vt={property:"flows",isArray:!0},bt={nestedProperty:"foiling",property:"printings",isArray:!0},At={property:"fusions",isArray:!0},Dt={property:"intellect",isNumber:!0},Ct={property:"keywords",isArray:!0},sr={property:"n/a",isMeta:!0},Bt={property:"life",specialProperty:"specialLife",isNumber:!0},Mt={property:"meta",isArray:!0},Ft={property:"name",isString:!0,partialMatch:!0},nr={property:"pitch",isNumber:!0},Se={property:"power",specialProperty:"specialPower",isNumber:!0},Et={property:"n/a",isMeta:!0},Ui={property:"n/a"},Ji={property:"n/a"},Tt={property:"sets",isArray:!0,partialMatch:!0},xt={property:"shorthands",isArray:!0,partialMatch:!0,optional:"#"},Le={property:"specializations",isArray:!0,partialMatch:!0},St={property:"subtypes",isArray:!0},Lt={property:"types",isArray:!0},Rt={property:"talents",isArray:!0},Yi={property:"functionalText",isString:!0,partialMatch:!0},Xi={property:"traits",isArray:!0,partialMatch:!0},Zi={property:"typeText",isString:!0,partialMatch:!0},Re={nestedProperty:"treatments",property:"printings",isArray:!0,isNestedPropertyArray:!0},Pe={arcane:ji,a:ir,artist:ir,art:ir,attack:Se,b:fe,block:fe,banned:gt,bond:yt,bonds:yt,c:mt,class:mt,chain:Vi,co:kt,cost:kt,color:nr,d:fe,def:fe,defense:fe,flow:vt,flows:vt,f:At,fusion:At,foil:bt,foiling:bt,i:Dt,intellect:Dt,is:Mt,k:Ct,keyword:Ct,l:sr,legal:sr,hero:sr,li:Bt,life:Bt,meta:Mt,n:Ft,name:Ft,p:nr,pitch:nr,pwr:Se,pow:Se,power:Se,r:Et,rarity:Et,referencedby:Ui,references:Ji,rf:gt,s:Tt,set:Tt,short:xt,shorthand:xt,sp:Le,spec:Le,specialization:Le,specializations:Le,st:St,subtype:St,t:Lt,type:Lt,tal:Rt,talent:Rt,text:Yi,trait:Xi,treat:Re,treatment:Re,var:Re,variation:Re,x:Zi},Qi=[{text:m.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:m.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(M,"")}],qi=e=>{var i;let r=[],t=e.replaceAll("\u201D",'"');for(let{text:s,override:o}of Qi)t.includes(s)&&(t=t.replace(s,o));if((i=Me(t))==null?void 0:i.card)r.push(t);else{let s=t.split(/[ ]+/),o="",n=0;for(let l of s)n===2&&(r.push(o.trim().replaceAll('"',"")),o="",n=0),n<2&&l.split('"').length===2?(o+=" "+l,n++):n===0&&o===""?r.push(l):n===1&&(o+=" "+l);n===2&&(r.push(o.trim().replaceAll('"',"")),o="",n=0)}return r},Hs=[m.Hero.Briar,m.Hero.Brutus,m.Hero.Emperor,m.Hero.Prism,m.Hero.Shiyana,m.Hero.Taylor,m.Hero.Yorick],dr=(e,r,t=[])=>{var A;let a=e.trim().toLowerCase();for(let{expanded:v,shorthands:f}of tr)for(let k of f)if(a.includes(k)){a=a.replace(k,v.join(" "));break}for(let[v,f]of Object.entries(m.setToSetIdentifierMappings))a.includes(v.toLowerCase())&&(a=a.replace(v.toLowerCase(),f[0]));let i=qi(a),s=[];for(let v of i){let f=ar.find(({shorthands:k})=>k.includes(v));if(f)if(f.isCardProperty){let k=f.shorthands.length>0?f.shorthands[0]:"";s.push(`#shorthand:${k}`)}else s.push(...f.expanded);else s.push(v)}let o=[],n=[],l=[],d=[],c=!1,u=[],h=[],p=[],y={isClash:!1};for(let v of s)if(cs(v)){let[f,k]=v.split(":"),{modifier:D,values:g,isAnd:E,isOr:T}=os(k),{filterKey:C,isExcluded:S,isOptional:I,isMeta:B}=ls(f);if(B)["rarity","r"].includes(C)&&(u=ns(g),g=u.map(F=>F.toLowerCase())),["legal","l","hero"].includes(C)&&k.includes("clash")&&(y.isClash=!0),o.push(...qe(S,I,C,g,D,t));else{if(["chain"].includes(C)){let F=R=>R.name.toLowerCase().replaceAll(M,""),L=g.map(R=>ur(R,r)).filter(R=>!!R).map(F),O=new Set(L);C="name",T=!0;let G=20,W=0,x=R=>{if(!R.types.includes(m.Type.Hero)){let w=F(R);O.add(w),L.includes(w)||L.push(w)}};for(let R of L){if(W>G)break;let{referencedBy:w,references:Y}=Ie(R,r);Y.forEach(x),W===0&&w.forEach(x),W++}g=Array.from(O)}else if(["referencedby","references"].includes(C)){let F=C,L=[...g].filter(O=>!!O);g=[],C="name",T=!0;for(let O of L){let{referencedBy:G,references:W}=Ie(O,r);["referencedby"].includes(F)?g.push(...W.map(({name:x})=>x.toLowerCase().replaceAll(M,""))):["references"].includes(F)&&g.push(...G.map(({name:x})=>x.toLowerCase().replaceAll(M,"")))}}else if(["art","artist"].includes(C))n=g;else if(["is","is","meta"].includes(C)){let F=as(g);g=F.map(L=>L.toLowerCase().replaceAll(M,"")),F.includes(m.Meta.Expansion)&&!S&&(c=!0)}else["foiling","foil"].includes(C)?(d=is(g),g=d.map(F=>F.toLowerCase())):["treat","treatment","var","variation"].includes(C)?(p=ss(g),g=p.map(F=>F.toLowerCase())):["set","s"].includes(C)?(h=es(g),g=h.map(F=>F.toLowerCase().replaceAll(M,""))):["pitch","p","color"].includes(C)&&(g=ts(g));Pe[C]&&o.push({filterToPropertyMapping:Pe[C],values:g,isAnd:E,isOr:T,modifier:D,isExcluded:S,isOptional:I})}}else if(v){let f=(A=Me(v))==null?void 0:A.card,k=er(v);f?l.push(`"${f.toLowerCase().replace(M,"")}"`):k&&k.length>0?o.push(...k):l.push(v.replace(M,""))}return{appliedFilters:o,attributes:{artists:n,foilings:d,isExpansionSlot:c,rarities:u,releases:h,treatments:p},keywords:l,specialConditions:y}},es=e=>{let r=[];for(let t of e)r.push(...rs(t));return r},rs=e=>{let r=[],t=Object.values(m.Release).find(a=>a.toLowerCase().replaceAll(M,"")===e);if(t&&r.push(t),r.length===0){let a=m.setIdentifierToSetMappings[e];a&&r.push(a)}if(r.length===0){let a=Object.values(m.Release).filter(i=>i.toLowerCase().includes(e));a.length>0&&r.push(...a)}return r},or={blue:3,yellow:2,red:1,white:0},ts=e=>{let r=[];for(let t of e)or[t]||or[t]===0?r.push(or[t].toString()):r.push(t);return r},Pt={exp:m.Meta.Expansion,expansion:m.Meta.Expansion,expansionSlot:m.Meta.Expansion,rainbow:m.Meta.Rainbow},as=e=>{let r=[];for(let t of e)Pt[t]&&r.push(Pt[t]);return r},It={r:m.Foiling.R,rf:m.Foiling.R,rainbow:m.Foiling.R,c:m.Foiling.C,cf:m.Foiling.C,cold:m.Foiling.C,g:m.Foiling.G,gf:m.Foiling.G,gold:m.Foiling.G},is=e=>{let r=[];for(let t of e)It[t]&&r.push(It[t]);return r},wt=V(j({},Object.values(m.Treatment).reduce((e,r)=>(e[r.toLowerCase()]=r,e),{})),{aa:m.Treatment.AA,alt:m.Treatment.AA,"alt art":m.Treatment.AA,ab:m.Treatment.AB,"alt border":m.Treatment.AB,at:m.Treatment.AT,"alt text":m.Treatment.AT,ea:m.Treatment.EA,extended:m.Treatment.EA,"extended art":m.Treatment.EA,fa:m.Treatment.FA,full:m.Treatment.FA,"full art":m.Treatment.FA}),ss=e=>{let r=[];for(let t of e)wt[t]?r.push(wt[t]):m.Treatment[t.toUpperCase()]&&r.push(m.Treatment[t.toUpperCase()]);return r},cr={b:m.Rarity.Basic,c:m.Rarity.Common,f:m.Rarity.Fabled,l:m.Rarity.Legendary,m:m.Rarity.Majestic,p:m.Rarity.Promo,r:m.Rarity.Rare,s:m.Rarity.SuperRare,t:m.Rarity.Token,v:m.Rarity.Marvel},ns=e=>{let r=[];for(let t of e)cr[t]?r.push(cr[t]):r.push(t);return r},os=e=>{let r=[],t,a,i=Nt.find(s=>e.includes(s));if(i){let[,s]=e.split(i);zt(s)?(t=!0,r.push(...s.trim().split("+").map(o=>o.replace(M,"")))):Ot(s)?(a=!0,r.push(...s.trim().split(",").map(o=>o.replace(M,"")))):r.push(s.trim().replace(M,""))}else zt(e)?(t=!0,r.push(...e.trim().split("+").map(s=>s.replace(M,"")))):Ot(e)?(a=!0,r.push(...e.trim().split(",").map(s=>s.replace(M,"")))):e.startsWith('"')&&e.endsWith('"')?r.push(e.trim().replaceAll('"',"").replace(M,"")):r.push(e.trim().replace(M,""));return{modifier:i,values:r,isAnd:t,isOr:a}},ls=e=>{let r=ds(e),t=us(e);if(r){let[,a]=e.split(r);return{filterKey:a,isExcluded:!0,isOptional:!1,isMeta:lr(a)}}else if(t){let[,a]=e.split(t);return{filterKey:a,isExcluded:!1,isMeta:lr(a),isOptional:!0}}else return{filterKey:e,isExcluded:!1,isOptional:!1,isMeta:lr(e)}},cs=e=>e.indexOf(":")>=0,zt=e=>e.indexOf("+")>=0,Ot=e=>e.indexOf(",")>=0,lr=e=>{var r;return!!((r=Pe[e])!=null&&r.isMeta)},ds=e=>{var r;return(r=Ht.find(t=>e.includes(t)))==null?void 0:r.slice(0,1)},us=e=>{var r;return(r=_t.find(t=>e.includes(t)))==null?void 0:r.slice(0,1)};var P=Z(Q()),Gt={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[P.Class.Generic],defaultImage:"FNG000",functionalText:"If Fangs A Lot is put into your banished zone from your graveyard, instead put it into your hand.",legalFormats:[],legalHeroes:[P.Hero.Kayo,P.Hero.Levia,P.Hero.Rhinar],printings:[{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000",print:"FNG000",rarity:P.Rarity.Rare,set:P.Release.Promos},{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${P.Treatment.FA}`,rarity:P.Rarity.Marvel,set:P.Release.Promos,treatment:P.Treatment.FA}],name:"Fangs A Lot",rarities:[P.Rarity.Rare,P.Rarity.Marvel],rarity:P.Rarity.Rare,sets:[P.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[P.Subtype.Attack],types:[P.Type.Action],typeText:"Generic Action - Attack"},Kt=[{keyword:Gt.name.toLowerCase(),card:Gt}];var ur=(e,r)=>{let t=r.find(a=>hr(a.name)===e);return t||(t=r.find(a=>hr(a.name).includes(e))),t},hr=e=>ge(e.toLowerCase().trim().replace(M,"")),ge=e=>e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"");var fr=class{constructor(r,t=[],a=!1){this.log=(r,...t)=>{this.debug&&console.log(r,...t)};this.search=(r,t)=>{let a,{appliedFilters:i,attributes:s,keywords:o}=dr(r,this.cards,this.additionalHeroes),n=o.join(" "),l=t?Kt.filter(f=>f.keyword===n):[];if(l.length>0?a=l.map(({card:f})=>f):o.length?a=this.fuse.search(n).map(f=>f.item):a=[...this.cards],i.length&&(a=a.filter(f=>f&&jt(f,i))),o.length===0){let f="";if(s.releases.length===1)try{let k=s.releases[0];f=Wt.setToSetIdentifierMappings[k][0].toUpperCase()}catch(k){console.error("Error getting set identifier from search",k)}f?a.sort((k,D)=>{var T,C;let g=(T=k.setIdentifiers.find(S=>S.includes(f)))==null?void 0:T.replace(f,""),E=(C=D.setIdentifiers.find(S=>S.includes(f)))==null?void 0:C.replace(f,"");return g&&E?g.localeCompare(E):-1}):a.sort((k,D)=>k.name===D.name?`${k.pitch}`.localeCompare(`${D.pitch}`):k.name.localeCompare(D.name))}else{let f=[],k=[],D=o.map(g=>g.toLowerCase().replace(M,"")).join(" ");for(let g of a)g.name.toLowerCase().replace(M,"")===D?f.push(g):k.push(g);a=[...f,...k]}let d,{artists:c,isExpansionSlot:u,foilings:h,releases:p,treatments:y}=s;(c.length>0||u||h.length>0||p.length>0||y.length>0)&&(d=a.map(f=>{let k=f.printings.filter(D=>{let g=!!D.image,E=c.length===0||c.some(F=>D.artists.find(L=>L.replace(M,"").toLowerCase().includes(F))),T=(u||void 0)===D.isExpansionSlot,C=h.length===0||h.includes(D.foiling),S=p.length===0||p.includes(D.set),I=y.length===0||y.includes(D.treatment);return g&&E&&T&&C&&S&&I});return V(j({},f),{matchingPrintings:k})}));let v=(d==null?void 0:d.length)>0?d:a;return{appliedFilters:i,attributes:s,keywords:o,searchResults:v}};let i={getFn:(s,o)=>{let n=pr.default.config.getFn(s,o);return n&&(Array.isArray(n)?n.map(l=>ge(l.replace(M,""))):ge(n).replace(M,""))},ignoreLocation:!0,includeScore:!0,keys:[{name:"name",weight:10},{name:"functionalText",weight:6},{name:"setIdentifiers",weight:2},{name:"traits",weight:4},{name:"typeText",weight:6}],threshold:.15,useExtendedSearch:!0};this.additionalHeroes=t,this.cards=[...r],this.debug=a,this.fuse=new pr.default([...r],i)}},$t=fr,jt=(e,r)=>{let t=!0,a=!1;for(let i of r){let s=i.isOptional,{isNumber:o,isString:n,isArray:l,isBoolean:d}=i.filterToPropertyMapping;if(o){let c=hs(e,i);s?c&&(a=!0):t=t&&c}else if(n){let c=ps(e,i);s?c&&(a=!0):t=t&&c}else if(l){let c=fs(e,i,r);s?c&&(a=!0):t=t&&c}else if(d){let c=gs(e,i);s?c&&(a=!0):t=t&&c}}return t},hs=(e,r)=>{var t;if(we(r,e)){let{values:a,modifier:i,isExcluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=gr(e,r);if(n!=null&&!isNaN(n))if(n=parseInt(n),i)switch(i){case">=":let l=a==null?void 0:a.some(h=>n>=parseInt(h));return s?!l:l;case">":let d=a==null?void 0:a.some(h=>n>parseInt(h));return s?!d:d;case"<=":let c=a==null?void 0:a.some(h=>n<=parseInt(h));return s?!c:c;case"<":let u=a==null?void 0:a.some(h=>n<parseInt(h));return s?!u:u;default:return!1}else{let l=a==null?void 0:a.some(d=>n===parseInt(d));return s?!l:l}else{let l=(t=ms(e,r))==null?void 0:t.toLowerCase(),d=o?a==null?void 0:a.some(c=>l==null?void 0:l.includes(c)):a==null?void 0:a.some(c=>l===c);return s?!d:d}}else return!0},ps=(e,r)=>{var t;if(we(r,e)){let{values:a,isAnd:i,isExcluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=(t=gr(e,r))==null?void 0:t.replaceAll(M,"");if(o){let l=i?a==null?void 0:a.every(d=>n==null?void 0:n.toLowerCase().includes(d)):a==null?void 0:a.some(d=>n==null?void 0:n.toLowerCase().includes(d));return s?!l:l}else{let l=i?a==null?void 0:a.every(d=>(n==null?void 0:n.toLowerCase())===d):a==null?void 0:a.some(d=>(n==null?void 0:n.toLowerCase())===d);return s?!l:l}}else return!0},fs=(e,r,t)=>{if(we(r,e)){let{values:a,isAnd:i,isExcluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=ys(e,r,t).map(l=>l==null?void 0:l.replaceAll(M,""));if(o){let l=i?a.every(c=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(c))):a.some(c=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(c))),d=n.length===0;return s?!l||d:l}else{let l=i?a.every(d=>n==null?void 0:n.some(c=>(c==null?void 0:c.toLowerCase())===d)):a.some(d=>n==null?void 0:n.some(c=>(c==null?void 0:c.toLowerCase())===d));return s?!l:l}}else return!0},gs=(e,r)=>{if(we(r,e)){let{isExcluded:t}=r,a=gr(e,r);return t?!a:a}else return!0},gr=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.property]},ys=(e,r,t)=>{let{filterToPropertyMapping:{isNestedPropertyArray:a,nestedProperty:i,property:s}}=r,o=e[s]||[],n=[],l=Object.keys(e.legalOverrides||{}).length>0,d=r.filterToPropertyMapping.property==="legalHeroes",c=t.find(({filterToPropertyMapping:h})=>h.property==="legalFormats");if(l&&d&&!!c){let h=new Set;for(let{format:p,heroes:y}of e.legalOverrides||[])if(c.values.includes(p.toLowerCase()))for(let A of y)h.add(A);n=Array.from(h)}if(n.length===0)if(i){let h=new Set;for(let p of o)if(a){let y=p[i]||[];for(let A of y)h.add(A)}else{let y=p[i];y&&h.add(y)}n=Array.from(h)}else n=o;return n},ms=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.specialProperty]},we=({cardTypes:e},{types:r,subtypes:t})=>!e||(e==null?void 0:e.some(a=>r.map(i=>i.toLowerCase()).includes(a.toLowerCase())||t.map(i=>i.toLowerCase()).includes(a.toLowerCase())));var de=Z(Q());var ye=Z(Q()),ks={"Dawnblade, Resplendent":"Dawnblade"},Vt=e=>ks[e.name]||e.name,Ut=e=>{var r;return(r=e.functionalText)==null?void 0:r.replaceAll(e.name,"")},Ie=(e,r)=>{let t=r.find(a=>a.name.toLowerCase().replace(M,"")===e);return t||(t=r.find(a=>a.name.toLowerCase().replace(M,"").includes(e))),yr(t,r)},yr=(e,r)=>{var s,o,n,l,d;let t=[],a=[],i=[];if(e){let c=[],u=[],h=Vt(e);for(let p of r){let y=Vt(p),A=h===y,v=e.cardIdentifier!==p.cardIdentifier,f=e.pitch!==p.pitch;if(A&&v&&f)t.push(p);else if(!A){let k=e.name==="Seismic Surge",D=(s=p.keywords)==null?void 0:s.includes(ye.Keyword.Heave),g=k&&D,E=e.name==="Marked",T=(o=p.keywords)==null?void 0:o.includes(ye.Keyword.Mark),C=E&&T,S=Ut(p),I=(S==null?void 0:S.includes(h))||((n=e.traits)==null?void 0:n.some(Y=>S==null?void 0:S.includes(Y))),B=Ut(e);(I||g||C)&&c.push(p);let F=p.traits||[],L=(B==null?void 0:B.includes(y))||F.some(Y=>B==null?void 0:B.includes(Y)),O=p.name==="Seismic Surge",G=(l=e.keywords)==null?void 0:l.includes(ye.Keyword.Heave),W=O&&G,x=p.name==="Marked",R=(d=e.keywords)==null?void 0:d.includes(ye.Keyword.Mark);(L||W||x&&R)&&u.push(p)}}for(let p of c)a.push(p);for(let p of u){let y=p.name;h!==y&&!u.some(A=>{let v=A.name;return v!==y&&(v==null?void 0:v.includes(y))})&&i.push(p)}}return{otherPitches:t,referencedBy:a,references:i}},vs=["cash-in-yellow"],bs={[de.Hero.Crackni]:{traits:[de.Trait.AgentOfChaos]},[de.Hero.Maxx]:{tokens:["hyper-driver"]}},As=(e,r,t)=>{var i,s;let a=new Set;for(let o of e.filter(({cardIdentifier:n})=>!vs.includes(n))){let{references:n}=yr(o,r);for(let l of n.filter(d=>{let c=d.name==="Hyper Driver",u=t===de.Hero.Maxx;return!c||u}))a.add(l)}if(t){let o=bs[t];if(o){if(o.cards)for(let n of e)(i=o.cards)!=null&&i.includes(n.cardIdentifier)&&a.add(n);if(o.tokens)for(let n of r)(s=o.tokens)!=null&&s.includes(n.cardIdentifier)&&a.add(n)}}return Array.from(a)};0&&(module.exports={FilterProperty,PUNCTUATION,RARITY_VALUES_MAPPING,abbreviations,availableExclusions,availableModifiers,availableOptionals,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getCleanText,getExcludedMetaFilters,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getNormalizedText,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,multiWordShorthands,shorthands,singleWordShorthands});
1
+ var Ut=Object.create;var he=Object.defineProperty,Jt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptor,Xt=Object.getOwnPropertyDescriptors,Zt=Object.getOwnPropertyNames,kr=Object.getOwnPropertySymbols,Qt=Object.getPrototypeOf,br=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable;var vr=(e,r,t)=>r in e?he(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,j=(e,r)=>{for(var t in r||(r={}))br.call(r,t)&&vr(e,t,r[t]);if(kr)for(var t of kr(r))qt.call(r,t)&&vr(e,t,r[t]);return e},V=(e,r)=>Jt(e,Xt(r));var Ar=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ea=(e,r)=>{for(var t in r)he(e,t,{get:r[t],enumerable:!0})},Dr=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Zt(r))!br.call(e,i)&&i!==t&&he(e,i,{get:()=>r[i],enumerable:!(a=Yt(r,i))||a.enumerable});return e};var Z=(e,r,t)=>(t=e!=null?Ut(Qt(e)):{},Dr(r||!e||!e.__esModule?he(t,"default",{value:e,enumerable:!0}):t,e)),ra=e=>Dr(he({},"__esModule",{value:!0}),e);var Q=Ar((As,Yr)=>{var ve=Object.defineProperty,ta=Object.defineProperties,aa=Object.getOwnPropertyDescriptor,ia=Object.getOwnPropertyDescriptors,sa=Object.getOwnPropertyNames,Cr=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,Br=(e,r,t)=>r in e?ve(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,oa=(e,r)=>{for(var t in r||(r={}))Mr.call(r,t)&&Br(e,t,r[t]);if(Cr)for(var t of Cr(r))na.call(r,t)&&Br(e,t,r[t]);return e},la=(e,r)=>ta(e,ia(r)),ca=(e,r)=>{for(var t in r)ve(e,t,{get:r[t],enumerable:!0})},da=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of sa(r))!Mr.call(e,i)&&i!==t&&ve(e,i,{get:()=>r[i],enumerable:!(a=aa(r,i))||a.enumerable});return e},ua=e=>da(ve({},"__esModule",{value:!0}),e),Fr={};ca(Fr,{Bond:()=>Sr,Class:()=>xr,Flow:()=>Lr,Foiling:()=>Er,Format:()=>Rr,Fusion:()=>Pr,Hero:()=>Wr,Keyword:()=>$r,Language:()=>Vr,Meta:()=>wr,Metatype:()=>_r,Rarity:()=>Ir,Release:()=>zr,ReleaseEdition:()=>Or,ReleaseType:()=>Ur,Subtype:()=>Kr,Talent:()=>Nr,Trait:()=>Hr,Treatment:()=>Tr,Type:()=>Gr,coreSetIdentifiers:()=>Ca,fullSetIdentifiers:()=>He,getCanAddToDeck:()=>ga,getCanCardBeTokenForDeck:()=>fa,getCardIdentifier:()=>ha,getDefaultPrinting:()=>za,getIsArenaCard:()=>jr,getIsBooster:()=>ka,getIsCardTokenForDeck:()=>be,getIsDeckCard:()=>Ne,getIsDraftable:()=>ba,getIsPreconstructed:()=>Da,getIsReprint:()=>va,getPrint:()=>Sa,getShouldRotateCardImage:()=>ya,getSpecialPrinting:()=>Ia,orderedFullSetBlackBorderIdentifiers:()=>La,promoSetIdentifiers:()=>Ma,releases:()=>Fa,setIdentifierToSetMappings:()=>Jr,setToSetIdentifierMappings:()=>Ea,supplementalSetIdentifiers:()=>Ba});Yr.exports=ua(Fr);var Er=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Er||{}),Tr=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.EA="Extended Art",e.FA="Full Art",e))(Tr||{}),xr=(e=>(e.NotClassed="NotClassed",e.Generic="Generic",e.Adjudicator="Adjudicator",e.Assassin="Assassin",e.Bard="Bard",e.Brute="Brute",e.Guardian="Guardian",e.Illusionist="Illusionist",e.Mechanologist="Mechanologist",e.Merchant="Merchant",e.Necromancer="Necromancer",e.Ninja="Ninja",e.Pirate="Pirate",e.Ranger="Ranger",e.Runeblade="Runeblade",e.Shapeshifter="Shapeshifter",e.Thief="Thief",e.Warrior="Warrior",e.Wizard="Wizard",e))(xr||{}),Sr=(e=>(e.Earth="Earth",e))(Sr||{}),Lr=(e=>(e.Lightning="Lightning",e))(Lr||{}),Rr=(e=>(e.Blitz="Blitz",e.BlitzLivingLegend="Blitz (Living Legend)",e.Clash="Clash",e.ClassicConstructed="Classic Constructed",e.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",e.Commoner="Commoner",e.Draft="Draft",e.Open="Open",e.ProjectBlue="Project Blue",e.Sealed="Sealed",e.UltimatePitFight="Ultimate Pit Fight",e))(Rr||{}),Pr=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(Pr||{}),Ir=(e=>(e.Basic="Basic",e.Token="Token",e.Common="Common",e.Rare="Rare",e.SuperRare="Super Rare",e.Majestic="Majestic",e.Marvel="Marvel",e.Legendary="Legendary",e.Fabled="Fabled",e.Promo="Promo",e))(Ir||{}),wr=(e=>(e.Expansion="Expansion slot",e.Rainbow="Rainbow",e))(wr||{}),zr=(e=>(e.ArcaneRising="Arcane Rising",e.BrightLights="Bright Lights",e.CrucibleOfWar="Crucible of War",e.DuskTillDawn="Dusk till Dawn",e.Dynasty="Dynasty",e.Everfest="Everfest",e.HeavyHitters="Heavy Hitters",e.HighSeas="High Seas",e.HistoryPack1="History Pack 1",e.Monarch="Monarch",e.Outsiders="Outsiders",e.PartTheMistveil="Part the Mistveil",e.Rosetta="Rosetta",e.TalesOfAria="Tales of Aria",e.TheHunted="The Hunted",e.Uprising="Uprising",e.WelcomeToRathe="Welcome to Rathe",e.ArmoryDeckAurora="Armory Deck: Aurora",e.ArmoryDeckAzalea="Armory Deck: Azalea",e.ArmoryDeckBoltyn="Armory Deck: Boltyn",e.ArmoryDeckDash="Armory Deck: Dash",e.ArmoryDeckGravyBones="Armory Deck: Gravy Bones",e.ArmoryDeckIra="Armory Deck: Ira",e.ArmoryDeckKayo="Armory Deck: Kayo",e.ArmoryDeckMaxx="Armory Deck: Maxx",e.ArmoryDeckOriginsJarl="Armory Deck Origins: Jarl",e.ArmoryDeckLegendsPrism="Armory Deck Legends: Prism",e.ArmoryDeckLegendsViserai="Armory Deck Legends: Viserai",e.ArakniBlitzDeck="Arakni Blitz Deck",e.ArakniBlitzDeckARK="Arakni Hunted Blitz Deck",e.AuroraBlitzDeck="Aurora Blitz Deck",e.AzaleaBlitzDeck="Azalea Blitz Deck",e.BenjiBlitzDeck="Benji Blitz Deck",e.BetsyBlitzDeck="Betsy Blitz Deck",e.BoltynBlitzDeck="Boltyn Blitz Deck",e.BriarBlitzDeck="Briar Blitz Deck",e.ChaneBlitzDeck="Chane Blitz Deck",e.DromaiBlitzDeck="Dromai Blitz Deck",e.EnigmaBlitzDeck="Enigma Blitz Deck",e.FaiBlitzDeck="Fai Blitz Deck",e.FlorianBlitzDeck="Florian Blitz Deck",e.KassaiBlitzDeck="Kassai Blitz Deck",e.KatsuBlitzDeck="Katsu Blitz Deck",e.KayoBlitzDeck="Kayo Blitz Deck",e.LeviaBlitzDeck="Levia Blitz Deck",e.LexiBlitzDeck="Lexi Blitz Deck",e.NuuBlitzDeck="Nuu Blitz Deck",e.OldhimBlitzDeck="Oldhim Blitz Deck",e.OlympiaBlitzDeck="Olympia Blitz Deck",e.OscilioBlitzDeck="Oscilio Blitz Deck",e.PrismBlitzDeck="Prism Blitz Deck",e.RhinarBlitzDeck="Rhinar Blitz Deck",e.RiptideBlitzDeck="Riptide Blitz Deck",e.UzuriBlitzDeck="Uzuri Blitz Deck",e.VerdanceBlitzDeck="Verdance Blitz Deck",e.VictorBlitzDeck="Victor Blitz Deck",e.ZenBlitzDeck="Zen Blitz Deck",e.FirstStrikeAurora="1st Strike: Aurora",e.FirstStrikeTerra="1st Strike: Terra",e.BravoHeroDeck="Bravo Hero Deck",e.DorintheaHeroDeck="Dorinthea Hero Deck",e.KatsuHeroDeck="Katsu Hero Deck",e.RhinarHeroDeck="Rhinar Hero Deck",e.BravoDemoDeck="Bravo Demo Deck",e.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",e.MasteryPackGuardian="Mastery Pack: Guardian",e.IraWelcomeDeck="Ira Welcome Deck",e.RoundTheTable="Round the Table: TCC x LSS",e.GEM="GEM",e.Promos="Promos",e))(zr||{}),Or=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(Or||{}),Nr=(e=>(e.Chaos="Chaos",e.Draconic="Draconic",e.Earth="Earth",e.Elemental="Elemental",e.Ice="Ice",e.Light="Light",e.Lightning="Lightning",e.Mystic="Mystic",e.Royal="Royal",e.Shadow="Shadow",e))(Nr||{}),Hr=(e=>(e.AgentOfChaos="Agent of Chaos",e))(Hr||{}),_r=(e=>(e.Arakni="Arakni",e.Scurv="Scurv",e.HighSeas="High Seas",e.Puffin="Puffin",e.Rosetta="Rosetta",e))(_r||{}),Gr=(e=>(e.Action="Action",e.AttackReaction="Attack Reaction",e.Block="Block",e.Companion="Companion",e.DefenseReaction="Defense Reaction",e.DemiHero="Demi-Hero",e.Equipment="Equipment",e.Hero="Hero",e.Instant="Instant",e.Macro="Macro",e.Mentor="Mentor",e.Resource="Resource",e.Token="Token",e.Weapon="Weapon",e))(Gr||{}),Kr=(e=>(e.OneHanded="1H",e.TwoHanded="2H",e.Affliction="Affliction",e.Ally="Ally",e.Angel="Angel",e.Arms="Arms",e.Arrow="Arrow",e.Ash="Ash",e.Attack="Attack",e.Aura="Aura",e.Axe="Axe",e.Base="Base",e.Book="Book",e.Bow="Bow",e.Cannon="Cannon",e.Chest="Chest",e.Chi="Chi",e.Claw="Claw",e.Club="Club",e.Construct="Construct",e.Dagger="Dagger",e.Demon="Demon",e.Dragon="Dragon",e.Evo="Evo",e.Fiddle="Fiddle",e.Figment="Figment",e.Flail="Flail",e.Gem="Gem",e.Gun="Gun",e.Hammer="Hammer",e.Head="Head",e.Invocation="Invocation",e.Item="Item",e.Landmark="Landmark",e.Lute="Lute",e.Legs="Legs",e.NonAttack="Non-Attack",e.OffHand="Off-Hand",e.Orb="Orb",e.Pistol="Pistol",e.Polearm="Polearm",e.Quiver="Quiver",e.Rock="Rock",e.Shuriken="Shuriken",e.Scepter="Scepter",e.Scroll="Scroll",e.Scythe="Scythe",e.Song="Song",e.Staff="Staff",e.Sword="Sword",e.Trap="Trap",e.Wrench="Wrench",e.Young="Young",e))(Kr||{}),Wr=(e=>(e.Arakni="Arakni",e.Aurora="Aurora",e.Azalea="Azalea",e.Benji="Benji",e.Betsy="Betsy",e.Blaze="Blaze",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Brutus="Brutus",e.Chane="Chane",e.Cindra="Cindra",e.Crackni="Crackni",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Enigma="Enigma",e.Fai="Fai",e.Fang="Fang",e.Florian="Florian",e.Genis="Genis",e.GravyBones="Gravy Bones",e.Ira="Ira",e.Iyslander="Iyslander",e.Jarl="Jarl",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Levia="Levia",e.Lexi="Lexi",e.Marlynn="Marlynn",e.Maxx="Maxx",e.Melody="Melody",e.Nuu="Nuu",e.Oldhim="Oldhim",e.Olympia="Olympia",e.Oscilio="Oscilio",e.Prism="Prism",e.Puffin="Puffin",e.Rhinar="Rhinar",e.Riptide="Riptide",e.Ruudi="Ruu'di",e.Shiyana="Shiyana",e.Slippy="Slippy",e.Squizzy="Squizzy",e.Scurv="Scurv",e.Starvo="Starvo",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Terra="Terra",e.Theryon="Theryon",e.Uzuri="Uzuri",e.Valda="Valda",e.Verdance="Verdance",e.Victor="Victor",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e.Zen="Zen",e))(Wr||{}),$r=(e=>(e.Ambush="Ambush",e.Amp="Amp",e.ArcaneBarrier="Arcane Barrier",e.ArcaneShelter="Arcane Shelter",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BeatChest="Beat Chest",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Bond="Bond",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Cloaked="Cloaked",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.Crush="Crush",e.Decompose="Decompose",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Flow="Flow",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.GoFish="Go Fish",e.Guardwell="Guardwell",e.Heave="Heave",e.Heavy="Heavy",e.HighTide="High Tide",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Mark="Mark",e.Material="Material",e.Meld="Meld",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Reload="Reload",e.Reprise="Reprise",e.Retrieve="Retrieve",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Steal="Steal",e.Stealth="Stealth",e.Surge="Surge",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Transcend="Transcend",e.Unlimited="Unlimited",e.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e.WateryGrave="Watery Grave",e))($r||{}),ha=(e,r)=>{let{name:t,pitch:a}=e,i=t.trim().toLowerCase().replace("//","-").normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/ /g,"-").replace("\xF0","d").replace("\u0111","d").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),s="";switch(a){case"1":case 1:s=r?"-1":"-red";break;case"2":case 2:s=r?"-2":"-yellow";break;case"3":case 3:s=r?"-3":"-blue";break}return`${i}${s}`},jr=({keywords:e,traits:r,types:t})=>{let a=Ne({keywords:e,traits:r,types:t}),i=be({keywords:e,traits:r,types:t}),s=["Companion","Demi-Hero","Equipment","Weapon"].some(o=>t.includes(o));return!a&&!i&&s},Ne=({keywords:e,traits:r,types:t})=>{let a=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(s=>t.includes(s)),i=be({keywords:e,traits:r,types:t});return a&&!i},be=({keywords:e,traits:r,types:t})=>{let a=!!r&&(r==null?void 0:r.includes("Agent of Chaos")),i=!!e&&e.includes("Ephemeral"),s=["Macro","Token"].some(o=>t.includes(o));return a||i||s},pa=["cracked-bauble-yellow","goldfin-harpoon"],fa=e=>{let r=pa.includes(e.cardIdentifier),t=be(e),a=e.isCardBack&&e.cardIdentifier!=="inner-chi-blue";return r||t||a},ga=({isCardBack:e,keywords:r,traits:t,types:a})=>{let i=jr({keywords:r,traits:t,types:a}),s=Ne({keywords:r,traits:t,types:a});return!e&&(i||s)},ya=e=>{var r,t,a;let i=(r=e.keywords)==null?void 0:r.includes("Meld"),s=!((t=e.types)!=null&&t.includes("Macro"))&&((a=e.subtypes)==null?void 0:a.includes("Landmark"));return i||s},Vr=(e=>(e.English="English",e.French="Fran\xE7ais",e.German="Deutsch",e.Italian="Italiano",e.Japanese="\u65E5\u672C\u8A9E",e.Spanish="Espa\xF1ol",e))(Vr||{}),pe=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],ae=["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],Ur=(e=>(e.ArmoryDeck="Armory Deck",e.BlitzDeck="Blitz Deck",e.ClassicBattles="Classic Battles",e.ExpansionBooster="Expansion Booster",e.FirstStrike="1st Strike",e.HistoryPack="History Pack",e.MasteryPack="Mastery Pack",e.RoundTheTable="Round the Table",e.StandaloneBooster="Standalone Booster",e.WelcomeDeck="Welcome Deck",e))(Ur||{}),ma=["Expansion Booster","Standalone Booster"],ka=e=>ma.includes(e),va=e=>e==="History Pack",ba=e=>e==="Standalone Booster",Aa=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Welcome Deck"],Da=e=>Aa.includes(e),Ca={wtr:"Welcome to Rathe",arc:"Arcane Rising",mon:"Monarch",ele:"Tales of Aria",upr:"Uprising",out:"Outsiders",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta"},Ba={cru:"Crucible of War",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",dyn:"Dynasty",dtd:"Dusk till Dawn"},Ma=["fab","her","jdg","lgs","lss","oxo","xxx","win"],Fa=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:pe,release:"Ira Welcome Deck",relatedReleases:[],releaseDate:"2019-08-31 12:00",releaseType:"Welcome Deck",setIdentifiers:["ira"],talents:[]},{cards:226,classes:["Brute","Guardian","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["bravo","dorinthea","katsu","rhinar"],picksPerPack:15},heroes:["Bravo","Dorinthea","Katsu","Rhinar"],languages:["English"],release:"Welcome to Rathe",relatedReleases:[],releaseDate:"2019-10-11 12:00",releaseType:"Standalone Booster",setIdentifiers:["wtr"],talents:[]},{cards:219,classes:["Mechanologist","Ranger","Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["azalea","dash","kano","viserai"],picksPerPack:15},heroes:["Azalea","Dash","Kano","Viserai"],languages:["English"],release:"Arcane Rising",relatedReleases:[],releaseDate:"2020-03-27 12:00",releaseType:"Standalone Booster",setIdentifiers:["arc"],talents:[]},{cards:194,classes:["Brute","Guardian","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Benji","Data Doll","Ira","Kassai","Kavdaen","Kayo","Shiyana"],languages:["English"],release:"Crucible of War",relatedReleases:[],releaseDate:"2020-08-28 12:00",releaseType:"Expansion Booster",setIdentifiers:["cru"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01G7FD2B3YQAMR8NJ4B3M58H96"}],heroes:["Boltyn"],languages:["English"],release:"Boltyn Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["bol"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7FDVRZP35DFWBRK64AG5TKQ"}],heroes:["Chane"],languages:["English"],release:"Chane Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["chn"],talents:["Shadow"]},{cards:40,classes:["Brute"],languages:["English"],deckLinks:[{url:"https://fabrary.net/decks/01G7B1T1D1M2DAM61K876VJBDK"}],heroes:["Levia"],release:"Levia Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["lev"],talents:["Shadow"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G7FCP2N7N0MNHWAH6JTP0KFN"}],heroes:["Prism"],languages:["English"],relatedReleases:[],releaseDate:"2021-05-07 12:00",release:"Prism Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["psm"],talents:["Light"]},{cards:307,classes:["Brute","Illusionist","Runeblade","Warrior"],deckLinks:[],draft:{heroIdentifiers:["boltyn","chane","levia","prism"],picksPerPack:15},heroes:["Boltyn","Chane","Levia","Prism"],languages:["English"],release:"Monarch",relatedReleases:["Boltyn Blitz Deck","Chane Blitz Deck","Levia Blitz Deck","Prism Blitz Deck"],releaseDate:"2021-05-07 12:00",releaseType:"Standalone Booster",setIdentifiers:["mon"],talents:["Light","Shadow"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7K4D304QQCZZSBT7ABCX4XC"}],heroes:["Briar"],languages:["English"],release:"Briar Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",talents:["Elemental","Earth","Lightning"],setIdentifiers:["bri"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01G7K3WGPVKVDXG2J013GXSXNP"}],heroes:["Lexi"],languages:["English"],release:"Lexi Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["lxi"],talents:["Elemental","Ice","Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01G7K464J7VS0K7HKW5E395TBK"}],heroes:["Oldhim"],languages:["English"],release:"Oldhim Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["old"],talents:["Elemental","Earth","Ice"]},{cards:238,classes:["Guardian","Ranger","Runeblade"],deckLinks:[],draft:{heroIdentifiers:["briar","lexi","oldhim"],picksPerPack:15},heroes:["Briar","Lexi","Oldhim"],languages:["English"],release:"Tales of Aria",relatedReleases:["Briar Blitz Deck","Lexi Blitz Deck","Oldhim Blitz Deck"],releaseDate:"2021-09-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["ele"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:198,classes:["Brute","Guardian","Illusionist","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Genis","Starvo","Valda"],languages:["English"],release:"Everfest",relatedReleases:[],releaseDate:"2022-02-04 12:00",releaseType:"Expansion Booster",setIdentifiers:["evr"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:423,classes:["Brute","Guardian","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Azalea","Benji","Bravo","Dash","Data Doll","Dorinthea","Ira","Kassai","Katsu","Kayo","Rhinar","Viserai","Kano"],languages:["English"],release:"History Pack 1",relatedReleases:[],releaseDate:"2022-05-06 12:00",releaseType:"History Pack",setIdentifiers:["1hp","hp1"],talents:[]},{cards:80,classes:["Brute","Warrior"],deckLinks:[{name:"Dorinthea",url:"https://fabrary.net/decks/01GA4WTNSD12YTQB4FY8EYYNG5"},{name:"Rhinar",url:"https://fabrary.net/decks/01GA4WZKX9VEWKKPX7Y7H3MG1F"}],heroes:["Dorinthea","Rhinar"],languages:["English"],release:"Classic Battles: Rhinar vs Dorinthea",relatedReleases:[],releaseDate:"2022-05-27 12:00",releaseType:"Classic Battles",setIdentifiers:["dvr","rvd"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G76H1R1ERRBRKS7RVCQAB8RX"}],heroes:["Dromai"],languages:["English"],relatedReleases:[],releaseDate:"2022-06-24 12:00",release:"Dromai Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["dro"],talents:["Draconic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01G76H7RG7GN5ZA10F3BJBH740"}],heroes:["Fai"],languages:["English"],release:"Fai Blitz Deck",relatedReleases:[],releaseDate:"2022-06-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["fai"],talents:["Draconic"]},{cards:226,classes:["Illusionist","Ninja","Wizard"],deckLinks:[],draft:{heroIdentifiers:["dromai","fai","iyslander"],picksPerPack:14},heroes:["Dromai","Fai","Iyslander"],languages:["English"],release:"Uprising",relatedReleases:["Dromai Blitz Deck","Fai Blitz Deck"],releaseDate:"2022-06-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["upr"],talents:["Draconic","Elemental","Ice"]},{cards:247,classes:["Assassin","Brute","Guardian","Illusionist","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Arakni","Emperor","Yoji"],languages:["English"],release:"Dynasty",relatedReleases:[],releaseDate:"2022-11-11 12:00",releaseType:"Expansion Booster",setIdentifiers:["dyn"],talents:["Royal"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW25PNWBW2FPDHRNTPSET0GT"}],heroes:["Arakni"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Arakni Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ara"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW26RNH1Q1J0S1VFXPN609S2"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Azalea Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["azl"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28622XSVAK7H9RXZVAVKM0"}],heroes:["Benji"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Benji Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ben"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28TF5FXFKJ5CGRNXB84CG6"}],heroes:["Katsu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Katsu Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["kat"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW29DPNZ3XVBJQHHFQHHHDGN"}],heroes:["Riptide"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Riptide Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["rip"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW2945GHPH2YSX3FTS7HCBT1"}],heroes:["Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Uzuri Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["uzu"],talents:[]},{cards:239,classes:["Assassin","Ranger","Ninja"],deckLinks:[],draft:{heroIdentifiers:["arakni-solitary-confinement","azalea","benji-the-piercing-wind","katsu","riptide","uzuri"],picksPerPack:14},heroes:["Arakni","Azalea","Benji","Katsu","Riptide","Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Outsiders",relatedReleases:["Arakni Blitz Deck","Azalea Blitz Deck","Benji Blitz Deck","Katsu Blitz Deck","Riptide Blitz Deck","Uzuri Blitz Deck"],releaseDate:"2023-03-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["out"],talents:[]},{cards:236,classes:["Illusionist","Runeblade","Warrior","Brute"],deckLinks:[],heroes:["Prism","Vynnset","Boltyn","Levia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Dusk till Dawn",relatedReleases:[],releaseDate:"2023-07-14 12:00",releaseType:"Expansion Booster",setIdentifiers:["dtd"],talents:["Light","Shadow"]},{cards:107,classes:["Mechanologist","Bard","Guardian","Ninja"],deckLinks:[{name:"Brevant",url:"https://fabrary.net/decks/01HAXKPFH7ZHPDEJZH967VNRW6"},{name:"Ira",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"},{name:"Melody",url:"https://fabrary.net/decks/01HAXKSFPXGCEH99PDZJ32V4N9"},{name:"Teklovossen",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"}],heroes:["Teklovossen","Melody","Brevant","Ira"],languages:["English"],release:"Round the Table: TCC x LSS",relatedReleases:[],releaseDate:"2023-09-29 12:00",releaseType:"Round the Table",talents:[],setIdentifiers:["tcc"]},{cards:251,classes:["Mechanologist"],deckLinks:[],draft:{heroIdentifiers:["dash-database","maxx-nitro","teklovossen"],picksPerPack:14},heroes:["Dash","Maxx","Teklovossen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Bright Lights",relatedReleases:[],releaseDate:"2023-10-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["evo"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3J1X1NQ9TB9RTVWV42JG46"}],heroes:["Betsy"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Betsy Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["bet"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3SHBEQBRECYK6ZN1CHRADR"}],heroes:["Kassai"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kassai Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ksi"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3HK89NA910SK3FQV84H46Z"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kayo Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["kyo"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3GP5ZJ1NRC0XBYNE45XQE8"}],heroes:["Olympia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Olympia Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ola"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3Q4GBDMEFSX98HEN9ET308"}],heroes:["Rhinar"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Rhinar Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["rhi"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3K8ZV7KBRRJKPHW4B13J1K"}],heroes:["Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Victor Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["vic"],talents:[]},{cards:255,classes:["Brute","Guardian","Warrior"],deckLinks:[],draft:{heroIdentifiers:["kassai","betsy","kayo","olympia","rhinar","victor-goldmane"],picksPerPack:14},heroes:["Kassai","Betsy","Kayo","Olympia","Rhinar","Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Heavy Hitters",relatedReleases:["Betsy Blitz Deck","Kassai Blitz Deck","Kayo Blitz Deck","Olympia Blitz Deck","Rhinar Blitz Deck","Victor Blitz Deck"],releaseDate:"2024-02-02 12:00",releaseType:"Standalone Booster",setIdentifiers:["hvy"],talents:[]},{cards:66,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HWNCK2BYPVKK6701052YYXMZ"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Kayo",relatedReleases:[],releaseDate:"2024-05-03 12:00",releaseType:"Armory Deck",setIdentifiers:["ako"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z23X2PRQCJ100FP4CAZGK"}],heroes:["Enigma"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Enigma Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["eng"],talents:["Mystic"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z4BD3TRMS3CP1ME4ZP3T6"}],heroes:["Nuu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Nuu Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["nuu"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z395FD35CM24QCJQKJER1"}],heroes:["Zen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Zen Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["zen"],talents:["Mystic"]},{cards:239,classes:["Assassin","Illusionist","Ninja"],deckLinks:[],draft:{heroIdentifiers:["enigma","nuu","zen"],picksPerPack:14},heroes:["Enigma","Nuu","Zen"],languages:pe,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Part the Mistveil",relatedReleases:["Enigma Blitz Deck","Nuu Blitz Deck","Zen Blitz Deck"],releaseDate:"2024-05-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["mst"],talents:["Mystic"]},{cards:66,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01J202NH0RG8S0V8WXH1FWB2AH"}],heroes:["Boltyn"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Boltyn",relatedReleases:[],releaseDate:"2024-07-12 12:00",releaseType:"Armory Deck",setIdentifiers:["asb"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J45SYSM2ZERW6CWY283ZAT1S"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Aurora",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["aur"],talents:["Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01J45SWXNDV5XD8PTBACAV8NZ1"}],heroes:["Terra"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Terra",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["ter"],talents:["Earth"]},{cards:66,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01J3GKKSTM773CW7BG3RRJ5FJH"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Azalea",relatedReleases:[],releaseDate:"2024-08-02 12:00",releaseType:"Armory Deck",setIdentifiers:["aaz"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KF1TFNN62TC0G7M993FTY"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Aurora Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["aua"],talents:["Lightning"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KFRMJFKRQYJJ7THG1GMTB"}],heroes:["Florian"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Florian Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["flr"],talents:["Earth"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGA3JVKFHEXGKYW0441CY"}],heroes:["Oscilio"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Oscilio Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["osc"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGT3XD3HMVVRFT174QNMF"}],heroes:["Verdance"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Verdance Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["ver"],talents:["Earth"]},{cards:258,classes:["Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["aurora","florian","oscilio","verdance"],picksPerPack:14},heroes:["Aurora","Florian","Oscilio","Verdance"],languages:pe,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Rosetta",relatedReleases:["Aurora Blitz Deck","Florian Blitz Deck","Oscilio Blitz Deck","Verdance Blitz Deck"],releaseDate:"2024-09-20 12:00",releaseType:"Standalone Booster",setIdentifiers:["ros"],talents:["Elemental","Earth","Lightning"]},{cards:66,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01J9822H5PANJAFQVMC4TPK4Z1"}],heroes:["Dash"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Dash",relatedReleases:[],releaseDate:"2024-10-18 12:00",releaseType:"Armory Deck",setIdentifiers:["aio"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01JCPPENK52DTRBJZMWQF8S0X2"}],heroes:["Jarl"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck Origins: Jarl",relatedReleases:[],releaseDate:"2024-11-29 12:00",releaseType:"Armory Deck",setIdentifiers:["ajv"],talents:["Elemental","Earth","Ice"]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Arakni"],languages:pe,release:"Arakni Hunted Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["ark"],talents:["Chaos"]},{cards:265,classes:["Assassin","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["arakni-web-of-deceit","cindra","fang"],picksPerPack:14},heroes:["Arakni","Cindra","Fang"],heroOverrides:{Arakni:"Crackni"},languages:pe,raritiesExcludedInLimited:["Legendary","Fabled"],release:"The Hunted",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["hnt"],talents:["Chaos","Draconic","Royal"],url:"https://fabtcg.com/en/articles/hnt/"},{cards:28,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01JN2DEG4X2V8DVMCWFBWQTTSC"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Aurora",relatedReleases:[],releaseDate:"2025-03-14 12:00",releaseType:"Armory Deck",setIdentifiers:["ast"],talents:["Elemental","Lightning"]},{cards:28,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01JRH0631MH5A9JPVGTP3TKJXN"}],heroes:["Maxx"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Maxx",relatedReleases:[],releaseDate:"2025-04-17 12:00",releaseType:"Armory Deck",setIdentifiers:["amx"],talents:[]},{cards:30,classes:["Necromancer","Pirate"],deckLinks:[{url:"https://fabrary.net/decks/01JVYZ0NCHP49HAP40C23P14E3"}],heroes:["Gravy Bones"],languages:ae,release:"Armory Deck: Gravy Bones",relatedReleases:[],releaseDate:"2025-05-30 12:00",releaseType:"Armory Deck",setIdentifiers:["agb"],talents:[]},{cards:265,classes:["Mechanologist","Necromancer","Pirate","Ranger","Thief"],deckLinks:[],draft:{heroIdentifiers:["gravy-bones","marlynn","puffin","scurv-stowaway"],picksPerPack:14},heroes:["Gravy Bones","Marlynn","Puffin","Scurv"],languages:ae,raritiesExcludedInLimited:["Fabled","Legendary"],release:"High Seas",relatedReleases:[],releaseDate:"2025-06-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["sea"],talents:[]},{cards:30,classes:["Ninja"],deckLinks:[],heroes:["Ira"],languages:ae,release:"Armory Deck: Ira",relatedReleases:[],releaseDate:"2025-07-11 12:00",releaseType:"Armory Deck",setIdentifiers:["asr"],talents:[]},{cards:30,classes:["Runeblade"],deckLinks:[],heroes:["Viserai"],languages:ae,release:"Armory Deck Legends: Viserai",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["avs"],talents:[]},{cards:30,classes:["Illusionist"],deckLinks:[],heroes:["Prism"],languages:ae,release:"Armory Deck Legends: Prism",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["apr"],talents:["Light"]},{cards:130,classes:["Guardian"],deckLinks:[],heroes:["Valda"],languages:ae,release:"Mastery Pack: Guardian",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Expansion Booster",setIdentifiers:["mpg"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[],heroes:["Bravo"],languages:ae,release:"Bravo Demo Deck",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Welcome Deck",setIdentifiers:["bdd"],talents:[]}],He={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta",hnt:"The Hunted",sea:"High Seas",mpg:"Mastery Pack: Guardian"},Jr=la(oa({},He),{aaz:"Armory Deck: Azalea",asb:"Armory Deck: Boltyn",aio:"Armory Deck: Dash",ako:"Armory Deck: Kayo",ajv:"Armory Deck Origins: Jarl",ast:"Armory Deck: Aurora",amx:"Armory Deck: Maxx",agb:"Armory Deck: Gravy Bones",asr:"Armory Deck: Ira",apr:"Armory Deck Legends: Prism",avs:"Armory Deck Legends: Viserai",ara:"Arakni Blitz Deck",ark:"Arakni Hunted Blitz Deck",aua:"Aurora Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",flr:"Florian Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",osc:"Oscilio Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rhi:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",ver:"Verdance Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",bdd:"Bravo Demo Deck",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table: TCC x LSS",bvo:"Bravo Hero Deck",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",gem:"GEM",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),Oe={};for(let[e,r]of Object.entries(Jr)){let t=Oe[r];t?t.push(e):Oe[r]=[e]}var Ea=Oe,Ta={},xa={MST158_V3:"-V3",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3"},Sa=e=>{var r,t,a;let i=Ta[e.set]||"",s=`${e.identifier}${i}`,o=e.edition?`-${e.edition}`:"",n=e.foiling?`-${e.foiling}`:"",l=(r=e.treatments)!=null&&r.length?`-${e.treatments.sort().join("-")}`:e.treatment?`-${e.treatment}`:"",d=(t=e.image)!=null&&t.toLowerCase().includes("back")?"-Back":"",c=xa[((a=e.image)==null?void 0:a.toUpperCase())||""]||"";return`${s}${o}${n}${l}${d}${c}`},La=Object.keys(He).filter(e=>!e.toLowerCase().includes("hp")).reverse().map(e=>e.toUpperCase()),Ra={"adaptive-plating":{print:"EVO013-Cold"},"command-and-conquer-red":{print:"DYN000-Cold-Alternate Art-Extended Art"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ROS256-Cold"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Alternate Art-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"},"wreck-havoc-red":{print:"OUT198"}},Pa=["JDG044-Full Art-Back"],Ia=(e,r)=>{let{cardIdentifier:t}=e,a=Object.entries(Ra).find(([i])=>i===t);if(a&&r.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return r.find(s=>s.print===i)||r[0]}else{let i,s,o,n,l,d,c,u,h,p,y,A,v,f,k,D,g,E,T,C,S,I;for(let B of r){let{edition:F,foiling:L,identifier:O,image:G,print:W,treatments:x}=B,R=(G==null?void 0:G.toUpperCase())||"",w=O.toLowerCase().includes("win"),Y=!!R,me=R.includes("HP"),ue=Pa.includes(W);if(Y&&!w&&!me&&!ue){if(i||(i=B),x!=null&&x.includes("Full Art")){if(y=B,L==="Cold"&&(d=B,R.includes("_V3"))){c=B;break}R.includes("BACK")?h=B:p=B}x!=null&&x.includes("Extended Art")&&(u=B,L==="Cold"&&(l=B),L||(A=B),F==="Promo"&&(v=B)),x!=null&&x.includes("Alternate Art")&&(s=B),x!=null&&x.includes("Alternate Border")&&(o=B),x!=null&&x.includes("Alternate Text")&&(n=B),(R.includes("_V2")||R.includes("-MV"))&&x!=null&&x.includes("Full Art")&&(k=B),F==="Alpha"?D=B:F==="First"?g=B:F==="Promo"?E=B:F==="Unlimited"&&(T=B),L==="Cold"?(C=B,F==="Promo"&&(I=B)):L==="Gold"&&(S=B)}}return f||c||p||h||d||y||l||k||v||A||u||o||s||n||I||D||g||E||T||S||C||i}},wa={"command-and-conquer-red":{print:"HNT260"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"portside-exchange-blue":{print:"SEA145"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ELE222-First"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"wreck-havoc-red":{print:"OUT198"}},za=(e,r)=>{let{cardIdentifier:t}=e,a=Object.entries(wa).find(([i])=>i===t);if(a&&r.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return r.find(s=>s.print===i)||r[0]}else{let i,s;for(let o of r){let{edition:n,image:l,treatment:d}=o,c=!!l,u=l==null?void 0:l.includes("HP");if(c&&!u&&(i||(i=o),!s&&n!=="Promo"&&d!=="Full Art"&&(s=o)),i&&s)break}return s||i||r[0]}}});var pt=Ar((Ds,ht)=>{"use strict";function Xr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,a)}return t}function oe(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Xr(Object(t),!0).forEach(function(a){Ke(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Xr(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function Ge(e){"@babel/helpers - typeof";return Ge=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ge(e)}function N(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function Zr(e,r){for(var t=0;t<r.length;t++){var a=r[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function H(e,r,t){return r&&Zr(e.prototype,r),t&&Zr(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ke(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function q(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),r&&We(e,r)}function De(e){return De=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},De(e)}function We(e,r){return We=Object.setPrototypeOf||function(a,i){return a.__proto__=i,a},We(e,r)}function Oa(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function Na(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ha(e,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Na(e)}function ee(e){var r=Oa();return function(){var a=De(e),i;if(r){var s=De(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return Ha(this,i)}}function se(e){return _a(e)||Ga(e)||Ka(e)||Wa()}function _a(e){if(Array.isArray(e))return $e(e)}function Ga(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ka(e,r){if(e){if(typeof e=="string")return $e(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return $e(e,r)}}function $e(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}function Wa(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X(e){return Array.isArray?Array.isArray(e):st(e)==="[object Array]"}var $a=1/0;function ja(e){if(typeof e=="string")return e;var r=e+"";return r=="0"&&1/e==-$a?"-0":r}function Va(e){return e==null?"":ja(e)}function U(e){return typeof e=="string"}function at(e){return typeof e=="number"}function Ua(e){return e===!0||e===!1||Ja(e)&&st(e)=="[object Boolean]"}function it(e){return Ge(e)==="object"}function Ja(e){return it(e)&&e!==null}function K(e){return e!=null}function _e(e){return!e.trim().length}function st(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Ya="Incorrect 'index' type",Xa=function(r){return"Invalid value for key ".concat(r)},Za=function(r){return"Pattern length exceeds max of ".concat(r,".")},Qa=function(r){return"Missing ".concat(r," property in key")},qa=function(r){return"Property 'weight' in key '".concat(r,"' must be a positive integer")},Qr=Object.prototype.hasOwnProperty,ei=function(){function e(r){var t=this;N(this,e),this._keys=[],this._keyMap={};var a=0;r.forEach(function(i){var s=nt(i);a+=s.weight,t._keys.push(s),t._keyMap[s.id]=s,a+=s.weight}),this._keys.forEach(function(i){i.weight/=a})}return H(e,[{key:"get",value:function(t){return this._keyMap[t]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function nt(e){var r=null,t=null,a=null,i=1,s=null;if(U(e)||X(e))a=e,r=qr(e),t=je(e);else{if(!Qr.call(e,"name"))throw new Error(Qa("name"));var o=e.name;if(a=o,Qr.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(qa(o));r=qr(o),t=je(o),s=e.getFn}return{path:r,id:t,weight:i,src:a,getFn:s}}function qr(e){return X(e)?e:e.split(".")}function je(e){return X(e)?e.join("."):e}function ri(e,r){var t=[],a=!1,i=function s(o,n,l){if(K(o))if(!n[l])t.push(o);else{var d=n[l],c=o[d];if(!K(c))return;if(l===n.length-1&&(U(c)||at(c)||Ua(c)))t.push(Va(c));else if(X(c)){a=!0;for(var u=0,h=c.length;u<h;u+=1)s(c[u],n,l+1)}else n.length&&s(c,n,l+1)}};return i(e,U(r)?r.split("."):r,0),a?t:t[0]}var ti={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},ai={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(r,t){return r.score===t.score?r.idx<t.idx?-1:1:r.score<t.score?-1:1}},ii={location:0,threshold:.6,distance:100},si={useExtendedSearch:!1,getFn:ri,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},b=oe(oe(oe(oe({},ai),ti),ii),si),ni=/[^ ]+/g;function oi(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t=new Map,a=Math.pow(10,r);return{get:function(s){var o=s.match(ni).length;if(t.has(o))return t.get(o);var n=1/Math.pow(o,.5*e),l=parseFloat(Math.round(n*a)/a);return t.set(o,l),l},clear:function(){t.clear()}}}var Xe=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=r.getFn,a=t===void 0?b.getFn:t,i=r.fieldNormWeight,s=i===void 0?b.fieldNormWeight:i;N(this,e),this.norm=oi(s,3),this.getFn=a,this.isCreated=!1,this.setIndexRecords()}return H(e,[{key:"setSources",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.docs=t}},{key:"setIndexRecords",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.records=t}},{key:"setKeys",value:function(){var t=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.keys=a,this._keysMap={},a.forEach(function(i,s){t._keysMap[i.id]=s})}},{key:"create",value:function(){var t=this;this.isCreated||!this.docs.length||(this.isCreated=!0,U(this.docs[0])?this.docs.forEach(function(a,i){t._addString(a,i)}):this.docs.forEach(function(a,i){t._addObject(a,i)}),this.norm.clear())}},{key:"add",value:function(t){var a=this.size();U(t)?this._addString(t,a):this._addObject(t,a)}},{key:"removeAt",value:function(t){this.records.splice(t,1);for(var a=t,i=this.size();a<i;a+=1)this.records[a].i-=1}},{key:"getValueForItemAtKeyId",value:function(t,a){return t[this._keysMap[a]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(t,a){if(!(!K(t)||_e(t))){var i={v:t,i:a,n:this.norm.get(t)};this.records.push(i)}}},{key:"_addObject",value:function(t,a){var i=this,s={i:a,$:{}};this.keys.forEach(function(o,n){var l=o.getFn?o.getFn(t):i.getFn(t,o.path);if(K(l)){if(X(l))(function(){for(var c=[],u=[{nestedArrIndex:-1,value:l}];u.length;){var h=u.pop(),p=h.nestedArrIndex,y=h.value;if(K(y))if(U(y)&&!_e(y)){var A={v:y,i:p,n:i.norm.get(y)};c.push(A)}else X(y)&&y.forEach(function(v,f){u.push({nestedArrIndex:f,value:v})})}s.$[n]=c})();else if(U(l)&&!_e(l)){var d={v:l,n:i.norm.get(l)};s.$[n]=d}}}),this.records.push(s)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function ot(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.getFn,i=a===void 0?b.getFn:a,s=t.fieldNormWeight,o=s===void 0?b.fieldNormWeight:s,n=new Xe({getFn:i,fieldNormWeight:o});return n.setKeys(e.map(nt)),n.setSources(r),n.create(),n}function li(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.getFn,a=t===void 0?b.getFn:t,i=r.fieldNormWeight,s=i===void 0?b.fieldNormWeight:i,o=e.keys,n=e.records,l=new Xe({getFn:a,fieldNormWeight:s});return l.setKeys(o),l.setIndexRecords(n),l}function Ae(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.errors,a=t===void 0?0:t,i=r.currentLocation,s=i===void 0?0:i,o=r.expectedLocation,n=o===void 0?0:o,l=r.distance,d=l===void 0?b.distance:l,c=r.ignoreLocation,u=c===void 0?b.ignoreLocation:c,h=a/e.length;if(u)return h;var p=Math.abs(n-s);return d?h+p/d:p?1:h}function ci(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:b.minMatchCharLength,t=[],a=-1,i=-1,s=0,o=e.length;s<o;s+=1){var n=e[s];n&&a===-1?a=s:!n&&a!==-1&&(i=s-1,i-a+1>=r&&t.push([a,i]),a=-1)}return e[s-1]&&s-a>=r&&t.push([a,s-1]),t}var ie=32;function di(e,r,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=a.location,s=i===void 0?b.location:i,o=a.distance,n=o===void 0?b.distance:o,l=a.threshold,d=l===void 0?b.threshold:l,c=a.findAllMatches,u=c===void 0?b.findAllMatches:c,h=a.minMatchCharLength,p=h===void 0?b.minMatchCharLength:h,y=a.includeMatches,A=y===void 0?b.includeMatches:y,v=a.ignoreLocation,f=v===void 0?b.ignoreLocation:v;if(r.length>ie)throw new Error(Za(ie));for(var k=r.length,D=e.length,g=Math.max(0,Math.min(s,D)),E=d,T=g,C=p>1||A,S=C?Array(D):[],I;(I=e.indexOf(r,T))>-1;){var B=Ae(r,{currentLocation:I,expectedLocation:g,distance:n,ignoreLocation:f});if(E=Math.min(B,E),T=I+k,C)for(var F=0;F<k;)S[I+F]=1,F+=1}T=-1;for(var L=[],O=1,G=k+D,W=1<<k-1,x=0;x<k;x+=1){for(var R=0,w=G;R<w;){var Y=Ae(r,{errors:x,currentLocation:g+w,expectedLocation:g,distance:n,ignoreLocation:f});Y<=E?R=w:G=w,w=Math.floor((G-R)/2+R)}G=w;var me=Math.max(1,g-w+1),ue=u?D:Math.min(g+w,D)+k,ne=Array(ue+2);ne[ue+1]=(1<<x)-1;for(var $=ue;$>=me;$-=1){var ke=$-1,yr=t[e.charAt(ke)];if(C&&(S[ke]=+!!yr),ne[$]=(ne[$+1]<<1|1)&yr,x&&(ne[$]|=(L[$+1]|L[$])<<1|1|L[$+1]),ne[$]&W&&(O=Ae(r,{errors:x,currentLocation:ke,expectedLocation:g,distance:n,ignoreLocation:f}),O<=E)){if(E=O,T=ke,T<=g)break;me=Math.max(1,2*g-T)}}var Vt=Ae(r,{errors:x+1,currentLocation:g,expectedLocation:g,distance:n,ignoreLocation:f});if(Vt>E)break;L=ne}var ze={isMatch:T>=0,score:Math.max(.001,O)};if(C){var mr=ci(S,p);mr.length?A&&(ze.indices=mr):ze.isMatch=!1}return ze}function ui(e){for(var r={},t=0,a=e.length;t<a;t+=1){var i=e.charAt(t);r[i]=(r[i]||0)|1<<a-t-1}return r}var lt=function(){function e(r){var t=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.location,s=i===void 0?b.location:i,o=a.threshold,n=o===void 0?b.threshold:o,l=a.distance,d=l===void 0?b.distance:l,c=a.includeMatches,u=c===void 0?b.includeMatches:c,h=a.findAllMatches,p=h===void 0?b.findAllMatches:h,y=a.minMatchCharLength,A=y===void 0?b.minMatchCharLength:y,v=a.isCaseSensitive,f=v===void 0?b.isCaseSensitive:v,k=a.ignoreLocation,D=k===void 0?b.ignoreLocation:k;if(N(this,e),this.options={location:s,threshold:n,distance:d,includeMatches:u,findAllMatches:p,minMatchCharLength:A,isCaseSensitive:f,ignoreLocation:D},this.pattern=f?r:r.toLowerCase(),this.chunks=[],!!this.pattern.length){var g=function(F,L){t.chunks.push({pattern:F,alphabet:ui(F),startIndex:L})},E=this.pattern.length;if(E>ie){for(var T=0,C=E%ie,S=E-C;T<S;)g(this.pattern.substr(T,ie),T),T+=ie;if(C){var I=E-ie;g(this.pattern.substr(I),I)}}else g(this.pattern,0)}}return H(e,[{key:"searchIn",value:function(t){var a=this.options,i=a.isCaseSensitive,s=a.includeMatches;if(i||(t=t.toLowerCase()),this.pattern===t){var o={isMatch:!0,score:0};return s&&(o.indices=[[0,t.length-1]]),o}var n=this.options,l=n.location,d=n.distance,c=n.threshold,u=n.findAllMatches,h=n.minMatchCharLength,p=n.ignoreLocation,y=[],A=0,v=!1;this.chunks.forEach(function(k){var D=k.pattern,g=k.alphabet,E=k.startIndex,T=di(t,D,g,{location:l+E,distance:d,threshold:c,findAllMatches:u,minMatchCharLength:h,includeMatches:s,ignoreLocation:p}),C=T.isMatch,S=T.score,I=T.indices;C&&(v=!0),A+=S,C&&I&&(y=[].concat(se(y),se(I)))});var f={isMatch:v,score:v?A/this.chunks.length:1};return v&&s&&(f.indices=y),f}}]),e}(),re=function(){function e(r){N(this,e),this.pattern=r}return H(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(t){return et(t,this.multiRegex)}},{key:"isSingleMatch",value:function(t){return et(t,this.singleRegex)}}]),e}();function et(e,r){var t=e.match(r);return t?t[1]:null}var hi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),t}(re),pi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i.indexOf(this.pattern),o=s===-1;return{isMatch:o,score:o?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),t}(re),fi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),t}(re),gi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=!i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),t}(re),yi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[i.length-this.pattern.length,i.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),t}(re),mi=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){var s=!i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),t}(re),ct=function(e){q(t,e);var r=ee(t);function t(a){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.location,n=o===void 0?b.location:o,l=s.threshold,d=l===void 0?b.threshold:l,c=s.distance,u=c===void 0?b.distance:c,h=s.includeMatches,p=h===void 0?b.includeMatches:h,y=s.findAllMatches,A=y===void 0?b.findAllMatches:y,v=s.minMatchCharLength,f=v===void 0?b.minMatchCharLength:v,k=s.isCaseSensitive,D=k===void 0?b.isCaseSensitive:k,g=s.ignoreLocation,E=g===void 0?b.ignoreLocation:g;return N(this,t),i=r.call(this,a),i._bitapSearch=new lt(a,{location:n,threshold:d,distance:u,includeMatches:p,findAllMatches:A,minMatchCharLength:f,isCaseSensitive:D,ignoreLocation:E}),i}return H(t,[{key:"search",value:function(i){return this._bitapSearch.searchIn(i)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),t}(re),dt=function(e){q(t,e);var r=ee(t);function t(a){return N(this,t),r.call(this,a)}return H(t,[{key:"search",value:function(i){for(var s=0,o,n=[],l=this.pattern.length;(o=i.indexOf(this.pattern,s))>-1;)s=o+l,n.push([o,s-1]);var d=!!n.length;return{isMatch:d,score:d?0:1,indices:n}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),t}(re),Ve=[hi,dt,fi,gi,mi,yi,pi,ct],rt=Ve.length,ki=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,vi="|";function bi(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split(vi).map(function(t){for(var a=t.trim().split(ki).filter(function(y){return y&&!!y.trim()}),i=[],s=0,o=a.length;s<o;s+=1){for(var n=a[s],l=!1,d=-1;!l&&++d<rt;){var c=Ve[d],u=c.isMultiMatch(n);u&&(i.push(new c(u,r)),l=!0)}if(!l)for(d=-1;++d<rt;){var h=Ve[d],p=h.isSingleMatch(n);if(p){i.push(new h(p,r));break}}}return i})}var Ai=new Set([ct.type,dt.type]),Di=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.isCaseSensitive,i=a===void 0?b.isCaseSensitive:a,s=t.includeMatches,o=s===void 0?b.includeMatches:s,n=t.minMatchCharLength,l=n===void 0?b.minMatchCharLength:n,d=t.ignoreLocation,c=d===void 0?b.ignoreLocation:d,u=t.findAllMatches,h=u===void 0?b.findAllMatches:u,p=t.location,y=p===void 0?b.location:p,A=t.threshold,v=A===void 0?b.threshold:A,f=t.distance,k=f===void 0?b.distance:f;N(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:o,minMatchCharLength:l,findAllMatches:h,ignoreLocation:c,location:y,threshold:v,distance:k},this.pattern=i?r:r.toLowerCase(),this.query=bi(this.pattern,this.options)}return H(e,[{key:"searchIn",value:function(t){var a=this.query;if(!a)return{isMatch:!1,score:1};var i=this.options,s=i.includeMatches,o=i.isCaseSensitive;t=o?t:t.toLowerCase();for(var n=0,l=[],d=0,c=0,u=a.length;c<u;c+=1){var h=a[c];l.length=0,n=0;for(var p=0,y=h.length;p<y;p+=1){var A=h[p],v=A.search(t),f=v.isMatch,k=v.indices,D=v.score;if(f){if(n+=1,d+=D,s){var g=A.constructor.type;Ai.has(g)?l=[].concat(se(l),se(k)):l.push(k)}}else{d=0,n=0,l.length=0;break}}if(n){var E={isMatch:!0,score:d/n};return s&&(E.indices=l),E}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(t,a){return a.useExtendedSearch}}]),e}(),Ce=[];function Ci(){Ce.push.apply(Ce,arguments)}function Ue(e,r){for(var t=0,a=Ce.length;t<a;t+=1){var i=Ce[t];if(i.condition(e,r))return new i(e,r)}return new lt(e,r)}var Be={AND:"$and",OR:"$or"},Je={PATH:"$path",PATTERN:"$val"},Ye=function(r){return!!(r[Be.AND]||r[Be.OR])},Bi=function(r){return!!r[Je.PATH]},Mi=function(r){return!X(r)&&it(r)&&!Ye(r)},tt=function(r){return Ke({},Be.AND,Object.keys(r).map(function(t){return Ke({},t,r[t])}))};function ut(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.auto,i=a===void 0?!0:a,s=function o(n){var l=Object.keys(n),d=Bi(n);if(!d&&l.length>1&&!Ye(n))return o(tt(n));if(Mi(n)){var c=d?n[Je.PATH]:l[0],u=d?n[Je.PATTERN]:n[c];if(!U(u))throw new Error(Xa(c));var h={keyId:je(c),pattern:u};return i&&(h.searcher=Ue(u,r)),h}var p={children:[],operator:l[0]};return l.forEach(function(y){var A=n[y];X(A)&&A.forEach(function(v){p.children.push(o(v))})}),p};return Ye(e)||(e=tt(e)),s(e)}function Fi(e,r){var t=r.ignoreFieldNorm,a=t===void 0?b.ignoreFieldNorm:t;e.forEach(function(i){var s=1;i.matches.forEach(function(o){var n=o.key,l=o.norm,d=o.score,c=n?n.weight:null;s*=Math.pow(d===0&&c?Number.EPSILON:d,(c||1)*(a?1:l))}),i.score=s})}function Ei(e,r){var t=e.matches;r.matches=[],K(t)&&t.forEach(function(a){if(!(!K(a.indices)||!a.indices.length)){var i=a.indices,s=a.value,o={indices:i,value:s};a.key&&(o.key=a.key.src),a.idx>-1&&(o.refIndex=a.idx),r.matches.push(o)}})}function Ti(e,r){r.score=e.score}function xi(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.includeMatches,i=a===void 0?b.includeMatches:a,s=t.includeScore,o=s===void 0?b.includeScore:s,n=[];return i&&n.push(Ei),o&&n.push(Ti),e.map(function(l){var d=l.idx,c={item:r[d],refIndex:d};return n.length&&n.forEach(function(u){u(l,c)}),c})}var le=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;N(this,e),this.options=oe(oe({},b),t),this.options.useExtendedSearch,this._keyStore=new ei(this.options.keys),this.setCollection(r,a)}return H(e,[{key:"setCollection",value:function(t,a){if(this._docs=t,a&&!(a instanceof Xe))throw new Error(Ya);this._myIndex=a||ot(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(t){K(t)&&(this._docs.push(t),this._myIndex.add(t))}},{key:"remove",value:function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return!1},a=[],i=0,s=this._docs.length;i<s;i+=1){var o=this._docs[i];t(o,i)&&(this.removeAt(i),i-=1,s-=1,a.push(o))}return a}},{key:"removeAt",value:function(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.limit,s=i===void 0?-1:i,o=this.options,n=o.includeMatches,l=o.includeScore,d=o.shouldSort,c=o.sortFn,u=o.ignoreFieldNorm,h=U(t)?U(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return Fi(h,{ignoreFieldNorm:u}),d&&h.sort(c),at(s)&&s>-1&&(h=h.slice(0,s)),xi(h,this._docs,{includeMatches:n,includeScore:l})}},{key:"_searchStringList",value:function(t){var a=Ue(t,this.options),i=this._myIndex.records,s=[];return i.forEach(function(o){var n=o.v,l=o.i,d=o.n;if(K(n)){var c=a.searchIn(n),u=c.isMatch,h=c.score,p=c.indices;u&&s.push({item:n,idx:l,matches:[{score:h,value:n,norm:d,indices:p}]})}}),s}},{key:"_searchLogical",value:function(t){var a=this,i=ut(t,this.options),s=function d(c,u,h){if(!c.children){var p=c.keyId,y=c.searcher,A=a._findMatches({key:a._keyStore.get(p),value:a._myIndex.getValueForItemAtKeyId(u,p),searcher:y});return A&&A.length?[{idx:h,item:u,matches:A}]:[]}for(var v=[],f=0,k=c.children.length;f<k;f+=1){var D=c.children[f],g=d(D,u,h);if(g.length)v.push.apply(v,se(g));else if(c.operator===Be.AND)return[]}return v},o=this._myIndex.records,n={},l=[];return o.forEach(function(d){var c=d.$,u=d.i;if(K(c)){var h=s(i,c,u);h.length&&(n[u]||(n[u]={idx:u,item:c,matches:[]},l.push(n[u])),h.forEach(function(p){var y,A=p.matches;(y=n[u].matches).push.apply(y,se(A))}))}}),l}},{key:"_searchObjectList",value:function(t){var a=this,i=Ue(t,this.options),s=this._myIndex,o=s.keys,n=s.records,l=[];return n.forEach(function(d){var c=d.$,u=d.i;if(K(c)){var h=[];o.forEach(function(p,y){h.push.apply(h,se(a._findMatches({key:p,value:c[y],searcher:i})))}),h.length&&l.push({idx:u,item:c,matches:h})}}),l}},{key:"_findMatches",value:function(t){var a=t.key,i=t.value,s=t.searcher;if(!K(i))return[];var o=[];if(X(i))i.forEach(function(p){var y=p.v,A=p.i,v=p.n;if(K(y)){var f=s.searchIn(y),k=f.isMatch,D=f.score,g=f.indices;k&&o.push({score:D,key:a,value:y,idx:A,norm:v,indices:g})}});else{var n=i.v,l=i.n,d=s.searchIn(n),c=d.isMatch,u=d.score,h=d.indices;c&&o.push({score:u,key:a,value:n,norm:l,indices:h})}return o}}]),e}();le.version="6.6.2";le.createIndex=ot;le.parseIndex=li;le.config=b;le.parseQuery=ut;Ci(Di);var Si=le;ht.exports=Si});var vs={};ea(vs,{FilterProperty:()=>Qe,PUNCTUATION:()=>M,RARITY_VALUES_MAPPING:()=>lr,abbreviations:()=>Ze,availableExclusions:()=>Nt,availableModifiers:()=>Ot,default:()=>Kt,filterCard:()=>Wt,filtersToCardPropertyMappings:()=>Pe,getAbbreviation:()=>Me,getAbbreviationByCard:()=>Li,getCardByName:()=>dr,getCleanText:()=>ur,getExcludedMetaFilters:()=>er,getKeywordsAndAppliedFiltersFromText:()=>cr,getMetaFilters:()=>qe,getNormalizedText:()=>ge,getRelatedCards:()=>gr,getRelatedCardsByName:()=>Ie,getTokensReferencedByCards:()=>ks,multiWordShorthands:()=>tr,shorthands:()=>rr,singleWordShorthands:()=>ar});module.exports=ra(vs);var Gt=Z(Q()),hr=Z(pt());var M=/[!"#$%&'’(),./:;<=>?@[\]^_`|~]/g;var m=Z(Q());var Me=e=>Ze.find(({abbreviations:r})=>r.find(t=>t.toLowerCase()===e)),Li=e=>Ze.find(({card:r})=>r.toLowerCase()===e.name.toLowerCase()),Ze=[{abbreviations:["10k"],card:"10,000 Year Reunion"},{abbreviations:["Pajamas","PJs"],card:"Alluvion Constellas"},{abbreviations:["Slippy","Arakni Slipped Through the Cracks","Arakni, Slipped Through the Cracks"],card:"Arakni, 5L!p3d 7hRu 7h3 cR4X"},{abbreviations:["Dullcap"],card:"Arcanite Skullcap"},{abbreviations:["ALS"],card:"Arc Light Sentinel"},{abbreviations:["AoW"],card:"Art of War"},{abbreviations:["BBD"],card:"Barraging Beatdown"},{abbreviations:["BBS"],card:"Big Blue Sky"},{abbreviations:["Starvo"],card:"Bravo, Star of the Show"},{abbreviations:["BEB"],card:"Bull's Eye Bracers"},{abbreviations:["BLW"],card:"Be Like Water"},{abbreviations:["BoJ"],card:"Balance of Justice"},{abbreviations:["BOHH"],card:"Blood on Her Hands"},{abbreviations:["BRB"],card:"Bloodrush Bellow"},{abbreviations:["Breezies"],card:"Breeze Rider Boots"},{abbreviations:["BTA"],card:"Burn Them All"},{abbreviations:["CStrike","C-Strike","C Strike"],card:"Celestial Cataclysm"},{abbreviations:["CBelly"],card:"Cerebellum Processor"},{abbreviations:["CLF"],card:"Channel Lake Frigid"},{abbreviations:["CLV"],card:"Channel Lightning Valley"},{abbreviations:["CMH"],card:"Channel Mount Heroic"},{abbreviations:["CMI"],card:"Channel Mount Isen"},{abbreviations:["CMT"],card:"Channel the Millennium Tree"},{abbreviations:["CnC","C&C"],card:"Command and Conquer"},{abbreviations:["Sea and Sea"],card:"Conqueror of the High Seas"},{abbreviations:["CYB"],card:"Count Your Blessings"},{abbreviations:["Cat","Kitty"],card:"Crouching Tiger"},{abbreviations:["CoD"],card:"Crown of Dominion"},{abbreviations:["CoP"],card:"Crown of Providence"},{abbreviations:["CtW"],card:"Crush the Weak"},{abbreviations:["DD"],card:"Death Dealer"},{abbreviations:["DnD"],card:"Devotion Never Dies"},{abbreviations:["DIO"],card:"Dash I/O"},{abbreviations:["EBTT"],card:"Even Bigger Than That!"},{abbreviations:["NewNigma"],card:"Enigma, New Moon"},{abbreviations:["EPot","E Pot"],card:"Energy Potion"},{abbreviations:["EStrike","E-Strike","E Strike"],card:"Enlightened Strike"},{abbreviations:["FFS"],card:"Fyendal's Fighting Spirit"},{abbreviations:["FoN"],card:"Force of Nature"},{abbreviations:["Frosty","\u{1F976}","\u{1F9CA}","\u2744\uFE0F"],card:"Frostbite"},{abbreviations:["Yum yum"],card:"Fruits of the Forest"},{abbreviations:["GnT"],card:"Give and Take"},{abbreviations:["Habibi"],card:"Hanabi Blaster"},{abbreviations:["HMH"],card:"Hope Merchant's Hood"},{abbreviations:["HoI"],card:"Heart of Ice"},{abbreviations:["Pumpkin"],card:"Jack-o'-lantern"},{abbreviations:["KKBB"],card:"Knick Knack Bric-a-brac"},{abbreviations:["BStrike"],card:"Levels of Enlightenment"},{abbreviations:["LAG","Twominaris"],card:"Luminaris, Angel's Glow"},{abbreviations:["LCF","Newminaris"],card:"Luminaris, Celestial Fury"},{abbreviations:["LDE"],card:"Last Ditch Effort"},{abbreviations:["LtC"],card:"Lead the Charge"},{abbreviations:["LNW"],card:"Leave No Witnesses"},{abbreviations:["LFaL","L4aL"],card:"Life for a Life"},{abbreviations:["LiT"],card:"Lost in Thought"},{abbreviations:["MMB"],card:"Mage Master Boots"},{abbreviations:["MaxV"],card:"Maximum Velocity"},{abbreviations:["MoM"],card:"Mask of Momentum"},{abbreviations:["MnG"],card:"Meat and Greet"},{abbreviations:["Cake","\u{1F382}"],card:"Ninth Blade of the Blood Oath"},{abbreviations:["PoM"],card:"Peace of Mind"},{abbreviations:["P-Bone"],card:"Performance Bonus"},{abbreviations:["PF","\u{1F525}"],card:"Phoenix Flame"},{abbreviations:["PtW"],card:"Poison the Well"},{abbreviations:["Thanos","Infinity Gauntlet"],card:"Polarity Reversal Script"},{abbreviations:["DPot","D Pot"],card:"Potion of D\xE9j\xE0 Vu"},{abbreviations:["Ponder Run"],card:"Premeditate"},{abbreviations:["Qi Unbound"],card:"Qi Unleashed"},{abbreviations:["RitL"],card:"Red in the Ledger"},{abbreviations:["Cats","Ghost cat","Ghost cats"],card:"Restless Coalescence"},{abbreviations:["SSGB"],card:"Sandscour Greatbow"},{abbreviations:["SSP"],card:"Sand Sketched Plan"},{abbreviations:["SFaS","S4aS"],card:"Scar for a Scar"},{abbreviations:["SWOMB"],card:"Shifting Winds of the Mystic Beast"},{abbreviations:["SWK"],card:"Spinning Wheel Kick"},{abbreviations:["SFTL"],card:"Swing Fist, Think Later"},{abbreviations:["TTT"],card:"Take the Tempo"},{abbreviations:["Ultron"],card:"Teklovossen, the Mechropotent"},{abbreviations:["ToS"],card:"Test of Strength"},{abbreviations:["TAYG"],card:"That All You Got?"},{abbreviations:["TROM"],card:"This Round's on Me"},{abbreviations:["3oak"],card:"Three of a Kind"},{abbreviations:["Pox Malone","Post Malone"],card:"Virulent Touch"},{abbreviations:["Cast Homes"],card:"Visit Goldmane Estate"},{abbreviations:["Frosty Hammer"],card:"Winter's Wail"},{abbreviations:["Wreckless Wing"],card:"War Cry of Bellona"},{abbreviations:["ZTS"],card:"Zero to Sixty"}];var z=Z(Q());var Qe=(t=>(t.LegalFormats="legalFormats",t.LegalHeroes="legalHeroes",t))(Qe||{}),xe=Array.from(Array(50).keys()).map(e=>`${e}`),Ri=[{format:z.Format.BlitzLivingLegend,nicknames:["blitz ll"]},{format:z.Format.ClassicConstructed,nicknames:["cc","classic"]},{format:z.Format.ClassicConstructedLivingLegend,nicknames:["cc ll","classic constructed ll","ll cc","ll","living legend"]},{format:z.Format.ProjectBlue,nicknames:["pb"]},{format:z.Format.UltimatePitFight,nicknames:["upf"]}],Pi=Object.values(z.Format).map(e=>{let r=Ri.find(({format:a})=>a===e),t=e.toLowerCase().replaceAll(M,"");return r?V(j({},r),{format:t}):{format:t}}),Ii=[{hero:z.Hero.DataDoll,nicknames:["data","datadoll"]},{hero:z.Hero.Dorinthea,nicknames:["dori"]},{hero:z.Hero.Genis,nicknames:["genis"]},{hero:z.Hero.GravyBones,nicknames:["gravy"]},{hero:z.Hero.Iyslander,nicknames:["islander"]}],wi=Object.values(z.Hero).map(e=>{let r=Ii.find(({hero:a})=>a===e),t=e.toLowerCase().replaceAll(M,"");return r?V(j({},r),{hero:t}):{hero:t}}),Fe=["common","rare","super rare","majestic","legendary","fabled"],zi=(e,r,t,a)=>{let i=[];if(!r)i.push(...e);else for(let s of e)switch(r){case">=":let o=!1;for(let c of Fe)o?i.push(c):c===s&&(o=!0,i.push(c));break;case">":let n=!1;for(let c of Fe)n?i.push(c):c===s&&(n=!0);break;case"<=":let l=!1;for(let c of Fe.slice().reverse())l?i.push(c):c===s&&(l=!0,i.push(c));break;case"<":let d=!1;for(let c of Fe.slice().reverse())d?i.push(c):c===s&&(d=!0);break;default:break}return{filterToPropertyMapping:{nestedProperty:"rarity",property:"printings",isArray:!0},isExcluded:t,isOptional:a,isOr:!0,values:i}},Oi=(e,r,t,a)=>{let i=a.map(l=>({hero:l.toLowerCase().replaceAll(M,"")})),s=[],o=[],n=[];for(let l of e){let d=Pi.find(({format:c,nicknames:u})=>c===l||!!u&&u.includes(l));if(d)o.push(d.format);else{let c=wi.find(({hero:u,nicknames:h})=>u===l||!!h&&h.includes(l))||i.find(({hero:u})=>u===l);c&&n.push(c.hero)}}return o.length>0&&s.push({filterToPropertyMapping:{property:"legalFormats",isArray:!0},values:o,isOr:!0,isExcluded:r,isOptional:t}),n.length>0&&s.push({filterToPropertyMapping:{property:"legalHeroes",isArray:!0},values:n,isOr:!0,isExcluded:r,isOptional:t}),s},qe=(e,r,t,a,i,s)=>{let o=[];return _i(t)?o.push(...Oi(a,e,r,s)):Ki(t)&&o.push(zi(a,i,e,r)),o},ce=[{filterToPropertyMapping:{property:"cost",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},isExcluded:!0,values:["*","x"]},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["equipment","hero","placeholder","token","weapon"]}],J=[{filterToPropertyMapping:{property:"defense",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},isExcluded:!0,values:["*","x"]},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["hero","placeholder","token","weapon"]}],Ee=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["equipment","hero","placeholder","token","weapon"]},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},isExcluded:!0,values:["true"]}],te=[{filterToPropertyMapping:{property:"power",isNumber:!0},isExcluded:!0,values:xe},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},isExcluded:!0,values:["*","x"]},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},isExcluded:!0,values:["equipment","hero","placeholder","token"]}],Te=[{filterToPropertyMapping:{property:"talents",isArray:!0},isExcluded:!0,values:Object.values(z.Talent).map(e=>e.toLowerCase())}],Ni={"!co":ce,"-co":ce,"!cost":ce,"-cost":ce,"!color":ce,"-color":ce,"!b":J,"-b":J,"!block":J,"-block":J,"!d":J,"-d":J,"!def":J,"-def":J,"!defense":J,"-defense":J,"!pitch":Ee,"-pitch":Ee,"!p":Ee,"-p":Ee,"!attack":te,"-attack":te,"!power":te,"-power":te,"!pwr":te,"-pwr":te,"!pow":te,"-pow":te,"!talents":Te,"-talents":Te,"!tal":Te,"-tal":Te},er=e=>{let r=[],t=Ni[e];return t&&r.push(...t),r},Hi=["l","legal","hero"],_i=e=>Hi.includes(e),Gi=["r","rarity"],Ki=e=>Gi.includes(e);var _=Z(Q());var rr=[{description:"Attack actions",expanded:["st:attack"],filters:{subtypes:[_.Subtype.Attack]},isCardProperty:!1,shorthands:["AA"]},{description:"Arcane barrier",expanded:['k:"arcane barrier"'],filters:{keywords:[_.Keyword.ArcaneBarrier]},isCardProperty:!1,shorthands:["AB"]},{description:"Attack reactions",expanded:['t:"attack reaction"'],filters:{types:[_.Type.AttackReaction]},isCardProperty:!1,shorthands:["AR"]},{description:"Defense reactions",expanded:['t:"defense reaction"'],filters:{types:[_.Type.DefenseReaction]},isCardProperty:!1,shorthands:["DR"]},{description:"Flick daggers",expanded:["dagger you control deal 1 damage"],filters:{functionalText:"dagger you control deal 1 damage"},isCardProperty:!0,shorthands:["Flick","Hurl","Throw"]},{description:"Gain life",expanded:["gain {h}"],filters:{functionalText:"gain {h}"},isCardProperty:!1,shorthands:["Gain life","Gains life"]},{description:"Go again",expanded:['k:"go again"'],filters:{keywords:[_.Keyword.GoAgain]},isCardProperty:!1,shorthands:["GA"]},{description:"Non-attack actions",expanded:["t:action","st:non-attack"],filters:{subtypes:[_.Subtype.NonAttack],types:[_.Type.Action]},isCardProperty:!1,shorthands:["NAA"]},{description:"Plus defense",expanded:["+ {d}"],filters:{functionalText:"+ {d}"},isCardProperty:!1,shorthands:["Pump defense","Pumps defense","Buff defense","Buffs defense"]},{description:"Plus power",expanded:["+ {p}"],filters:{functionalText:"+ {p}"},isCardProperty:!1,shorthands:["Pumps","Pump","Buff","Buffs","Pump attack","Pump attacks","Pumps attack","Pumps attacks","Buff attack","Buff attacks","Buffs attack","Buffs attacks","Pump power","Pumps power","Buff power","Buffs power"]},{description:"Poppers",expanded:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],filters:{defenseGreaterThanOrEqualTo:0,notClass:[_.Class.Illusionist],powerGreaterThanOrEqualTo:6,subtypes:[_.Subtype.Attack]},isCardProperty:!1,helper:'6+ power non-Illusionist attacks that can "pop" phantasm attacks when defending',shorthands:["Poppers","Popper"]},{description:"Spellvoid",expanded:['k:"spellvoid"'],filters:{keywords:[_.Keyword.Spellvoid]},isCardProperty:!1,shorthands:["SV"]},{description:"Tap",expanded:["{t}"],filters:{functionalText:"{t}"},isCardProperty:!0,shorthands:["Tap"]}],tr=rr.filter(({shorthands:e})=>e.some(r=>r.includes(" "))).map(e=>V(j({},e),{shorthands:e.shorthands.filter(r=>r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)})),ar=rr.filter(({shorthands:e})=>e.some(r=>!r.includes(" "))).map(e=>V(j({},e),{shorthands:e.shorthands.filter(r=>!r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)}));var Ot=[">=",">","<=","<"],Nt=["!","-"],Wi={property:"arcane",specialProperty:"specialArcane",isNumber:!0,partialMatch:!0},ir={property:"artists",isArray:!0,partialMatch:!0},ft={property:"bannedFormats",isArray:!0,partialMatch:!0},gt={property:"bonds",isArray:!0},$i={property:"n/a"},yt={property:"classes",isArray:!0,partialMatch:!0},mt={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},fe={property:"defense",specialProperty:"specialDefense",isNumber:!0},kt={property:"flows",isArray:!0},vt={nestedProperty:"foiling",property:"printings",isArray:!0},bt={property:"fusions",isArray:!0},At={property:"intellect",isNumber:!0},Dt={property:"keywords",isArray:!0},sr={property:"n/a",isMeta:!0},Ct={property:"life",specialProperty:"specialLife",isNumber:!0},Bt={property:"meta",isArray:!0},Mt={property:"name",isString:!0,partialMatch:!0},nr={property:"pitch",isNumber:!0},Se={property:"power",specialProperty:"specialPower",isNumber:!0},Ft={property:"n/a",isMeta:!0},ji={property:"n/a"},Vi={property:"n/a"},Et={property:"sets",isArray:!0,partialMatch:!0},Le={property:"specializations",isArray:!0,partialMatch:!0},Tt={property:"subtypes",isArray:!0},xt={property:"types",isArray:!0},St={property:"talents",isArray:!0},Ui={property:"functionalText",isString:!0,partialMatch:!0},Ji={property:"traits",isArray:!0,partialMatch:!0},Yi={property:"typeText",isString:!0,partialMatch:!0},Re={nestedProperty:"treatments",property:"printings",isArray:!0,isNestedPropertyArray:!0},Pe={arcane:Wi,a:ir,artist:ir,art:ir,attack:Se,b:fe,block:fe,banned:ft,bond:gt,bonds:gt,c:yt,class:yt,chain:$i,co:mt,cost:mt,color:nr,d:fe,def:fe,defense:fe,flow:kt,flows:kt,f:bt,fusion:bt,foil:vt,foiling:vt,i:At,intellect:At,is:Bt,k:Dt,keyword:Dt,l:sr,legal:sr,hero:sr,li:Ct,life:Ct,meta:Bt,n:Mt,name:Mt,p:nr,pitch:nr,pwr:Se,pow:Se,power:Se,r:Ft,rarity:Ft,referencedby:ji,references:Vi,rf:ft,s:Et,set:Et,sp:Le,spec:Le,specialization:Le,specializations:Le,st:Tt,subtype:Tt,t:xt,type:xt,tal:St,talent:St,text:Ui,trait:Ji,treat:Re,treatment:Re,var:Re,variation:Re,x:Yi},Xi=[{text:m.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:m.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(M,"")}],Zi=e=>{var i;let r=[],t=e.replaceAll("\u201D",'"');for(let{text:s,override:o}of Xi)t.includes(s)&&(t=t.replace(s,o));if((i=Me(t))==null?void 0:i.card)r.push(t);else{let s=t.split(/[ ]+/),o="",n=0;for(let l of s)n===2&&(r.push(o.trim().replaceAll('"',"")),o="",n=0),n<2&&l.split('"').length===2?(o+=" "+l,n++):n===0&&o===""?r.push(l):n===1&&(o+=" "+l);n===2&&(r.push(o.trim().replaceAll('"',"")),o="",n=0)}return r},zs=[m.Hero.Briar,m.Hero.Brutus,m.Hero.Emperor,m.Hero.Prism,m.Hero.Shiyana,m.Hero.Taylor,m.Hero.Yorick],cr=(e,r,t=[])=>{var A;let a=e.trim().toLowerCase();for(let{expanded:v,shorthands:f}of tr)for(let k of f)if(a.includes(k)){a=a.replace(k,v.join(" "));break}for(let[v,f]of Object.entries(m.setToSetIdentifierMappings))a.includes(v.toLowerCase())&&(a=a.replace(v.toLowerCase(),f[0]));let i=Zi(a);a==="throw"&&console.log("rawSearchCriteria",i);let s=[];for(let v of i){let f=ar.find(({shorthands:k})=>k.includes(v));f&&!f.isCardProperty?s.push(...f.expanded):s.push(v)}a==="throw"&&console.log("searchCriteria",s);let o=[],n=[],l=[],d=[],c=!1,u=[],h=[],p=[],y={isClash:!1};for(let v of s)if(os(v)){let[f,k]=v.split(":"),{modifier:D,values:g,isAnd:E,isOr:T}=ss(k),{filterKey:C,isExcluded:S,isOptional:I,isMeta:B}=ns(f);if(B)["rarity","r"].includes(C)&&(u=is(g),g=u.map(F=>F.toLowerCase())),["legal","l","hero"].includes(C)&&k.includes("clash")&&(y.isClash=!0),o.push(...qe(S,I,C,g,D,t));else{if(["chain"].includes(C)){let F=R=>R.name.toLowerCase().replaceAll(M,""),L=g.map(R=>dr(R,r)).filter(R=>!!R).map(F),O=new Set(L);C="name",T=!0;let G=20,W=0,x=R=>{if(!R.types.includes(m.Type.Hero)){let w=F(R);O.add(w),L.includes(w)||L.push(w)}};for(let R of L){if(W>G)break;let{referencedBy:w,references:Y}=Ie(R,r);Y.forEach(x),W===0&&w.forEach(x),W++}g=Array.from(O)}else if(["referencedby","references"].includes(C)){let F=C,L=[...g].filter(O=>!!O);g=[],C="name",T=!0;for(let O of L){let{referencedBy:G,references:W}=Ie(O,r);["referencedby"].includes(F)?g.push(...W.map(({name:x})=>x.toLowerCase().replaceAll(M,""))):["references"].includes(F)&&g.push(...G.map(({name:x})=>x.toLowerCase().replaceAll(M,"")))}}else if(["art","artist"].includes(C))n=g;else if(["is","is","meta"].includes(C)){let F=rs(g);g=F.map(L=>L.toLowerCase().replaceAll(M,"")),F.includes(m.Meta.Expansion)&&!S&&(c=!0)}else["foiling","foil"].includes(C)?(d=ts(g),g=d.map(F=>F.toLowerCase())):["treat","treatment","var","variation"].includes(C)?(p=as(g),g=p.map(F=>F.toLowerCase())):["set","s"].includes(C)?(h=Qi(g),g=h.map(F=>F.toLowerCase().replaceAll(M,""))):["pitch","p","color"].includes(C)&&(g=es(g));Pe[C]&&o.push({filterToPropertyMapping:Pe[C],values:g,isAnd:E,isOr:T,modifier:D,isExcluded:S,isOptional:I})}}else if(v){let f=(A=Me(v))==null?void 0:A.card,k=er(v);f?l.push(`"${f.toLowerCase().replace(M,"")}"`):k&&k.length>0?o.push(...k):l.push(v.replace(M,""))}return{appliedFilters:o,attributes:{artists:n,foilings:d,isExpansionSlot:c,rarities:u,releases:h,treatments:p},keywords:l,specialConditions:y}},Qi=e=>{let r=[];for(let t of e)r.push(...qi(t));return r},qi=e=>{let r=[],t=Object.values(m.Release).find(a=>a.toLowerCase().replaceAll(M,"")===e);if(t&&r.push(t),r.length===0){let a=m.setIdentifierToSetMappings[e];a&&r.push(a)}if(r.length===0){let a=Object.values(m.Release).filter(i=>i.toLowerCase().includes(e));a.length>0&&r.push(...a)}return r},or={blue:3,yellow:2,red:1,white:0},es=e=>{let r=[];for(let t of e)or[t]||or[t]===0?r.push(or[t].toString()):r.push(t);return r},Lt={exp:m.Meta.Expansion,expansion:m.Meta.Expansion,expansionSlot:m.Meta.Expansion,rainbow:m.Meta.Rainbow},rs=e=>{let r=[];for(let t of e)Lt[t]&&r.push(Lt[t]);return r},Rt={r:m.Foiling.R,rf:m.Foiling.R,rainbow:m.Foiling.R,c:m.Foiling.C,cf:m.Foiling.C,cold:m.Foiling.C,g:m.Foiling.G,gf:m.Foiling.G,gold:m.Foiling.G},ts=e=>{let r=[];for(let t of e)Rt[t]&&r.push(Rt[t]);return r},Pt=V(j({},Object.values(m.Treatment).reduce((e,r)=>(e[r.toLowerCase()]=r,e),{})),{aa:m.Treatment.AA,alt:m.Treatment.AA,"alt art":m.Treatment.AA,ab:m.Treatment.AB,"alt border":m.Treatment.AB,at:m.Treatment.AT,"alt text":m.Treatment.AT,ea:m.Treatment.EA,extended:m.Treatment.EA,"extended art":m.Treatment.EA,fa:m.Treatment.FA,full:m.Treatment.FA,"full art":m.Treatment.FA}),as=e=>{let r=[];for(let t of e)Pt[t]?r.push(Pt[t]):m.Treatment[t.toUpperCase()]&&r.push(m.Treatment[t.toUpperCase()]);return r},lr={b:m.Rarity.Basic,c:m.Rarity.Common,f:m.Rarity.Fabled,l:m.Rarity.Legendary,m:m.Rarity.Majestic,p:m.Rarity.Promo,r:m.Rarity.Rare,s:m.Rarity.SuperRare,t:m.Rarity.Token,v:m.Rarity.Marvel},is=e=>{let r=[];for(let t of e)lr[t]?r.push(lr[t]):r.push(t);return r},ss=e=>{let r=[],t,a,i=Ot.find(s=>e.includes(s));if(i){let[,s]=e.split(i);It(s)?(t=!0,r.push(...s.trim().split("+").map(o=>o.replace(M,"")))):wt(s)?(a=!0,r.push(...s.trim().split(",").map(o=>o.replace(M,"")))):r.push(s.trim().replace(M,""))}else It(e)?(t=!0,r.push(...e.trim().split("+").map(s=>s.replace(M,"")))):wt(e)?(a=!0,r.push(...e.trim().split(",").map(s=>s.replace(M,"")))):e.startsWith('"')&&e.endsWith('"')?r.push(e.trim().replaceAll('"',"").replace(M,"")):r.push(e.trim().replace(M,""));return{modifier:i,values:r,isAnd:t,isOr:a}},ns=e=>{let r=ls(e);if(r){let[,t]=e.split(r);return{filterKey:t,isExcluded:!0,isOptional:!1,isMeta:zt(t)}}else return{filterKey:e,isExcluded:!1,isOptional:!1,isMeta:zt(e)}},os=e=>e.indexOf(":")>=0,It=e=>e.indexOf("+")>=0,wt=e=>e.indexOf(",")>=0,zt=e=>{var r;return!!((r=Pe[e])!=null&&r.isMeta)},ls=e=>{var r;return(r=Nt.find(t=>e.includes(t)))==null?void 0:r.slice(0,1)};var P=Z(Q()),Ht={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[P.Class.Generic],defaultImage:"FNG000",functionalText:"If Fangs A Lot is put into your banished zone from your graveyard, instead put it into your hand.",legalFormats:[],legalHeroes:[P.Hero.Kayo,P.Hero.Levia,P.Hero.Rhinar],printings:[{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000",print:"FNG000",rarity:P.Rarity.Rare,set:P.Release.Promos},{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${P.Treatment.FA}`,rarity:P.Rarity.Marvel,set:P.Release.Promos,treatment:P.Treatment.FA}],name:"Fangs A Lot",rarities:[P.Rarity.Rare,P.Rarity.Marvel],rarity:P.Rarity.Rare,sets:[P.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[P.Subtype.Attack],types:[P.Type.Action],typeText:"Generic Action - Attack"},_t=[{keyword:Ht.name.toLowerCase(),card:Ht}];var dr=(e,r)=>{let t=r.find(a=>ur(a.name)===e);return t||(t=r.find(a=>ur(a.name).includes(e))),t},ur=e=>ge(e.toLowerCase().trim().replace(M,"")),ge=e=>e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"");var pr=class{constructor(r,t=[],a=!1){this.log=(r,...t)=>{this.debug&&console.log(r,...t)};this.search=(r,t)=>{let a,{appliedFilters:i,attributes:s,keywords:o}=cr(r,this.cards,this.additionalHeroes),n=o.join(" "),l=t?_t.filter(f=>f.keyword===n):[];if(l.length>0?a=l.map(({card:f})=>f):o.length?a=this.fuse.search(n).map(f=>f.item):a=[...this.cards],i.length&&(a=a.filter(f=>f&&Wt(f,i))),o.length===0){let f="";if(s.releases.length===1)try{let k=s.releases[0];f=Gt.setToSetIdentifierMappings[k][0].toUpperCase()}catch(k){console.error("Error getting set identifier from search",k)}f?a.sort((k,D)=>{var T,C;let g=(T=k.setIdentifiers.find(S=>S.includes(f)))==null?void 0:T.replace(f,""),E=(C=D.setIdentifiers.find(S=>S.includes(f)))==null?void 0:C.replace(f,"");return g&&E?g.localeCompare(E):-1}):a.sort((k,D)=>k.name===D.name?`${k.pitch}`.localeCompare(`${D.pitch}`):k.name.localeCompare(D.name))}else{let f=[],k=[],D=o.map(g=>g.toLowerCase().replace(M,"")).join(" ");for(let g of a)g.name.toLowerCase().replace(M,"")===D?f.push(g):k.push(g);a=[...f,...k]}let d,{artists:c,isExpansionSlot:u,foilings:h,releases:p,treatments:y}=s;(c.length>0||u||h.length>0||p.length>0||y.length>0)&&(d=a.map(f=>{let k=f.printings.filter(D=>{let g=!!D.image,E=c.length===0||c.some(F=>D.artists.find(L=>L.replace(M,"").toLowerCase().includes(F))),T=(u||void 0)===D.isExpansionSlot,C=h.length===0||h.includes(D.foiling),S=p.length===0||p.includes(D.set),I=y.length===0||y.includes(D.treatment);return g&&E&&T&&C&&S&&I});return V(j({},f),{matchingPrintings:k})}));let v=(d==null?void 0:d.length)>0?d:a;return{appliedFilters:i,attributes:s,keywords:o,searchResults:v}};let i={getFn:(s,o)=>{let n=hr.default.config.getFn(s,o);return n&&(Array.isArray(n)?n.map(l=>ge(l.replace(M,""))):ge(n).replace(M,""))},ignoreLocation:!0,includeScore:!0,keys:[{name:"name",weight:10},{name:"functionalText",weight:6},{name:"shorthands",weight:4},{name:"setIdentifiers",weight:2},{name:"traits",weight:4},{name:"typeText",weight:6}],threshold:.15,useExtendedSearch:!0};this.additionalHeroes=t,this.cards=[...r],this.debug=a,this.fuse=new hr.default([...r],i)}},Kt=pr,Wt=(e,r)=>{let t=!0,a=!1;for(let i of r){let s=i.isOptional,{isNumber:o,isString:n,isArray:l,isBoolean:d}=i.filterToPropertyMapping;if(o){let c=cs(e,i);s?c&&(a=!0):t=t&&c}else if(n){let c=ds(e,i);s?c&&(a=!0):t=t&&c}else if(l){let c=us(e,i,r);s?c&&(a=!0):t=t&&c}else if(d){let c=hs(e,i);s?c&&(a=!0):t=t&&c}}return t},cs=(e,r)=>{var t;if(we(r,e)){let{values:a,modifier:i,isExcluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=fr(e,r);if(n!=null&&!isNaN(n))if(n=parseInt(n),i)switch(i){case">=":let l=a==null?void 0:a.some(h=>n>=parseInt(h));return s?!l:l;case">":let d=a==null?void 0:a.some(h=>n>parseInt(h));return s?!d:d;case"<=":let c=a==null?void 0:a.some(h=>n<=parseInt(h));return s?!c:c;case"<":let u=a==null?void 0:a.some(h=>n<parseInt(h));return s?!u:u;default:return!1}else{let l=a==null?void 0:a.some(d=>n===parseInt(d));return s?!l:l}else{let l=(t=fs(e,r))==null?void 0:t.toLowerCase(),d=o?a==null?void 0:a.some(c=>l==null?void 0:l.includes(c)):a==null?void 0:a.some(c=>l===c);return s?!d:d}}else return!0},ds=(e,r)=>{var t;if(we(r,e)){let{values:a,isAnd:i,isExcluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=(t=fr(e,r))==null?void 0:t.replaceAll(M,"");if(o){let l=i?a==null?void 0:a.every(d=>n==null?void 0:n.toLowerCase().includes(d)):a==null?void 0:a.some(d=>n==null?void 0:n.toLowerCase().includes(d));return s?!l:l}else{let l=i?a==null?void 0:a.every(d=>(n==null?void 0:n.toLowerCase())===d):a==null?void 0:a.some(d=>(n==null?void 0:n.toLowerCase())===d);return s?!l:l}}else return!0},us=(e,r,t)=>{if(we(r,e)){let{values:a,isAnd:i,isExcluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=ps(e,r,t).map(l=>l==null?void 0:l.replaceAll(M,""));if(o){let l=i?a.every(c=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(c))):a.some(c=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(c))),d=n.length===0;return s?!l||d:l}else{let l=i?a.every(d=>n==null?void 0:n.some(c=>(c==null?void 0:c.toLowerCase())===d)):a.some(d=>n==null?void 0:n.some(c=>(c==null?void 0:c.toLowerCase())===d));return s?!l:l}}else return!0},hs=(e,r)=>{if(we(r,e)){let{isExcluded:t}=r,a=fr(e,r);return t?!a:a}else return!0},fr=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.property]},ps=(e,r,t)=>{let{filterToPropertyMapping:{isNestedPropertyArray:a,nestedProperty:i,property:s}}=r,o=e[s]||[],n=[],l=Object.keys(e.legalOverrides||{}).length>0,d=r.filterToPropertyMapping.property==="legalHeroes",c=t.find(({filterToPropertyMapping:h})=>h.property==="legalFormats");if(l&&d&&!!c){let h=new Set;for(let{format:p,heroes:y}of e.legalOverrides||[])if(c.values.includes(p.toLowerCase()))for(let A of y)h.add(A);n=Array.from(h)}if(n.length===0)if(i){let h=new Set;for(let p of o)if(a){let y=p[i]||[];for(let A of y)h.add(A)}else{let y=p[i];y&&h.add(y)}n=Array.from(h)}else n=o;return n},fs=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.specialProperty]},we=({cardTypes:e},{types:r,subtypes:t})=>!e||(e==null?void 0:e.some(a=>r.map(i=>i.toLowerCase()).includes(a.toLowerCase())||t.map(i=>i.toLowerCase()).includes(a.toLowerCase())));var de=Z(Q());var ye=Z(Q()),gs={"Dawnblade, Resplendent":"Dawnblade"},$t=e=>gs[e.name]||e.name,jt=e=>{var r;return(r=e.functionalText)==null?void 0:r.replaceAll(e.name,"")},Ie=(e,r)=>{let t=r.find(a=>a.name.toLowerCase().replace(M,"")===e);return t||(t=r.find(a=>a.name.toLowerCase().replace(M,"").includes(e))),gr(t,r)},gr=(e,r)=>{var s,o,n,l,d;let t=[],a=[],i=[];if(e){let c=[],u=[],h=$t(e);for(let p of r){let y=$t(p),A=h===y,v=e.cardIdentifier!==p.cardIdentifier,f=e.pitch!==p.pitch;if(A&&v&&f)t.push(p);else if(!A){let k=e.name==="Seismic Surge",D=(s=p.keywords)==null?void 0:s.includes(ye.Keyword.Heave),g=k&&D,E=e.name==="Marked",T=(o=p.keywords)==null?void 0:o.includes(ye.Keyword.Mark),C=E&&T,S=jt(p),I=(S==null?void 0:S.includes(h))||((n=e.traits)==null?void 0:n.some(Y=>S==null?void 0:S.includes(Y))),B=jt(e);(I||g||C)&&c.push(p);let F=p.traits||[],L=(B==null?void 0:B.includes(y))||F.some(Y=>B==null?void 0:B.includes(Y)),O=p.name==="Seismic Surge",G=(l=e.keywords)==null?void 0:l.includes(ye.Keyword.Heave),W=O&&G,x=p.name==="Marked",R=(d=e.keywords)==null?void 0:d.includes(ye.Keyword.Mark);(L||W||x&&R)&&u.push(p)}}for(let p of c)a.push(p);for(let p of u){let y=p.name;h!==y&&!u.some(A=>{let v=A.name;return v!==y&&(v==null?void 0:v.includes(y))})&&i.push(p)}}return{otherPitches:t,referencedBy:a,references:i}},ys=["cash-in-yellow"],ms={[de.Hero.Crackni]:{traits:[de.Trait.AgentOfChaos]},[de.Hero.Maxx]:{tokens:["hyper-driver"]}},ks=(e,r,t)=>{var i,s;let a=new Set;for(let o of e.filter(({cardIdentifier:n})=>!ys.includes(n))){let{references:n}=gr(o,r);for(let l of n.filter(d=>{let c=d.name==="Hyper Driver",u=t===de.Hero.Maxx;return!c||u}))a.add(l)}if(t){let o=ms[t];if(o){if(o.cards)for(let n of e)(i=o.cards)!=null&&i.includes(n.cardIdentifier)&&a.add(n);if(o.tokens)for(let n of r)(s=o.tokens)!=null&&s.includes(n.cardIdentifier)&&a.add(n)}}return Array.from(a)};0&&(module.exports={FilterProperty,PUNCTUATION,RARITY_VALUES_MAPPING,abbreviations,availableExclusions,availableModifiers,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getCleanText,getExcludedMetaFilters,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getNormalizedText,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,multiWordShorthands,shorthands,singleWordShorthands});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flesh-and-blood/search",
3
3
  "description": "TypeScript search engine for Flesh and Blood cards",
4
- "version": "3.6.71",
4
+ "version": "3.6.73",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  "fuse.js": "^6.6.2"
18
18
  },
19
19
  "devDependencies": {
20
- "@flesh-and-blood/cards": "^3.6.71",
20
+ "@flesh-and-blood/cards": "^3.6.73",
21
21
  "@types/jest": "^29.5.11",
22
22
  "@types/node": "^20.10.5",
23
23
  "esbuild": "^0.19.10",
@@ -47,5 +47,5 @@
47
47
  "FAB",
48
48
  "FABTCG"
49
49
  ],
50
- "gitHead": "69249066c519a6abcc34d527c096a82eb56d393a"
50
+ "gitHead": "9bbb74251f6ceea55ef8e28540b07c2c0ef6e560"
51
51
  }