@flesh-and-blood/search 3.6.44 → 3.6.45
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/index.js +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
var Vt=Object.create;var de=Object.defineProperty,Jt=Object.defineProperties,Ut=Object.getOwnPropertyDescriptor,Yt=Object.getOwnPropertyDescriptors,Xt=Object.getOwnPropertyNames,yr=Object.getOwnPropertySymbols,Zt=Object.getPrototypeOf,vr=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable;var kr=(e,r,t)=>r in e?de(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,$=(e,r)=>{for(var t in r||(r={}))vr.call(r,t)&&kr(e,t,r[t]);if(yr)for(var t of yr(r))Qt.call(r,t)&&kr(e,t,r[t]);return e},j=(e,r)=>Jt(e,Yt(r));var br=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),qt=(e,r)=>{for(var t in r)de(e,t,{get:r[t],enumerable:!0})},Dr=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Xt(r))!vr.call(e,i)&&i!==t&&de(e,i,{get:()=>r[i],enumerable:!(a=Ut(r,i))||a.enumerable});return e};var q=(e,r,t)=>(t=e!=null?Vt(Zt(e)):{},Dr(r||!e||!e.__esModule?de(t,"default",{value:e,enumerable:!0}):t,e)),ea=e=>Dr(de({},"__esModule",{value:!0}),e);var re=br((vs,Ur)=>{var ye=Object.defineProperty,ra=Object.defineProperties,ta=Object.getOwnPropertyDescriptor,aa=Object.getOwnPropertyDescriptors,ia=Object.getOwnPropertyNames,Ar=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,sa=Object.prototype.propertyIsEnumerable,Br=(e,r,t)=>r in e?ye(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,na=(e,r)=>{for(var t in r||(r={}))Mr.call(r,t)&&Br(e,t,r[t]);if(Ar)for(var t of Ar(r))sa.call(r,t)&&Br(e,t,r[t]);return e},oa=(e,r)=>ra(e,aa(r)),la=(e,r)=>{for(var t in r)ye(e,t,{get:r[t],enumerable:!0})},ca=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of ia(r))!Mr.call(e,i)&&i!==t&&ye(e,i,{get:()=>r[i],enumerable:!(a=ta(r,i))||a.enumerable});return e},da=e=>ca(ye({},"__esModule",{value:!0}),e),Cr={};la(Cr,{Bond:()=>Sr,Class:()=>Tr,Flow:()=>xr,Foiling:()=>Fr,Format:()=>Lr,Fusion:()=>Rr,Hero:()=>Wr,Keyword:()=>Kr,Language:()=>jr,Meta:()=>Ir,Metatype:()=>Hr,Rarity:()=>Pr,Release:()=>wr,ReleaseEdition:()=>zr,ReleaseType:()=>Vr,Subtype:()=>Gr,Talent:()=>Nr,Trait:()=>Or,Treatment:()=>Er,Type:()=>_r,coreSetIdentifiers:()=>Da,fullSetIdentifiers:()=>Oe,getCanAddToDeck:()=>pa,getCanCardBeTokenForDeck:()=>ha,getCardIdentifier:()=>ua,getDefaultPrinting:()=>Ia,getIsArenaCard:()=>$r,getIsBooster:()=>ma,getIsCardTokenForDeck:()=>ke,getIsDeckCard:()=>Ne,getIsDraftable:()=>ka,getIsPreconstructed:()=>ba,getIsReprint:()=>ya,getPrint:()=>Ta,getShouldRotateCardImage:()=>fa,getSpecialPrinting:()=>Ra,orderedFullSetBlackBorderIdentifiers:()=>Sa,promoSetIdentifiers:()=>Ba,releases:()=>Ma,setIdentifierToSetMappings:()=>Jr,setToSetIdentifierMappings:()=>Ca,supplementalSetIdentifiers:()=>Aa});Ur.exports=da(Cr);var Fr=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Fr||{}),Er=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.EA="Extended Art",e.FA="Full Art",e))(Er||{}),Tr=(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.Warrior="Warrior",e.Wizard="Wizard",e))(Tr||{}),Sr=(e=>(e.Earth="Earth",e))(Sr||{}),xr=(e=>(e.Lightning="Lightning",e))(xr||{}),Lr=(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))(Lr||{}),Rr=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(Rr||{}),Pr=(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))(Pr||{}),Ir=(e=>(e.Expansion="Expansion slot",e.Rainbow="Rainbow",e))(Ir||{}),wr=(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))(wr||{}),zr=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(zr||{}),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||{}),Or=(e=>(e.AgentOfChaos="Agent of Chaos",e))(Or||{}),Hr=(e=>(e.Arakni="Arakni",e.HighSeas="High Seas",e.Puffin="Puffin",e.Rosetta="Rosetta",e))(Hr||{}),_r=(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))(_r||{}),Gr=(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))(Gr||{}),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.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||{}),Kr=(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.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e.WateryGrave="Watery Grave",e))(Kr||{}),ua=(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}`},$r=({keywords:e,traits:r,types:t})=>{let a=Ne({keywords:e,traits:r,types:t}),i=ke({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=ke({keywords:e,traits:r,types:t});return a&&!i},ke=({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},ha=e=>{let r=e.cardIdentifier==="cracked-bauble-yellow",t=ke(e),a=e.isCardBack&&e.cardIdentifier!=="inner-chi-blue";return r||t||a},pa=({isCardBack:e,keywords:r,traits:t,types:a})=>{let i=$r({keywords:r,traits:t,types:a}),s=Ne({keywords:r,traits:t,types:a});return!e&&(i||s)},fa=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},jr=(e=>(e.English="English",e.French="Fran\xE7ais",e.German="Deutsch",e.Italian="Italiano",e.Japanese="\u65E5\u672C\u8A9E",e.Spanish="Espa\xF1ol",e))(jr||{}),ue=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],ee=["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],Vr=(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))(Vr||{}),ga=["Expansion Booster","Standalone Booster"],ma=e=>ga.includes(e),ya=e=>e==="History Pack",ka=e=>e==="Standalone Booster",va=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Welcome Deck"],ba=e=>va.includes(e),Da={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"},Aa={cru:"Crucible of War",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",dyn:"Dynasty",dtd:"Dusk till Dawn"},Ba=["fab","her","jdg","lgs","lss","oxo","xxx","win"],Ma=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:ue,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:ue,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:ue,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:ue,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:ue,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:[],heroes:["Gravy Bones"],languages:ee,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"],deckLinks:[],draft:{heroIdentifiers:["gravy-bones","marlynn","puffin"],picksPerPack:14},heroes:["Gravy Bones","Marlynn","Puffin"],languages:ee,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:ee,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:ee,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:ee,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:ee,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:ee,release:"Bravo Demo Deck",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Welcome Deck",setIdentifiers:["bdd"],talents:[]}],Oe={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=oa(na({},Oe),{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"}),ze={};for(let[e,r]of Object.entries(Jr)){let t=ze[r];t?t.push(e):ze[r]=[e]}var Ca=ze,Fa={},Ea={MST158_V3:"-V3",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3"},Ta=e=>{var r,t,a;let i=Fa[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}`:"",c=(t=e.image)!=null&&t.toLowerCase().includes("back")?"-Back":"",d=Ea[((a=e.image)==null?void 0:a.toUpperCase())||""]||"";return`${s}${o}${n}${l}${c}${d}`},Sa=Object.keys(Oe).filter(e=>!e.toLowerCase().includes("hp")).reverse().map(e=>e.toUpperCase()),xa={"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"}},La=["JDG044-Full Art-Back"],Ra=(e,r)=>{let{cardIdentifier:t}=e,a=Object.entries(xa).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,c,d,u,h,p,f,y,v,D,k,m,b,F,B,x;for(let M of r){let{edition:C,foiling:T,identifier:P,image:R,print:w,treatments:S}=M,z=P.toLowerCase().includes("win"),I=!!R,W=R==null?void 0:R.includes("HP"),G=La.includes(w);if(I&&!z&&!W&&!G){if(i||(i=M),S!=null&&S.includes("Full Art")&&(h=M,T==="Cold"&&(c=M,R.includes("_V3")))){d=M;break}S!=null&&S.includes("Extended Art")&&(u=M,T==="Cold"&&(l=M),T||(p=M),C==="Promo"&&(f=M)),S!=null&&S.includes("Alternate Art")&&(s=M),S!=null&&S.includes("Alternate Border")&&(o=M),S!=null&&S.includes("Alternate Text")&&(n=M),R&&(R.includes("_V2")||R.includes("-MV"))&&S!=null&&S.includes("Full Art")&&(v=M),C==="Alpha"?D=M:C==="First"?k=M:C==="Promo"?m=M:C==="Unlimited"&&(b=M),T==="Cold"?(F=M,C==="Promo"&&(x=M)):T==="Gold"&&(B=M)}}return y||d||c||h||l||v||f||p||u||o||s||n||x||D||k||m||b||B||F||i}},Pa={"command-and-conquer-red":{print:"HNT260"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"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"}},Ia=(e,r)=>{let{cardIdentifier:t}=e,a=Object.entries(Pa).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:c}=o,d=!!l,u=l==null?void 0:l.includes("HP");if(d&&!u&&(i||(i=o),!s&&n!=="Promo"&&c!=="Full Art"&&(s=o)),i&&s)break}return s||i||r[0]}}});var ht=br((bs,ut)=>{"use strict";function Yr(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 se(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Yr(Object(t),!0).forEach(function(a){Ge(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Yr(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function _e(e){"@babel/helpers - typeof";return _e=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},_e(e)}function O(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function Xr(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&&Xr(e.prototype,r),t&&Xr(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ge(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Y(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 be(e){return be=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},be(e)}function We(e,r){return We=Object.setPrototypeOf||function(a,i){return a.__proto__=i,a},We(e,r)}function wa(){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 za(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Na(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 za(e)}function X(e){var r=wa();return function(){var a=be(e),i;if(r){var s=be(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return Na(this,i)}}function ae(e){return Oa(e)||Ha(e)||_a(e)||Ga()}function Oa(e){if(Array.isArray(e))return Ke(e)}function Ha(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 Ke(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 Ke(e,r)}}function Ke(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 Ga(){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 U(e){return Array.isArray?Array.isArray(e):it(e)==="[object Array]"}var Wa=1/0;function Ka(e){if(typeof e=="string")return e;var r=e+"";return r=="0"&&1/e==-Wa?"-0":r}function $a(e){return e==null?"":Ka(e)}function V(e){return typeof e=="string"}function tt(e){return typeof e=="number"}function ja(e){return e===!0||e===!1||Va(e)&&it(e)=="[object Boolean]"}function at(e){return _e(e)==="object"}function Va(e){return at(e)&&e!==null}function _(e){return e!=null}function He(e){return!e.trim().length}function it(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Ja="Incorrect 'index' type",Ua=function(r){return"Invalid value for key ".concat(r)},Ya=function(r){return"Pattern length exceeds max of ".concat(r,".")},Xa=function(r){return"Missing ".concat(r," property in key")},Za=function(r){return"Property 'weight' in key '".concat(r,"' must be a positive integer")},Zr=Object.prototype.hasOwnProperty,Qa=function(){function e(r){var t=this;O(this,e),this._keys=[],this._keyMap={};var a=0;r.forEach(function(i){var s=st(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 st(e){var r=null,t=null,a=null,i=1,s=null;if(V(e)||U(e))a=e,r=Qr(e),t=$e(e);else{if(!Zr.call(e,"name"))throw new Error(Xa("name"));var o=e.name;if(a=o,Zr.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(Za(o));r=Qr(o),t=$e(o),s=e.getFn}return{path:r,id:t,weight:i,src:a,getFn:s}}function Qr(e){return U(e)?e:e.split(".")}function $e(e){return U(e)?e.join("."):e}function qa(e,r){var t=[],a=!1,i=function s(o,n,l){if(_(o))if(!n[l])t.push(o);else{var c=n[l],d=o[c];if(!_(d))return;if(l===n.length-1&&(V(d)||tt(d)||ja(d)))t.push($a(d));else if(U(d)){a=!0;for(var u=0,h=d.length;u<h;u+=1)s(d[u],n,l+1)}else n.length&&s(d,n,l+1)}};return i(e,V(r)?r.split("."):r,0),a?t:t[0]}var ei={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},ri={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}},ti={location:0,threshold:.6,distance:100},ai={useExtendedSearch:!1,getFn:qa,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},A=se(se(se(se({},ri),ei),ti),ai),ii=/[^ ]+/g;function si(){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(ii).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 Ye=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=r.getFn,a=t===void 0?A.getFn:t,i=r.fieldNormWeight,s=i===void 0?A.fieldNormWeight:i;O(this,e),this.norm=si(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,V(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();V(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(!(!_(t)||He(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(_(l)){if(U(l))(function(){for(var d=[],u=[{nestedArrIndex:-1,value:l}];u.length;){var h=u.pop(),p=h.nestedArrIndex,f=h.value;if(_(f))if(V(f)&&!He(f)){var y={v:f,i:p,n:i.norm.get(f)};d.push(y)}else U(f)&&f.forEach(function(v,D){u.push({nestedArrIndex:D,value:v})})}s.$[n]=d})();else if(V(l)&&!He(l)){var c={v:l,n:i.norm.get(l)};s.$[n]=c}}}),this.records.push(s)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function nt(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.getFn,i=a===void 0?A.getFn:a,s=t.fieldNormWeight,o=s===void 0?A.fieldNormWeight:s,n=new Ye({getFn:i,fieldNormWeight:o});return n.setKeys(e.map(st)),n.setSources(r),n.create(),n}function ni(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.getFn,a=t===void 0?A.getFn:t,i=r.fieldNormWeight,s=i===void 0?A.fieldNormWeight:i,o=e.keys,n=e.records,l=new Ye({getFn:a,fieldNormWeight:s});return l.setKeys(o),l.setIndexRecords(n),l}function ve(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,c=l===void 0?A.distance:l,d=r.ignoreLocation,u=d===void 0?A.ignoreLocation:d,h=a/e.length;if(u)return h;var p=Math.abs(n-s);return c?h+p/c:p?1:h}function oi(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:A.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 te=32;function li(e,r,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=a.location,s=i===void 0?A.location:i,o=a.distance,n=o===void 0?A.distance:o,l=a.threshold,c=l===void 0?A.threshold:l,d=a.findAllMatches,u=d===void 0?A.findAllMatches:d,h=a.minMatchCharLength,p=h===void 0?A.minMatchCharLength:h,f=a.includeMatches,y=f===void 0?A.includeMatches:f,v=a.ignoreLocation,D=v===void 0?A.ignoreLocation:v;if(r.length>te)throw new Error(Ya(te));for(var k=r.length,m=e.length,b=Math.max(0,Math.min(s,m)),F=c,B=b,x=p>1||y,M=x?Array(m):[],C;(C=e.indexOf(r,B))>-1;){var T=ve(r,{currentLocation:C,expectedLocation:b,distance:n,ignoreLocation:D});if(F=Math.min(T,F),B=C+k,x)for(var P=0;P<k;)M[C+P]=1,P+=1}B=-1;for(var R=[],w=1,S=k+m,z=1<<k-1,I=0;I<k;I+=1){for(var W=0,G=S;W<G;){var ce=ve(r,{errors:I,currentLocation:b+G,expectedLocation:b,distance:n,ignoreLocation:D});ce<=F?W=G:S=G,G=Math.floor((S-W)/2+W)}S=G;var fr=Math.max(1,b-G+1),Ie=u?m:Math.min(b+G,m)+k,ie=Array(Ie+2);ie[Ie+1]=(1<<I)-1;for(var K=Ie;K>=fr;K-=1){var me=K-1,gr=t[e.charAt(me)];if(x&&(M[me]=+!!gr),ie[K]=(ie[K+1]<<1|1)&gr,I&&(ie[K]|=(R[K+1]|R[K])<<1|1|R[K+1]),ie[K]&z&&(w=ve(r,{errors:I,currentLocation:me,expectedLocation:b,distance:n,ignoreLocation:D}),w<=F)){if(F=w,B=me,B<=b)break;fr=Math.max(1,2*b-B)}}var jt=ve(r,{errors:I+1,currentLocation:b,expectedLocation:b,distance:n,ignoreLocation:D});if(jt>F)break;R=ie}var we={isMatch:B>=0,score:Math.max(.001,w)};if(x){var mr=oi(M,p);mr.length?y&&(we.indices=mr):we.isMatch=!1}return we}function ci(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 ot=function(){function e(r){var t=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.location,s=i===void 0?A.location:i,o=a.threshold,n=o===void 0?A.threshold:o,l=a.distance,c=l===void 0?A.distance:l,d=a.includeMatches,u=d===void 0?A.includeMatches:d,h=a.findAllMatches,p=h===void 0?A.findAllMatches:h,f=a.minMatchCharLength,y=f===void 0?A.minMatchCharLength:f,v=a.isCaseSensitive,D=v===void 0?A.isCaseSensitive:v,k=a.ignoreLocation,m=k===void 0?A.ignoreLocation:k;if(O(this,e),this.options={location:s,threshold:n,distance:c,includeMatches:u,findAllMatches:p,minMatchCharLength:y,isCaseSensitive:D,ignoreLocation:m},this.pattern=D?r:r.toLowerCase(),this.chunks=[],!!this.pattern.length){var b=function(P,R){t.chunks.push({pattern:P,alphabet:ci(P),startIndex:R})},F=this.pattern.length;if(F>te){for(var B=0,x=F%te,M=F-x;B<M;)b(this.pattern.substr(B,te),B),B+=te;if(x){var C=F-te;b(this.pattern.substr(C),C)}}else b(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,c=n.distance,d=n.threshold,u=n.findAllMatches,h=n.minMatchCharLength,p=n.ignoreLocation,f=[],y=0,v=!1;this.chunks.forEach(function(k){var m=k.pattern,b=k.alphabet,F=k.startIndex,B=li(t,m,b,{location:l+F,distance:c,threshold:d,findAllMatches:u,minMatchCharLength:h,includeMatches:s,ignoreLocation:p}),x=B.isMatch,M=B.score,C=B.indices;x&&(v=!0),y+=M,x&&C&&(f=[].concat(ae(f),ae(C)))});var D={isMatch:v,score:v?y/this.chunks.length:1};return v&&s&&(D.indices=f),D}}]),e}(),Z=function(){function e(r){O(this,e),this.pattern=r}return H(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(t){return qr(t,this.multiRegex)}},{key:"isSingleMatch",value:function(t){return qr(t,this.singleRegex)}}]),e}();function qr(e,r){var t=e.match(r);return t?t[1]:null}var di=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),ui=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),hi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),pi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),fi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),gi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),lt=function(e){Y(t,e);var r=X(t);function t(a){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.location,n=o===void 0?A.location:o,l=s.threshold,c=l===void 0?A.threshold:l,d=s.distance,u=d===void 0?A.distance:d,h=s.includeMatches,p=h===void 0?A.includeMatches:h,f=s.findAllMatches,y=f===void 0?A.findAllMatches:f,v=s.minMatchCharLength,D=v===void 0?A.minMatchCharLength:v,k=s.isCaseSensitive,m=k===void 0?A.isCaseSensitive:k,b=s.ignoreLocation,F=b===void 0?A.ignoreLocation:b;return O(this,t),i=r.call(this,a),i._bitapSearch=new ot(a,{location:n,threshold:c,distance:u,includeMatches:p,findAllMatches:y,minMatchCharLength:D,isCaseSensitive:m,ignoreLocation:F}),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}(Z),ct=function(e){Y(t,e);var r=X(t);function t(a){return O(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 c=!!n.length;return{isMatch:c,score:c?0:1,indices:n}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),t}(Z),je=[di,ct,hi,pi,gi,fi,ui,lt],et=je.length,mi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,yi="|";function ki(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split(yi).map(function(t){for(var a=t.trim().split(mi).filter(function(f){return f&&!!f.trim()}),i=[],s=0,o=a.length;s<o;s+=1){for(var n=a[s],l=!1,c=-1;!l&&++c<et;){var d=je[c],u=d.isMultiMatch(n);u&&(i.push(new d(u,r)),l=!0)}if(!l)for(c=-1;++c<et;){var h=je[c],p=h.isSingleMatch(n);if(p){i.push(new h(p,r));break}}}return i})}var vi=new Set([lt.type,ct.type]),bi=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.isCaseSensitive,i=a===void 0?A.isCaseSensitive:a,s=t.includeMatches,o=s===void 0?A.includeMatches:s,n=t.minMatchCharLength,l=n===void 0?A.minMatchCharLength:n,c=t.ignoreLocation,d=c===void 0?A.ignoreLocation:c,u=t.findAllMatches,h=u===void 0?A.findAllMatches:u,p=t.location,f=p===void 0?A.location:p,y=t.threshold,v=y===void 0?A.threshold:y,D=t.distance,k=D===void 0?A.distance:D;O(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:o,minMatchCharLength:l,findAllMatches:h,ignoreLocation:d,location:f,threshold:v,distance:k},this.pattern=i?r:r.toLowerCase(),this.query=ki(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=[],c=0,d=0,u=a.length;d<u;d+=1){var h=a[d];l.length=0,n=0;for(var p=0,f=h.length;p<f;p+=1){var y=h[p],v=y.search(t),D=v.isMatch,k=v.indices,m=v.score;if(D){if(n+=1,c+=m,s){var b=y.constructor.type;vi.has(b)?l=[].concat(ae(l),ae(k)):l.push(k)}}else{c=0,n=0,l.length=0;break}}if(n){var F={isMatch:!0,score:c/n};return s&&(F.indices=l),F}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(t,a){return a.useExtendedSearch}}]),e}(),De=[];function Di(){De.push.apply(De,arguments)}function Ve(e,r){for(var t=0,a=De.length;t<a;t+=1){var i=De[t];if(i.condition(e,r))return new i(e,r)}return new ot(e,r)}var Ae={AND:"$and",OR:"$or"},Je={PATH:"$path",PATTERN:"$val"},Ue=function(r){return!!(r[Ae.AND]||r[Ae.OR])},Ai=function(r){return!!r[Je.PATH]},Bi=function(r){return!U(r)&&at(r)&&!Ue(r)},rt=function(r){return Ge({},Ae.AND,Object.keys(r).map(function(t){return Ge({},t,r[t])}))};function dt(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),c=Ai(n);if(!c&&l.length>1&&!Ue(n))return o(rt(n));if(Bi(n)){var d=c?n[Je.PATH]:l[0],u=c?n[Je.PATTERN]:n[d];if(!V(u))throw new Error(Ua(d));var h={keyId:$e(d),pattern:u};return i&&(h.searcher=Ve(u,r)),h}var p={children:[],operator:l[0]};return l.forEach(function(f){var y=n[f];U(y)&&y.forEach(function(v){p.children.push(o(v))})}),p};return Ue(e)||(e=rt(e)),s(e)}function Mi(e,r){var t=r.ignoreFieldNorm,a=t===void 0?A.ignoreFieldNorm:t;e.forEach(function(i){var s=1;i.matches.forEach(function(o){var n=o.key,l=o.norm,c=o.score,d=n?n.weight:null;s*=Math.pow(c===0&&d?Number.EPSILON:c,(d||1)*(a?1:l))}),i.score=s})}function Ci(e,r){var t=e.matches;r.matches=[],_(t)&&t.forEach(function(a){if(!(!_(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 Fi(e,r){r.score=e.score}function Ei(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.includeMatches,i=a===void 0?A.includeMatches:a,s=t.includeScore,o=s===void 0?A.includeScore:s,n=[];return i&&n.push(Ci),o&&n.push(Fi),e.map(function(l){var c=l.idx,d={item:r[c],refIndex:c};return n.length&&n.forEach(function(u){u(l,d)}),d})}var ne=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;O(this,e),this.options=se(se({},A),t),this.options.useExtendedSearch,this._keyStore=new Qa(this.options.keys),this.setCollection(r,a)}return H(e,[{key:"setCollection",value:function(t,a){if(this._docs=t,a&&!(a instanceof Ye))throw new Error(Ja);this._myIndex=a||nt(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(t){_(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,c=o.shouldSort,d=o.sortFn,u=o.ignoreFieldNorm,h=V(t)?V(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return Mi(h,{ignoreFieldNorm:u}),c&&h.sort(d),tt(s)&&s>-1&&(h=h.slice(0,s)),Ei(h,this._docs,{includeMatches:n,includeScore:l})}},{key:"_searchStringList",value:function(t){var a=Ve(t,this.options),i=this._myIndex.records,s=[];return i.forEach(function(o){var n=o.v,l=o.i,c=o.n;if(_(n)){var d=a.searchIn(n),u=d.isMatch,h=d.score,p=d.indices;u&&s.push({item:n,idx:l,matches:[{score:h,value:n,norm:c,indices:p}]})}}),s}},{key:"_searchLogical",value:function(t){var a=this,i=dt(t,this.options),s=function c(d,u,h){if(!d.children){var p=d.keyId,f=d.searcher,y=a._findMatches({key:a._keyStore.get(p),value:a._myIndex.getValueForItemAtKeyId(u,p),searcher:f});return y&&y.length?[{idx:h,item:u,matches:y}]:[]}for(var v=[],D=0,k=d.children.length;D<k;D+=1){var m=d.children[D],b=c(m,u,h);if(b.length)v.push.apply(v,ae(b));else if(d.operator===Ae.AND)return[]}return v},o=this._myIndex.records,n={},l=[];return o.forEach(function(c){var d=c.$,u=c.i;if(_(d)){var h=s(i,d,u);h.length&&(n[u]||(n[u]={idx:u,item:d,matches:[]},l.push(n[u])),h.forEach(function(p){var f,y=p.matches;(f=n[u].matches).push.apply(f,ae(y))}))}}),l}},{key:"_searchObjectList",value:function(t){var a=this,i=Ve(t,this.options),s=this._myIndex,o=s.keys,n=s.records,l=[];return n.forEach(function(c){var d=c.$,u=c.i;if(_(d)){var h=[];o.forEach(function(p,f){h.push.apply(h,ae(a._findMatches({key:p,value:d[f],searcher:i})))}),h.length&&l.push({idx:u,item:d,matches:h})}}),l}},{key:"_findMatches",value:function(t){var a=t.key,i=t.value,s=t.searcher;if(!_(i))return[];var o=[];if(U(i))i.forEach(function(p){var f=p.v,y=p.i,v=p.n;if(_(f)){var D=s.searchIn(f),k=D.isMatch,m=D.score,b=D.indices;k&&o.push({score:m,key:a,value:f,idx:y,norm:v,indices:b})}});else{var n=i.v,l=i.n,c=s.searchIn(n),d=c.isMatch,u=c.score,h=c.indices;d&&o.push({score:u,key:a,value:n,norm:l,indices:h})}return o}}]),e}();ne.version="6.6.2";ne.createIndex=nt;ne.parseIndex=ni;ne.config=A;ne.parseQuery=dt;Di(bi);var Ti=ne;ut.exports=Ti});var ys={};qt(ys,{FilterProperty:()=>Ze,PUNCTUATION:()=>E,abbreviations:()=>Xe,availableExclusions:()=>Ot,availableModifiers:()=>Nt,default:()=>Gt,filterCard:()=>Wt,filtersToCardPropertyMappings:()=>Le,getAbbreviation:()=>Be,getAbbreviationByCard:()=>Si,getCardByName:()=>lr,getCleanText:()=>cr,getExcludedMetaFilters:()=>qe,getKeywordsAndAppliedFiltersFromText:()=>or,getMetaFilters:()=>Qe,getNormalizedText:()=>pe,getRelatedCards:()=>pr,getRelatedCardsByName:()=>Re,getTokensReferencedByCards:()=>ms,multiWordShorthands:()=>rr,shorthands:()=>er,singleWordShorthands:()=>tr});module.exports=ea(ys);var fe=q(re()),dr=q(ht());var E=/[!"#$%&'’(),./:;<=>?@[\]^_`|~]/g;var g=q(re());var Be=e=>Xe.find(({abbreviations:r})=>r.find(t=>t.toLowerCase()===e)),Si=e=>Xe.find(({card:r})=>r.toLowerCase()===e.name.toLowerCase()),Xe=[{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 N=q(re());var Ze=(t=>(t.LegalFormats="legalFormats",t.LegalHeroes="legalHeroes",t))(Ze||{}),Ee=Array.from(Array(50).keys()).map(e=>`${e}`),xi=[{format:N.Format.BlitzLivingLegend,nicknames:["blitz ll"]},{format:N.Format.ClassicConstructed,nicknames:["cc","classic"]},{format:N.Format.ClassicConstructedLivingLegend,nicknames:["cc ll","classic constructed ll","ll cc","ll","living legend"]},{format:N.Format.UltimatePitFight,nicknames:["upf"]}],Li=Object.values(N.Format).map(e=>{let r=xi.find(({format:a})=>a===e),t=e.toLowerCase().replaceAll(E,"");return r?j($({},r),{format:t}):{format:t}}),Ri=[{hero:N.Hero.DataDoll,nicknames:["data","datadoll"]},{hero:N.Hero.Dorinthea,nicknames:["dori"]},{hero:N.Hero.Genis,nicknames:["genis"]},{hero:N.Hero.GravyBones,nicknames:["gravy"]},{hero:N.Hero.Iyslander,nicknames:["islander"]}],Pi=Object.values(N.Hero).map(e=>{let r=Ri.find(({hero:a})=>a===e),t=e.toLowerCase().replaceAll(E,"");return r?j($({},r),{hero:t}):{hero:t}}),Me=["common","rare","super rare","majestic","legendary","fabled"],Ii=(e,r,t)=>{let a=[];if(!r)a.push(...e);else for(let i of e)switch(r){case">=":let s=!1;for(let c of Me)s?a.push(c):c===i&&(s=!0,a.push(c));break;case">":let o=!1;for(let c of Me)o?a.push(c):c===i&&(o=!0);break;case"<=":let n=!1;for(let c of Me.slice().reverse())n?a.push(c):c===i&&(n=!0,a.push(c));break;case"<":let l=!1;for(let c of Me.slice().reverse())l?a.push(c):c===i&&(l=!0);break;default:break}return{filterToPropertyMapping:{nestedProperty:"rarity",property:"printings",isArray:!0},isOr:!0,values:a,excluded:t}},wi=(e,r)=>{let t=[],a=[],i=[];for(let s of e){let o=Li.find(({format:n,nicknames:l})=>n===s||!!l&&l.includes(s));if(o)a.push(o.format);else{let n=Pi.find(({hero:l,nicknames:c})=>l===s||!!c&&c.includes(s));n&&i.push(n.hero)}}return a.length>0&&t.push({filterToPropertyMapping:{property:"legalFormats",isArray:!0},values:a,isOr:!0,excluded:r}),i.length>0&&t.push({filterToPropertyMapping:{property:"legalHeroes",isArray:!0},values:i,isOr:!0,excluded:r}),t},Qe=(e,r,t,a)=>{let i=[];return Oi(r)?i.push(...wi(t,e)):_i(r)&&i.push(Ii(t,a,e)),i},oe=[{filterToPropertyMapping:{property:"cost",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0}],J=[{filterToPropertyMapping:{property:"defense",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","placeholder","token","weapon"],excluded:!0}],Ce=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},values:["true"],excluded:!0}],Q=[{filterToPropertyMapping:{property:"power",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token"],excluded:!0}],Fe=[{filterToPropertyMapping:{property:"talents",isArray:!0},excluded:!0,values:Object.values(N.Talent).map(e=>e.toLowerCase())}],zi={"!co":oe,"-co":oe,"!cost":oe,"-cost":oe,"!color":oe,"-color":oe,"!b":J,"-b":J,"!block":J,"-block":J,"!d":J,"-d":J,"!def":J,"-def":J,"!defense":J,"-defense":J,"!pitch":Ce,"-pitch":Ce,"!p":Ce,"-p":Ce,"!attack":Q,"-attack":Q,"!power":Q,"-power":Q,"!pwr":Q,"-pwr":Q,"!pow":Q,"-pow":Q,"!talents":Fe,"-talents":Fe,"!tal":Fe,"-tal":Fe},qe=e=>{let r=[],t=zi[e];return t&&r.push(...t),r},Ni=["l","legal","hero"],Oi=e=>Ni.includes(e),Hi=["r","rarity"],_i=e=>Hi.includes(e);var er=[{description:"Attack actions",filters:["st:attack"],shorthands:["AA"]},{description:"Arcane barrier",filters:['k:"arcane barrier"'],shorthands:["AB"]},{description:"Attack reactions",filters:['t:"attack reaction"'],shorthands:["AR"]},{description:"Defense reactions",filters:['t:"defense reaction"'],shorthands:["DR"]},{description:"Flick daggers",filters:["dagger you control deal 1 damage"],shorthands:["Flick","Hurl","Throw"]},{description:"Gain life",filters:["gain {h}"],shorthands:["Gain life","Gains life"]},{description:"Go again",filters:['k:"go again"'],shorthands:["GA"]},{description:"Non-attack actions",filters:["t:action","st:non-attack"],shorthands:["NAA"]},{description:"Plus defense",filters:["+ {d}"],shorthands:["Pump defense","Pumps defense","Buff defense","Buffs defense"]},{description:"Plus power",filters:["+ {p}"],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",filters:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],helper:'6+ power non-Illusionist attacks that can "pop" phantasm attacks when defending',shorthands:["Poppers","Popper"]},{description:"Spellvoid",filters:['k:"spellvoid"'],shorthands:["SV"]},{description:"Tap",filters:["{t}"],shorthands:["Tap"]}],rr=er.filter(({shorthands:e})=>e.some(r=>r.includes(" "))).map(e=>j($({},e),{shorthands:e.shorthands.filter(r=>r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)})),tr=er.filter(({shorthands:e})=>e.some(r=>!r.includes(" "))).map(e=>j($({},e),{shorthands:e.shorthands.filter(r=>!r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)}));var Nt=[">=",">","<=","<"],Ot=["!","-"],Gi={property:"arcane",specialProperty:"specialArcane",isNumber:!0,partialMatch:!0},ar={property:"artists",isArray:!0,partialMatch:!0},pt={property:"bannedFormats",isArray:!0,partialMatch:!0},ft={property:"bonds",isArray:!0},Wi={property:"n/a"},gt={property:"classes",isArray:!0,partialMatch:!0},mt={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},he={property:"defense",specialProperty:"specialDefense",isNumber:!0},yt={property:"flows",isArray:!0},kt={nestedProperty:"foiling",property:"printings",isArray:!0},vt={property:"fusions",isArray:!0},bt={property:"intellect",isNumber:!0},Dt={property:"keywords",isArray:!0,partialMatch:!0},ir={property:"n/a",isMeta:!0},At={property:"life",specialProperty:"specialLife",isNumber:!0},Bt={property:"meta",isArray:!0},Mt={property:"name",isString:!0,partialMatch:!0},sr={property:"pitch",isNumber:!0},Te={property:"power",specialProperty:"specialPower",isNumber:!0},Ct={property:"n/a",isMeta:!0},Ki={property:"n/a"},$i={property:"n/a"},Ft={property:"sets",isArray:!0,partialMatch:!0},Se={property:"specializations",isArray:!0,partialMatch:!0},Et={property:"subtypes",isArray:!0},Tt={property:"types",isArray:!0},St={property:"talents",isArray:!0},ji={property:"functionalText",isString:!0,partialMatch:!0},Vi={property:"traits",isArray:!0,partialMatch:!0},Ji={property:"typeText",isString:!0,partialMatch:!0},xe={nestedProperty:"treatments",property:"printings",isArray:!0,isNestedPropertyArray:!0},Le={arcane:Gi,a:ar,artist:ar,art:ar,attack:Te,b:he,block:he,banned:pt,bond:ft,bonds:ft,c:gt,class:gt,chain:Wi,co:mt,cost:mt,color:sr,d:he,def:he,defense:he,flow:yt,flows:yt,f:vt,fusion:vt,foil:kt,foiling:kt,i:bt,intellect:bt,is:Bt,k:Dt,keyword:Dt,l:ir,legal:ir,hero:ir,li:At,life:At,meta:Bt,n:Mt,name:Mt,p:sr,pitch:sr,pwr:Te,pow:Te,power:Te,r:Ct,rarity:Ct,referencedby:Ki,references:$i,rf:pt,s:Ft,set:Ft,sp:Se,spec:Se,specialization:Se,specializations:Se,st:Et,subtype:Et,t:Tt,type:Tt,tal:St,talent:St,text:ji,trait:Vi,treat:xe,treatment:xe,var:xe,variation:xe,x:Ji},Ui=[{text:g.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:g.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(E,"")}],Yi=e=>{var i;let r=[],t=e.replaceAll("\u201D",'"');for(let{text:s,override:o}of Ui)t.includes(s)&&(t=t.replace(s,o));if((i=Be(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},ws=[g.Hero.Briar,g.Hero.Brutus,g.Hero.Emperor,g.Hero.Prism,g.Hero.Shiyana,g.Hero.Taylor,g.Hero.Yorick],or=(e,r)=>{var f;let t=e.trim().toLowerCase();for(let{filters:y,shorthands:v}of rr)for(let D of v)if(t.includes(D)){t=t.replace(D,y.join(" "));break}for(let[y,v]of Object.entries(g.setToSetIdentifierMappings))t.includes(y.toLowerCase())&&(t=t.replace(y.toLowerCase(),v[0]));let a=Yi(t),i=[];for(let y of a){let v=tr.find(({shorthands:D})=>D.includes(y));v?i.push(...v.filters):i.push(y)}let s=[],o=[],n=[],l=[],c=!1,d=[],u=[],h=[],p={isClash:!1};for(let y of i)if(ss(y)){let[v,D]=y.split(":"),{modifier:k,values:m,isAnd:b,isOr:F}=as(D),{filterKey:B,excluded:x,isMeta:M}=is(v);if(M)["rarity","r"].includes(B)&&(d=ts(m),m=d.map(C=>C.toLowerCase())),["legal","l","hero"].includes(B)&&D.includes("clash")&&(p.isClash=!0),s.push(...Qe(x,B,m,k));else{if(["chain"].includes(B)){let C=z=>z.name.toLowerCase().replaceAll(E,""),T=m.map(z=>lr(z,r)).filter(z=>!!z).map(C),P=new Set(T);B="name",F=!0;let R=20,w=0,S=z=>{if(!z.types.includes(g.Type.Hero)){let I=C(z);P.add(I),T.includes(I)||T.push(I)}};for(let z of T){if(w>R)break;let{referencedBy:I,references:W}=Re(z,r);W.forEach(S),w===0&&I.forEach(S),w++}m=Array.from(P)}else if(["referencedby","references"].includes(B)){let C=B,T=[...m].filter(P=>!!P);m=[],B="name",F=!0;for(let P of T){let{referencedBy:R,references:w}=Re(P,r);["referencedby"].includes(C)?m.push(...w.map(({name:S})=>S.toLowerCase().replaceAll(E,""))):["references"].includes(C)&&m.push(...R.map(({name:S})=>S.toLowerCase().replaceAll(E,"")))}}else if(["art","artist"].includes(B))o=m;else if(["is","is","meta"].includes(B)){let C=qi(m);m=C.map(T=>T.toLowerCase().replaceAll(E,"")),C.includes(g.Meta.Expansion)&&!x&&(c=!0)}else["foiling","foil"].includes(B)?(l=es(m),m=l.map(C=>C.toLowerCase())):["treat","treatment","var","variation"].includes(B)?(h=rs(m),m=h.map(C=>C.toLowerCase())):["set","s"].includes(B)?(u=Xi(m),m=u.map(C=>C.toLowerCase().replaceAll(E,""))):["pitch","p","color"].includes(B)&&(m=Qi(m));Le[B]&&s.push({filterToPropertyMapping:Le[B],values:m,isAnd:b,isOr:F,modifier:k,excluded:x})}}else if(y){let v=(f=Be(y))==null?void 0:f.card,D=qe(y);v?n.push(`"${v.toLowerCase().replace(E,"")}"`):D&&D.length>0?s.push(...D):n.push(y.replace(E,""))}return{appliedFilters:s,attributes:{artists:o,foilings:l,isExpansionSlot:c,rarities:d,releases:u,treatments:h},keywords:n,specialConditions:p}},Xi=e=>{let r=[];for(let t of e)r.push(...Zi(t));return r},Zi=e=>{let r=[],t=Object.values(g.Release).find(a=>a.toLowerCase().replaceAll(E,"")===e);if(t&&r.push(t),r.length===0){let a=g.setIdentifierToSetMappings[e];a&&r.push(a)}if(r.length===0){let a=Object.values(g.Release).filter(i=>i.toLowerCase().includes(e));a.length>0&&r.push(...a)}return r},nr={blue:3,yellow:2,red:1,white:0},Qi=e=>{let r=[];for(let t of e)nr[t]||nr[t]===0?r.push(nr[t].toString()):r.push(t);return r},xt={exp:g.Meta.Expansion,expansion:g.Meta.Expansion,expansionSlot:g.Meta.Expansion,rainbow:g.Meta.Rainbow},qi=e=>{let r=[];for(let t of e)xt[t]&&r.push(xt[t]);return r},Lt={r:g.Foiling.R,rf:g.Foiling.R,rainbow:g.Foiling.R,c:g.Foiling.C,cf:g.Foiling.C,cold:g.Foiling.C,g:g.Foiling.G,gf:g.Foiling.G,gold:g.Foiling.G},es=e=>{let r=[];for(let t of e)Lt[t]&&r.push(Lt[t]);return r},Rt=j($({},Object.values(g.Treatment).reduce((e,r)=>(e[r.toLowerCase()]=r,e),{})),{aa:g.Treatment.AA,alt:g.Treatment.AA,"alt art":g.Treatment.AA,ab:g.Treatment.AB,"alt border":g.Treatment.AB,at:g.Treatment.AT,"alt text":g.Treatment.AT,ea:g.Treatment.EA,extended:g.Treatment.EA,"extended art":g.Treatment.EA,fa:g.Treatment.FA,full:g.Treatment.FA,"full art":g.Treatment.FA}),rs=e=>{let r=[];for(let t of e)Rt[t]?r.push(Rt[t]):g.Treatment[t.toUpperCase()]&&r.push(g.Treatment[t.toUpperCase()]);return r},Pt={c:g.Rarity.Common,f:g.Rarity.Fabled,l:g.Rarity.Legendary,m:g.Rarity.Majestic,v:g.Rarity.Marvel,r:g.Rarity.Rare,s:g.Rarity.SuperRare,t:g.Rarity.Token},ts=e=>{let r=[];for(let t of e)Pt[t]?r.push(Pt[t]):r.push(t);return r},as=e=>{let r=[],t,a,i=Nt.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(E,"")))):wt(s)?(a=!0,r.push(...s.trim().split(",").map(o=>o.replace(E,"")))):r.push(s.trim().replace(E,""))}else It(e)?(t=!0,r.push(...e.trim().split("+").map(s=>s.replace(E,"")))):wt(e)?(a=!0,r.push(...e.trim().split(",").map(s=>s.replace(E,"")))):e.startsWith('"')&&e.endsWith('"')?r.push(e.trim().replaceAll('"',"").replace(E,"")):r.push(e.trim().replace(E,""));return{modifier:i,values:r,isAnd:t,isOr:a}},is=e=>{let r=ns(e);if(r){let[,t]=e.split(r);return{excluded:!0,filterKey:t,isMeta:zt(t)}}else return{excluded:!1,filterKey:e,isMeta:zt(e)}},ss=e=>e.indexOf(":")>=0,It=e=>e.indexOf("+")>=0,wt=e=>e.indexOf(",")>=0,zt=e=>{var r;return!!((r=Le[e])!=null&&r.isMeta)},ns=e=>{var r;return(r=Ot.find(t=>e.includes(t)))==null?void 0:r.slice(0,1)};var L=q(re()),Ht={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[L.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:[L.Hero.Kayo,L.Hero.Levia,L.Hero.Rhinar],printings:[{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000",print:"FNG000",rarity:L.Rarity.Rare,set:L.Release.Promos},{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${L.Treatment.FA}`,rarity:L.Rarity.Marvel,set:L.Release.Promos,treatment:L.Treatment.FA}],name:"Fangs A Lot",rarities:[L.Rarity.Rare,L.Rarity.Marvel],rarity:L.Rarity.Rare,sets:[L.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[L.Subtype.Attack],types:[L.Type.Action],typeText:"Generic Action - Attack"},_t=[{keyword:Ht.name.toLowerCase(),card:Ht}];var lr=(e,r)=>{let t=r.find(a=>cr(a.name)===e);return t||(t=r.find(a=>cr(a.name).includes(e))),t},cr=e=>pe(e.toLowerCase().trim().replace(E,"")),pe=e=>e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"");var ur=class{constructor(r,t=!1){this.log=(r,...t)=>{this.debug&&console.log(r,...t)};this.search=(r,t)=>{let a,{appliedFilters:i,attributes:s,keywords:o,specialConditions:n}=or(r,this.cards),l=o.join(" "),c=t?_t.filter(k=>k.keyword===l):[];if(c.length>0?a=c.map(({card:k})=>k):o.length?a=this.fuse.search(l).map(k=>k.item):a=[...this.cards],i.length&&(a=a.filter(k=>k&&Wt(k,i,n))),o.length===0){let k="";if(s.releases.length===1)try{let m=s.releases[0];k=fe.setToSetIdentifierMappings[m][0].toUpperCase()}catch(m){console.error("Error getting set identifier from search",m)}k?a.sort((m,b)=>{var x,M;let F=(x=m.setIdentifiers.find(C=>C.includes(k)))==null?void 0:x.replace(k,""),B=(M=b.setIdentifiers.find(C=>C.includes(k)))==null?void 0:M.replace(k,"");return F&&B?F.localeCompare(B):-1}):a.sort((m,b)=>m.name===b.name?`${m.pitch}`.localeCompare(`${b.pitch}`):m.name.localeCompare(b.name))}else{let k=[],m=[],b=o.map(F=>F.toLowerCase().replace(E,"")).join(" ");for(let F of a)F.name.toLowerCase().replace(E,"")===b?k.push(F):m.push(F);a=[...k,...m]}let d,{artists:u,isExpansionSlot:h,foilings:p,releases:f,treatments:y}=s;(u.length>0||h||p.length>0||f.length>0||y.length>0)&&(d=a.map(k=>{let m=k.printings.filter(b=>{let F=!!b.image,B=u.length===0||u.some(R=>b.artists.find(w=>w.replace(E,"").toLowerCase().includes(R))),x=(h||void 0)===b.isExpansionSlot,M=p.length===0||p.includes(b.foiling),C=f.length===0||f.includes(b.set),T=y.length===0||y.includes(b.treatment);return F&&B&&x&&M&&C&&T});return j($({},k),{matchingPrintings:m})}));let D=(d==null?void 0:d.length)>0?d:a;return{appliedFilters:i,attributes:s,keywords:o,searchResults:D}};let a={getFn:(i,s)=>{let o=dr.default.config.getFn(i,s);return o&&(Array.isArray(o)?o.map(n=>pe(n.replace(E,""))):pe(o).replace(E,""))},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.cards=[...r],this.debug=t,this.fuse=new dr.default([...r],a)}},Gt=ur,Wt=(e,r,t)=>{let a=!0;for(let i of r){let{isNumber:s,isString:o,isArray:n,isBoolean:l,property:c}=i.filterToPropertyMapping;(s&&!os(e,i)||o&&!ls(e,i)||n&&!cs(e,i,r)||l&&!ds(e,i))&&(a=!1);let d=!!e.legalOverrides&&!!e.legalOverrides[fe.Format.Clash]&&e.legalOverrides[fe.Format.Clash].length>0,u=t.isClash&&d}return a},os=(e,r)=>{var t;if(Pe(r,e)){let{values:a,modifier:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=hr(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 c=a==null?void 0:a.some(h=>n>parseInt(h));return s?!c:c;case"<=":let d=a==null?void 0:a.some(h=>n<=parseInt(h));return s?!d:d;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(c=>n===parseInt(c));return s?!l:l}else{let l=(t=hs(e,r))==null?void 0:t.toLowerCase(),c=o?a==null?void 0:a.some(d=>l==null?void 0:l.includes(d)):a==null?void 0:a.some(d=>l===d);return s?!c:c}}else return!0},ls=(e,r)=>{var t;if(Pe(r,e)){let{values:a,isAnd:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=(t=hr(e,r))==null?void 0:t.replaceAll(E,"");if(o){let l=i?a==null?void 0:a.every(c=>n==null?void 0:n.toLowerCase().includes(c)):a==null?void 0:a.some(c=>n==null?void 0:n.toLowerCase().includes(c));return s?!l:l}else{let l=i?a==null?void 0:a.every(c=>(n==null?void 0:n.toLowerCase())===c):a==null?void 0:a.some(c=>(n==null?void 0:n.toLowerCase())===c);return s?!l:l}}else return!0},cs=(e,r,t)=>{if(Pe(r,e)){let{values:a,isAnd:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=us(e,r,t).map(l=>l==null?void 0:l.replaceAll(E,""));if(o){let l=i?a.every(d=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(d))):a.some(d=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(d))),c=n.length===0;return s?!l||c:l}else{let l=i?a.every(c=>n==null?void 0:n.some(d=>(d==null?void 0:d.toLowerCase())===c)):a.some(c=>n==null?void 0:n.some(d=>(d==null?void 0:d.toLowerCase())===c));return s?!l:l}}else return!0},ds=(e,r)=>{if(Pe(r,e)){let{excluded:t}=r,a=hr(e,r);return t?!a:a}else return!0},hr=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.property]},us=(e,r,t)=>{let{filterToPropertyMapping:{isNestedPropertyArray:a,nestedProperty:i,property:s}}=r,o=e[s]||[],n=[],l=Object.keys(e.legalOverrides||{}).length>0,c=r.filterToPropertyMapping.property==="legalHeroes",d=t.find(({filterToPropertyMapping:h})=>h.property==="legalFormats");if(l&&c&&!!d){let h=new Set;for(let{format:p,heroes:f}of e.legalOverrides||[])if(d.values.includes(p.toLowerCase()))for(let y of f)h.add(y);n=Array.from(h)}if(n.length===0)if(i){let h=new Set;for(let p of o)if(a){let f=p[i]||[];for(let y of f)h.add(y)}else{let f=p[i];f&&h.add(f)}n=Array.from(h)}else n=o;return n},hs=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.specialProperty]},Pe=({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 le=q(re());var ge=q(re()),ps={"Dawnblade, Resplendent":"Dawnblade"},Kt=e=>ps[e.name]||e.name,$t=e=>{var r;return(r=e.functionalText)==null?void 0:r.replaceAll(e.name,"")},Re=(e,r)=>{let t=r.find(a=>a.name.toLowerCase().replace(E,"")===e);return t||(t=r.find(a=>a.name.toLowerCase().replace(E,"").includes(e))),pr(t,r)},pr=(e,r)=>{var s,o,n,l,c;let t=[],a=[],i=[];if(e){let d=[],u=[],h=Kt(e);for(let p of r){let f=Kt(p),y=h===f,v=e.cardIdentifier!==p.cardIdentifier,D=e.pitch!==p.pitch;if(y&&v&&D)t.push(p);else if(!y){let k=e.name==="Seismic Surge",m=(s=p.keywords)==null?void 0:s.includes(ge.Keyword.Heave),b=k&&m,F=e.name==="Marked",B=(o=p.keywords)==null?void 0:o.includes(ge.Keyword.Mark),x=F&&B,M=$t(p),C=(M==null?void 0:M.includes(h))||((n=e.traits)==null?void 0:n.some(ce=>M==null?void 0:M.includes(ce))),T=$t(e);(C||b||x)&&d.push(p);let P=p.traits||[],R=(T==null?void 0:T.includes(f))||P.some(ce=>T==null?void 0:T.includes(ce)),w=p.name==="Seismic Surge",S=(l=e.keywords)==null?void 0:l.includes(ge.Keyword.Heave),z=w&&S,I=p.name==="Marked",W=(c=e.keywords)==null?void 0:c.includes(ge.Keyword.Mark);(R||z||I&&W)&&u.push(p)}}for(let p of d)a.push(p);for(let p of u){let f=p.name;h!==f&&!u.some(y=>{let v=y.name;return v!==f&&(v==null?void 0:v.includes(f))})&&i.push(p)}}return{otherPitches:t,referencedBy:a,references:i}},fs=["cash-in-yellow"],gs={[le.Hero.Crackni]:{traits:[le.Trait.AgentOfChaos]},[le.Hero.Maxx]:{tokens:["hyper-driver"]}},ms=(e,r,t)=>{var i,s;let a=new Set;for(let o of e.filter(({cardIdentifier:n})=>!fs.includes(n))){let{references:n}=pr(o,r);for(let l of n.filter(c=>{let d=c.name==="Hyper Driver",u=t===le.Hero.Maxx;return!d||u}))a.add(l)}if(t){let o=gs[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,abbreviations,availableExclusions,availableModifiers,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getCleanText,getExcludedMetaFilters,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getNormalizedText,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,multiWordShorthands,shorthands,singleWordShorthands});
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function U(e){return Array.isArray?Array.isArray(e):it(e)==="[object Array]"}var Wa=1/0;function Ka(e){if(typeof e=="string")return e;var r=e+"";return r=="0"&&1/e==-Wa?"-0":r}function $a(e){return e==null?"":Ka(e)}function V(e){return typeof e=="string"}function tt(e){return typeof e=="number"}function ja(e){return e===!0||e===!1||Va(e)&&it(e)=="[object Boolean]"}function at(e){return _e(e)==="object"}function Va(e){return at(e)&&e!==null}function _(e){return e!=null}function He(e){return!e.trim().length}function it(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Ja="Incorrect 'index' type",Ua=function(r){return"Invalid value for key ".concat(r)},Ya=function(r){return"Pattern length exceeds max of ".concat(r,".")},Xa=function(r){return"Missing ".concat(r," property in key")},Za=function(r){return"Property 'weight' in key '".concat(r,"' must be a positive integer")},Zr=Object.prototype.hasOwnProperty,Qa=function(){function e(r){var t=this;O(this,e),this._keys=[],this._keyMap={};var a=0;r.forEach(function(i){var s=st(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 st(e){var r=null,t=null,a=null,i=1,s=null;if(V(e)||U(e))a=e,r=Qr(e),t=$e(e);else{if(!Zr.call(e,"name"))throw new Error(Xa("name"));var o=e.name;if(a=o,Zr.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(Za(o));r=Qr(o),t=$e(o),s=e.getFn}return{path:r,id:t,weight:i,src:a,getFn:s}}function Qr(e){return U(e)?e:e.split(".")}function $e(e){return U(e)?e.join("."):e}function qa(e,r){var t=[],a=!1,i=function s(o,n,l){if(_(o))if(!n[l])t.push(o);else{var c=n[l],d=o[c];if(!_(d))return;if(l===n.length-1&&(V(d)||tt(d)||ja(d)))t.push($a(d));else if(U(d)){a=!0;for(var u=0,h=d.length;u<h;u+=1)s(d[u],n,l+1)}else n.length&&s(d,n,l+1)}};return i(e,V(r)?r.split("."):r,0),a?t:t[0]}var ei={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},ri={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}},ti={location:0,threshold:.6,distance:100},ai={useExtendedSearch:!1,getFn:qa,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},A=se(se(se(se({},ri),ei),ti),ai),ii=/[^ ]+/g;function si(){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(ii).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 Ye=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=r.getFn,a=t===void 0?A.getFn:t,i=r.fieldNormWeight,s=i===void 0?A.fieldNormWeight:i;O(this,e),this.norm=si(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,V(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();V(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(!(!_(t)||He(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(_(l)){if(U(l))(function(){for(var d=[],u=[{nestedArrIndex:-1,value:l}];u.length;){var h=u.pop(),p=h.nestedArrIndex,f=h.value;if(_(f))if(V(f)&&!He(f)){var y={v:f,i:p,n:i.norm.get(f)};d.push(y)}else U(f)&&f.forEach(function(v,D){u.push({nestedArrIndex:D,value:v})})}s.$[n]=d})();else if(V(l)&&!He(l)){var c={v:l,n:i.norm.get(l)};s.$[n]=c}}}),this.records.push(s)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function nt(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.getFn,i=a===void 0?A.getFn:a,s=t.fieldNormWeight,o=s===void 0?A.fieldNormWeight:s,n=new Ye({getFn:i,fieldNormWeight:o});return n.setKeys(e.map(st)),n.setSources(r),n.create(),n}function ni(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.getFn,a=t===void 0?A.getFn:t,i=r.fieldNormWeight,s=i===void 0?A.fieldNormWeight:i,o=e.keys,n=e.records,l=new Ye({getFn:a,fieldNormWeight:s});return l.setKeys(o),l.setIndexRecords(n),l}function ve(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,c=l===void 0?A.distance:l,d=r.ignoreLocation,u=d===void 0?A.ignoreLocation:d,h=a/e.length;if(u)return h;var p=Math.abs(n-s);return c?h+p/c:p?1:h}function oi(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:A.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 te=32;function li(e,r,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=a.location,s=i===void 0?A.location:i,o=a.distance,n=o===void 0?A.distance:o,l=a.threshold,c=l===void 0?A.threshold:l,d=a.findAllMatches,u=d===void 0?A.findAllMatches:d,h=a.minMatchCharLength,p=h===void 0?A.minMatchCharLength:h,f=a.includeMatches,y=f===void 0?A.includeMatches:f,v=a.ignoreLocation,D=v===void 0?A.ignoreLocation:v;if(r.length>te)throw new Error(Ya(te));for(var k=r.length,m=e.length,b=Math.max(0,Math.min(s,m)),F=c,B=b,x=p>1||y,M=x?Array(m):[],C;(C=e.indexOf(r,B))>-1;){var T=ve(r,{currentLocation:C,expectedLocation:b,distance:n,ignoreLocation:D});if(F=Math.min(T,F),B=C+k,x)for(var P=0;P<k;)M[C+P]=1,P+=1}B=-1;for(var R=[],w=1,S=k+m,z=1<<k-1,I=0;I<k;I+=1){for(var W=0,G=S;W<G;){var ce=ve(r,{errors:I,currentLocation:b+G,expectedLocation:b,distance:n,ignoreLocation:D});ce<=F?W=G:S=G,G=Math.floor((S-W)/2+W)}S=G;var fr=Math.max(1,b-G+1),Ie=u?m:Math.min(b+G,m)+k,ie=Array(Ie+2);ie[Ie+1]=(1<<I)-1;for(var K=Ie;K>=fr;K-=1){var me=K-1,gr=t[e.charAt(me)];if(x&&(M[me]=+!!gr),ie[K]=(ie[K+1]<<1|1)&gr,I&&(ie[K]|=(R[K+1]|R[K])<<1|1|R[K+1]),ie[K]&z&&(w=ve(r,{errors:I,currentLocation:me,expectedLocation:b,distance:n,ignoreLocation:D}),w<=F)){if(F=w,B=me,B<=b)break;fr=Math.max(1,2*b-B)}}var jt=ve(r,{errors:I+1,currentLocation:b,expectedLocation:b,distance:n,ignoreLocation:D});if(jt>F)break;R=ie}var we={isMatch:B>=0,score:Math.max(.001,w)};if(x){var mr=oi(M,p);mr.length?y&&(we.indices=mr):we.isMatch=!1}return we}function ci(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 ot=function(){function e(r){var t=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.location,s=i===void 0?A.location:i,o=a.threshold,n=o===void 0?A.threshold:o,l=a.distance,c=l===void 0?A.distance:l,d=a.includeMatches,u=d===void 0?A.includeMatches:d,h=a.findAllMatches,p=h===void 0?A.findAllMatches:h,f=a.minMatchCharLength,y=f===void 0?A.minMatchCharLength:f,v=a.isCaseSensitive,D=v===void 0?A.isCaseSensitive:v,k=a.ignoreLocation,m=k===void 0?A.ignoreLocation:k;if(O(this,e),this.options={location:s,threshold:n,distance:c,includeMatches:u,findAllMatches:p,minMatchCharLength:y,isCaseSensitive:D,ignoreLocation:m},this.pattern=D?r:r.toLowerCase(),this.chunks=[],!!this.pattern.length){var b=function(P,R){t.chunks.push({pattern:P,alphabet:ci(P),startIndex:R})},F=this.pattern.length;if(F>te){for(var B=0,x=F%te,M=F-x;B<M;)b(this.pattern.substr(B,te),B),B+=te;if(x){var C=F-te;b(this.pattern.substr(C),C)}}else b(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,c=n.distance,d=n.threshold,u=n.findAllMatches,h=n.minMatchCharLength,p=n.ignoreLocation,f=[],y=0,v=!1;this.chunks.forEach(function(k){var m=k.pattern,b=k.alphabet,F=k.startIndex,B=li(t,m,b,{location:l+F,distance:c,threshold:d,findAllMatches:u,minMatchCharLength:h,includeMatches:s,ignoreLocation:p}),x=B.isMatch,M=B.score,C=B.indices;x&&(v=!0),y+=M,x&&C&&(f=[].concat(ae(f),ae(C)))});var D={isMatch:v,score:v?y/this.chunks.length:1};return v&&s&&(D.indices=f),D}}]),e}(),Z=function(){function e(r){O(this,e),this.pattern=r}return H(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(t){return qr(t,this.multiRegex)}},{key:"isSingleMatch",value:function(t){return qr(t,this.singleRegex)}}]),e}();function qr(e,r){var t=e.match(r);return t?t[1]:null}var di=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),ui=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),hi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),pi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),fi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),gi=function(e){Y(t,e);var r=X(t);function t(a){return O(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}(Z),lt=function(e){Y(t,e);var r=X(t);function t(a){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.location,n=o===void 0?A.location:o,l=s.threshold,c=l===void 0?A.threshold:l,d=s.distance,u=d===void 0?A.distance:d,h=s.includeMatches,p=h===void 0?A.includeMatches:h,f=s.findAllMatches,y=f===void 0?A.findAllMatches:f,v=s.minMatchCharLength,D=v===void 0?A.minMatchCharLength:v,k=s.isCaseSensitive,m=k===void 0?A.isCaseSensitive:k,b=s.ignoreLocation,F=b===void 0?A.ignoreLocation:b;return O(this,t),i=r.call(this,a),i._bitapSearch=new ot(a,{location:n,threshold:c,distance:u,includeMatches:p,findAllMatches:y,minMatchCharLength:D,isCaseSensitive:m,ignoreLocation:F}),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}(Z),ct=function(e){Y(t,e);var r=X(t);function t(a){return O(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 c=!!n.length;return{isMatch:c,score:c?0:1,indices:n}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),t}(Z),je=[di,ct,hi,pi,gi,fi,ui,lt],et=je.length,mi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,yi="|";function ki(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split(yi).map(function(t){for(var a=t.trim().split(mi).filter(function(f){return f&&!!f.trim()}),i=[],s=0,o=a.length;s<o;s+=1){for(var n=a[s],l=!1,c=-1;!l&&++c<et;){var d=je[c],u=d.isMultiMatch(n);u&&(i.push(new d(u,r)),l=!0)}if(!l)for(c=-1;++c<et;){var h=je[c],p=h.isSingleMatch(n);if(p){i.push(new h(p,r));break}}}return i})}var vi=new Set([lt.type,ct.type]),bi=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.isCaseSensitive,i=a===void 0?A.isCaseSensitive:a,s=t.includeMatches,o=s===void 0?A.includeMatches:s,n=t.minMatchCharLength,l=n===void 0?A.minMatchCharLength:n,c=t.ignoreLocation,d=c===void 0?A.ignoreLocation:c,u=t.findAllMatches,h=u===void 0?A.findAllMatches:u,p=t.location,f=p===void 0?A.location:p,y=t.threshold,v=y===void 0?A.threshold:y,D=t.distance,k=D===void 0?A.distance:D;O(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:o,minMatchCharLength:l,findAllMatches:h,ignoreLocation:d,location:f,threshold:v,distance:k},this.pattern=i?r:r.toLowerCase(),this.query=ki(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=[],c=0,d=0,u=a.length;d<u;d+=1){var h=a[d];l.length=0,n=0;for(var p=0,f=h.length;p<f;p+=1){var y=h[p],v=y.search(t),D=v.isMatch,k=v.indices,m=v.score;if(D){if(n+=1,c+=m,s){var b=y.constructor.type;vi.has(b)?l=[].concat(ae(l),ae(k)):l.push(k)}}else{c=0,n=0,l.length=0;break}}if(n){var F={isMatch:!0,score:c/n};return s&&(F.indices=l),F}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(t,a){return a.useExtendedSearch}}]),e}(),De=[];function Di(){De.push.apply(De,arguments)}function Ve(e,r){for(var t=0,a=De.length;t<a;t+=1){var i=De[t];if(i.condition(e,r))return new i(e,r)}return new ot(e,r)}var Ae={AND:"$and",OR:"$or"},Je={PATH:"$path",PATTERN:"$val"},Ue=function(r){return!!(r[Ae.AND]||r[Ae.OR])},Ai=function(r){return!!r[Je.PATH]},Bi=function(r){return!U(r)&&at(r)&&!Ue(r)},rt=function(r){return Ge({},Ae.AND,Object.keys(r).map(function(t){return Ge({},t,r[t])}))};function dt(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),c=Ai(n);if(!c&&l.length>1&&!Ue(n))return o(rt(n));if(Bi(n)){var d=c?n[Je.PATH]:l[0],u=c?n[Je.PATTERN]:n[d];if(!V(u))throw new Error(Ua(d));var h={keyId:$e(d),pattern:u};return i&&(h.searcher=Ve(u,r)),h}var p={children:[],operator:l[0]};return l.forEach(function(f){var y=n[f];U(y)&&y.forEach(function(v){p.children.push(o(v))})}),p};return Ue(e)||(e=rt(e)),s(e)}function Mi(e,r){var t=r.ignoreFieldNorm,a=t===void 0?A.ignoreFieldNorm:t;e.forEach(function(i){var s=1;i.matches.forEach(function(o){var n=o.key,l=o.norm,c=o.score,d=n?n.weight:null;s*=Math.pow(c===0&&d?Number.EPSILON:c,(d||1)*(a?1:l))}),i.score=s})}function Ci(e,r){var t=e.matches;r.matches=[],_(t)&&t.forEach(function(a){if(!(!_(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 Fi(e,r){r.score=e.score}function Ei(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t.includeMatches,i=a===void 0?A.includeMatches:a,s=t.includeScore,o=s===void 0?A.includeScore:s,n=[];return i&&n.push(Ci),o&&n.push(Fi),e.map(function(l){var c=l.idx,d={item:r[c],refIndex:c};return n.length&&n.forEach(function(u){u(l,d)}),d})}var ne=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;O(this,e),this.options=se(se({},A),t),this.options.useExtendedSearch,this._keyStore=new Qa(this.options.keys),this.setCollection(r,a)}return H(e,[{key:"setCollection",value:function(t,a){if(this._docs=t,a&&!(a instanceof Ye))throw new Error(Ja);this._myIndex=a||nt(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(t){_(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,c=o.shouldSort,d=o.sortFn,u=o.ignoreFieldNorm,h=V(t)?V(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return Mi(h,{ignoreFieldNorm:u}),c&&h.sort(d),tt(s)&&s>-1&&(h=h.slice(0,s)),Ei(h,this._docs,{includeMatches:n,includeScore:l})}},{key:"_searchStringList",value:function(t){var a=Ve(t,this.options),i=this._myIndex.records,s=[];return i.forEach(function(o){var n=o.v,l=o.i,c=o.n;if(_(n)){var d=a.searchIn(n),u=d.isMatch,h=d.score,p=d.indices;u&&s.push({item:n,idx:l,matches:[{score:h,value:n,norm:c,indices:p}]})}}),s}},{key:"_searchLogical",value:function(t){var a=this,i=dt(t,this.options),s=function c(d,u,h){if(!d.children){var p=d.keyId,f=d.searcher,y=a._findMatches({key:a._keyStore.get(p),value:a._myIndex.getValueForItemAtKeyId(u,p),searcher:f});return y&&y.length?[{idx:h,item:u,matches:y}]:[]}for(var v=[],D=0,k=d.children.length;D<k;D+=1){var m=d.children[D],b=c(m,u,h);if(b.length)v.push.apply(v,ae(b));else if(d.operator===Ae.AND)return[]}return v},o=this._myIndex.records,n={},l=[];return o.forEach(function(c){var d=c.$,u=c.i;if(_(d)){var h=s(i,d,u);h.length&&(n[u]||(n[u]={idx:u,item:d,matches:[]},l.push(n[u])),h.forEach(function(p){var f,y=p.matches;(f=n[u].matches).push.apply(f,ae(y))}))}}),l}},{key:"_searchObjectList",value:function(t){var a=this,i=Ve(t,this.options),s=this._myIndex,o=s.keys,n=s.records,l=[];return n.forEach(function(c){var d=c.$,u=c.i;if(_(d)){var h=[];o.forEach(function(p,f){h.push.apply(h,ae(a._findMatches({key:p,value:d[f],searcher:i})))}),h.length&&l.push({idx:u,item:d,matches:h})}}),l}},{key:"_findMatches",value:function(t){var a=t.key,i=t.value,s=t.searcher;if(!_(i))return[];var o=[];if(U(i))i.forEach(function(p){var f=p.v,y=p.i,v=p.n;if(_(f)){var D=s.searchIn(f),k=D.isMatch,m=D.score,b=D.indices;k&&o.push({score:m,key:a,value:f,idx:y,norm:v,indices:b})}});else{var n=i.v,l=i.n,c=s.searchIn(n),d=c.isMatch,u=c.score,h=c.indices;d&&o.push({score:u,key:a,value:n,norm:l,indices:h})}return o}}]),e}();ne.version="6.6.2";ne.createIndex=nt;ne.parseIndex=ni;ne.config=A;ne.parseQuery=dt;Di(bi);var Ti=ne;ut.exports=Ti});var ys={};qt(ys,{FilterProperty:()=>Ze,PUNCTUATION:()=>E,abbreviations:()=>Xe,availableExclusions:()=>Ot,availableModifiers:()=>Nt,default:()=>Gt,filterCard:()=>Wt,filtersToCardPropertyMappings:()=>Le,getAbbreviation:()=>Be,getAbbreviationByCard:()=>Si,getCardByName:()=>lr,getCleanText:()=>cr,getExcludedMetaFilters:()=>qe,getKeywordsAndAppliedFiltersFromText:()=>or,getMetaFilters:()=>Qe,getNormalizedText:()=>pe,getRelatedCards:()=>pr,getRelatedCardsByName:()=>Re,getTokensReferencedByCards:()=>ms,multiWordShorthands:()=>rr,shorthands:()=>er,singleWordShorthands:()=>tr});module.exports=ea(ys);var fe=q(re()),dr=q(ht());var E=/[!"#$%&'’(),./:;<=>?@[\]^_`|~]/g;var g=q(re());var Be=e=>Xe.find(({abbreviations:r})=>r.find(t=>t.toLowerCase()===e)),Si=e=>Xe.find(({card:r})=>r.toLowerCase()===e.name.toLowerCase()),Xe=[{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 N=q(re());var Ze=(t=>(t.LegalFormats="legalFormats",t.LegalHeroes="legalHeroes",t))(Ze||{}),Ee=Array.from(Array(50).keys()).map(e=>`${e}`),xi=[{format:N.Format.BlitzLivingLegend,nicknames:["blitz ll"]},{format:N.Format.ClassicConstructed,nicknames:["cc","classic"]},{format:N.Format.ClassicConstructedLivingLegend,nicknames:["cc ll","classic constructed ll","ll cc","ll","living legend"]},{format:N.Format.ProjectBlue,nicknames:["pb"]},{format:N.Format.UltimatePitFight,nicknames:["upf"]}],Li=Object.values(N.Format).map(e=>{let r=xi.find(({format:a})=>a===e),t=e.toLowerCase().replaceAll(E,"");return r?j($({},r),{format:t}):{format:t}}),Ri=[{hero:N.Hero.DataDoll,nicknames:["data","datadoll"]},{hero:N.Hero.Dorinthea,nicknames:["dori"]},{hero:N.Hero.Genis,nicknames:["genis"]},{hero:N.Hero.GravyBones,nicknames:["gravy"]},{hero:N.Hero.Iyslander,nicknames:["islander"]}],Pi=Object.values(N.Hero).map(e=>{let r=Ri.find(({hero:a})=>a===e),t=e.toLowerCase().replaceAll(E,"");return r?j($({},r),{hero:t}):{hero:t}}),Me=["common","rare","super rare","majestic","legendary","fabled"],Ii=(e,r,t)=>{let a=[];if(!r)a.push(...e);else for(let i of e)switch(r){case">=":let s=!1;for(let c of Me)s?a.push(c):c===i&&(s=!0,a.push(c));break;case">":let o=!1;for(let c of Me)o?a.push(c):c===i&&(o=!0);break;case"<=":let n=!1;for(let c of Me.slice().reverse())n?a.push(c):c===i&&(n=!0,a.push(c));break;case"<":let l=!1;for(let c of Me.slice().reverse())l?a.push(c):c===i&&(l=!0);break;default:break}return{filterToPropertyMapping:{nestedProperty:"rarity",property:"printings",isArray:!0},isOr:!0,values:a,excluded:t}},wi=(e,r)=>{let t=[],a=[],i=[];for(let s of e){let o=Li.find(({format:n,nicknames:l})=>n===s||!!l&&l.includes(s));if(o)a.push(o.format);else{let n=Pi.find(({hero:l,nicknames:c})=>l===s||!!c&&c.includes(s));n&&i.push(n.hero)}}return a.length>0&&t.push({filterToPropertyMapping:{property:"legalFormats",isArray:!0},values:a,isOr:!0,excluded:r}),i.length>0&&t.push({filterToPropertyMapping:{property:"legalHeroes",isArray:!0},values:i,isOr:!0,excluded:r}),t},Qe=(e,r,t,a)=>{let i=[];return Oi(r)?i.push(...wi(t,e)):_i(r)&&i.push(Ii(t,a,e)),i},oe=[{filterToPropertyMapping:{property:"cost",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0}],J=[{filterToPropertyMapping:{property:"defense",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","placeholder","token","weapon"],excluded:!0}],Ce=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},values:["true"],excluded:!0}],Q=[{filterToPropertyMapping:{property:"power",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token"],excluded:!0}],Fe=[{filterToPropertyMapping:{property:"talents",isArray:!0},excluded:!0,values:Object.values(N.Talent).map(e=>e.toLowerCase())}],zi={"!co":oe,"-co":oe,"!cost":oe,"-cost":oe,"!color":oe,"-color":oe,"!b":J,"-b":J,"!block":J,"-block":J,"!d":J,"-d":J,"!def":J,"-def":J,"!defense":J,"-defense":J,"!pitch":Ce,"-pitch":Ce,"!p":Ce,"-p":Ce,"!attack":Q,"-attack":Q,"!power":Q,"-power":Q,"!pwr":Q,"-pwr":Q,"!pow":Q,"-pow":Q,"!talents":Fe,"-talents":Fe,"!tal":Fe,"-tal":Fe},qe=e=>{let r=[],t=zi[e];return t&&r.push(...t),r},Ni=["l","legal","hero"],Oi=e=>Ni.includes(e),Hi=["r","rarity"],_i=e=>Hi.includes(e);var er=[{description:"Attack actions",filters:["st:attack"],shorthands:["AA"]},{description:"Arcane barrier",filters:['k:"arcane barrier"'],shorthands:["AB"]},{description:"Attack reactions",filters:['t:"attack reaction"'],shorthands:["AR"]},{description:"Defense reactions",filters:['t:"defense reaction"'],shorthands:["DR"]},{description:"Flick daggers",filters:["dagger you control deal 1 damage"],shorthands:["Flick","Hurl","Throw"]},{description:"Gain life",filters:["gain {h}"],shorthands:["Gain life","Gains life"]},{description:"Go again",filters:['k:"go again"'],shorthands:["GA"]},{description:"Non-attack actions",filters:["t:action","st:non-attack"],shorthands:["NAA"]},{description:"Plus defense",filters:["+ {d}"],shorthands:["Pump defense","Pumps defense","Buff defense","Buffs defense"]},{description:"Plus power",filters:["+ {p}"],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",filters:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],helper:'6+ power non-Illusionist attacks that can "pop" phantasm attacks when defending',shorthands:["Poppers","Popper"]},{description:"Spellvoid",filters:['k:"spellvoid"'],shorthands:["SV"]},{description:"Tap",filters:["{t}"],shorthands:["Tap"]}],rr=er.filter(({shorthands:e})=>e.some(r=>r.includes(" "))).map(e=>j($({},e),{shorthands:e.shorthands.filter(r=>r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)})),tr=er.filter(({shorthands:e})=>e.some(r=>!r.includes(" "))).map(e=>j($({},e),{shorthands:e.shorthands.filter(r=>!r.includes(" ")).map(r=>r.toLowerCase()).sort((r,t)=>t.length-r.length)}));var Nt=[">=",">","<=","<"],Ot=["!","-"],Gi={property:"arcane",specialProperty:"specialArcane",isNumber:!0,partialMatch:!0},ar={property:"artists",isArray:!0,partialMatch:!0},pt={property:"bannedFormats",isArray:!0,partialMatch:!0},ft={property:"bonds",isArray:!0},Wi={property:"n/a"},gt={property:"classes",isArray:!0,partialMatch:!0},mt={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},he={property:"defense",specialProperty:"specialDefense",isNumber:!0},yt={property:"flows",isArray:!0},kt={nestedProperty:"foiling",property:"printings",isArray:!0},vt={property:"fusions",isArray:!0},bt={property:"intellect",isNumber:!0},Dt={property:"keywords",isArray:!0,partialMatch:!0},ir={property:"n/a",isMeta:!0},At={property:"life",specialProperty:"specialLife",isNumber:!0},Bt={property:"meta",isArray:!0},Mt={property:"name",isString:!0,partialMatch:!0},sr={property:"pitch",isNumber:!0},Te={property:"power",specialProperty:"specialPower",isNumber:!0},Ct={property:"n/a",isMeta:!0},Ki={property:"n/a"},$i={property:"n/a"},Ft={property:"sets",isArray:!0,partialMatch:!0},Se={property:"specializations",isArray:!0,partialMatch:!0},Et={property:"subtypes",isArray:!0},Tt={property:"types",isArray:!0},St={property:"talents",isArray:!0},ji={property:"functionalText",isString:!0,partialMatch:!0},Vi={property:"traits",isArray:!0,partialMatch:!0},Ji={property:"typeText",isString:!0,partialMatch:!0},xe={nestedProperty:"treatments",property:"printings",isArray:!0,isNestedPropertyArray:!0},Le={arcane:Gi,a:ar,artist:ar,art:ar,attack:Te,b:he,block:he,banned:pt,bond:ft,bonds:ft,c:gt,class:gt,chain:Wi,co:mt,cost:mt,color:sr,d:he,def:he,defense:he,flow:yt,flows:yt,f:vt,fusion:vt,foil:kt,foiling:kt,i:bt,intellect:bt,is:Bt,k:Dt,keyword:Dt,l:ir,legal:ir,hero:ir,li:At,life:At,meta:Bt,n:Mt,name:Mt,p:sr,pitch:sr,pwr:Te,pow:Te,power:Te,r:Ct,rarity:Ct,referencedby:Ki,references:$i,rf:pt,s:Ft,set:Ft,sp:Se,spec:Se,specialization:Se,specializations:Se,st:Et,subtype:Et,t:Tt,type:Tt,tal:St,talent:St,text:ji,trait:Vi,treat:xe,treatment:xe,var:xe,variation:xe,x:Ji},Ui=[{text:g.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:g.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(E,"")}],Yi=e=>{var i;let r=[],t=e.replaceAll("\u201D",'"');for(let{text:s,override:o}of Ui)t.includes(s)&&(t=t.replace(s,o));if((i=Be(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},ws=[g.Hero.Briar,g.Hero.Brutus,g.Hero.Emperor,g.Hero.Prism,g.Hero.Shiyana,g.Hero.Taylor,g.Hero.Yorick],or=(e,r)=>{var f;let t=e.trim().toLowerCase();for(let{filters:y,shorthands:v}of rr)for(let D of v)if(t.includes(D)){t=t.replace(D,y.join(" "));break}for(let[y,v]of Object.entries(g.setToSetIdentifierMappings))t.includes(y.toLowerCase())&&(t=t.replace(y.toLowerCase(),v[0]));let a=Yi(t),i=[];for(let y of a){let v=tr.find(({shorthands:D})=>D.includes(y));v?i.push(...v.filters):i.push(y)}let s=[],o=[],n=[],l=[],c=!1,d=[],u=[],h=[],p={isClash:!1};for(let y of i)if(ss(y)){let[v,D]=y.split(":"),{modifier:k,values:m,isAnd:b,isOr:F}=as(D),{filterKey:B,excluded:x,isMeta:M}=is(v);if(M)["rarity","r"].includes(B)&&(d=ts(m),m=d.map(C=>C.toLowerCase())),["legal","l","hero"].includes(B)&&D.includes("clash")&&(p.isClash=!0),s.push(...Qe(x,B,m,k));else{if(["chain"].includes(B)){let C=z=>z.name.toLowerCase().replaceAll(E,""),T=m.map(z=>lr(z,r)).filter(z=>!!z).map(C),P=new Set(T);B="name",F=!0;let R=20,w=0,S=z=>{if(!z.types.includes(g.Type.Hero)){let I=C(z);P.add(I),T.includes(I)||T.push(I)}};for(let z of T){if(w>R)break;let{referencedBy:I,references:W}=Re(z,r);W.forEach(S),w===0&&I.forEach(S),w++}m=Array.from(P)}else if(["referencedby","references"].includes(B)){let C=B,T=[...m].filter(P=>!!P);m=[],B="name",F=!0;for(let P of T){let{referencedBy:R,references:w}=Re(P,r);["referencedby"].includes(C)?m.push(...w.map(({name:S})=>S.toLowerCase().replaceAll(E,""))):["references"].includes(C)&&m.push(...R.map(({name:S})=>S.toLowerCase().replaceAll(E,"")))}}else if(["art","artist"].includes(B))o=m;else if(["is","is","meta"].includes(B)){let C=qi(m);m=C.map(T=>T.toLowerCase().replaceAll(E,"")),C.includes(g.Meta.Expansion)&&!x&&(c=!0)}else["foiling","foil"].includes(B)?(l=es(m),m=l.map(C=>C.toLowerCase())):["treat","treatment","var","variation"].includes(B)?(h=rs(m),m=h.map(C=>C.toLowerCase())):["set","s"].includes(B)?(u=Xi(m),m=u.map(C=>C.toLowerCase().replaceAll(E,""))):["pitch","p","color"].includes(B)&&(m=Qi(m));Le[B]&&s.push({filterToPropertyMapping:Le[B],values:m,isAnd:b,isOr:F,modifier:k,excluded:x})}}else if(y){let v=(f=Be(y))==null?void 0:f.card,D=qe(y);v?n.push(`"${v.toLowerCase().replace(E,"")}"`):D&&D.length>0?s.push(...D):n.push(y.replace(E,""))}return{appliedFilters:s,attributes:{artists:o,foilings:l,isExpansionSlot:c,rarities:d,releases:u,treatments:h},keywords:n,specialConditions:p}},Xi=e=>{let r=[];for(let t of e)r.push(...Zi(t));return r},Zi=e=>{let r=[],t=Object.values(g.Release).find(a=>a.toLowerCase().replaceAll(E,"")===e);if(t&&r.push(t),r.length===0){let a=g.setIdentifierToSetMappings[e];a&&r.push(a)}if(r.length===0){let a=Object.values(g.Release).filter(i=>i.toLowerCase().includes(e));a.length>0&&r.push(...a)}return r},nr={blue:3,yellow:2,red:1,white:0},Qi=e=>{let r=[];for(let t of e)nr[t]||nr[t]===0?r.push(nr[t].toString()):r.push(t);return r},xt={exp:g.Meta.Expansion,expansion:g.Meta.Expansion,expansionSlot:g.Meta.Expansion,rainbow:g.Meta.Rainbow},qi=e=>{let r=[];for(let t of e)xt[t]&&r.push(xt[t]);return r},Lt={r:g.Foiling.R,rf:g.Foiling.R,rainbow:g.Foiling.R,c:g.Foiling.C,cf:g.Foiling.C,cold:g.Foiling.C,g:g.Foiling.G,gf:g.Foiling.G,gold:g.Foiling.G},es=e=>{let r=[];for(let t of e)Lt[t]&&r.push(Lt[t]);return r},Rt=j($({},Object.values(g.Treatment).reduce((e,r)=>(e[r.toLowerCase()]=r,e),{})),{aa:g.Treatment.AA,alt:g.Treatment.AA,"alt art":g.Treatment.AA,ab:g.Treatment.AB,"alt border":g.Treatment.AB,at:g.Treatment.AT,"alt text":g.Treatment.AT,ea:g.Treatment.EA,extended:g.Treatment.EA,"extended art":g.Treatment.EA,fa:g.Treatment.FA,full:g.Treatment.FA,"full art":g.Treatment.FA}),rs=e=>{let r=[];for(let t of e)Rt[t]?r.push(Rt[t]):g.Treatment[t.toUpperCase()]&&r.push(g.Treatment[t.toUpperCase()]);return r},Pt={c:g.Rarity.Common,f:g.Rarity.Fabled,l:g.Rarity.Legendary,m:g.Rarity.Majestic,v:g.Rarity.Marvel,r:g.Rarity.Rare,s:g.Rarity.SuperRare,t:g.Rarity.Token},ts=e=>{let r=[];for(let t of e)Pt[t]?r.push(Pt[t]):r.push(t);return r},as=e=>{let r=[],t,a,i=Nt.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(E,"")))):wt(s)?(a=!0,r.push(...s.trim().split(",").map(o=>o.replace(E,"")))):r.push(s.trim().replace(E,""))}else It(e)?(t=!0,r.push(...e.trim().split("+").map(s=>s.replace(E,"")))):wt(e)?(a=!0,r.push(...e.trim().split(",").map(s=>s.replace(E,"")))):e.startsWith('"')&&e.endsWith('"')?r.push(e.trim().replaceAll('"',"").replace(E,"")):r.push(e.trim().replace(E,""));return{modifier:i,values:r,isAnd:t,isOr:a}},is=e=>{let r=ns(e);if(r){let[,t]=e.split(r);return{excluded:!0,filterKey:t,isMeta:zt(t)}}else return{excluded:!1,filterKey:e,isMeta:zt(e)}},ss=e=>e.indexOf(":")>=0,It=e=>e.indexOf("+")>=0,wt=e=>e.indexOf(",")>=0,zt=e=>{var r;return!!((r=Le[e])!=null&&r.isMeta)},ns=e=>{var r;return(r=Ot.find(t=>e.includes(t)))==null?void 0:r.slice(0,1)};var L=q(re()),Ht={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[L.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:[L.Hero.Kayo,L.Hero.Levia,L.Hero.Rhinar],printings:[{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000",print:"FNG000",rarity:L.Rarity.Rare,set:L.Release.Promos},{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${L.Treatment.FA}`,rarity:L.Rarity.Marvel,set:L.Release.Promos,treatment:L.Treatment.FA}],name:"Fangs A Lot",rarities:[L.Rarity.Rare,L.Rarity.Marvel],rarity:L.Rarity.Rare,sets:[L.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[L.Subtype.Attack],types:[L.Type.Action],typeText:"Generic Action - Attack"},_t=[{keyword:Ht.name.toLowerCase(),card:Ht}];var lr=(e,r)=>{let t=r.find(a=>cr(a.name)===e);return t||(t=r.find(a=>cr(a.name).includes(e))),t},cr=e=>pe(e.toLowerCase().trim().replace(E,"")),pe=e=>e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"");var ur=class{constructor(r,t=!1){this.log=(r,...t)=>{this.debug&&console.log(r,...t)};this.search=(r,t)=>{let a,{appliedFilters:i,attributes:s,keywords:o,specialConditions:n}=or(r,this.cards),l=o.join(" "),c=t?_t.filter(k=>k.keyword===l):[];if(c.length>0?a=c.map(({card:k})=>k):o.length?a=this.fuse.search(l).map(k=>k.item):a=[...this.cards],i.length&&(a=a.filter(k=>k&&Wt(k,i,n))),o.length===0){let k="";if(s.releases.length===1)try{let m=s.releases[0];k=fe.setToSetIdentifierMappings[m][0].toUpperCase()}catch(m){console.error("Error getting set identifier from search",m)}k?a.sort((m,b)=>{var x,M;let F=(x=m.setIdentifiers.find(C=>C.includes(k)))==null?void 0:x.replace(k,""),B=(M=b.setIdentifiers.find(C=>C.includes(k)))==null?void 0:M.replace(k,"");return F&&B?F.localeCompare(B):-1}):a.sort((m,b)=>m.name===b.name?`${m.pitch}`.localeCompare(`${b.pitch}`):m.name.localeCompare(b.name))}else{let k=[],m=[],b=o.map(F=>F.toLowerCase().replace(E,"")).join(" ");for(let F of a)F.name.toLowerCase().replace(E,"")===b?k.push(F):m.push(F);a=[...k,...m]}let d,{artists:u,isExpansionSlot:h,foilings:p,releases:f,treatments:y}=s;(u.length>0||h||p.length>0||f.length>0||y.length>0)&&(d=a.map(k=>{let m=k.printings.filter(b=>{let F=!!b.image,B=u.length===0||u.some(R=>b.artists.find(w=>w.replace(E,"").toLowerCase().includes(R))),x=(h||void 0)===b.isExpansionSlot,M=p.length===0||p.includes(b.foiling),C=f.length===0||f.includes(b.set),T=y.length===0||y.includes(b.treatment);return F&&B&&x&&M&&C&&T});return j($({},k),{matchingPrintings:m})}));let D=(d==null?void 0:d.length)>0?d:a;return{appliedFilters:i,attributes:s,keywords:o,searchResults:D}};let a={getFn:(i,s)=>{let o=dr.default.config.getFn(i,s);return o&&(Array.isArray(o)?o.map(n=>pe(n.replace(E,""))):pe(o).replace(E,""))},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.cards=[...r],this.debug=t,this.fuse=new dr.default([...r],a)}},Gt=ur,Wt=(e,r,t)=>{let a=!0;for(let i of r){let{isNumber:s,isString:o,isArray:n,isBoolean:l,property:c}=i.filterToPropertyMapping;(s&&!os(e,i)||o&&!ls(e,i)||n&&!cs(e,i,r)||l&&!ds(e,i))&&(a=!1);let d=!!e.legalOverrides&&!!e.legalOverrides[fe.Format.Clash]&&e.legalOverrides[fe.Format.Clash].length>0,u=t.isClash&&d}return a},os=(e,r)=>{var t;if(Pe(r,e)){let{values:a,modifier:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=hr(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 c=a==null?void 0:a.some(h=>n>parseInt(h));return s?!c:c;case"<=":let d=a==null?void 0:a.some(h=>n<=parseInt(h));return s?!d:d;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(c=>n===parseInt(c));return s?!l:l}else{let l=(t=hs(e,r))==null?void 0:t.toLowerCase(),c=o?a==null?void 0:a.some(d=>l==null?void 0:l.includes(d)):a==null?void 0:a.some(d=>l===d);return s?!c:c}}else return!0},ls=(e,r)=>{var t;if(Pe(r,e)){let{values:a,isAnd:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=(t=hr(e,r))==null?void 0:t.replaceAll(E,"");if(o){let l=i?a==null?void 0:a.every(c=>n==null?void 0:n.toLowerCase().includes(c)):a==null?void 0:a.some(c=>n==null?void 0:n.toLowerCase().includes(c));return s?!l:l}else{let l=i?a==null?void 0:a.every(c=>(n==null?void 0:n.toLowerCase())===c):a==null?void 0:a.some(c=>(n==null?void 0:n.toLowerCase())===c);return s?!l:l}}else return!0},cs=(e,r,t)=>{if(Pe(r,e)){let{values:a,isAnd:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=r,n=us(e,r,t).map(l=>l==null?void 0:l.replaceAll(E,""));if(o){let l=i?a.every(d=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(d))):a.some(d=>n==null?void 0:n.some(u=>u==null?void 0:u.toLowerCase().includes(d))),c=n.length===0;return s?!l||c:l}else{let l=i?a.every(c=>n==null?void 0:n.some(d=>(d==null?void 0:d.toLowerCase())===c)):a.some(c=>n==null?void 0:n.some(d=>(d==null?void 0:d.toLowerCase())===c));return s?!l:l}}else return!0},ds=(e,r)=>{if(Pe(r,e)){let{excluded:t}=r,a=hr(e,r);return t?!a:a}else return!0},hr=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.property]},us=(e,r,t)=>{let{filterToPropertyMapping:{isNestedPropertyArray:a,nestedProperty:i,property:s}}=r,o=e[s]||[],n=[],l=Object.keys(e.legalOverrides||{}).length>0,c=r.filterToPropertyMapping.property==="legalHeroes",d=t.find(({filterToPropertyMapping:h})=>h.property==="legalFormats");if(l&&c&&!!d){let h=new Set;for(let{format:p,heroes:f}of e.legalOverrides||[])if(d.values.includes(p.toLowerCase()))for(let y of f)h.add(y);n=Array.from(h)}if(n.length===0)if(i){let h=new Set;for(let p of o)if(a){let f=p[i]||[];for(let y of f)h.add(y)}else{let f=p[i];f&&h.add(f)}n=Array.from(h)}else n=o;return n},hs=(e,r)=>{let{filterToPropertyMapping:t}=r;return e[t.specialProperty]},Pe=({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 le=q(re());var ge=q(re()),ps={"Dawnblade, Resplendent":"Dawnblade"},Kt=e=>ps[e.name]||e.name,$t=e=>{var r;return(r=e.functionalText)==null?void 0:r.replaceAll(e.name,"")},Re=(e,r)=>{let t=r.find(a=>a.name.toLowerCase().replace(E,"")===e);return t||(t=r.find(a=>a.name.toLowerCase().replace(E,"").includes(e))),pr(t,r)},pr=(e,r)=>{var s,o,n,l,c;let t=[],a=[],i=[];if(e){let d=[],u=[],h=Kt(e);for(let p of r){let f=Kt(p),y=h===f,v=e.cardIdentifier!==p.cardIdentifier,D=e.pitch!==p.pitch;if(y&&v&&D)t.push(p);else if(!y){let k=e.name==="Seismic Surge",m=(s=p.keywords)==null?void 0:s.includes(ge.Keyword.Heave),b=k&&m,F=e.name==="Marked",B=(o=p.keywords)==null?void 0:o.includes(ge.Keyword.Mark),x=F&&B,M=$t(p),C=(M==null?void 0:M.includes(h))||((n=e.traits)==null?void 0:n.some(ce=>M==null?void 0:M.includes(ce))),T=$t(e);(C||b||x)&&d.push(p);let P=p.traits||[],R=(T==null?void 0:T.includes(f))||P.some(ce=>T==null?void 0:T.includes(ce)),w=p.name==="Seismic Surge",S=(l=e.keywords)==null?void 0:l.includes(ge.Keyword.Heave),z=w&&S,I=p.name==="Marked",W=(c=e.keywords)==null?void 0:c.includes(ge.Keyword.Mark);(R||z||I&&W)&&u.push(p)}}for(let p of d)a.push(p);for(let p of u){let f=p.name;h!==f&&!u.some(y=>{let v=y.name;return v!==f&&(v==null?void 0:v.includes(f))})&&i.push(p)}}return{otherPitches:t,referencedBy:a,references:i}},fs=["cash-in-yellow"],gs={[le.Hero.Crackni]:{traits:[le.Trait.AgentOfChaos]},[le.Hero.Maxx]:{tokens:["hyper-driver"]}},ms=(e,r,t)=>{var i,s;let a=new Set;for(let o of e.filter(({cardIdentifier:n})=>!fs.includes(n))){let{references:n}=pr(o,r);for(let l of n.filter(c=>{let d=c.name==="Hyper Driver",u=t===le.Hero.Maxx;return!d||u}))a.add(l)}if(t){let o=gs[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,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.
|
|
4
|
+
"version": "3.6.45",
|
|
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.
|
|
20
|
+
"@flesh-and-blood/cards": "^3.6.45",
|
|
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": "
|
|
50
|
+
"gitHead": "7fd8172d33da66e33427f6130a3f6b51053326b2"
|
|
51
51
|
}
|