diff --git a/builds/wtf_wikipedia-client.min.js b/builds/wtf_wikipedia-client.min.js index 33fc652a..e6a2b5df 100644 --- a/builds/wtf_wikipedia-client.min.js +++ b/builds/wtf_wikipedia-client.min.js @@ -1,2 +1,2 @@ /*! wtf_wikipedia MIT */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).wtf=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var i=function e(){if(this instanceof e){var i=[null];return i.push.apply(i,arguments),new(Function.bind.apply(t,i))}return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})})),i}var i=t(Object.freeze({__proto__:null,default:function(e,t){return t=t||{},new Promise((function(i,a){var n=new XMLHttpRequest,r=[],o=[],s={},l=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:l,headers:{keys:function(){return r},entries:function(){return o},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var c in n.open(t.method||"get",e,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,i){r.push(t=t.toLowerCase()),o.push([t,i]),s[t]=s[t]?s[t]+","+i:i})),i(l())},n.onerror=a,n.withCredentials="include"==t.credentials,t.headers)n.setRequestHeader(c,t.headers[c]);n.send(t.body||null)}))}})),a=e(self.fetch||(self.fetch=i.default||i));const n=function(e){let t=new URL(e),i=t.pathname.replace(/^\/(wiki\/)?/,"");return i=decodeURIComponent(i),{domain:t.host,title:i}};function r(e){return e&&"string"==typeof e?e=(e=(e=(e=e.replace(/^\s+/,"")).replace(/\s+$/,"")).replace(/ {2}/," ")).replace(/\s, /,", "):""}function o(e){return"[object Array]"===Object.prototype.toString.call(e)}const s=/(wikibooks|wikidata|wikimedia|wikinews|wikipedia|wikiquote|wikisource|wikispecies|wikiversity|wikivoyage|wiktionary|foundation|meta)\.org/,l={action:"query",prop:"revisions|pageprops",rvprop:"content",maxlag:5,rvslots:"main",origin:"*",format:"json",redirects:"true"},c=e=>e.replace(/ /g,"_").trim(),u=function(e,t=l){let i=Object.assign({},t),a="";if(e.domain){let t=s.test(e.domain)?"w/api.php":e.path;a=`https://${e.domain}/${t}?`}else{if(!e.lang||!e.wiki)return"";a=`https://${e.lang}.${e.wiki}.org/w/api.php?`}e.follow_redirects||delete i.redirects,e.origin&&(i.origin=e.origin);let n=e.title;if("number"==typeof n)i.pageids=n;else if("string"==typeof n)i.titles=c(n);else if(void 0!==n&&o(n)&&"number"==typeof n[0])i.pageids=n.filter((e=>e)).join("|");else{if(void 0===n||!0!==o(n)||"string"!=typeof n[0])return"";i.titles=n.filter((e=>e)).map(c).join("|")}return`${a}${r=i,Object.entries(r).map((([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&")}`;var r},m=function(e,t,i){let a=[];return e.sections().forEach((e=>{let n=[];n="string"==typeof i?e[t](i):e[t](),n.forEach((e=>{a.push(e)}))})),"number"==typeof i?void 0===a[i]?[]:[a[i]]:a},p=function(e,t){return Object.assign({},t,e)},d={title:!0,sections:!0,pageID:!0,categories:!0};var h=["category","abdeeling","bólkur","catagóir","categori","categoria","categoria","categoría","categorîa","categorìa","catégorie","categorie","catègorie","category","categuria","catigurìa","class","ẹ̀ka","flocc","flocc","flokkur","grup","jamii","kaarangay","kateggoría","kategooria","kategori","kategorî","kategoria","kategória","kategorie","kategoriija","kategorija","kategorio","kategoriya","kategoriýa","kategoriye","kategory","kategorya","kateqoriya","katiguriya","klad","luokka","ñemohenda","roinn","ronney","rummad","setensele","sokajy","sumut","thể","turkum","категорија","категория","категорія","катэгорыя","төркем","קטגוריה","تصنيف","تۈر","رده","श्रेणी","श्रेणी","বিষয়শ্রেণী","หมวดหมู่","분류","분류","分类"],g=["file","image","चित्र","archivo","attēls","berkas","bestand","datei","dosiero","dosya","fájl","fasciculus","fichier","fil","fitxategi","fitxer","gambar","imagem","imej","immagine","larawan","lêer","plik","restr","slika","wêne","wobraz","выява","податотека","слика","файл","სურათი","պատկեր","קובץ","پرونده","دوتنه","ملف","وێنە","चित्र","ไฟล์","파일","ファイル"],b=["infobox","anfo","anuāmapa","bilgi kutusu","bilgi","bilgiquti","boaty","boestkelaouiñ","bosca","capsa","diehtokássa","faktamall","ficha","generalni","gwybodlen3","info","infobokis","infoboks","infochascha","infokašćik","infokast","infokutija","infolentelė","infopolje","informkesto","infoskreine","infotaula","inligtingskas","inligtingskas3","inligtingskas4","kishtey","kotak","tertcita","tietolaatikko","yerleşim bilgi kutusu","ynfoboks","πλαίσιο","акарточка","аҥа","инфобокс","инфокутија","инфокутия","інфобокс","канадский","картка","карточка","карточка2","карточкарус","картуш","қуттӣ","ინფოდაფა","տեղեկաքարտ","אינפאקעסטל","תבנית","بطاقة","ڄاڻخانو","خانہ","لغة","ज्ञानसन्दूक","তথ্যছক","ਜਾਣਕਾਰੀਡੱਬਾ","సమాచారపెట్టె","තොරතුරුකොටුව","กล่องข้อมูล","ប្រអប់ព័ត៌មាន","정보상자","明細"];let f=" disambiguation";const k=["dab","dab","disamb","disambig","geodis","hndis","setindex","ship index","split dab","sport index","wp disambig","disambiguation cleanup","airport"+f,"biology"+f,"call sign"+f,"caselaw"+f,"chinese title"+f,"genus"+f,"hospital"+f,"lake index","letter"+f,"letter-number combination"+f,"mathematical"+f,"military unit"+f,"mountainindex","number"+f,"phonetics"+f,"place name"+f,"portal"+f,"road"+f,"school"+f,"species latin name abbreviation"+f,"species latin name"+f,"station"+f,"synagogue"+f,"taxonomic authority"+f,"taxonomy"+f].reduce(((e,t)=>(e[t]=!0,e)),{}),w=/. may (also )?refer to\b/i,y={about:!0,for:!0,"for multi":!0,"other people":!0,"other uses of":!0,distinguish:!0},$=new RegExp(". \\(("+["disambiguation","homonymie","توضيح","desambiguação","Begriffsklärung","disambigua","曖昧さ回避","消歧義","搞清楚","значения","ابهام‌زدایی","د ابہام","동음이의","dubbelsinnig","այլ կիրառումներ","ujednoznacznienie"].join("|")+")\\)$","i"),x=["dab","disamb","disambig","disambiguation","letter-numbercombdisambig","letter-number combination disambiguation","dmbox","airport disambiguation","biology disambiguation","call sign disambiguation","caselaw disambiguation","chinese title disambiguation","disambiguation cleanup","genus disambiguation","hospital disambiguation","human name disambiguation","human name disambiguation cleanup","letter-number combination disambiguation","mathematical disambiguation","military unit disambiguation","music disambiguation","number disambiguation","opus number disambiguation","phonetics disambiguation","place name disambiguation","portal disambiguation","road disambiguation","school disambiguation","species latin name abbreviation disambiguation","species latin name disambiguation","station disambiguation","synagogue disambiguation","taxonomic authority disambiguation","taxonomy disambiguation","template disambiguation","disamb2","disamb3","disamb4","disambiguation lead","disambiguation lead name","disambiguation name","disamb-term","disamb-terms","aðgreining","aimai","ałtsʼáʼáztiin","anlam ayrımı","anlam ayrımı","apartigilo","argipen","begriepskloorenge","begriffsklärung","begriffsklärung","begriffsklärung","begriffsklearung","bisongidila","bkl","bokokani","caddayn","clerheans","cudakirin","čvor","db","desambig","desambigación","desambiguação","desambiguació","desambiguación","desambiguáncia","desambiguasion","desambiguassiù","desambigui","dezambiguizare","dəqiqləşdirmə","disambigua","disambigua","disambigua","disambìgua","disambigua","disambiguasi","disambiguasi","discretiva","disheñvelout","disingkek","dixanbigua","dixebra","diżambigwazzjoni","doorverwijspagina","dp","dp","dubbelsinnig","dudalipen","dv","egyért","fleiri týdningar","fleirtyding","flertydig","förgrening","gì-ngiê","giklaro","gwahaniaethu","homonimo","homónimos","homonymie","huaʻōlelo puana like","idirdhealú","khu-pia̍t","kthjellim","kujekesa","maana","maneo bin","mehrdüdig begreep","menm non","muardüüdag artiikel","neibetsjuttings","nozīmju atdalīšana","nuorodinis","nyahkekaburan","omonimeye","omonimia","page dé frouque","paglilinaw","panangilawlawag","pansayod","pejy mitovy anarana","peker","razdvojba","razločitev","razvrstavanje","reddaghey","rozcestník","rozlišovacia stránka","sclerir noziun","selvendyssivu","soilleireachadh","suzmunski","täpsustuslehekülg","täsmennyssivu","telplänov","tlahtolmelahuacatlaliztli","trang định hướng","ujednoznacznienie","verdudeliking","wěcejwóznamowosć","wjacezmyslnosć","zambiguaçon","zeimeibu škiršona","αποσαφήνιση","айрық","аҵакырацәа","вишезначна одредница","ибҳомзудоӣ","кёб магъаналы","күп мәгънәләр","күп мәғәнәлелек","мъногосъмꙑслиѥ","неадназначнасць","неадназначнасьць","неоднозначность","олон удхатай","појаснување","пояснение","са шумуд манавал","салаа утгатай","суолталар","текмаанисиздик","цо магіна гуреб","чеперушка","чолхалла","шуко ончыктымаш-влак","მრავალმნიშვნელოვანი","բազմիմաստութիւն","բազմիմաստություն","באדייטן","פירושונים","ابهام‌زدایی","توضيح","توضيح","دقیقلشدیرمه","ڕوونکردنەوە","سلجهائپ","ضد ابہام","گجگجی بیری","نامبهمېدنه","መንታ","अस्पष्टता","बहुअर्थी","बहुविकल्पी शब्द","দ্ব্যর্থতা নিরসন","ਗੁੰਝਲ-ਖੋਲ੍ਹ","સંદિગ્ધ શીર્ષક","பக்கவழி நெறிப்படுத்தல்","అయోమయ నివృత్తి","ದ್ವಂದ್ವ ನಿವಾರಣೆ","വിവക്ഷകൾ","වක්‍රෝත්ති","แก้ความกำกวม","သံတူကြောင်းကွဲ","ណែនាំ","동음이의","扤清楚","搞清楚","曖昧さ回避","消歧义","釋義","gestion dj'omònim","sut'ichana qillqa"].reduce(((e,t)=>(e[t]=!0,e)),{}),v=function(e){if(!e)return!1;let t=e.text();return!(null===t||!t[0]||!0!==w.test(t))},j={caption:!0,alt:!0,links:!0,thumb:!0,url:!0},_=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},z={file(){let e=this.data.file||"";if(e){/^(image|file):/i.test(e)||(e=`File:${e}`),e=e.trim(),e=e.charAt(0).toUpperCase()+e.substring(1),e=e.replace(/ /g,"_")}return e},alt(){let e=this.data.alt||this.data.file||"";return e=e.replace(/^(file|image):/i,""),e=e.replace(/\.(jpg|jpeg|png|gif|svg)/i,""),e.replace(/_/g," ")},caption(){return this.data.caption?this.data.caption.text():""},links(){return this.data.caption?this.data.caption.links():[]},url(){let e=function(e){let t=function(e){let t=e.replace(/^(image|file?):/i,"");return t=t.charAt(0).toUpperCase()+t.substring(1),t=t.trim().replace(/ /g,"_"),t}(e);return t=encodeURIComponent(t),t}(this.file());return`https://${this.data.domain||"wikipedia.org"}/wiki/Special:Redirect/file/${e}`},thumbnail(e){return e=e||300,this.url()+"?width="+e},format(){let e=this.file().split(".");return e[e.length-1]?e[e.length-1].toLowerCase():null},json:function(e){return function(e,t){t=p(t,j);let i={file:e.file()};return!1!==t.thumb&&(i.thumb=e.thumbnail()),!1!==t.url&&(i.url=e.url()),!1!==t.caption&&e.data.caption&&(i.caption=e.caption(),!1!==t.links&&e.data.caption.links()&&(i.links=e.links())),!1!==t.alt&&e.data.alt&&(i.alt=e.alt()),i}(this,e=e||{})},text:function(){return""},wikitext:function(){return this.data.wiki||""}};Object.keys(z).forEach((e=>{_.prototype[e]=z[e]})),_.prototype.src=_.prototype.url,_.prototype.thumb=_.prototype.thumbnail;var O={aa:"Afar",ab:"Аҧсуа",af:"Afrikaans",ak:"Akana",als:"Alemannisch",am:"አማርኛ",an:"Aragonés",ang:"Englisc",ar:"العربية",arc:"ܣܘܪܬ",as:"অসমীয়া",ast:"Asturianu",av:"Авар",ay:"Aymar",az:"Azərbaycanca",ba:"Башҡорт",bar:"Boarisch","bat-smg":"Žemaitėška",bcl:"Bikol",be:"Беларуская","be-x-old":"ltr",bg:"Български",bh:"भोजपुरी",bi:"Bislama",bm:"Bamanankan",bn:"বাংলা",bo:"བོད་ཡིག",bpy:"ltr",br:"Brezhoneg",bs:"Bosanski",bug:"ᨅᨔ",bxr:"ltr",ca:"Català",cdo:"Chinese",ce:"Нохчийн",ceb:"Sinugboanong",ch:"Chamoru",cho:"Choctaw",chr:"ᏣᎳᎩ",chy:"Tsetsêhestâhese",co:"Corsu",cr:"Nehiyaw",cs:"Česky",csb:"Kaszëbsczi",cu:"Slavonic",cv:"Чăваш",cy:"Cymraeg",da:"Dansk",de:"Deutsch",diq:"Zazaki",dsb:"ltr",dv:"ދިވެހިބަސް",dz:"ཇོང་ཁ",ee:"Ɛʋɛ",far:"فارسی",el:"Ελληνικά",en:"English",eo:"Esperanto",es:"Español",et:"Eesti",eu:"Euskara",ext:"Estremeñu",ff:"Fulfulde",fi:"Suomi","fiu-vro":"Võro",fj:"Na",fo:"Føroyskt",fr:"Français",frp:"Arpitan",fur:"Furlan",fy:"ltr",ga:"Gaeilge",gan:"ltr",gd:"ltr",gil:"Taetae",gl:"Galego",gn:"Avañe'ẽ",got:"gutisk",gu:"ગુજરાતી",gv:"Gaelg",ha:"هَوُسَ",hak:"ltr",haw:"Hawai`i",he:"עברית",hi:"हिन्दी",ho:"ltr",hr:"Hrvatski",ht:"Krèyol",hu:"Magyar",hy:"Հայերեն",hz:"Otsiherero",ia:"Interlingua",id:"Bahasa",ie:"Interlingue",ig:"Igbo",ii:"ltr",ik:"Iñupiak",ilo:"Ilokano",io:"Ido",is:"Íslenska",it:"Italiano",iu:"ᐃᓄᒃᑎᑐᑦ",ja:"日本語",jbo:"Lojban",jv:"Basa",ka:"ქართული",kg:"KiKongo",ki:"Gĩkũyũ",kj:"Kuanyama",kk:"Қазақша",kl:"Kalaallisut",km:"ភាសាខ្មែរ",kn:"ಕನ್ನಡ",khw:"کھوار",ko:"한국어",kr:"Kanuri",ks:"कश्मीरी",ksh:"Ripoarisch",ku:"Kurdî",kv:"Коми",kw:"Kernewek",ky:"Kırgızca",la:"Latina",lad:"Dzhudezmo",lan:"Leb",lb:"Lëtzebuergesch",lg:"Luganda",li:"Limburgs",lij:"Líguru",lmo:"Lumbaart",ln:"Lingála",lo:"ລາວ",lt:"Lietuvių",lv:"Latviešu","map-bms":"Basa",mg:"Malagasy",man:"官話",mh:"Kajin",mi:"Māori",min:"Minangkabau",mk:"Македонски",ml:"മലയാളം",mn:"Монгол",mo:"Moldovenească",mr:"मराठी",ms:"Bahasa",mt:"bil-Malti",mus:"Muskogee",my:"Myanmasa",na:"Dorerin",nah:"Nahuatl",nap:"Nnapulitano",nd:"ltr",nds:"Plattdüütsch","nds-nl":"Saxon",ne:"नेपाली",new:"नेपालभाषा",ng:"Oshiwambo",nl:"Nederlands",nn:"ltr",no:"Norsk",nr:"ltr",nso:"ltr",nrm:"Nouormand",nv:"Diné",ny:"Chi-Chewa",oc:"Occitan",oj:"ᐊᓂᔑᓈᐯᒧᐎᓐ",om:"Oromoo",or:"ଓଡ଼ିଆ",os:"Иронау",pa:"ਪੰਜਾਬੀ",pag:"Pangasinan",pam:"Kapampangan",pap:"Papiamentu",pdc:"ltr",pi:"Pāli",pih:"Norfuk",pl:"Polski",pms:"Piemontèis",ps:"پښتو",pt:"Português",qu:"Runa",rm:"ltr",rmy:"Romani",rn:"Kirundi",ro:"Română","roa-rup":"Armâneashti",ru:"Русский",rw:"Kinyarwandi",sa:"संस्कृतम्",sc:"Sardu",scn:"Sicilianu",sco:"Scots",sd:"सिनधि",se:"ltr",sg:"Sängö",sh:"Srpskohrvatski",si:"සිංහල",simple:"ltr",sk:"Slovenčina",sl:"Slovenščina",sm:"Gagana",sn:"chiShona",so:"Soomaaliga",sq:"Shqip",sr:"Српски",ss:"SiSwati",st:"ltr",su:"Basa",sv:"Svenska",sw:"Kiswahili",ta:"தமிழ்",te:"తెలుగు",tet:"Tetun",tg:"Тоҷикӣ",th:"ไทย",ti:"ትግርኛ",tk:"Туркмен",tl:"Tagalog",tlh:"tlhIngan-Hol",tn:"Setswana",to:"Lea",tpi:"ltr",tr:"Türkçe",ts:"Xitsonga",tt:"Tatarça",tum:"chiTumbuka",tw:"Twi",ty:"Reo",udm:"Удмурт",ug:"Uyƣurqə",uk:"Українська",ur:"اردو",uz:"Ўзбек",ve:"Tshivenḓa",vi:"Việtnam",vec:"Vèneto",vls:"ltr",vo:"Volapük",wa:"Walon",war:"Winaray",wo:"Wollof",xal:"Хальмг",xh:"isiXhosa",yi:"ייִדיש",yo:"Yorùbá",za:"Cuengh",zh:"中文","zh-classical":"ltr","zh-min-nan":"Bân-lâm-gú","zh-yue":"粵語",zu:"isiZulu"};const E=".wikipedia.org/wiki/$1",q=".wikimedia.org/wiki/$1",N="www.";var S={acronym:N+"acronymfinder.com/$1.html",advisory:"advisory"+q,advogato:N+"advogato.org/$1",aew:"wiki.arabeyes.org/$1",appropedia:N+"appropedia.org/$1",aquariumwiki:N+"theaquariumwiki.com/$1",arborwiki:"localwiki.org/ann-arbor/$1",arxiv:"arxiv.org/abs/$1",atmwiki:N+"otterstedt.de/wiki/index.php/$1",baden:N+"stadtwiki-baden-baden.de/wiki/$1/",battlestarwiki:"en.battlestarwiki.org/wiki/$1",bcnbio:"historiapolitica.bcn.cl/resenas_parlamentarias/wiki/$1",beacha:N+"beachapedia.org/$1",betawiki:"translatewiki.net/wiki/$1",bibcode:"adsabs.harvard.edu/abs/$1",bibliowiki:"wikilivres.org/wiki/$1",bluwiki:"bluwiki.com/go/$1",blw:"britainloves"+E,botwiki:"botwiki.sno.cc/wiki/$1",boxrec:N+"boxrec.com/media/index.php?$1",brickwiki:N+"brickwiki.info/wiki/$1",bugzilla:"bugzilla.wikimedia.org/show_bug.cgi?id=$1",bulba:"bulbapedia.bulbagarden.net/wiki/$1",c:"commons"+q,c2:"c2.com/cgi/wiki?$1",c2find:"c2.com/cgi/wiki?FindPage&value=$1",cache:N+"google.com/search?q=cache:$1","ĉej":"esperanto.blahus.cz/cxej/vikio/index.php/$1",cellwiki:"cell.wikia.com/wiki/$1",centralwikia:"community.wikia.com/wiki/$1",chej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",choralwiki:N+"cpdl.org/wiki/index.php/$1",citizendium:"en.citizendium.org/wiki/$1",ckwiss:N+"ck-wissen.de/ckwiki/index.php?title=$1",comixpedia:N+"comixpedia.org/index.php?title=$1",commons:"commons"+q,communityscheme:"community.schemewiki.org/?c=s&key=$1",communitywiki:"communitywiki.org/$1",comune:"rete.comuni-italiani.it/wiki/$1",creativecommons:"creativecommons.org/licenses/$1",creativecommonswiki:"wiki.creativecommons.org/$1",cxej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",dcc:N+"dccwiki.com/$1",dcdatabase:"dc.wikia.com/$1",dcma:"christian-morgenstern.de/dcma/index.php?title=$1",debian:"wiki.debian.org/$1",delicious:N+"delicious.com/tag/$1",devmo:"developer.mozilla.org/en/docs/$1",dictionary:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",dict:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",disinfopedia:"sourcewatch.org/index.php/$1",distributedproofreaders:N+"pgdp.net/wiki/$1",distributedproofreadersca:N+"pgdpcanada.net/wiki/index.php/$1",dmoz:"curlie.org/$1",dmozs:"curlie.org/search?q=$1",doi:"doi.org/$1",donate:"donate"+q,doom_wiki:"doom.wikia.com/wiki/$1",download:"releases.wikimedia.org/$1",dbdump:"dumps.wikimedia.org/$1/latest/",dpd:"lema.rae.es/dpd/?key=$1",drae:"dle.rae.es/?w=$1",dreamhost:"wiki.dreamhost.com/index.php/$1",drumcorpswiki:N+"drumcorpswiki.com/index.php/$1",dwjwiki:N+"suberic.net/cgi-bin/dwj/wiki.cgi?$1","eĉei":N+"ikso.net/cgi-bin/wiki.pl?$1",ecoreality:N+"EcoReality.org/wiki/$1",ecxei:N+"ikso.net/cgi-bin/wiki.pl?$1",elibre:"enciclopedia.us.es/index.php/$1",emacswiki:N+"emacswiki.org/emacs?$1",encyc:"encyc.org/wiki/$1",energiewiki:N+"netzwerk-energieberater.de/wiki/index.php/$1",englyphwiki:"en.glyphwiki.org/wiki/$1",enkol:"enkol.pl/$1",eokulturcentro:"esperanto.toulouse.free.fr/nova/wikini/wakka.php?wiki=$1",esolang:"esolangs.org/wiki/$1",etherpad:"etherpad.wikimedia.org/$1",ethnologue:N+"ethnologue.com/language/$1",ethnologuefamily:N+"ethnologue.com/show_family.asp?subid=$1",evowiki:"wiki.cotch.net/index.php/$1",exotica:N+"exotica.org.uk/wiki/$1",fanimutationwiki:"wiki.animutationportal.com/index.php/$1",fedora:"fedoraproject.org/wiki/$1",finalfantasy:"finalfantasy.wikia.com/wiki/$1",finnix:N+"finnix.org/$1",flickruser:N+"flickr.com/people/$1",flickrphoto:N+"flickr.com/photo.gne?id=$1",floralwiki:N+"floralwiki.co.uk/wiki/$1",foldoc:"foldoc.org/$1",foundation:"foundation"+q,foundationsite:"wikimediafoundation.org/$1",foxwiki:"fox.wikis.com/wc.dll?Wiki~$1",freebio:"freebiology.org/wiki/$1",freebsdman:N+"FreeBSD.org/cgi/man.cgi?apropos=1&query=$1",freeculturewiki:"wiki.freeculture.org/index.php/$1",freedomdefined:"freedomdefined.org/$1",freefeel:"freefeel.org/wiki/$1",freekiwiki:"wiki.freegeek.org/index.php/$1",freesoft:"directory.fsf.org/wiki/$1",ganfyd:"ganfyd.org/index.php?title=$1",gardenology:N+"gardenology.org/wiki/$1",gausswiki:"gauss.ffii.org/$1",gentoo:"wiki.gentoo.org/wiki/$1",genwiki:"wiki.genealogy.net/index.php/$1",gerrit:"gerrit.wikimedia.org/r/$1",git:"gerrit.wikimedia.org/g/$1",google:N+"google.com/search?q=$1",googledefine:N+"google.com/search?q=define:$1",googlegroups:"groups.google.com/groups?q=$1",guildwarswiki:"wiki.guildwars.com/wiki/$1",guildwiki:"guildwars.wikia.com/wiki/$1",guc:"tools.wmflabs.org/guc/?user=$1",gucprefix:"tools.wmflabs.org/guc/?isPrefixPattern=1&src=rc&user=$1",gutenberg:N+"gutenberg.org/etext/$1",gutenbergwiki:N+"gutenberg.org/wiki/$1",hackerspaces:"hackerspaces.org/wiki/$1",h2wiki:"halowiki.net/p/$1",hammondwiki:N+"dairiki.org/HammondWiki/index.php3?$1",hdl:"hdl.handle.net/$1",heraldik:"heraldik-wiki.de/wiki/$1",heroeswiki:"heroeswiki.com/$1",horizonlabs:"horizon.wikimedia.org/$1",hrwiki:N+"hrwiki.org/index.php/$1",hrfwiki:"fanstuff.hrwiki.org/index.php/$1",hupwiki:"wiki.hup.hu/index.php/$1",iarchive:"archive.org/details/$1",imdbname:N+"imdb.com/name/nm$1/",imdbtitle:N+"imdb.com/title/tt$1/",imdbcompany:N+"imdb.com/company/co$1/",imdbcharacter:N+"imdb.com/character/ch$1/",incubator:"incubator"+q,infosecpedia:"infosecpedia.org/wiki/$1",infosphere:"theinfosphere.org/$1","iso639-3":"iso639-3.sil.org/code/$1",issn:N+"worldcat.org/issn/$1",iuridictum:"iuridictum.pecina.cz/w/$1",jaglyphwiki:"glyphwiki.org/wiki/$1",jefo:"esperanto-jeunes.org/wiki/$1",jerseydatabase:"jerseydatabase.com/wiki.php?id=$1",jira:"jira.toolserver.org/browse/$1",jspwiki:N+"ecyrd.com/JSPWiki/Wiki.jsp?page=$1",jstor:N+"jstor.org/journals/$1",kamelo:"kamelopedia.mormo.org/index.php/$1",karlsruhe:"ka.stadtwiki.net/$1",kinowiki:"kino.skripov.com/index.php/$1",komicawiki:"wiki.komica.org/?$1",kontuwiki:"kontu.wiki/$1",wikitech:"wikitech"+q,libreplanet:"libreplanet.org/wiki/$1",linguistlist:"linguistlist.org/forms/langs/LLDescription.cfm?code=$1",linuxwiki:N+"linuxwiki.de/$1",linuxwikide:N+"linuxwiki.de/$1",liswiki:"liswiki.org/wiki/$1",literateprograms:"en.literateprograms.org/$1",livepedia:N+"livepedia.gr/index.php?title=$1",localwiki:"localwiki.org/$1",lojban:"mw.lojban.org/papri/$1",lostpedia:"lostpedia.wikia.com/wiki/$1",lqwiki:"wiki.linuxquestions.org/wiki/$1",luxo:"tools.wmflabs.org/guc/?user=$1",mail:"lists.wikimedia.org/mailman/listinfo/$1",mailarchive:"lists.wikimedia.org/pipermail/$1",mariowiki:N+"mariowiki.com/$1",marveldatabase:N+"marveldatabase.com/wiki/index.php/$1",meatball:"meatballwiki.org/wiki/$1",mw:N+"mediawiki.org/wiki/$1",mediazilla:"bugzilla.wikimedia.org/$1",memoryalpha:"memory-alpha.fandom.com/wiki/$1",metawiki:"meta"+q,metawikimedia:"meta"+q,metawikipedia:"meta"+q,mineralienatlas:N+"mineralienatlas.de/lexikon/index.php/$1",moinmoin:"moinmo.in/$1",monstropedia:N+"monstropedia.org/?title=$1",mosapedia:"mosapedia.de/wiki/index.php/$1",mozcom:"mozilla.wikia.com/wiki/$1",mozillawiki:"wiki.mozilla.org/$1",mozillazinekb:"kb.mozillazine.org/$1",musicbrainz:"musicbrainz.org/doc/$1",mediawikiwiki:N+"mediawiki.org/wiki/$1",mwod:N+"merriam-webster.com/dictionary/$1",mwot:N+"merriam-webster.com/thesaurus/$1",nkcells:N+"nkcells.info/index.php?title=$1",nara:"catalog.archives.gov/id/$1",nosmoke:"no-smok.net/nsmk/$1",nost:"nostalgia"+E,nostalgia:"nostalgia"+E,oeis:"oeis.org/$1",oldwikisource:"wikisource.org/wiki/$1",olpc:"wiki.laptop.org/go/$1",omegawiki:N+"omegawiki.org/Expression:$1",onelook:N+"onelook.com/?ls=b&w=$1",openlibrary:"openlibrary.org/$1",openstreetmap:"wiki.openstreetmap.org/wiki/$1",openwetware:"openwetware.org/wiki/$1",opera7wiki:"operawiki.info/$1",organicdesign:N+"organicdesign.co.nz/$1",orthodoxwiki:"orthodoxwiki.org/$1",osmwiki:"wiki.openstreetmap.org/wiki/$1",otrs:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketID=$1",otrswiki:"otrs-wiki"+q,ourmedia:N+"socialtext.net/ourmedia/index.cgi?$1",outreach:"outreach"+q,outreachwiki:"outreach"+q,owasp:N+"owasp.org/index.php/$1",panawiki:"wiki.alairelibre.net/index.php?title=$1",patwiki:"gauss.ffii.org/$1",personaltelco:"personaltelco.net/wiki/$1",petscan:"petscan.wmflabs.org/?psid=$1",phab:"phabricator.wikimedia.org/$1",phabricator:"phabricator.wikimedia.org/$1",phwiki:N+"pocketheaven.com/ph/wiki/index.php?title=$1",phpwiki:"phpwiki.sourceforge.net/phpwiki/index.php?$1",planetmath:"planetmath.org/node/$1",pmeg:N+"bertilow.com/pmeg/$1",pmid:N+"ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract",pokewiki:"pokewiki.de/$1","pokéwiki":"pokewiki.de/$1",policy:"policy.wikimedia.org/$1",proofwiki:N+"proofwiki.org/wiki/$1",pyrev:N+"mediawiki.org/wiki/Special:Code/pywikipedia/$1",pythoninfo:"wiki.python.org/moin/$1",pythonwiki:N+"pythonwiki.de/$1",pywiki:"c2.com/cgi/wiki?$1",psycle:"psycle.sourceforge.net/wiki/$1",quality:"quality"+q,quarry:"quarry.wmflabs.org/$1",regiowiki:"regiowiki.at/wiki/$1",rev:N+"mediawiki.org/wiki/Special:Code/MediaWiki/$1",revo:"purl.org/NET/voko/revo/art/$1.html",rfc:"tools.ietf.org/html/rfc$1",rheinneckar:"rhein-neckar-wiki.de/$1",robowiki:"robowiki.net/?$1",rodovid:"en.rodovid.org/wk/$1",reuterswiki:"glossary.reuters.com/index.php/$1",rowiki:"wiki.rennkuckuck.de/index.php/$1",rt:"rt.wikimedia.org/Ticket/Display.html?id=$1",s23wiki:"s23.org/wiki/$1",scholar:"scholar.google.com/scholar?q=$1",schoolswp:"schools-"+E,scores:"imslp.org/wiki/$1",scoutwiki:"en.scoutwiki.org/$1",scramble:N+"scramble.nl/wiki/index.php?title=$1",seapig:N+"seapig.org/$1",seattlewiki:"seattle.wikia.com/wiki/$1",slwiki:"wiki.secondlife.com/wiki/$1","semantic-mw":N+"semantic-mediawiki.org/wiki/$1",senseislibrary:"senseis.xmp.net/?$1",sharemap:"sharemap.org/$1",silcode:N+"sil.org/iso639-3/documentation.asp?id=$1",slashdot:"slashdot.org/article.pl?sid=$1",sourceforge:"sourceforge.net/$1",spcom:"spcom"+q,species:"species"+q,squeak:"wiki.squeak.org/squeak/$1",stats:"stats.wikimedia.org/$1",stewardry:"tools.wmflabs.org/meta/stewardry/?wiki=$1",strategy:"strategy"+q,strategywiki:"strategywiki.org/wiki/$1",sulutil:"meta.wikimedia.org/wiki/Special:CentralAuth/$1",swtrain:"train.spottingworld.com/$1",svn:"svn.wikimedia.org/viewvc/mediawiki/$1?view=log",swinbrain:"swinbrain.ict.swin.edu.au/wiki/$1",tabwiki:N+"tabwiki.com/index.php/$1",tclerswiki:"wiki.tcl.tk/$1",technorati:N+"technorati.com/search/$1",tenwiki:"ten"+E,testwiki:"test"+E,testwikidata:"test.wikidata.org/wiki/$1",test2wiki:"test2"+E,tfwiki:"tfwiki.net/wiki/$1",thelemapedia:N+"thelemapedia.org/index.php/$1",theopedia:N+"theopedia.com/$1",thinkwiki:N+"thinkwiki.org/wiki/$1",ticket:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketNumber=$1",tmbw:"tmbw.net/wiki/$1",tmnet:N+"technomanifestos.net/?$1",tmwiki:N+"EasyTopicMaps.com/?page=$1",toolforge:"tools.wmflabs.org/$1",toollabs:"tools.wmflabs.org/$1",tools:"toolserver.org/$1",tswiki:N+"mediawiki.org/wiki/Toolserver:$1",translatewiki:"translatewiki.net/wiki/$1",tviv:"tviv.org/wiki/$1",tvtropes:N+"tvtropes.org/pmwiki/pmwiki.php/Main/$1",twiki:"twiki.org/cgi-bin/view/$1",tyvawiki:N+"tyvawiki.org/wiki/$1",umap:"umap.openstreetmap.fr/$1",uncyclopedia:"en.uncyclopedia.co/wiki/$1",unihan:N+"unicode.org/cgi-bin/GetUnihanData.pl?codepoint=$1",unreal:"wiki.beyondunreal.com/wiki/$1",urbandict:N+"urbandictionary.com/define.php?term=$1",usej:N+"tejo.org/usej/$1",usemod:N+"usemod.com/cgi-bin/wiki.pl?$1",usability:"usability"+q,utrs:"utrs.wmflabs.org/appeal.php?id=$1",vikidia:"fr.vikidia.org/wiki/$1",vlos:"tusach.thuvienkhoahoc.com/wiki/$1",vkol:"kol.coldfront.net/thekolwiki/index.php/$1",voipinfo:N+"voip-info.org/wiki/view/$1",votewiki:"vote"+q,werelate:N+"werelate.org/wiki/$1",wg:"wg-en"+E,wikia:N+"wikia.com/wiki/w:c:$1",wikiasite:N+"wikia.com/wiki/w:c:$1",wikiapiary:"wikiapiary.com/wiki/$1",wikibooks:"en.wikibooks.org/wiki/$1",wikichristian:N+"wikichristian.org/index.php?title=$1",wikicities:N+"wikia.com/wiki/w:$1",wikicity:N+"wikia.com/wiki/w:c:$1",wikiconference:"wikiconference.org/wiki/$1",wikidata:N+"wikidata.org/wiki/$1",wikif1:N+"wikif1.org/$1",wikifur:"en.wikifur.com/wiki/$1",wikihow:N+"wikihow.com/$1",wikiindex:"wikiindex.org/$1",wikilemon:"wiki.illemonati.com/$1",wikilivres:"wikilivres.org/wiki/$1",wikilivresru:"wikilivres.ru/$1","wikimac-de":"apfelwiki.de/wiki/Main/$1",wikimedia:"foundation"+q,wikinews:"en.wikinews.org/wiki/$1",wikinfo:"wikinfo.org/w/index.php/$1",wikinvest:"meta.wikimedia.org/wiki/Interwiki_map/discontinued#Wikinvest",wikiotics:"wikiotics.org/$1",wikipapers:"wikipapers.referata.com/wiki/$1",wikipedia:"en"+E,wikipediawikipedia:"en.wikipedia.org/wiki/Wikipedia:$1",wikiquote:"en.wikiquote.org/wiki/$1",wikisophia:"wikisophia.org/index.php?title=$1",wikisource:"en.wikisource.org/wiki/$1",wikispecies:"species"+q,wikispot:"wikispot.org/?action=gotowikipage&v=$1",wikiskripta:N+"wikiskripta.eu/index.php/$1",labsconsole:"wikitech"+q,wikiti:"wikiti.denglend.net/index.php?title=$1",wikiversity:"en.wikiversity.org/wiki/$1",wikivoyage:"en.wikivoyage.org/wiki/$1",betawikiversity:"beta.wikiversity.org/wiki/$1",wikiwikiweb:"c2.com/cgi/wiki?$1",wiktionary:"en.wiktionary.org/wiki/$1",wipipedia:"wipipedia.org/index.php/$1",wlug:N+"wlug.org.nz/$1",wmam:"am"+q,wmar:N+"wikimedia.org.ar/wiki/$1",wmat:"mitglieder.wikimedia.at/$1",wmau:"wikimedia.org.au/wiki/$1",wmbd:"bd"+q,wmbe:"be"+q,wmbr:"br"+q,wmca:"ca"+q,wmch:N+"wikimedia.ch/$1",wmcl:N+"wikimediachile.cl/index.php?title=$1",wmcn:"cn"+q,wmco:"co"+q,wmcz:N+"wikimedia.cz/web/$1",wmdc:"wikimediadc.org/wiki/$1",securewikidc:"secure.wikidc.org/$1",wmde:"wikimedia.de/wiki/$1",wmdk:"dk"+q,wmee:"ee"+q,wmec:"ec"+q,wmes:N+"wikimedia.es/wiki/$1",wmet:"ee"+q,wmfdashboard:"outreachdashboard.wmflabs.org/$1",wmfi:"fi"+q,wmfr:"wikimedia.fr/$1",wmge:"ge"+q,wmhi:"hi"+q,wmhk:"meta.wikimedia.org/wiki/Wikimedia_Hong_Kong",wmhu:"wikimedia.hu/wiki/$1",wmid:"id"+q,wmil:N+"wikimedia.org.il/$1",wmin:"wiki.wikimedia.in/$1",wmit:"wiki.wikimedia.it/wiki/$1",wmke:"meta.wikimedia.org/wiki/Wikimedia_Kenya",wmmk:"mk"+q,wmmx:"mx"+q,wmnl:"nl"+q,wmnyc:"nyc"+q,wmno:"no"+q,"wmpa-us":"pa-us"+q,wmph:"meta.wikimedia.org/wiki/Wikimedia_Philippines",wmpl:"pl"+q,wmpt:"pt"+q,wmpunjabi:"punjabi"+q,wmromd:"romd"+q,wmrs:"rs"+q,wmru:"ru"+q,wmse:"se"+q,wmsk:"wikimedia.sk/$1",wmtr:"tr"+q,wmtw:"wikimedia.tw/wiki/index.php5/$1",wmua:"ua"+q,wmuk:"wikimedia.org.uk/wiki/$1",wmve:"wikimedia.org.ve/wiki/$1",wmza:"wikimedia.org.za/wiki/$1",wm2005:"wikimania2005"+q,wm2006:"wikimania2006"+q,wm2007:"wikimania2007"+q,wm2008:"wikimania2008"+q,wm2009:"wikimania2009"+q,wm2010:"wikimania2010"+q,wm2011:"wikimania2011"+q,wm2012:"wikimania2012"+q,wm2013:"wikimania2013"+q,wm2014:"wikimania2014"+q,wm2015:"wikimania2015"+q,wm2016:"wikimania2016"+q,wm2017:"wikimania2017"+q,wm2018:"wikimania2018"+q,wmania:"wikimania"+q,wikimania:"wikimania"+q,wmteam:"wikimaniateam"+q,wmf:"foundation"+q,wmfblog:"blog.wikimedia.org/$1",wmdeblog:"blog.wikimedia.de/$1",wookieepedia:"starwars.wikia.com/wiki/$1",wowwiki:N+"wowwiki.com/$1",wqy:"wqy.sourceforge.net/cgi-bin/index.cgi?$1",wurmpedia:"wurmpedia.com/index.php/$1",viaf:"viaf.org/viaf/$1",zrhwiki:N+"zrhwiki.ch/wiki/$1",zum:"wiki.zum.de/$1",zwiki:N+"zwiki.org/$1",m:"meta"+q,meta:"meta"+q,sep11:"sep11"+E,d:N+"wikidata.org/wiki/$1",minnan:"zh-min-nan"+E,nb:"no"+E,"zh-cfr":"zh-min-nan"+E,"zh-cn":"zh"+E,"zh-tw":"zh"+E,nan:"zh-min-nan"+E,vro:"fiu-vro"+E,cmn:"zh"+E,lzh:"zh-classical"+E,rup:"roa-rup"+E,gsw:"als"+E,"be-tarask":"be-x-old"+E,sgs:"bat-smg"+E,egl:"eml"+E,w:"en"+E,wikt:"en.wiktionary.org/wiki/$1",q:"en.wikiquote.org/wiki/$1",b:"en.wikibooks.org/wiki/$1",n:"en.wikinews.org/wiki/$1",s:"en.wikisource.org/wiki/$1",chapter:"en"+q,v:"en.wikiversity.org/wiki/$1",voy:"en.wikivoyage.org/wiki/$1"};Object.keys(O).forEach((e=>{S[e]=e+".wikipedia.org/wiki/$1"}));const C=/^(category|catégorie|kategorie|categoría|categoria|categorie|kategoria|تصنيف|image|file|fichier|datei|media):/i,L=/\[(https?|news|ftp|mailto|gopher|irc)(:\/\/[^\]| ]{4,1500})([| ].*?)?\]/g,A=/\[\[(.{0,1600}?)\]\]([a-z]+)?/gi,P=function(e,t){return t.replace(A,(function(t,i,a){let n=null,r=i;if(i.match(/\|/)&&(r=(i=i.replace(/\[\[(.{2,1000}?)\]\](\w{0,10})/g,"$1$2")).replace(/(.{2,1000})\|.{0,2000}/,"$1"),n=i.replace(/.{2,1000}?\|/,""),null===n&&r.match(/\|$/)&&(r=r.replace(/\|$/,""),n=r)),r.match(C))return i;let o={page:r,raw:t};return o.page=o.page.replace(/#(.*)/,((e,t)=>(o.anchor=t,""))),o=function(e){let t=e.page||"";if(-1!==t.indexOf(":")){let i=t.match(/^(.*):(.*)/);if(null===i)return e;let a=i[1]||"";if(a=a.toLowerCase(),-1!==a.indexOf(":")){let[,t,i]=a.match(/^:?(.*):(.*)/);if(!1===S.hasOwnProperty(t)||!1===O.hasOwnProperty(i))return e;e.wiki={wiki:t,lang:i}}else{if(!1===S.hasOwnProperty(a))return e;e.wiki=a}e.page=i[2]}return e}(o),o.wiki&&(o.type="interwiki"),null!==n&&n!==o.page&&(o.text=n),a&&(o.text=o.text||o.page,o.text+=a.trim()),o.page&&!1===/^[A-Z]/.test(o.page)&&(o.text||(o.text=o.page),o.page=o.page),o.text&&o.text.startsWith(":")&&(o.text=o.text.replace(/^:/,"")),e.push(o),i})),e},T=function(e){let t=[];if(t=function(e,t){return t.replace(L,(function(t,i,a,n){return n=n||"",e.push({type:"external",site:i+a,text:n.trim(),raw:t}),n})),e}(t,e),t=P(t,e),0!==t.length)return t},D=new RegExp("^[ \n\t]*?#("+["aanstuur","adkas","alih","aýdaw","beralîkirin","doorverwijzing","lencong","ohjaus","patrz","přesměruj","preusmjeri","redireccion","redirección","redirecionamento","redirect","redirection","rinvia","tilvísun","uudelleenohjaus","weiterleitung","weiterleitung","yönlendi̇r","yönlendirme","yönlendi̇rme","ανακατευθυνση","айдау","перанакіраваньне","перенаправление","перенаправлення","пренасочување","преусмери","преусмјери","ווייטערפירן","تحويل","تغییر_مسیر","تغییرمسیر","رجوع مکرر","رجوع_مکرر","अनुप्रेषित","पुनर्निर्देशन","পুননির্দেশ","เปลี่ยนทาง","ប្តូរទីតាំងទៅ","リダイレクト","転送","重定向"].join("|")+") *?(\\[\\[.{2,180}?\\]\\])","i"),I=["table","code","score","data","categorytree","charinsert","hiero","imagemap","inputbox","references","source","syntaxhighlight","timeline","maplink"],M=`< ?(${I.join("|")}) ?[^>]{0,200}?>`,F=`< ?/ ?(${I.join("|")}) ?>`,R=new RegExp(`${M}[\\s\\S]+?${F}`,"gi");function U(e){return e=(e=(e=function(e){return(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(R," ")).replace(/ ?< ?(span|div|table|data) [a-zA-Z0-9=%.\-#:;'" ]{2,100}\/? ?> ?/g," ")).replace(/ ?< ?(ref) [a-zA-Z0-9=" ]{2,100}\/ ?> ?/g," ")).replace(/(.*?)<\/i>/g,"''$1''")).replace(/(.*?)<\/b>/g,"'''$1'''")).replace(/(.*?)<\/sub>/g,"{{sub|$1}}")).replace(/(.*?)<\/sup>/g,"{{sup|$1}}")).replace(/
(.*?)<\/blockquote>/g,"{{blockquote|text=$1}}")).replace(/ ?<[ /]?(p|sub|sup|span|nowiki|div|table|br|tr|td|th|pre|pre2|hr|u)[ /]?> ?/g," ")).replace(/ ?<[ /]?(abbr|bdi|bdo|cite|del|dfn|em|ins|kbd|mark|q|s|small)[ /]?> ?/g," ")).replace(/ ?<[ /]?h[0-9][ /]?> ?/g," ")).replace(/ ?< ?br ?\/> ?/g,"\n")).trim()}(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(//g,"")).replace(/__(NOTOC|NOEDITSECTION|FORCETOC|TOC)__/gi,"")).replace(/~{2,3}/g,"")).replace(/\r/g,"")).replace(/\u3002/g,". ")).replace(/----/g,"")).replace(/\{\{\}\}/g," – ")).replace(/\{\{\\\}\}/g," / ")).replace(/ /g," ")).replace(/–/g,"–"))).replace(/\([,;: ]+\)/g,"")).replace(/\{\{(baseball|basketball) (primary|secondary) (style|color).*?\}\}/i,"")}const B=/[\\.$]/,K=function(e){return"string"!=typeof e&&(e=""),e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/^\$/,"\\u0024")).replace(/\./g,"\\u002e")},W=function(e={}){let t=Object.keys(e);for(let i=0;i{Z.prototype[e]=G[e]}));const J=/^[0-9,.]+$/,V={text:!0,links:!0,formatting:!0,numbers:!0},X=function(e={}){Object.defineProperty(this,"data",{enumerable:!1,value:e})},Q={links:function(e){let t=this.data.links||[];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page===e));return void 0===i?[]:[i]}return t},interwiki:function(){return this.links().filter((e=>void 0!==e.wiki))},bolds:function(){return this.data&&this.data.fmt&&this.data.fmt.bold&&this.data.fmt.bold||[]},italics:function(){return this.data&&this.data.fmt&&this.data.fmt.italic&&this.data.fmt.italic||[]},text:function(e){return void 0!==e&&"string"==typeof e&&(this.data.text=e),this.data.text||""},json:function(e){return function(e,t){t=p(t,V);let i={},a=e.text();if(!0===t.text&&(i.text=a),!0===t.numbers&&J.test(a)){let e=Number(a.replace(/,/g,""));!1===isNaN(e)&&(i.number=e)}return t.links&&e.links().length>0&&(i.links=e.links().map((e=>e.json()))),t.formatting&&e.data.fmt&&(i.formatting=e.data.fmt),i}(this,e)},wikitext:function(){return this.data.wiki||""},isEmpty:function(){return""===this.data.text}};Object.keys(Q).forEach((e=>{X.prototype[e]=Q[e]}));const ee={links:"link",bolds:"bold",italics:"italic"};Object.keys(ee).forEach((e=>{X.prototype[ee[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}})),X.prototype.plaintext=X.prototype.text;const te=["ad","adj","adm","adv","al","alta","approx","apr","apt","arc","ariz","assn","asst","atty","aug","ave","ba","bc","bl","bldg","blvd","brig","bros","ca","cal","calif","capt","cca","cg","cl","cm","cmdr","co","col","colo","comdr","conn","corp","cpl","cres","ct","cyn","dak","dec","def","dept","det","dg","dist","dl","dm","dr","ea","eg","eng","esp","esq","est","etc","ex","exp","feb","fem","fig","fl oz","fl","fla","fm","fr","ft","fy","ga","gal","gb","gen","gov","hg","hon","hr","hrs","hwy","hz","ia","ida","ie","inc","inf","jan","jd","jr","jul","jun","kan","kans","kb","kg","km","kmph","lat","lb","lit","llb","lm","lng","lt","ltd","lx","ma","maj","mar","masc","mb","md","messrs","mg","mi","min","minn","misc","mister","ml","mlle","mm","mme","mph","mps","mr","mrs","ms","mstr","mt","neb","nebr","nee","no","nov","oct","okla","ont","op","ord","oz","pa","pd","penn","penna","phd","pl","pp","pref","prob","prof","pron","ps","psa","pseud","pt","pvt","qt","que","rb","rd","rep","reps","res","rev","sask","sec","sen","sens","sep","sept","sfc","sgt","sir","situ","sq ft","sq","sr","ss","st","supt","surg","tb","tbl","tbsp","tce","td","tel","temp","tenn","tex","tsp","univ","usafa","ut","va","vb","ver","vet","vitro","vivo","vol","vs","vt","wis","wisc","wr","wy","wyo","yb","µg"].concat("[^]][^]]"),ie=new RegExp("(^| |')("+te.join("|")+")[.!?] ?$","i"),ae=/[ .'][A-Z].? *$/i,ne=/\.{3,} +$/,re=/ c\.\s$/,oe=/\p{Letter}/iu;function se(e){let t={wiki:e,text:e};return function(e){let t=e.text,i=T(t)||[];e.links=i.map((e=>(t=t.replace(e.raw,e.text||e.page||""),new Z(e)))),t=t.replace(/\[\[File:(.{2,80}?)\|([^\]]+)\]\](\w{0,5})/g,"$1"),e.text=t}(t),t.text=r(t.text.replace(/\([,;: ]*\)/g,"").replace(/\( *(; ?)+/g,"(")).replace(/ +\.$/,"."),t=function(e){let t=[],i=[],a=e.text||"";return a=a.replace(/'''''(.{0,2500}?)'''''/g,((e,a)=>(t.push(a),i.push(a),a))),a=a.replace(/''''(.{0,2500}?)''''/g,((e,i)=>(t.push(`'${i}'`),`'${i}'`))),a=a.replace(/'''(.{0,2500}?)'''/g,((e,i)=>(t.push(i),i))),a=a.replace(/''(.{0,2500}?)''/g,((e,t)=>(i.push(t),t))),e.text=a,t.length>0&&(e.fmt=e.fmt||{},e.fmt.bold=t),i.length>0&&(e.fmt=e.fmt||{},e.fmt.italic=i),e}(t),new X(t)}const le=function(e){let t=function(e){let t=[],i=[];if(!e||"string"!=typeof e||0===e.trim().length)return t;let a=function(e){let t=e.split(/(\n+)/);return t=t.filter((e=>e.match(/\S/))),t=t.map((function(e){return e.split(/(\S.+?[.!?]"?)(?=\s|$)/g)})),function(e){let t=[];return e.forEach((function(e){t=t.concat(e)})),t}(t)}(e);for(let e=0;ei.length)return!1;const a=e.match(/"/g);if(a&&a.length%2!=0&&e.length<900)return!1;const n=e.match(/[()]/g);return!(n&&n.length%2!=0&&e.length<900)}(n))?/^\s/.test(i[e+1])||/\s$/.test(i[e])?i[e+1]=i[e]+i[e+1]:i[e+1]=i[e]+" "+i[e+1]:i[e]&&i[e].length>0&&(t.push(i[e]),i[e]="");var n;return 0===t.length?[e]:t}(e.wiki);t=t.map(se),t[0]&&t[0].text()&&":"===t[0].text()[0]&&(t=t.slice(1)),e.sentences=t},ce=/.*rowspan *= *["']?([0-9]+)["']?[ |]*/,ue=/.*colspan *= *["']?([0-9]+)["']?[ |]*/,me=function(e){return e=function(e){return e.forEach(((t,i)=>{t.forEach(((a,n)=>{let r=a.match(ce);if(null!==r){let o=parseInt(r[1],10);a=a.replace(ce,""),t[n]=a;for(let t=i+1;t{e.forEach(((t,i)=>{let a=t.match(ue);if(null!==a){let n=parseInt(a[1],10);e[i]=t.replace(ue,"");for(let t=1;te.length>0))}(e))},pe=/^!/,de={name:!0,age:!0,born:!0,date:!0,year:!0,city:!0,country:!0,population:!0,count:!0,number:!0},he=function(e){return(e=se(e).text()).match(/\|/)&&(e=e.replace(/.*?\| ?/,"")),e=(e=(e=e.replace(/style=['"].*?["']/,"")).replace(/^!/,"")).trim()},ge=function(e){if(e.length<=3)return[];let t=e[0].slice(0);t=t.map((e=>(e=se(e=e.replace(/^! */,"")).text(),e=(e=he(e)).toLowerCase())));for(let i=0;ie&&!0!==/^\|\+/.test(e))),!0===/^\{\|/.test(e[0])&&e.shift(),!0===/^\|\}/.test(e[e.length-1])&&e.pop(),!0===/^\|-/.test(e[0])&&e.shift(),e}(e);for(let a=0;a0&&(t.push(i),i=[]);else{let e=n.charAt(0);"|"!==e&&"!"!==e||(n=n.substring(1)),n=n.split(/(?:\|\||!!)/),"!"===e&&(n[0]=e+n[0]),n.forEach((e=>{e=e.trim(),i.push(e)}))}}return i.length>0&&t.push(i),t}(e.replace(/\r/g,"").replace(/\n(\s*[^|!{\s])/g," $1").split(/\n/).map((e=>e.trim())));if(t=t.filter((e=>e)),0===t.length)return[];t=function(e){return e.filter((e=>1!==e.length||!e[0]||!pe.test(e[0])||!1!==/rowspan/i.test(e[0])))}(t),t=me(t);let i=function(e=[]){let t=[];var i;(i=(i=e[0])||[]).length-i.filter((e=>e)).length>3&&e.shift();let a=e[0];return a&&a[0]&&a[1]&&(/^!/.test(a[0])||/^!/.test(a[1]))&&(t=a.map((e=>(e=e.replace(/^! */,""),he(e)))),e.shift()),a=e[0],a&&a[0]&&a[1]&&/^!/.test(a[0])&&/^!/.test(a[1])&&(a.forEach(((e,i)=>{e=e.replace(/^! */,""),e=he(e),!0===Boolean(e)&&(t[i]=e)})),e.shift()),t}(t);if(!i||i.length<=1){i=ge(t);let e=t[t.length-1]||[];i.length<=1&&e.length>2&&(i=ge(t.slice(1)),i.length>0&&(t=t.slice(2)))}let a=t.map((e=>function(e,t){let i={};return e.forEach(((e,a)=>{let n=t[a]||"col"+(a+1),r=se(e);r.text(he(r.text())),i[n]=r})),i}(e,i)));return a},fe={},ke=function(e=""){return e=(e=(e=(e=e.toLowerCase()).replace(/[_-]/g," ")).replace(/\(.*?\)/,"")).trim()},we=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_wiki",{enumerable:!1,value:t})},ye={links(e){let t=[];if(this.data.forEach((e=>{Object.keys(e).forEach((i=>{t=t.concat(e[i].links())}))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},get(e){let t=this.data[0]||{},i=Object.keys(t).reduce(((e,t)=>(e[ke(t)]=t,e)),{});if("string"==typeof e){let t=ke(e);return t=i[t]||t,this.data.map((e=>e[t]?e[t].text():null))}return e=e.map(ke).map((e=>i[e]||e)),this.data.map((t=>e.reduce(((e,i)=>(t[i]?e[i]=t[i].text():e[i]="",e)),{})))},keyValue(e){let t=this.json(e);return t.forEach((e=>{Object.keys(e).forEach((t=>{e[t]=e[t].text}))})),t},json(e){return e=p(e,fe),function(e,t){return e.map((e=>{let i={};return Object.keys(e).forEach((t=>{i[t]=e[t].json()})),!0===t.encode&&(i=W(i)),i}))}(this.data,e)},text:()=>"",wikitext(){return this._wiki||""}};ye.keyvalue=ye.keyValue,ye.keyval=ye.keyValue,Object.keys(ye).forEach((e=>{we.prototype[e]=ye[e]}));const $e=/^\s*\{\|/,xe=/^\s*\|\}/,ve={sentences:!0},je={sentences:!0,lists:!0,images:!0},_e=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},ze={sentences:function(){return this.data.sentences||[]},references:function(){return this.data.references},lists:function(){return this.data.lists},images(){return this.data.images||[]},links:function(e){let t=[];if(this.sentences().forEach((i=>{t=t.concat(i.links(e))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},interwiki(){let e=[];return this.sentences().forEach((t=>{e=e.concat(t.interwiki())})),e||[]},text:function(e){e=p(e,je);let t=this.sentences().map((t=>t.text(e))).join(" ");return this.lists().forEach((e=>{t+="\n"+e.text()})),t},json:function(e){return function(e,t){let i={};return!0===(t=p(t,ve)).sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=p(e,je))},wikitext:function(){return this.data.wiki}};ze.citations=ze.references,Object.keys(ze).forEach((e=>{_e.prototype[e]=ze[e]}));const Oe={sentences:"sentence",references:"reference",citations:"citation",lists:"list",images:"image",links:"link"};Object.keys(Oe).forEach((e=>{_e.prototype[Oe[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}}));const Ee=function(e){return e=(e=e.replace(/^\{\{/,"")).replace(/\}\}$/,"")},qe=function(e){return e=(e=(e=(e||"").trim()).toLowerCase()).replace(/_/g," ")},Ne=/^[\p{Letter}0-9._/\- '()\t]+=/iu,Se={template:!0,list:!0,prototype:!0},Ce=function(e,t){let i=0;return e.reduce(((e,a="")=>{if(a=a.trim(),!0===Ne.test(a)){let t=function(e){let t=e.split("="),i=t[0]||"";i=i.toLowerCase().trim();let a=t.slice(1).join("=");return Se.hasOwnProperty(i)&&(i="_"+i),{key:i,val:a.trim()}}(a);if(t.key)return e[t.key]&&!t.val||(e[t.key]=t.val),e}if(t&&t[i]){e[t[i]]=a}else e.list=e.list||[],e.list.push(a);return i+=1,e}),{})},Le={classname:!0,style:!0,align:!0,margin:!0,left:!0,break:!0,boxsize:!0,framestyle:!0,item_style:!0,collapsible:!0,list_style_type:!0,"list-style-type":!0,colwidth:!0},Ae=function(e,t){let i=se(e);return"json"===t?i.json():"raw"===t?i:i.text()},Pe=function(e,t=[],i){let a=function(e){let t=e.split(/\n?\|/);t.forEach(((e,i)=>{null!==e&&(/\[\[[^\]]+$/.test(e)||/\{\{[^}]+$/.test(e)||e.split("{{").length!==e.split("}}").length||e.split("[[").length!==e.split("]]").length)&&(t[i+1]=t[i]+"|"+t[i+1],t[i]=null)})),t=t.filter((e=>null!==e)),t=t.map((e=>(e||"").trim()));for(let e=t.length-1;e>=0;e-=1){""===t[e]&&t.pop();break}return t}(e=Ee(e||"")),n=a.shift(),r=Ce(a,t);return r=function(e){return Object.keys(e).forEach((t=>{!0===Le[t.toLowerCase()]&&delete e[t],null!==e[t]&&""!==e[t]||delete e[t]})),e}(r),r[1]&&t[0]&&!1===r.hasOwnProperty(t[0])&&(r[t[0]]=r[1],delete r[1]),Object.keys(r).forEach((e=>{r[e]="list"!==e?Ae(r[e],i):r[e].map((e=>Ae(e,i)))})),n&&(r.template=qe(n)),r};const Te=new RegExp("("+g.join("|")+"):","i");let De=`(${g.join("|")})`;const Ie=new RegExp(De+":(.+?)[\\||\\]]","iu"),Me=/^\[\[:/,Fe={thumb:!0,thumbnail:!0,border:!0,right:!0,left:!0,center:!0,top:!0,bottom:!0,none:!0,upright:!0,baseline:!0,middle:!0,sub:!0,super:!0},Re=function(e,t){let i=e.wiki,a=function(e){let t=[],i=[];const a=e.split("");let n=0;for(let r=0;r0){let e=0,a=0;for(let t=0;ta&&i.push("]"),t.push(i.join("")),i=[]}}return t}(i);a.forEach((function(a){if(!0===Te.test(a)){e.images=e.images||[];let n=function(e,t){let i=e.match(Ie);if(null===i||!i[2])return null;if(Me.test(e))return null;let a=`${i[1]}:${i[2]||""}`;if(a){let i={file:a,lang:t._lang,domain:t._domain,wiki:e,pluginData:{}};e=(e=e.replace(/^\[\[/,"")).replace(/\]\]$/,"");let n=Pe(e),r=n.list||[];return n.alt&&(i.alt=n.alt),r=r.filter((e=>!1===Fe.hasOwnProperty(e))),r[r.length-1]&&(i.caption=se(r[r.length-1])),new _(i)}return null}(a,t);n&&(e.images.push(n),i=i.replace(a,""))}})),e.wiki=i},Ue={},Be=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},Ke={lines(){return this.data},links(e){let t=[];if(this.lines().forEach((e=>{t=t.concat(e.links())})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},json(e){return e=p(e,Ue),this.lines().map((t=>t.json(e)))},text(){return((e,t)=>e.map((e=>" * "+e.text(t))).join("\n"))(this.data)},wikitext(){return this.wiki||""}};Object.keys(Ke).forEach((e=>{Be.prototype[e]=Ke[e]}));const We=/^[#*:;|]+/,He=/^\*+[^:,|]{4}/,Ye=/^ ?#[^:,|]{4}/,Ze=/[\p{Letter}_0-9\]}]/iu,Ge=function(e){return We.test(e)||He.test(e)||Ye.test(e)},Je=function(e,t){let i=[];for(let a=t;ae&&Ze.test(e))),i=function(e){let t=1;e=e.filter((e=>e));for(let i=0;ie&&e.trim().length>0)),a=a.map((e=>{let i={wiki:e,lists:[],sentences:[],images:[]};return function(e){let t=e.wiki,i=t.split(/\n/g),a=[],n=[];for(let e=0;e0&&(a.push(t),e+=t.length-1)}else n.push(i[e]);e.lists=a.map((e=>new Be(e,t))),e.wiki=n.join("\n")}(i),Re(i,t),le(i),new _e(i)})),e._wiki=i,e._paragraphs=a},Qe="{",et=function(e){let t=0,i=[],a=[];for(let n=e.indexOf(Qe);-1!==n&&n0?n++:n=e.indexOf(Qe,n+1)){let r=e[n];if(r===Qe&&(t+=1),t>0){if("}"===r&&(t-=1,0===t)){a.push(r);let e=a.join("");a=[],/\{\{/.test(e)&&/\}\}/.test(e)&&i.push(e);continue}if(1===t&&r!==Qe&&"}"!==r){t=0,a=[];continue}a.push(r)}}return i},tt=function(e){let t=null;return t=/^\{\{[^\n]+\|/.test(e)?(e.match(/^\{\{(.+?)\|/)||[])[1]:-1!==e.indexOf("\n")?(e.match(/^\{\{(.+)\n/)||[])[1]:(e.match(/^\{\{(.+?)\}\}$/)||[])[1],t&&(t=t.replace(/:.*/,""),t=qe(t)),t||null},it=/\{\{/,at=function(e){return{body:e,name:tt(e),children:[]}},nt=function(e){let t=e.body.substr(2);return t=t.replace(/\}\}$/,""),e.children=et(t),e.children=e.children.map(at),0===e.children.length||e.children.forEach((e=>{let t=e.body.substr(2);return it.test(t)?nt(e):null})),e},rt=function(e){let t=et(e);return t=t.map(at),t=t.map(nt),t},ot=["anchor","defaultsort","use list-defined references","void","pp","pp-move-indef","pp-semi-indef","pp-vandalism","r","#tag","div col","pope list end","shipwreck list end","starbox end","end box","end","s-end"].reduce(((e,t)=>(e[t]=!0,e)),{});var st={"gnf protein box":!0,"automatic taxobox":!0,"chembox ":!0,editnotice:!0,geobox:!0,hybridbox:!0,ichnobox:!0,infraspeciesbox:!0,mycomorphbox:!0,oobox:!0,"paraphyletic group":!0,speciesbox:!0,subspeciesbox:!0,"starbox short":!0,taxobox:!0,nhlteamseason:!0,"asian games bid":!0,"canadian federal election results":!0,"dc thomson comic strip":!0,"daytona 24 races":!0,edencharacter:!0,"moldova national football team results":!0,samurai:!0,protein:!0,"sheet authority":!0,"order-of-approx":!0,"bacterial labs":!0,"medical resources":!0,ordination:!0,"hockey team coach":!0,"hockey team gm":!0,"pro hockey team":!0,"hockey team player":!0,"hockey team start":!0,mlbbioret:!0};const lt=new RegExp("^(subst.)?("+b.join("|")+")(?=:| |\n|$)","i");b.forEach((e=>{st[e]=!0}));const ct=/^infobox /i,ut=/ infobox$/i,mt=/^year in [A-Z]/i,pt=function(e={}){let t=e.template.match(lt),i=e.template;t&&t[0]&&(i=i.replace(t[0],"")),i=i.trim();let a={template:"infobox",type:i,data:e};return delete a.data.template,delete a.data.list,a};let dt={imdb:"imdb name","imdb episodes":"imdb episode",localday:"currentday",localdayname:"currentdayname",localyear:"currentyear","birth date based on age at death":"birth based on age as of date","bare anchored list":"anchored list",cvt:"convert",cricon:"flagicon",sfrac:"frac",sqrt:"radic","unreferenced section":"unreferenced",redir:"redirect",sisterlinks:"sister project links","main article":"main",by:"baseball year",aldsy:"alds year",nldsy:"nlds year","str rep":"replace",ushr2:"ushr",stn:"station",metrod:"metro",fw:"ferry",rws:"stnlnk",sclass2:"sclass",under:"underline",brackets:"bracket",raise:"lower"},ht={date:["byline","dateline"],citation:["cite","source","source-pr","source-science"],"no spam":["email","@","no spam blue"],"lrt station":["lrt","lrts"],"mrt station":["mrt","mrts"],flagcountry:["cr","cr-rt"],trunc:["str left","str crop"],percentage:["pct","percentage"],rnd:["rndfrac","rndnear"],abbr:["tooltip","abbrv","define"],sfn:["sfnref","harvid","harvnb"],"birth date and age":["death date and age","bda"],currentmonth:["localmonth","currentmonthname","currentmonthabbrev"],currency:["monnaie","unité","nombre","nb","iso4217"],coord:["coor","coor title dms","coor title dec","coor dms","coor dm","coor dec"],"columns-list":["cmn","col-list","columnslist","collist"],nihongo:["nihongo2","nihongo3","nihongo-s","nihongo foot"],plainlist:["flatlist","plain list"],"winning percentage":["winpct","winperc"],"collapsible list":["nblist","nonbulleted list","ubl","ublist","ubt","unbullet","unbulleted list","unbulleted","unbulletedlist","vunblist"],"election box begin":["election box begin no change","election box begin no party","election box begin no party no change","election box inline begin","election box inline begin no change"],"election box candidate":["election box candidate for alliance","election box candidate minor party","election box candidate no party link no change","election box candidate with party link","election box candidate with party link coalition 1918","election box candidate with party link no change","election box inline candidate","election box inline candidate no change","election box inline candidate with party link","election box inline candidate with party link no change","election box inline incumbent"],"4teambracket":["2teambracket","4team2elimbracket","8teambracket","16teambracket","32teambracket","4roundbracket-byes","cwsbracket","nhlbracket","nhlbracket-reseed","4teambracket-nhl","4teambracket-ncaa","4teambracket-mma","4teambracket-mlb","16teambracket-two-reseeds","8teambracket-nhl","8teambracket-mlb","8teambracket-ncaa","8teambracket-afc","8teambracket-afl","8teambracket-tennis3","8teambracket-tennis5","16teambracket-nhl","16teambracket-nhl divisional","16teambracket-nhl-reseed","16teambracket-nba","16teambracket-swtc","16teambracket-afc","16teambracket-tennis3","16teambracket-tennis5"],start:["end","birth","death","start date","end date","birth date","death date","start date and age","end date and age","dob"],"start-date":["end-date","birth-date","death-date","birth-date and age","birth-date and given age","death-date and age","death-date and given age"],tl:["lts","t","tfd links","tiw","tltt","tetl","tsetl","ti","tic","tiw","tlt","ttl","twlh","tl2","tlu","demo","xpd","para","elc","xtag","mli","mlix","url"],done:["resolved mark large","implemented","pimplemented","resolved mark","accepted","agree","approved","checked2","verified","conditional yes","confirmed","confirmed-nc","tallyho","tick","helped","doneu|example","edited2","donetask","unprod","autp","responded","sure","merge done","marked","pass","aye","yes check","y&","yeac","yeag"],xmark:["expired","deleted","not done","not done empty request","not done unclear","not done not likely","stale-small","smallrejected","x mark","nay","no mark","not done-t","fail","n&","x mark-n","xed box","cancelled","deleted-image","already declined","opblocked","user-blocked","notabug","notfixed","won't fix","withdraw","nojoy","unrelated","off-topic talk","nayc","nayg"],checked:["already done","resolved1","check mark-n","checked box"],"station link":["amtk","cta","bts","mnrr","mtams","munis","njts","scax","wmata","rwsa"]};Object.keys(O).forEach((e=>{dt["ipa-"+e]="ipa",dt["ipac-"+e]="ipac"})),Object.keys(ht).forEach((e=>{ht[e].forEach((t=>{dt[t]=e}))}));var gt={"·":"·",dot:"·",middot:"·","•":" • ",",":",","=":"=","1/2":"1⁄2","1/3":"1⁄3","2/3":"2⁄3","1/4":"1⁄4","3/4":"3⁄4","–":"–",ndash:"–","en dash":"–","spaced ndash":" – ","—":"—",mdash:"—",spd:" – ","em dash":"—","number sign":"#","hash-tag":"#",ibeam:"I","&":"&",";":";",ampersand:"&",dagger:"†","double-dagger":"‡",snds:" – ",snd:" – ","^":" ","!":"|","'":"'","\\":" /","`":"`","[":"[","*":"*",asterisk:"*","long dash":"———",clear:"\n\n","h.":"ḥ",profit:"▲",loss:"▼",gain:"▲",ell:"ℓ","1~":"~","2~":"~~","3~":"~~~","4~":"~~~~","5~":"~~~~~",goldmedal:"🥇",silvermedal:"🥈",bronzemedal:"🥉",done:"✅",xmark:"❌",checked:"✔️","thumbs up":"👍","thumbs down":"👎",minusplus:"∓",plusminus:"±"};let bt={p1:0,p2:1,p3:2,resize:1,lang:1,"rtl-lang":1,"line-height":1,l:2,h:1,sort:1};["defn","lino","finedetail","nobold","noitalic","nocaps","vanchor","rnd","date","taste","monthname","baseball secondary style","nowrap","nobr","big","cquote","pull quote","smaller","midsize","larger","big","kbd","bigger","large","mono","strongbad","stronggood","huge","xt","xt2","!xt","xtn","xtd","dc","dcr","mxt","!mxt","mxtn","mxtd","bxt","!bxt","bxtn","bxtd","delink","pre","var","mvar","pre2","code","char","angle bracket","angbr","symb","dabsearch","key press","nowiki","nowiki2","unstrip","unstripnowiki","plain text","make code","killmarkers","longitem","longlink","strikethrough","underline","uuline","not a typo","text","var serif","double underline","nee","ne","left","right","center","centered","justify","smalldiv","bold div","monodiv","italic div","bigdiv","strikethroughdiv","strikethrough color","pbpe"].forEach((e=>{bt[e]=0}));let ft={};["mv","m/v","gts","hsc","ms","m/s","my","m/y","ps","rms","rv","r/v","sb","ss","s/s","sv","s/v","sy","s/y","tss","ans","hmas","hmbs","bns","hmcs","ccgs","arc","hdms","bae","ens","eml","rfns","fns","hs","sms","smu","gs","icgv","ins","kri","lé","jsub","jds","js","hnlms","hmnzs","nns","hnoms","hmpngs","bap","rps","brp","orp","nrp","nms","rss","sas","hmsas","roks","hswms","htms","tcg","hms","hmt","rfaux","usat","uscgc","usns","usrc","uss","usav"].forEach((e=>{ft[e]=t=>{let{name:i,id:a}=Pe(t,["name","id"]);return a?`[[${e.toUpperCase()} ${i} (${a})]]`:`[[${e.toUpperCase()} ${i}]]`}}));const kt=function(e){if(!e.numerator&&!e.denominator)return null;let t=Number(e.numerator)/Number(e.denominator);return t*=100,Number(e.decimals),parseInt(t,10)},wt=function(e=""){if("number"==typeof e)return e;e=(e=e.replace(/,/g,"")).replace(/−/g,"-");let t=Number(e);return isNaN(t)?e:t},yt=function(e){let t=e.match(/ipac?-(.+)/);return null!==t?!0===O.hasOwnProperty(t[1])?O[t[1]].english_title:t[1]:null},$t=e=>e.charAt(0).toUpperCase()+e.substring(1),xt=function(e){let t=e%10,i=e%100;return 1===t&&11!==i?e+"st":2===t&&12!==i?e+"nd":3===t&&13!==i?e+"rd":e+"th"},vt={wikt:"wiktionary",commons:"commons",c:"commons",commonscat:"commonscat",n:"wikinews",q:"wikiquote",s:"wikisource",a:"wikiauthor",b:"wikibooks",voy:"wikivoyage",v:"wikiversity",d:"wikidata",species:"wikispecies",m:"meta",mw:"mediawiki"};var jt={ra:e=>{let t=Pe(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},deg2hms:e=>(Pe(e,["degrees"]).degrees||"")+"°",hms2deg:e=>{let t=Pe(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},decdeg:e=>{let t=Pe(e,["deg","min","sec","hem","rnd"]);return(t.deg||t.degrees)+"°"},sortname:e=>{let t=Pe(e,["first","last","target","sort"]),i=`${t.first||""} ${t.last||""}`;return i=i.trim(),t.nolink?t.target||i:(t.dab&&(i+=` (${t.dab})`,t.target&&(t.target+=` (${t.dab})`)),t.target?`[[${t.target}|${i}]]`:`[[${i}]]`)},"first word":e=>{let t=Pe(e,["text"]),i=t.text||"";return t.sep?i.split(t.sep)[0]:i.split(" ")[0]},trunc:e=>{let t=Pe(e,["str","len"]);return(t.str||"").substr(0,t.len)},"str mid":e=>{let t=Pe(e,["str","start","end"])||{},i=parseInt(t.start,10)-1,a=parseInt(t.end,10);return(t.str||"").substr(i,a)},reign:e=>{let t=Pe(e,["start","end"]);return`(r. ${t.start} – ${t.end})`},circa:e=>{let{year:t}=Pe(e,["year"]);return t?`c. ${t}`:"c. "},"decade link":e=>{let{year:t}=Pe(e,["year"]);return`${t}|${t}s`},decade:e=>{let t=Pe(e,["year"]),i=Number(t.year);return i=10*Math.floor(i/10),`${i}s`},century:e=>{let t=Pe(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/100)+1,`${i}`},radic:e=>{let t=Pe(e,["after","before"]);return`${t.before||""}√${t.after||""}`},"medical cases chart/row":e=>e,oldstyledate:e=>{let t=Pe(e,["date","year"]);return t.year?t.date+" "+t.year:t.date},braces:e=>{let t=Pe(e,["text"]),i="";return t.list&&(i="|"+t.list.join("|")),"{{"+(t.text||"")+i+"}}"},hlist:e=>{let t=Pe(e);return t.list=t.list||[],t.list.join(" · ")},pagelist:e=>(Pe(e).list||[]).join(", "),catlist:e=>(Pe(e).list||[]).join(", "),"br separated entries":e=>(Pe(e).list||[]).join("\n\n"),"comma separated entries":e=>(Pe(e).list||[]).join(", "),"anchored list":e=>{let t=Pe(e).list||[];return t=t.map(((e,t)=>`${t+1}. ${e}`)),t.join("\n\n")},"bulleted list":e=>{let t=Pe(e).list||[];return t=t.filter((e=>e)),t=t.map((e=>"• "+e)),t.join("\n\n")},plainlist:e=>{let t=(e=Ee(e)).split("|").slice(1);return t=t.join("|").split(/\n ?\* ?/),t=t.filter((e=>e)),t.join("\n\n")},term:e=>`${Pe(e,["term"]).term}:`,linum:e=>{let{num:t,text:i}=Pe(e,["num","text"]);return`${t}. ${i}`},"block indent":e=>{let t=Pe(e);return t[1]?"\n"+t[1]+"\n":""},lbs:e=>{let t=Pe(e,["text"]);return`[[${t.text} Lifeboat Station|${t.text}]]`},lbc:e=>{let t=Pe(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}-class]]`},lbb:e=>{let t=Pe(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}]]`},"#dateformat":e=>(e=e.replace(/:/,"|"),Pe(e,["date","format"]).date),lc:e=>(e=e.replace(/:/,"|"),(Pe(e,["text"]).text||"").toLowerCase()),uc:e=>(e=e.replace(/:/,"|"),(Pe(e,["text"]).text||"").toUpperCase()),lcfirst:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text"]).text;return t?t[0].toLowerCase()+t.substr(1):""},ucfirst:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text"]).text;return t?t[0].toUpperCase()+t.substr(1):""},padleft:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text","num"]);return(t.text||"").padStart(t.num,t.str||"0")},padright:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text","num"]);return(t.text||"").padEnd(t.num,t.str||"0")},abbrlink:e=>{let t=Pe(e,["abbr","page"]);return t.page?`[[${t.page}|${t.abbr}]]`:`[[${t.abbr}]]`},own:e=>{let t=Pe(e,["author"]),i="Own work";return t.author&&(i+=" by "+t.author),i},formatnum:e=>{e=e.replace(/:/,"|");let t=Pe(e,["number"]).number||"";return t=t.replace(/,/g,""),Number(t).toLocaleString()||""},frac:e=>{let t=Pe(e,["a","b","c"]);return t.c?`${t.a} ${t.b}/${t.c}`:t.b?`${t.a}/${t.b}`:`1/${t.b}`},convert:e=>{let t=Pe(e,["num","two","three","four"]);return"-"===t.two||"to"===t.two||"and"===t.two?t.four?`${t.num} ${t.two} ${t.three} ${t.four}`:`${t.num} ${t.two} ${t.three}`:`${t.num} ${t.two}`},tl:e=>{let t=Pe(e,["first","second"]);return t.second||t.first},won:e=>{let t=Pe(e,["text"]);return t.place||t.text||$t(t.template)},tag:e=>{let t=Pe(e,["tag","open"]);const i={span:!0,div:!0,p:!0};return t.open&&"pair"!==t.open?"":i[t.tag]?t.content||"":`<${t.tag} ${t.attribs||""}>${t.content||""}`},plural:e=>{e=e.replace(/plural:/,"plural|");let t=Pe(e,["num","word"]),i=Number(t.num),a=t.word;return 1!==i&&(/.y$/.test(a)?a=a.replace(/y$/,"ies"):a+="s"),i+" "+a},dec:e=>{let t=Pe(e,["degrees","minutes","seconds"]),i=(t.degrees||0)+"°";return t.minutes&&(i+=t.minutes+"′"),t.seconds&&(i+=t.seconds+"″"),i},val:e=>{let t=Pe(e,["number","uncertainty"]),i=t.number;i&&Number(i)&&(i=Number(i).toLocaleString());let a=i||"";return t.p&&(a=t.p+a),t.s&&(a=t.s+a),(t.u||t.ul||t.upl)&&(a=a+" "+(t.u||t.ul||t.upl)),a},percentage:e=>{let t=Pe(e,["numerator","denominator","decimals"]),i=kt(t);return null===i?"":i+"%"},small:e=>{let t=Pe(e);return t.list&&t.list[0]?t.list[0]:""},"percent-done":e=>{let t=Pe(e,["done","total","digits"]),i=kt({numerator:t.done,denominator:t.total,decimals:t.digits});return null===i?"":`${t.done} (${i}%) done`},loop:e=>{let t=Pe(e,["times","text"]),i=Number(t.times)||0,a="";for(let e=0;e{let t=Pe(e,["text"]);return String((t.text||"").trim().length)},digits:e=>(Pe(e,["text"]).text||"").replace(/[^0-9]/g,""),resize:e=>{let{n:t,text:i}=Pe(e,["n","text"]);return i?i||"":t||""},"last word":e=>{let t=(Pe(e,["text"]).text||"").split(/ /g);return t[t.length-1]||""},replace:e=>{let t=Pe(e,["text","from","to"]);return t.from&&t.to?(t.text||"").replace(t.from,t.to):t.text||""},"title case":e=>(Pe(e,["text"]).text||"").split(/ /).map(((e,t)=>t>0&&"the"===e||"of"===e?e:$t(e))).join(" "),"no spam":e=>{let t=Pe(e,["account","domain"]);return`${t.account||""}@${t.domain}`},"baseball year":e=>{let t=Pe(e,["year"]).year||"";return`[[${t} in baseball|${t}]]`},"mlb year":e=>{let t=Pe(e,["year"]).year||"";return`[[${t} Major League Baseball season|${t}]]`},"nlds year":e=>{let{year:t}=Pe(e,["year"]);return`[[${t||""} National League Division Series|${t}]]`},"alds year":e=>{let{year:t}=Pe(e,["year"]);return`[[${t||""} American League Division Series|${t}]]`},"nfl year":e=>{let{year:t,other:i}=Pe(e,["year","other"]);return i&&t?`[[${t} NFL season|${t}]]–[[${i} NFL season|${i}]]`:`[[${t||""} NFL season|${t}]]`},"nfl playoff year":e=>{let{year:t}=Pe(e,["year"]);return t=Number(t),`[[${t}–${t+1} NFL playoffs|${t}]]`},"nba year":e=>{let{year:t}=Pe(e,["year"]);t=Number(t);let i=t+1;return`[[${t}–${i} NBA season|${t}–${i}]]`},"mhl year":e=>{let t=Pe(e,["year"]),i=Number(t.year),a=i+1;return`[[${i}–${a} NHL season|${i}–${a}]]`},min:e=>{let t=Pe(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t{let t=Pe(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t>i&&(i=t)})),String(i)},uspolabbr:e=>{let{party:t,state:i,house:a}=Pe(e,["party","state","house","link"]);if(!t||!i)return"";let n=`${t}‑${i}`;return a&&(n+=` ${xt(a)}`),n},ushr:e=>{let{state:t,num:i,type:a}=Pe(e,["state","num","type"]),n="";if("AL"!==i)return i=xt(Number(i)),`${t}'s ${i} congressional district`;if(n=`${t}'s at-large congressional district`,a){if(a=a.toLowerCase(),i="AL"===i?"At-large":i,"e"===a)return`[[${n}|${i}]]`;if("u"===a)return`[[${n}|${t}]]`;if("b"===a||"x"===a)return`[[${n}|${t} ${i}]]`}return`[[${n}]]`},metro:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},station:e=>{let{name:t,dab:i}=Pe(e,["name","x","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},bssrws:e=>{let{one:t,two:i}=Pe(e,["one","two"]),a=t;return i&&(a+=" "+i),`[[${a} railway station|${a}]]`},stnlnk:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} railway station (${i})|${t}]]`:`[[${t} railway station|${t}]]`},"station link":e=>{let{station:t,system:i}=Pe(e,["system","station"]);return t||i},"line link":e=>{let{station:t,system:i}=Pe(e,["system","station"]);return t||i},subway:e=>{let{name:t}=Pe(e,["name"]);return`[[${t} subway station|${t}]]`},"lrt station":e=>{let{name:t}=Pe(e,["name"]);return`[[${t} LRT station|${t}]]`},"mrt station":e=>{let{name:t}=Pe(e,["name"]);return`[[${t} MRT station|${t}]]`},rht:e=>{let{name:t}=Pe(e,["name"]);return`[[${t} railway halt|${t}]]`},ferry:e=>{let{name:t}=Pe(e,["name"]);return`[[${t} ferry wharf|${t}]]`},tram:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} tram stop (${i})|${t}]]`:`[[${t} tram stop|${t}]]`},tstop:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} ${i} stop|${t}]]`:`[[${t} stop|${t}]]`},ship:e=>{let{prefix:t,name:i,id:a}=Pe(e,["prefix","name","id"]);return t=t||"",`[[${t.toUpperCase()} ${i}]]`},sclass:e=>{let{cl:t,type:i}=Pe(e,["cl","type","fmt"]);return`[[${t}-class ${i} |''${t}''-class]] [[${i}]]`},"center block":e=>{let{text:t}=Pe(e,["text"]);return t||""},align:e=>{let{text:t}=Pe(e,["dir","text"]);return t||""},font:e=>{let{text:t}=Pe(e,["text"]);return t||""},float:e=>{let{text:t,dir:i}=Pe(e,["dir","text"]);return t?t||"":i},lower:e=>{let{text:t,n:i}=Pe(e,["n","text"]);return t?t||"":i},splitspan:e=>{let t=Pe(e).list||[];return(t[0]||"")+"\n"+(t[1]||"")},bracket:e=>{let{text:t}=Pe(e,["text"]);return t?`[${t}]`:"["},"in title":e=>{let{title:t,text:i}=Pe(e,["title","text"]);return i||(t?`All pages with titles containing ${t}`:"")},"look from":e=>{let{title:t,text:i}=Pe(e,["title","text"]);return i||(t?`All pages with titles beginning with ${t}`:"")}};let _t={};["sr-latn-cyrl","sr-cyrl-latn","sr-latn","sr-cyrl","sr-cyr","sh-latn-cyrl","sh-cyrl-latn","sh-latn","sh-cyrl","cel-1bd","cel-x-proto","en-emodeng","de-at","de-ch","gem-x-proto","gsw-fr","nds-nl","nl-be","ku-arab","ku-cyrl","pt-br","fra-frc","fra-que","roa-leo","roa-nor","ca-valencia","ast-leo","grc-gre","grc-x-doric","grc-x-proto","grc-x-medieval","cpg","gmy","grc","grk-x-proto","pnt","mga","owl","pgl","sga","wlm","xbm","xcb","xcg","xpi","aae","aln","sq-definite","bs-cyrl","hsb","ltg","orv","prg","rsk","rue","rus","sgs","sla","szl","wen","aoa","chn","cri","dlm","egl","fax","frc","frm","fro","fr-gallo","oc-gascon","gcf","gcr","ist","la-x-medieval","lij-mc","lld","lou","mfe","mol","mwl","mxi","nrf","osc","osp","pcd","pln","rcf","rgn","roa","ruo","rup","ruq","sdc","sdn","src","sro","xvo","bzj","cim","dum","enm","frk","frr","frs","gmh","gml","gmw","goh","gos","gsw","gyn","icr","jam","kri","lng","nb","non","nrn","odt","ofs","osx","pey","sli","srm","srn","stq","swg","vmf","wae","wep","wes","zea","hmd","hoc","kha","mnw","mtq","vi-chunom","vi-hantu","mvi","rys","ryu","yoi","ace","akl","ami","bew","bik","bjn","bya","cal","cbk","cjm","coa","cyo","dev","fil","gad","hil","iba","ibg","ibl","ilp","itv","ivv","jax","kne","krj","kxd","ljp","mad","mak","mdh","mrv","mrw","ms-arab","nia","niu","pau","pwn","rap","rar","sgd","su-fonts","szy","tao","tkl","tsg","tvl","uli","wls","xsb","yap","yka","ckt","itl","brh","oty","tcy","abq","ady","ddo","inh","kbd","lbe","lez","rut","tab","uby","udi","bai","bin","bsq","dag","dyu","efi","fan","fmp","fuc","fuf","gaa","ibb","kbp","kcg","kpo","ktu","lu","lua","lun","mkw","mos","oaa","sjo","ude","anm","bft","blk","brx","dng","kjp","kjz","ksw","lbj","lus","aae","aaq","abe","abq","aca","ace","acf","acm","acw","ady","ae","aeb","aec","aer","afb","aht","aii","aij","ain","aiq","akk","akl","akz","ale","aln","alq","alt","ami","anm","aoa","apj","apm","apw","ayn","arb","arh","ari","arn","arp","arq","ary","arz","asb","ath","ats","awa","axm","azb","azd","azj","bai","bal","ban","bax","bdz","bea","ber","bew","bft","bgn","bho","bik","bin","bjn","bla","blc","blk","bqi","brh","brx","bsk","bsq","bua","bvb","bya","bzj","cal","cay","cbk","ccp","chg","chm","chn","chp","cic","cim","ciw","cjm","cjs","ckb","ckt","cku","cld","clm","cmg","cmn","cms","cnu","coa","coc","coj","com","coo","cop","cpg","crg","crh","cri","crj","crk","crl","crm","cro","csw","csz","ctg","ctm","cyo","dag","dak","ddo","deh","del","den","dev","din","dlm","dng","dum","dyu","efi","egl","egy","elx","eml","ems","cmn","och","yue","mjw","mni","my-name-mlcts","nan","nwc","omp","otb","pwo","sip","xct","xsr","1ca","alt","az-arab","azb","azj","chg","cjs","crh","crh3","kaa","kjh","krc","kum","nog","ota","otk","sah","slr","sty","tt-arab","tt-cyrl","tt-latn","tyv","uniturk","chm","est-sea","fit","fkv","izh","jmy","koi","krl","liv","mdf","mhr","mrj","myv","olo","sia","sjd","sje","sjk","sjt","sju","sma","smi","smj","smn","sms","vep","vot","vro","yrk","din","luo","srr","sus","swh","umb","yao"].forEach((e=>{_t["lang-"+e]=0})),Object.keys(O).forEach((e=>{_t["lang-"+e]=0}));var zt=[["🇦🇩","and","andorra"],["🇦🇪","are","united arab emirates"],["🇦🇫","afg","afghanistan"],["🇦🇬","atg","antigua and barbuda"],["🇦🇮","aia","anguilla"],["🇦🇱","alb","albania"],["🇦🇲","arm","armenia"],["🇦🇴","ago","angola"],["🇦🇶","ata","antarctica"],["🇦🇷","arg","argentina"],["🇦🇸","asm","american samoa"],["🇦🇹","aut","austria"],["🇦🇺","aus","australia"],["🇦🇼","abw","aruba"],["🇦🇽","ala","åland islands"],["🇦🇿","aze","azerbaijan"],["🇧🇦","bih","bosnia and herzegovina"],["🇧🇧","brb","barbados"],["🇧🇩","bgd","bangladesh"],["🇧🇪","bel","belgium"],["🇧🇫","bfa","burkina faso"],["🇧🇬","bgr","bulgaria"],["🇧🇬","bul","bulgaria"],["🇧🇭","bhr","bahrain"],["🇧🇮","bdi","burundi"],["🇧🇯","ben","benin"],["🇧🇱","blm","saint barthélemy"],["🇧🇲","bmu","bermuda"],["🇧🇳","brn","brunei darussalam"],["🇧🇴","bol","bolivia"],["🇧🇶","bes","bonaire, sint eustatius and saba"],["🇧🇷","bra","brazil"],["🇧🇸","bhs","bahamas"],["🇧🇹","btn","bhutan"],["🇧🇻","bvt","bouvet island"],["🇧🇼","bwa","botswana"],["🇧🇾","blr","belarus"],["🇧🇿","blz","belize"],["🇨🇦","can","canada"],["🇨🇨","cck","cocos (keeling) islands"],["🇨🇩","cod","congo"],["🇨🇫","caf","central african republic"],["🇨🇬","cog","congo"],["🇨🇭","che","switzerland"],["🇨🇮","civ","côte d'ivoire"],["🇨🇰","cok","cook islands"],["🇨🇱","chl","chile"],["🇨🇲","cmr","cameroon"],["🇨🇳","chn","china"],["🇨🇴","col","colombia"],["🇨🇷","cri","costa rica"],["🇨🇺","cub","cuba"],["🇨🇻","cpv","cape verde"],["🇨🇼","cuw","curaçao"],["🇨🇽","cxr","christmas island"],["🇨🇾","cyp","cyprus"],["🇨🇿","cze","czech republic"],["🇩🇪","deu","germany"],["🇩🇪","ger","germany"],["🇩🇯","dji","djibouti"],["🇩🇰","dnk","denmark"],["🇩🇲","dma","dominica"],["🇩🇴","dom","dominican republic"],["🇩🇿","dza","algeria"],["🇪🇨","ecu","ecuador"],["🇪🇪","est","estonia"],["🇪🇬","egy","egypt"],["🇪🇭","esh","western sahara"],["🇪🇷","eri","eritrea"],["🇪🇸","esp","spain"],["🇪🇹","eth","ethiopia"],["🇫🇮","fin","finland"],["🇫🇯","fji","fiji"],["🇫🇰","flk","falkland islands (malvinas)"],["🇫🇲","fsm","micronesia"],["🇫🇴","fro","faroe islands"],["🇫🇷","fra","france"],["🇬🇦","gab","gabon"],["🇬🇧","gbr","united kingdom"],["🇬🇩","grd","grenada"],["🇬🇫","guf","french guiana"],["🇬🇬","ggy","guernsey"],["🇬🇭","gha","ghana"],["🇬🇮","gib","gibraltar"],["🇬🇱","grl","greenland"],["🇬🇲","gmb","gambia"],["🇬🇳","gin","guinea"],["🇬🇵","glp","guadeloupe"],["🇬🇶","gnq","equatorial guinea"],["🇬🇷","grc","greece"],["🇬🇸","sgs","south georgia"],["🇬🇹","gtm","guatemala"],["🇬🇺","gum","guam"],["🇬🇼","gnb","guinea-bissau"],["🇬🇾","guy","guyana"],["🇭🇰","hkg","hong kong"],["🇭🇲","hmd","heard island and mcdonald islands"],["🇭🇳","hnd","honduras"],["🇭🇷","hrv","croatia"],["🇭🇹","hti","haiti"],["🇭🇺","hun","hungary"],["🇮🇩","idn","indonesia"],["🇮🇪","irl","ireland"],["🇮🇱","isr","israel"],["🇮🇲","imn","isle of man"],["🇮🇳","ind","india"],["🇮🇴","iot","british indian ocean territory"],["🇮🇶","irq","iraq"],["🇮🇷","irn","iran"],["🇮🇸","isl","iceland"],["🇮🇹","ita","italy"],["🇯🇪","jey","jersey"],["🇯🇲","jam","jamaica"],["🇯🇴","jor","jordan"],["🇯🇵","jpn","japan"],["🇰🇪","ken","kenya"],["🇰🇬","kgz","kyrgyzstan"],["🇰🇭","khm","cambodia"],["🇰🇮","kir","kiribati"],["🇰🇲","com","comoros"],["🇰🇳","kna","saint kitts and nevis"],["🇰🇵","prk","north korea"],["🇰🇷","kor","south korea"],["🇰🇼","kwt","kuwait"],["🇰🇾","cym","cayman islands"],["🇰🇿","kaz","kazakhstan"],["🇱🇦","lao","lao people's democratic republic"],["🇱🇧","lbn","lebanon"],["🇱🇨","lca","saint lucia"],["🇱🇮","lie","liechtenstein"],["🇱🇰","lka","sri lanka"],["🇱🇷","lbr","liberia"],["🇱🇸","lso","lesotho"],["🇱🇹","ltu","lithuania"],["🇱🇺","lux","luxembourg"],["🇱🇻","lva","latvia"],["🇱🇾","lby","libya"],["🇲🇦","mar","morocco"],["🇲🇨","mco","monaco"],["🇲🇩","mda","moldova"],["🇲🇪","mne","montenegro"],["🇲🇫","maf","saint martin (french part)"],["🇲🇬","mdg","madagascar"],["🇲🇭","mhl","marshall islands"],["🇲🇰","mkd","macedonia"],["🇲🇱","mli","mali"],["🇲🇲","mmr","myanmar"],["🇲🇳","mng","mongolia"],["🇲🇴","mac","macao"],["🇲🇵","mnp","northern mariana islands"],["🇲🇶","mtq","martinique"],["🇲🇷","mrt","mauritania"],["🇲🇸","msr","montserrat"],["🇲🇹","mlt","malta"],["🇲🇺","mus","mauritius"],["🇲🇻","mdv","maldives"],["🇲🇼","mwi","malawi"],["🇲🇽","mex","mexico"],["🇲🇾","mys","malaysia"],["🇲🇿","moz","mozambique"],["🇳🇦","nam","namibia"],["🇳🇨","ncl","new caledonia"],["🇳🇪","ner","niger"],["🇳🇫","nfk","norfolk island"],["🇳🇬","nga","nigeria"],["🇳🇮","nic","nicaragua"],["🇳🇱","nld","netherlands"],["🇳🇴","nor","norway"],["🇳🇵","npl","nepal"],["🇳🇷","nru","nauru"],["🇳🇺","niu","niue"],["🇳🇿","nzl","new zealand"],["🇴🇲","omn","oman"],["🇵🇦","pan","panama"],["🇵🇪","per","peru"],["🇵🇫","pyf","french polynesia"],["🇵🇬","png","papua new guinea"],["🇵🇭","phl","philippines"],["🇵🇰","pak","pakistan"],["🇵🇱","pol","poland"],["🇵🇲","spm","saint pierre and miquelon"],["🇵🇳","pcn","pitcairn"],["🇵🇷","pri","puerto rico"],["🇵🇸","pse","palestinian territory"],["🇵🇹","prt","portugal"],["🇵🇼","plw","palau"],["🇵🇾","pry","paraguay"],["🇶🇦","qat","qatar"],["🇷🇪","reu","réunion"],["🇷🇴","rou","romania"],["🇷🇸","srb","serbia"],["🇷🇺","rus","russia"],["🇷🇼","rwa","rwanda"],["🇸🇦","sau","saudi arabia"],["🇸🇧","slb","solomon islands"],["🇸🇨","syc","seychelles"],["🇸🇩","sdn","sudan"],["🇸🇪","swe","sweden"],["🇸🇬","sgp","singapore"],["🇸🇭","shn","saint helena, ascension and tristan da cunha"],["🇸🇮","svn","slovenia"],["🇸🇯","sjm","svalbard and jan mayen"],["🇸🇰","svk","slovakia"],["🇸🇱","sle","sierra leone"],["🇸🇲","smr","san marino"],["🇸🇳","sen","senegal"],["🇸🇴","som","somalia"],["🇸🇷","sur","suriname"],["🇸🇸","ssd","south sudan"],["🇸🇹","stp","sao tome and principe"],["🇸🇻","slv","el salvador"],["🇸🇽","sxm","sint maarten (dutch part)"],["🇸🇾","syr","syrian arab republic"],["🇸🇿","swz","swaziland"],["🇹🇨","tca","turks and caicos islands"],["🇹🇩","tcd","chad"],["🇹🇫","atf","french southern territories"],["🇹🇬","tgo","togo"],["🇹🇭","tha","thailand"],["🇹🇯","tjk","tajikistan"],["🇹🇰","tkl","tokelau"],["🇹🇱","tls","timor-leste"],["🇹🇲","tkm","turkmenistan"],["🇹🇳","tun","tunisia"],["🇹🇴","ton","tonga"],["🇹🇷","tur","turkey"],["🇹🇹","tto","trinidad and tobago"],["🇹🇻","tuv","tuvalu"],["🇹🇼","twn","taiwan"],["🇹🇿","tza","tanzania"],["🇺🇦","ukr","ukraine"],["🇺🇬","uga","uganda"],["🇺🇲","umi","united states minor outlying islands"],["🇺🇸","us","united states"],["🇺🇸","usa","united states"],["🇺🇾","ury","uruguay"],["🇺🇿","uzb","uzbekistan"],["🇻🇦","vat","vatican city"],["🇻🇨","vct","saint vincent and the grenadines"],["🇻🇪","ven","venezuela"],["🇻🇬","vgb","virgin islands, british"],["🇻🇮","vir","virgin islands, u.s."],["🇻🇳","vnm","viet nam"],["🇻🇺","vut","vanuatu"],["🇼🇫","wlf","wallis and futuna"],["🇼🇸","wsm","samoa"],["🇾🇪","yem","yemen"],["🇾🇹","myt","mayotte"],["🇿🇦","zaf","south africa"],["🇿🇲","zmb","zambia"],["🇿🇼 ","zwe","zimbabwe"],["🇺🇳","un","united nations"],["🏴󠁧󠁢󠁥󠁮󠁧󠁿󠁧󠁢󠁥󠁮󠁧󠁿","eng","england"],["🏴󠁧󠁢󠁳󠁣󠁴󠁿","sct","scotland"],["🏴󠁧󠁢󠁷󠁬󠁳󠁿","wal","wales"],["🇪🇺","eu","european union"]];const Ot=["flag","variant"];let Et={flag:e=>{let t=Pe(e,Ot),i=t.flag||"";t.flag=(t.flag||"").toLowerCase();let a=zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${a[0]||""} [[${a[2]}|${i}]]`},flagcountry:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} [[${i[2]}]]`},flagcu:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} ${i[2]}`},flagicon:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`[[${i[2]}|${i[0]}]]`:""},flagdeco:e=>{let t=Pe(e,Ot);return t.flag=(t.flag||"").toLowerCase(),(zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[])[0]||""},fb:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${i[2]} national football team|${i[2]}]]`:""},fbicon:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?` [[${i[2]} national football team|${i[0]}]]`:""},flagathlete:e=>{let t=Pe(e,["name","flag","variant"]);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${t.name||""}]] (${i[1].toUpperCase()})`:`[[${t.name||""}]]`}};zt.forEach((e=>{Et[e[1]]=()=>e[0]}));let qt={};["rh","rh2","yes","no","maybe","eliminated","lost","safe","active","site active","coming soon","good","won","nom","sho","longlisted","tba","success","operational","failure","partial","regional","maybecheck","partial success","partial failure","okay","yes-no","some","nonpartisan","pending","unofficial","unofficial2","usually","rarely","sometimes","any","varies","black","non-album single","unreleased","unknown","perhaps","depends","included","dropped","terminated","beta","table-experimental","free","proprietary","nonfree","needs","nightly","release-candidate","planned","scheduled","incorrect","no result","cmain","calso starring","crecurring","cguest","not yet","optional"].forEach((e=>{qt[e]=e=>{let t=Pe(e,["text"]);return t.text||$t(t.template)}}));[["active fire","Active"],["site active","Active"],["site inactive","Inactive"],["yes2",""],["no2",""],["ya","✅"],["na","❌"],["nom","Nominated"],["sho","Shortlisted"],["tba","TBA"],["maybecheck","✔️"],["okay","Neutral"],["n/a","N/A"],["sdash","—"],["dunno","?"],["draw",""],["cnone",""],["nocontest",""]].forEach((e=>{qt[e[0]]=t=>Pe(t,["text"]).text||e[1]}));var Nt=Object.assign({},gt,bt,ft,jt,_t,Et,qt);let St={};["goodreads author","twitter","facebook","instagram","tumblr","pinterest","espn nfl","espn nhl","espn fc","hockeydb","fifa player","worldcat","worldcat id","nfl player","ted speaker","playmate"].forEach((e=>{St[e]=["id","name"]}));let Ct={};["imdb title","imdb name","imdb episode","imdb event","afi film","allmovie title","allgame","tcmdb title","discogs artist","discogs label","discogs release","discogs master","librivox author","musicbrainz artist","musicbrainz label","musicbrainz recording","musicbrainz release","musicbrainz work","youtube","goodreads book","dmoz"].forEach((e=>{Ct[e]=["id","title","description","section"]}));var Lt={ipa:(e,t)=>{let i=Pe(e,["transcription","lang","audio"]);return i.lang=yt(i.template),i.template="ipa",t.push(i),""},ipac:(e,t)=>{let i=Pe(e);return i.transcription=(i.list||[]).join(","),delete i.list,i.lang=yt(i.template),i.template="ipac",t.push(i),""},quote:(e,t)=>{let i=Pe(e,["text","author"]);if(t.push(i),i.text){let e=`"${i.text}"`;return i.author&&(e+="\n\n",e+=` - ${i.author}`),e+"\n"}return""},"cite gnis":(e,t)=>{let i=Pe(e,["id","name","type"]);return i.type="gnis",i.template="citation",t.push(i),""},"spoken wikipedia":(e,t)=>{let i=Pe(e,["file","date"]);return i.template="audio",t.push(i),""},yel:(e,t)=>{let i=Pe(e,["min"]);return t.push(i),i.min?`yellow: ${i.min||""}'`:""},subon:(e,t)=>{let i=Pe(e,["min"]);return t.push(i),i.min?`sub on: ${i.min||""}'`:""},suboff:(e,t)=>{let i=Pe(e,["min"]);return t.push(i),i.min?`sub off: ${i.min||""}'`:""},sfn:(e,t,i,a)=>{let n=Pe(e,["author","year","location"]);return a&&(n.name=n.template,n.teplate=a),t.push(n),""},redirect:(e,t)=>{let i=Pe(e,["redirect"]),a=i.list||[],n=[];for(let e=0;e{let i=Pe(e),a={};Object.keys(vt).forEach((e=>{!0===i.hasOwnProperty(e)&&(a[vt[e]]=i[e])}));let n={template:"sister project links",links:a};return t.push(n),""},"subject bar":(e,t)=>{let i=Pe(e);Object.keys(i).forEach((e=>{vt.hasOwnProperty(e)&&(i[vt[e]]=i[e],delete i[e])}));let a={template:"subject bar",links:i};return t.push(a),""},gallery:(e,t)=>{let i=Pe(e),a=(i.list||[]).filter((e=>/^ *File ?:/.test(e)));return a=a.map((e=>new _({file:e}).json())),i={template:"gallery",images:a},t.push(i),""},sky:(e,t)=>{let i=Pe(e,["asc_hours","asc_minutes","asc_seconds","dec_sign","dec_degrees","dec_minutes","dec_seconds","distance"]),a={template:"sky",ascension:{hours:i.asc_hours,minutes:i.asc_minutes,seconds:i.asc_seconds},declination:{sign:i.dec_sign,degrees:i.dec_degrees,minutes:i.dec_minutes,seconds:i.dec_seconds},distance:i.distance};return t.push(a),""},"medical cases chart":(e,t)=>{let i=["date","deathsExpr","recoveriesExpr","casesExpr","4thExpr","5thExpr","col1","col1Change","col2","col2Change"],a=Pe(e);a.data=a.data||"";let n=a.data.split("\n").map((e=>{let t=e.split(";"),a={options:new Map},n=0;for(let e=0;e{let i=Pe(e);i.x&&(i.x=i.x.split(",").map((e=>e.trim()))),i.y&&(i.y=i.y.split(",").map((e=>e.trim())));let a=1;for(;i["y"+a];)i["y"+a]=i["y"+a].split(",").map((e=>e.trim())),a+=1;return t.push(i),""},"historical populations":(e,t)=>{let i=Pe(e);i.list=i.list||[];let a=[];for(let e=0;e{const i=/^jan /i,a=/^year /i;let n=Pe(e);const r=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];let o={},s=Object.keys(n).filter((e=>i.test(e)));s=s.map((e=>e.replace(i,""))),s.forEach((e=>{o[e]=[],r.forEach((t=>{let i=`${t} ${e}`;if(n.hasOwnProperty(i)){let t=wt(n[i]);delete n[i],o[e].push(t)}}))})),n.byMonth=o;let l={};return Object.keys(n).forEach((e=>{if(a.test(e)){let t=e.replace(a,"");l[t]=n[e],delete n[e]}})),n.byYear=l,t.push(n),""},"weather box/concise c":(e,t)=>{let i=Pe(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high c":i.list.slice(0,12),"low c":i.list.slice(12,24),"rain mm":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"weather box/concise f":(e,t)=>{let i=Pe(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high f":i.list.slice(0,12),"low f":i.list.slice(12,24),"rain inch":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"climate chart":(e,t)=>{let i=Pe(e).list||[],a=i[0],n=i[38];i=i.slice(1),i=i.map((e=>(e&&"−"===e[0]&&(e=e.replace(/−/,"-")),e)));let r=[];for(let e=0;e<36;e+=3)r.push({low:wt(i[e]),high:wt(i[e+1]),precip:wt(i[e+2])});let o={template:"climate chart",data:{title:a,source:n,months:r}};return t.push(o),""},medalcount:(e,t)=>{let i=Pe(e).list||[],a=[];for(let e=0;e{let i=Pe(e,["formula"]);return t.push(i),"\n\n"+(i.formula||"")+"\n\n"},legend:(e,t)=>{let i=Pe(e,["color","label"]);return t.push(i),e},isbn:(e,t)=>{let i=Pe(e,["id","id2","id3"]);return t.push(i),"ISBN "+(i.id||"")},"based on":(e,t)=>{let i=Pe(e,["title","author"]);return t.push(i),`${i.title} by ${i.author||""}`},"bbl to t":(e,t)=>{let i=Pe(e,["barrels"]);return t.push(i),"0"===i.barrels?i.barrels+" barrel":i.barrels+" barrels"},mpc:(e,t)=>{let i=Pe(e,["number","text"]);return t.push(i),`[https://minorplanetcenter.net/db_search/show_object?object_id=P/2011+NO1 ${i.text||i.number}]`},pengoal:(e,t)=>(t.push({template:"pengoal"}),"✅"),penmiss:(e,t)=>(t.push({template:"penmiss"}),"❌"),"ordered list":(e,t)=>{let i=Pe(e);return t.push(i),i.list=i.list||[],i.list.map(((e,t)=>`${t+1}. ${e}`)).join("\n\n")},"title year":(e,t,i,a,n)=>{let r=Pe(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b[0-9]{4}\b/);if(e)return e[0]}return r.nomatch||""},"title century":(e,t,i,a,n)=>{let r=Pe(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)(st|nd|rd|th)\b/);if(e)return e[1]||""}return r.nomatch||""},"title decade":(e,t,i,a,n)=>{let r=Pe(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)s\b/);if(e)return e[1]||""}return r.nomatch||""},nihongo:(e,t)=>{let i=Pe(e,["english","kanji","romaji","extra"]);t.push(i);let a=i.english||i.romaji||"";return i.kanji&&(a+=` (${i.kanji})`),a},marriage:(e,t)=>{let i=Pe(e,["spouse","from","to","end"]);t.push(i);let a=i.spouse||"";return i.from&&(i.to?a+=` (m. ${i.from}-${i.to})`:a+=` (m. ${i.from})`),a},"sent off":(e,t)=>{let i=Pe(e,["cards"]),a={template:"sent off",cards:i.cards,minutes:i.list||[]};return t.push(a),"sent off: "+a.minutes.map((e=>e+"'")).join(", ")},transl:(e,t)=>{let i=Pe(e,["lang","text","text2"]);return i.text2&&(i.iso=i.text,i.text=i.text2,delete i.text2),t.push(i),i.text||""},"collapsible list":(e,t)=>{let i=Pe(e);t.push(i);let a="";if(i.title&&(a+=`'''${i.title}'''\n\n`),!i.list){i.list=[];for(let e=1;e<10;e+=1)i[e]&&(i.list.push(i[e]),delete i[e])}return i.list=i.list.filter((e=>e)),a+=i.list.join("\n\n"),a},"columns-list":(e,t)=>{let i=((Pe(e).list||[])[0]||"").split(/\n/).filter((e=>e));return i=i.map((e=>e.replace(/\*/,""))),t.push({template:"columns-list",list:i}),i=i.map((e=>"• "+e)),i.join("\n\n")},height:(e,t)=>{let i=Pe(e);t.push(i);let a=[];return["m","cm","ft","in"].forEach((e=>{!0===i.hasOwnProperty(e)&&a.push(i[e]+e)})),a.join(" ")},sic:(e,t)=>{let i=Pe(e,["one","two","three"]),a=(i.one||"")+(i.two||"");return"?"===i.one&&(a=(i.two||"")+(i.three||"")),t.push({template:"sic",word:a}),"y"===i.nolink?a:`${a} [sic]`},inrconvert:(e,t)=>{let i=Pe(e,["rupee_value","currency_formatting"]);t.push(i);const a={k:1e3,m:1e6,b:1e9,t:1e12,l:1e5,c:1e7,lc:1e12};if(i.currency_formatting){let e=a[i.currency_formatting]||1;i.rupee_value=i.rupee_value*e}return`inr ${i.rupee_value||""}`},frac:(e,t)=>{let i=Pe(e,["a","b","c"]),a={template:"sfrac"};return i.c?(a.integer=i.a,a.numerator=i.b,a.denominator=i.c):i.b?(a.numerator=i.a,a.denominator=i.b):(a.numerator=1,a.denominator=i.a),t.push(a),a.integer?`${a.integer} ${a.numerator}⁄${a.denominator}`:`${a.numerator}⁄${a.denominator}`},"winning percentage":(e,t)=>{let i=Pe(e,["wins","losses","ties"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=Number(i.ties)||0,o=a+n+r;"y"===i.ignore_ties&&(r=0),r&&(a+=r/2);let s=kt({numerator:a,denominator:o,decimals:1});return null===s?"":"."+10*s},winlosspct:(e,t)=>{let i=Pe(e,["wins","losses"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=kt({numerator:a,denominator:a+n,decimals:1});return null===r?"":`${a||0} || ${n||0} || ${"."+10*r||"-"}`},"video game release":(e,t)=>{let i=["region","date","region2","date2","region3","date3","region4","date4"],a=Pe(e,i),n={template:"video game release",releases:[]};for(let e=0;e`${e.region}: ${e.date||""}`)).join("\n\n")+"\n"},uss:(e,t)=>{let i=Pe(e,["name","id"]);return t.push(i),i.id?`[[USS ${i.name} (${i.id})|USS ''${i.name}'' (${i.id})]]`:`[[USS ${i.name}|USS ''${i.name}'']]`},blockquote:(e,t)=>{let i=Pe(e,["text","author","title","source","character"]);t.push(i);let a=i.text;a||(i.list=i.list||[],a=i.list[0]||"");let n=a.replace(/"/g,"'");return n='"'+n+'"',n}};const It={"£":"GB£","¥":"¥","৳":"৳","₩":"₩","€":"€","₱":"₱","₹":"₹","₽":"₽","cn¥":"CN¥","gb£":"GB£","india rs":"₹","indian rupee symbol":"₹","indian rupee":"₹","indian rupees":"₹","philippine peso":"₱","russian ruble":"₽","SK won":"₩","turkish lira":"TRY",a$:"A$",au$:"A$",aud:"A$",bdt:"BDT",brl:"BRL",ca$:"CA$",cad:"CA$",chf:"CHF",cny:"CN¥",czk:"czk",dkk:"dkk",dkk2:"dkk",euro:"€",gbp:"GB£",hk$:"HK$",hkd:"HK$",ils:"ILS",inr:"₹",jpy:"¥",myr:"MYR",nis:"ILS",nok:"NOK",nok2:"NOK",nz$:"NZ$",nzd:"NZ$",peso:"peso",pkr:"₨",r$:"BRL",rmb:"CN¥",rub:"₽",ruble:"₽",rupee:"₹",s$:"sgd",sek:"SEK",sek2:"SEK",sfr:"CHF",sgd:"sgd",shekel:"ILS",sheqel:"ILS",ttd:"TTD",us$:"US$",usd:"US$",yen:"¥",zar:"R"},Mt=(e,t)=>{let i=Pe(e,["amount","code"]);t.push(i);let a=i.template||"";"currency"===a?(a=i.code,a||(i.code=a="usd")):""!==a&&"monnaie"!==a&&"unité"!==a&&"nombre"!==a&&"nb"!==a||(a=i.code),a=(a||"").toLowerCase(),"us"===a?i.code=a="usd":"uk"===a&&(i.code=a="gbp");let n=`${It[a]||""}${i.amount||""}`;return i.code&&!It[i.code.toLowerCase()]&&(n+=" "+i.code),n};let Ft={currency:Mt};Object.keys(It).forEach((e=>{Ft[e]=Mt}));const Rt=864e5,Ut=30*Rt,Bt=365*Rt,Kt=function(e){return new Date(`${e.year}-${e.month||0}-${e.date||1}`).getTime()},Wt=function(e,t){e=Kt(e);let i=(t=Kt(t))-e,a={},n=Math.floor(i/Bt);n>0&&(a.years=n,i-=a.years*Bt);let r=Math.floor(i/Ut);r>0&&(a.months=r,i-=a.months*Ut);let o=Math.floor(i/Rt);return o>0&&(a.days=o),a},Ht=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Yt=[void 0,"January","February","March","April","May","June","July","August","September","October","November","December"],Zt=Yt.reduce(((e,t,i)=>(0===i||(e[t.toLowerCase()]=i,e[t.substring(0,3).toLowerCase()]=i),e)),{}),Gt=function(e){let t={},i=["year","month","date","hour","minute","second"];for(let a=0;a{let i=Pe(e,["year","month","date","hour","minute","second","timezone"]),a=Gt([i.year,i.month,i.date||i.day]);return i.text=Vt(a),i.timezone&&("Z"===i.timezone&&(i.timezone="UTC"),i.text+=` (${i.timezone})`),i.hour&&i.minute&&(i.second?i.text=`${i.hour}:${i.minute}:${i.second}, `+i.text:i.text=`${i.hour}:${i.minute}, `+i.text),i.text&&t.push(Xt(i)),i.text},natural_date:(e,t)=>{let i=Pe(e,["text"]).text||"",a={};if(/^[0-9]{4}$/.test(i))a.year=parseInt(i,10);else{let e=i.replace(/[a-z]+\/[a-z]+/i,"");e=e.replace(/[0-9]+:[0-9]+(am|pm)?/i,"");let t=new Date(e);!1===isNaN(t.getTime())&&(a.year=t.getFullYear(),a.month=t.getMonth()+1,a.date=t.getDate())}return t.push(Xt(a)),i.trim()},one_year:(e,t)=>{let i=Pe(e,["year"]),a=Number(i.year);return t.push(Xt({year:a})),String(a)},two_dates:(e,t)=>{let i=Pe(e,["b","birth_year","birth_month","birth_date","death_year","death_month","death_date"]);if(i.b&&"b"===i.b.toLowerCase()){let e=Gt([i.birth_year,i.birth_month,i.birth_date]);return t.push(Xt(e)),Vt(e)}let a=Gt([i.death_year,i.death_month,i.death_date]);return t.push(Xt(a)),Vt(a)},age:e=>{let t=Qt(e);return Wt(t.from,t.to).years||0},"diff-y":e=>{let t=Qt(e),i=Wt(t.from,t.to);return 1===i.years?i.years+" year":(i.years||0)+" years"},"diff-ym":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),a.join(", ")},"diff-ymd":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-yd":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-d":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return i.days+=365*(i.years||0),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")}},ti=["January","February","March","April","May","June","July","August","September","October","November","December"];var ii={currentday:()=>{let e=new Date;return String(e.getDate())},currentdayname:()=>{let e=new Date;return Ht[e.getDay()]},currentmonth:()=>{let e=new Date;return ti[e.getMonth()]},currentyear:()=>{let e=new Date;return String(e.getFullYear())},monthyear:()=>{let e=new Date;return ti[e.getMonth()]+" "+e.getFullYear()},"monthyear-1":()=>{let e=new Date;return e.setMonth(e.getMonth()-1),ti[e.getMonth()]+" "+e.getFullYear()},"monthyear+1":()=>{let e=new Date;return e.setMonth(e.getMonth()+1),ti[e.getMonth()]+" "+e.getFullYear()},year:e=>{let t=Pe(e,["date"]).date,i=new Date(t);return t&&!1===isNaN(i.getTime())?String(i.getFullYear()):""},"time ago":e=>function(e){let t=new Date(e);if(isNaN(t.getTime()))return"";let i=(new Date).getTime()-t.getTime(),a="ago";i<0&&(a="from now",i=Math.abs(i));let n=i/1e3/60/60/24;return n<365?Number(n)+" days "+a:Number(n/365)+" years "+a}(Pe(e,["date","fmt"]).date),"birth date and age":(e,t)=>{let i=Pe(e,["year","month","day"]);return i.year&&/[a-z]/i.test(i.year)?ei.natural_date(e,t):(t.push(i),i=Gt([i.year,i.month,i.day]),Vt(i))},"birth year and age":(e,t)=>{let i=Pe(e,["birth_year","birth_month"]);if(i.death_year&&/[a-z]/i.test(i.death_year))return ei.natural_date(e,t);t.push(i);let a=(new Date).getFullYear()-parseInt(i.birth_year,10);i=Gt([i.birth_year,i.birth_month]);let n=Vt(i);return a&&(n+=` (age ${a})`),n},"death year and age":(e,t)=>{let i=Pe(e,["death_year","birth_year","death_month"]);return i.death_year&&/[a-z]/i.test(i.death_year)?ei.natural_date(e,t):(t.push(i),i=Gt([i.death_year,i.death_month]),Vt(i))},"birth date and age2":(e,t)=>{let i=Pe(e,["at_year","at_month","at_day","birth_year","birth_month","birth_day"]);return t.push(i),i=Gt([i.birth_year,i.birth_month,i.birth_day]),Vt(i)},"birth based on age as of date":(e,t)=>{let i=Pe(e,["age","year","month","day"]);t.push(i);let a=parseInt(i.age,10),n=parseInt(i.year,10)-a;return n&&a?`${n} (age ${i.age})`:`(age ${i.age})`},"death date and given age":(e,t)=>{let i=Pe(e,["year","month","day","age"]);t.push(i),i=Gt([i.year,i.month,i.day]);let a=Vt(i);return i.age&&(a+=` (age ${i.age})`),a},dts:e=>{e=(e=e.replace(/\|format=[ymd]+/i,"")).replace(/\|abbr=(on|off)/i,"");let t=Pe(e,["year","month","date","bc"]);return t.date&&t.month&&t.year?!0===/[a-z]/.test(t.month)?[t.month,t.date,t.year].join(" "):[t.year,t.month,t.date].join("-"):t.month&&t.year?[t.year,t.month].join("-"):t.year?(t.year<0&&(t.year=Math.abs(t.year)+" BC"),t.year):""},time:()=>{let e=new Date,t=Gt([e.getFullYear(),e.getMonth(),e.getDate()]);return Vt(t)},millennium:e=>{let t=Pe(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/1e3)+1,t.abbr&&"y"===t.abbr?i<0?`${xt(Math.abs(i))} BC`:`${xt(i)}`:`${xt(i)} millennium`},start:ei.date,"start-date":ei.natural_date,birthdeathage:ei.two_dates,age:ei.age,"age nts":ei.age,"age in years":ei["diff-y"],"age in years and months":ei["diff-ym"],"age in years, months and days":ei["diff-ymd"],"age in years and days":ei["diff-yd"],"age in days":ei["diff-d"]};function ai(e){let t=e.pop(),i=Number(e[0]||0),a=Number(e[1]||0),n=Number(e[2]||0);if("string"!=typeof t||isNaN(i))return null;let r=1;return/[SW]/i.test(t)&&(r=-1),r*(i+a/60+n/3600)}const ni=function(e){if("number"!=typeof e)return e;let t=1e5;return Math.round(e*t)/t},ri={s:!0,w:!0},oi=function(e){let t=Pe(e);t=function(e){return e.list=e.list||[],e.list=e.list.map((t=>{let i=Number(t);if(!isNaN(i))return i;let a=t.split(/:/);return a.length>1?(e.props=e.props||{},e.props[a[0]]=a.slice(1).join(":"),null):t})),e.list=e.list.filter((e=>null!==e)),e}(t);let i=function(e){const t=e.map((e=>typeof e)).join("|");return 2===e.length&&"number|number"===t?{lat:e[0],lon:e[1]}:4===e.length&&"number|string|number|string"===t?(ri[e[1].toLowerCase()]&&(e[0]*=-1),"w"===e[3].toLowerCase()&&(e[2]*=-1),{lat:e[0],lon:e[2]}):6===e.length?{lat:ai(e.slice(0,3)),lon:ai(e.slice(3))}:8===e.length?{lat:ai(e.slice(0,4)),lon:ai(e.slice(4))}:{}}(t.list);return t.lat=ni(i.lat),t.lon=ni(i.lon),t.template="coord",delete t.list,t},si={coord:(e,t)=>{let i=oi(e);return t.push(i),i.display&&-1===i.display.indexOf("inline")?"":`${i.lat||""}°N, ${i.lon||""}°W`}},li=function(e,t,i,a){let n=Pe(e);return a&&(n.name=n.template,n.template=a),t.push(n),""},ci={persondata:li,taxobox:li,citation:li,portal:li,reflist:li,"cite book":li,"cite journal":li,"cite web":li,"commons cat":li,"election box candidate":li,"election box begin":li,main:li},ui={adx:"adx",aim:"aim",amex:"amex",asx:"asx",athex:"athex",b3:"b3","B3 (stock exchange)":"B3 (stock exchange)",barbadosse:"barbadosse",bbv:"bbv",bcba:"bcba",bcs:"bcs",bhse:"bhse",bist:"bist",bit:"bit","bm&f bovespa":"b3","bm&f":"b3",bmad:"bmad",bmv:"bmv","bombay stock exchange":"bombay stock exchange","botswana stock exchange":"botswana stock exchange",bpse:"bpse",bse:"bse",bsx:"bsx",bvb:"bvb",bvc:"bvc",bvl:"bvl",bvpasa:"bvpasa",bwse:"bwse","canadian securities exchange":"canadian securities exchange",cse:"cse",darse:"darse",dfm:"dfm",dse:"dse",euronext:"euronext",euronextparis:"euronextparis",fse:"fse",fwb:"fwb",gse:"gse",gtsm:"gtsm",idx:"idx",ise:"ise",iseq:"iseq",isin:"isin",jasdaq:"jasdaq",jse:"jse",kase:"kase",kn:"kn",krx:"krx",lse:"lse",luxse:"luxse","malta stock exchange":"malta stock exchange",mai:"mai",mcx:"mcx",mutf:"mutf",myx:"myx",nag:"nag","nasdaq dubai":"nasdaq dubai",nasdaq:"nasdaq",neeq:"neeq",nepse:"nepse",nex:"nex",nse:"nse",newconnect:"newconnect","nyse arca":"nyse arca",nyse:"nyse",nzx:"nzx","omx baltic":"omx baltic",omx:"omx",ose:"ose","otc expert":"otc expert","otc grey":"otc grey","otc pink":"otc pink",otcqb:"otcqb",otcqx:"otcqx","pfts ukraine stock exchange":"pfts ukraine stock exchange","philippine stock exchange":"philippine stock exchange",prse:"prse",psx:"psx",karse:"karse",qe:"qe","saudi stock exchange":"saudi stock exchange",sehk:"sehk","Stock Exchange of Thailand":"Stock Exchange of Thailand",set:"set",sgx:"sgx",sse:"sse",swx:"swx",szse:"szse",tase:"tase","tsx-v":"tsx-v",tsx:"tsx",tsxv:"tsxv",ttse:"ttse",twse:"twse",tyo:"tyo",wbag:"wbag",wse:"wse","zagreb stock exchange":"zagreb stock exchange","zimbabwe stock exchange":"zimbabwe stock exchange",zse:"zse"},mi=(e,t)=>{let i=Pe(e,["ticketnumber","code"]);t.push(i);let a=i.template||"";""===a&&(a=i.code),a=(a||"").toLowerCase();let n=ui[a]||"";return i.ticketnumber&&(n=`${n}: ${i.ticketnumber}`),i.code&&!ui[i.code.toLowerCase()]&&(n+=" "+i.code),n},pi={};Object.keys(ui).forEach((e=>{pi[e]=mi}));const di=function(e){return 1===(e=String(e)).length&&(e="0"+e),e},hi=function(e,t,i){e[`rd${t}-team${di(i)}`]&&(i=di(i));let a=e[`rd${t}-score${i}`],n=Number(a);return!1===isNaN(n)&&(a=n),{team:e[`rd${t}-team${i}`],score:a,seed:e[`rd${t}-seed${i}`]}},gi=function(e){let t=[],i=Pe(e);for(let e=1;e<7;e+=1){let a=[];for(let t=1;t<16;t+=2){let n=`rd${e}-team`;if(!i[n+t]&&!i[n+di(t)])break;{let n=hi(i,e,t),r=hi(i,e,t+1);a.push([n,r])}}a.length>0&&t.push(a)}return{template:"playoffbracket",rounds:t}};let bi={"4teambracket":function(e,t){let i=gi(e);return t.push(i),""},player:(e,t)=>{let i=Pe(e,["number","country","name","dl"]);t.push(i);let a=`[[${i.name}]]`;if(i.country){let e=(i.country||"").toLowerCase(),t=zt.find((t=>e===t[1]||e===t[2]))||[];t&&t[0]&&(a=t[0]+" "+a)}return i.number&&(a=i.number+" "+a),a},goal:(e,t)=>{let i={template:"goal",data:[]},a=Pe(e).list||[];for(let e=0;e{let t=e.note;return t&&(t=` (${t})`),e.min+"'"+t})).join(", "),n},"sports table":(e,t)=>{let i=Pe(e),a={};Object.keys(i).filter((e=>/^team[0-9]/.test(e))).map((e=>i[e].toLowerCase())).forEach((e=>{a[e]={name:i[`name_${e}`],win:Number(i[`win_${e}`])||0,loss:Number(i[`loss_${e}`])||0,tie:Number(i[`tie_${e}`])||0,otloss:Number(i[`otloss_${e}`])||0,goals_for:Number(i[`gf_${e}`])||0,goals_against:Number(i[`ga_${e}`])||0}}));let n={date:i.update,header:i.table_header,teams:a};t.push(n)},"cbb roster/header":function(){return'{| class="wikitable"\n |-\n ! POS\n ! #\n ! Name\n ! Height\n ! Weight\n ! Year\n ! Previous School\n ! Hometown\n |-\n'},"cbb roster/player":function(e,t){let i=Pe(e);return t.push(i),`|-\n| ${i.pos||""}\n| ${i.num||""}\n| ${i.first||""} ${i.last||""}\n| ${i.ft||""}${i.in||""}\n| ${i.lbs||""}\n| ${i.class||""}\n| ${i.high_school||""}\n| ${i.home||""}\n`},"cbb roster/footer":function(){return"\n|}"}};var fi=Object.assign({},Tt,Dt,Ft,ii,si,ci,pi,gi,bi);let ki=Object.assign({},Nt,Pt,fi);Object.keys(dt).forEach((e=>{ki[e]=ki[dt[e]]}));const wi=["0","1","2","3","4","5","6","7","8","9"],yi=function(e,t){let i=e.name;if(!0===ot.hasOwnProperty(i))return[""];if(!0===function(e){return!0===st.hasOwnProperty(e)||!!lt.test(e)||!(!ct.test(e)&&!ut.test(e))||!!mt.test(e)}(i)){let t=Pe(e.body,[],"raw");return["",pt(t)]}if(!0===/^cite [a-z]/.test(i)){let t=Pe(e.body);return t.type=t.template,t.template="citation",["",t]}if(!0===ki.hasOwnProperty(i)){if("number"==typeof ki[i]){return[Pe(e.body,wi)[String(ki[i])]||""]}if("string"==typeof ki[i])return[ki[i]];if(!0===o(ki[i])){return["",Pe(e.body,ki[i])]}if(!0===((a=ki[i])&&"[object Object]"===Object.prototype.toString.call(a))){let t=Pe(e.body,ki[i].props);return[t[ki[i].out],t]}if("function"==typeof ki[i]){let a=[];return[ki[i](e.body,a,Pe,null,t),a[0]]}}var a;if(t&&t._templateFallbackFn){let i=[],a=t._templateFallbackFn(e.body,i,Pe,null,t);if(null!==a)return[a,i[0]]}let n=Pe(e.body);return 0===Object.keys(n).length&&(n=null),["",n]},$i=(e="")=>(e=(e=e.toLowerCase()).replace(/[-_]/g," ")).trim(),xi=function(e,t){this._type=e.type,this.domain=e.domain,Object.defineProperty(this,"data",{enumerable:!1,value:e.data}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},vi={type:function(){return this._type},links:function(e){let t=[];if(Object.keys(this.data).forEach((e=>{this.data[e].links().forEach((e=>t.push(e)))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},image:function(){let e=this.data.image||this.data.image2||this.data.logo||this.data.image_skyline||this.data.image_flag;if(!e)return null;let t=e.json(),i=t.text;return t.file=i,t.text="",t.caption=this.data.caption,t.domain=this.domain,new _(t)},get:function(e){let t=Object.keys(this.data);if("string"==typeof e){let i=$i(e);for(let e=0;e{for(let i=0;i(e.data[i]&&(t[i]=e.data[i].json()),t)),{});return!0===t.encode&&(i=W(i)),i}(this,e=e||{})},wikitext:function(){return this.wiki||""},keyValue:function(){return Object.keys(this.data).reduce(((e,t)=>(this.data[t]&&(e[t]=this.data[t].text()),e)),{})}};Object.keys(vi).forEach((e=>{xi.prototype[e]=vi[e]})),xi.prototype.data=xi.prototype.keyValue,xi.prototype.template=xi.prototype.type,xi.prototype.images=xi.prototype.image;const ji=function(e,t){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},_i={title:function(){let e=this.data;return e.title||e.encyclopedia||e.author||""},links:function(e){let t=[];if("number"==typeof e)return t[e];if("number"==typeof e)return t[e];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},text:function(){return""},wikitext:function(){return this.wiki||""},json:function(e={}){let t=this.data||{};return!0===e.encode&&(t=Object.assign({},t),t=W(t)),t}};Object.keys(_i).forEach((e=>{ji.prototype[e]=_i[e]}));const zi={text:function(){return se(this._text||"").text()},json:function(){return this.data||{}},wikitext:function(){return this.wiki||""}},Oi=function(e,t="",i=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_text",{enumerable:!1,value:t}),Object.defineProperty(this,"wiki",{enumerable:!1,value:i})};Object.keys(zi).forEach((e=>{Oi.prototype[e]=zi[e]}));const Ei=/^(cite |citation)/i,qi={citation:!0,refn:!0,harvnb:!0,source:!0},Ni=function(e,t){let{list:i,wiki:a}=function(e,t){let i=[],a=rt(e);const n=function(a,r){a.parent=r,a.children&&a.children.length>0&&a.children.forEach((e=>n(e,a)));let[o,s]=yi(a,t);a.wiki=o,s&&i.push({name:a.name,wiki:a.body,nested:Boolean(a.parent),text:o,json:s});const l=function(e,t,i){e.parent&&(e.parent.body=e.parent.body.replace(t,i),l(e.parent,t,i))};l(a,a.body,a.wiki),e=e.replace(a.body,a.wiki)};return a.forEach((e=>n(e,null))),a.forEach((t=>{e=e.replace(t.body,t.wiki)})),{list:i,wiki:e}}(e._wiki,t),n=t?t._domain:null,{infoboxes:r,references:o,templates:s}=function(e,t){let i={infoboxes:[],templates:[],references:[]};return e.forEach((e=>{let a=e.json,n=a.template||a.type||a.name;if(!0!==qi[n]&&!0!==Ei.test(n))return"infobox"===a.template&&"yes"!==a.subbox?(a.domain=t,a.data=a.data||{},void i.infoboxes.push(new xi(a,e.wiki))):void i.templates.push(new Oi(a,e.text,e.wiki));i.references.push(new ji(a,e.wiki))})),i}(i,n);e._infoboxes=e._infoboxes||[],e._references=e._references||[],e._templates=e._templates||[],e._infoboxes=e._infoboxes.concat(r),e._references=e._references.concat(o),e._templates=e._templates.concat(s),e._wiki=a},Si=function(e){return/^ *\{\{ *(cite|citation)/i.test(e)&&/\}\} *$/.test(e)&&!1===/citation needed/i.test(e)},Ci=function(e){let t=Pe(e);return t.type=t.template.replace(/cite /,""),t.template="citation",t},Li=function(e){return{template:"citation",type:"inline",data:{},inline:se(e)||{}}},Ai=function(e){let t=[],i=e._wiki;i=i.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){if(Si(a)){let n=Ci(a);n&&t.push({json:n,wiki:e}),i=i.replace(a,"")}else t.push({json:Li(a),wiki:e});return" "})),i=i.replace(/ ?]{0,200}?\/> ?/gi," "),i=i.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){if(Si(a)){let e=Ci(a);e&&t.push({json:e,wiki:a}),i=i.replace(a,"")}else t.push({json:Li(a),wiki:e});return" "})),i=i.replace(/ ?<[ /]?[a-z0-9]{1,8}[a-z0-9=" ]{2,20}[ /]?> ?/g," "),e._references=t.map((e=>new ji(e.json,e.wiki))),e._wiki=i},Pi={coach:["team","year","g","w","l","w-l%","finish","pg","pw","pl","pw-l%"],player:["year","team","gp","gs","mpg","fg%","3p%","ft%","rpg","apg","spg","bpg","ppg"],roster:["player","gp","gs","mpg","fg%","3fg%","ft%","rpg","apg","spg","bpg","ppg"]};let Ti=["res","record","opponent","method","event","date","round","time","location","notes"];const Di=function(e,t){const i={templates:[],text:e._wiki};var a;return function(e,t){e.text=e.text.replace(/\{\{election box begin([\s\S]+?)\{\{election box end\}\}/gi,(i=>{let a={_wiki:i,_templates:[]};Ni(a,t);let n=a._templates.map((e=>e.json())),r=n.find((e=>"election box"===e.template))||{},o=n.filter((e=>"election box candidate"===e.template)),s=n.find((e=>"election box gain"===e.template||"election box hold"===e.template))||{};return(o.length>0||s)&&e.templates.push({template:"election box",title:r.title,candidates:o,summary:s.data}),""}))}(i,t),function(e,t,i){e.text=e.text.replace(/]*)>([\s\S]+)<\/gallery>/g,((a,n,r)=>{let o=r.split(/\n/g);return o=o.filter((e=>e&&""!==e.trim())),o=o.map((e=>{let i=e.split(/\|/),a={file:i[0].trim(),lang:t.lang(),domain:t.domain()},n=new _(a).json(),r=i.slice(1).join("|");return""!==r&&(n.caption=se(r)),n})),o.length>0&&e.templates.push({template:"gallery",images:o,pos:i.title}),""}))}(i,t,e),(a=i).text=a.text.replace(/]*)>([\s\S]*?)<\/math>/g,((e,t,i)=>{let n=se(i).text();return a.templates.push({template:"math",formula:n,raw:i}),n&&n.length<12?n:""})),a.text=a.text.replace(/]*)>([\s\S]*?)<\/chem>/g,((e,t,i)=>(a.templates.push({template:"chem",data:i}),""))),function(e){e.text=e.text.replace(/\{\{mlb game log /gi,"{{game log "),e.text=e.text.replace(/\{\{game log (section|month)[\s\S]+?\{\{game log (section|month) end\}\}/gi,(t=>{let i=function(e){let t=["#","date","opponent","score","win","loss","save","attendance","record"];return!0===/\|stadium=y/i.test(e)&&t.splice(7,0,"stadium"),!0===/\|time=y/i.test(e)&&t.splice(7,0,"time"),!0===/\|box=y/i.test(e)&&t.push("box"),t}(t);t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{game log (section|month) end\}\}/i,"");let a="! "+i.join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mlb game log section",data:n}),""}))}(i),function(e){e.text=e.text.replace(/\{\{mma record start[\s\S]+?\{\{end\}\}/gi,(t=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{end\}\}/i,"");let i="! "+Ti.join(" !! "),a=be("{|\n"+i+"\n"+t+"\n|}");return a=a.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mma record start",data:a}),""}))}(i),function(e){e.text=e.text.replace(/\{\{nba (coach|player|roster) statistics start([\s\S]+?)\{\{s-end\}\}/gi,((t,i)=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{s-end\}\}/,""),i=i.toLowerCase().trim();let a="! "+Pi[i].join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"NBA "+i+" statistics",data:n}),""}))}(i),i.templates=i.templates.map((e=>new Oi(e))),i},Ii={tables:!0,references:!0,paragraphs:!0,templates:!0,infoboxes:!0};class Mi{constructor(e,t){let i={doc:t,title:e.title||"",depth:e.depth,wiki:e.wiki||"",templates:[],tables:[],infoboxes:[],references:[],paragraphs:[]};Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})}));const a=Di(this,t);this._wiki=a.text,this._templates=this._templates.concat(a.templates),Ai(this),Ni(this,t),function(e){let t=[],i=e._wiki,a=i.split("\n"),n=[];for(let e=0;e0&&(n[n.length-1]+="\n"+a[e]);else{n[n.length-1]+="\n"+a[e];let i=n.pop();t.push(i)}else n.push(a[e]);let r=[];t.forEach((e=>{if(e){i=i.replace(e+"\n",""),i=i.replace(e,"");let t=be(e);t&&t.length>0&&r.push(new we(t,e))}})),r.length>0&&(e._tables=r),e._wiki=i}(this),Xe(this,t)}title(){return this._title||""}index(){if(!this._doc)return null;let e=this._doc.sections().indexOf(this);return-1===e?null:e}depth(){return this._depth}indentation(){return this.depth()}sentences(){return this.paragraphs().reduce(((e,t)=>e.concat(t.sentences())),[])}paragraphs(){return this._paragraphs||[]}links(e){let t=[];if(this.infoboxes().forEach((e=>{t.push(e.links())})),this.sentences().forEach((e=>{t.push(e.links())})),this.tables().forEach((e=>{t.push(e.links())})),this.lists().forEach((e=>{t.push(e.links())})),t=t.reduce(((e,t)=>e.concat(t)),[]).filter((e=>void 0!==e)),"string"==typeof e){let i=t.find((t=>t.page().toLowerCase()===e.toLowerCase()));return void 0===i?[]:[i]}return t}tables(){return this._tables||[]}templates(e){let t=this._templates||[];return"string"==typeof e?(e=e.toLowerCase(),t.filter((t=>t.data.template===e||t.data.name===e))):t}infoboxes(e){let t=this._infoboxes||[];return"string"==typeof e?(e=(e=e.replace(/^infobox /i,"")).trim().toLowerCase(),t.filter((t=>t._type===e))):t}coordinates(){return[...this.templates("coord"),...this.templates("coor")].map((e=>e.json()))}lists(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.lists())})),e}interwiki(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.interwiki())})),e}images(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.images())})),e}references(){return this._references||[]}remove(){if(!this._doc)return null;let e={};e[this.title()]=!0,this.children().forEach((t=>e[t.title()]=!0));let t=this._doc.sections();return t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),this._doc._sections=t,this._doc}nextSibling(){if(!this._doc)return null;let e=this._doc.sections();for(let t=(this.index()||0)+1;tthis.depth())for(let e=i+1;ethis.depth();e+=1)a.push(t[e]);return"string"==typeof e?a.find((t=>t.title().toLowerCase()===e.toLowerCase())):a}sections(e){return this.children(e)}parent(){if(!this._doc)return null;let e=this._doc.sections();for(let t=this.index()||0;t>=0;t-=1)if(e[t]&&e[t].depth()t.text(e))).join("\n\n")}wikitext(){return this._wiki}json(e){return function(e,t){let i={};if(!0===(t=p(t,H)).headers&&(i.title=e.title()),!0===t.depth&&(i.depth=e.depth()),!0===t.paragraphs){let a=e.paragraphs().map((e=>e.json(t)));a.length>0&&(i.paragraphs=a)}if(!0===t.images){let a=e.images().map((e=>e.json(t)));a.length>0&&(i.images=a)}if(!0===t.tables){let a=e.tables().map((e=>e.json(t)));a.length>0&&(i.tables=a)}if(!0===t.templates){let a=e.templates().map((e=>e.json()));a.length>0&&(i.templates=a,!0===t.encode&&i.templates.forEach((e=>W(e))))}if(!0===t.infoboxes){let a=e.infoboxes().map((e=>e.json(t)));a.length>0&&(i.infoboxes=a)}if(!0===t.lists){let a=e.lists().map((e=>e.json(t)));a.length>0&&(i.lists=a)}if(!0===t.references||!0===t.citations){let a=e.references().map((e=>e.json(t)));a.length>0&&(i.references=a)}return!0===t.sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=p(e,Ii))}}Mi.prototype.citations=Mi.prototype.references;const Fi={sentences:"sentence",paragraphs:"paragraph",links:"link",tables:"table",templates:"template",infoboxes:"infobox",coordinates:"coordinate",lists:"list",images:"image",references:"reference",citations:"citation"};Object.keys(Fi).forEach((e=>{let t=Fi[e];Mi.prototype[t]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]||null}}));const Ri=/^(={1,6})(.{1,200}?)={1,6}$/,Ui=/\{\{.+?\}\}/,Bi=function(e,t,i){let a=t.match(Ri);if(!a)return e.title="",e.depth=0,e;let n=a[2]||"";n=se(n).text(),Ui.test(n)&&(n=function(e,t){return rt(e).forEach((i=>{let[a]=yi(i,t);e=e.replace(i.body,a)})),e}(n,i));let o={_wiki:n};Ai(o),n=o._wiki,n=r(n);let s=0;return a[1]&&(s=a[1].length-2),e.title=n,e.depth=s,e},Ki=new RegExp("^("+["references","reference","einzelnachweise","referencias","références","notes et références","脚注","referenser","bronnen","примечания"].join("|")+"):?","i"),Wi=/(?:\n|^)(={2,6}.{1,200}?={2,6})/g,Hi=function(e){let t=[],i=e._wiki.split(Wi);for(let a=0;a!0!==Ki.test(t.title())||t.paragraphs().length>0||t.templates().length>0||(e[i+1]&&e[i+1].depth()>t.depth()&&(e[i+1]._depth-=1),!1)))}(t)},Yi=new RegExp("\\[\\[("+h.join("|")+"):(.{2,178}?)]](w{0,10})","gi"),Zi=new RegExp("^\\[\\[:?("+h.join("|")+"):","gi"),Gi=function(e){const t=[];let i=e.match(Yi);i&&i.forEach((function(e){(e=(e=(e=e.replace(Zi,"")).replace(/\|?[ *]?\]\]$/,"")).replace(/\|.*/,""))&&!e.match(/[[\]]/)&&t.push(e.trim())}));const a=e.replace(Yi,"");return[t,a]},Ji={tables:!0,lists:!0,paragraphs:!0};class Vi{constructor(e,t){t=t||{},this._options=t;let i={pageID:t.pageID||t.id||null,namespace:t.namespace||t.ns||null,lang:t.lang||t.language||null,domain:t.domain||null,title:t.title||null,type:"page",redirectTo:null,wikidata:t.wikidata||null,wiki:e||"",categories:[],sections:[],coordinates:[],userAgent:t.userAgent||t["User-Agent"]||t["Api-User-Agent"]||"User of the wtf_wikipedia library",templateFallbackFn:t.templateFallbackFn||null};if(Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})})),!0===function(e){return!!e&&D.test(e)}(this._wiki)){this._type="redirect",this._redirectTo=function(e){let t=e.match(D);if(t&&t[2])return(T(t[2])||[])[0];return{}}(this._wiki);const[e,t]=Gi(this._wiki);return this._categories=e,void(this._wiki=t)}this._wiki=U(this._wiki);const[a,n]=Gi(this._wiki);this._categories=a,this._wiki=n,this._sections=Hi(this)}title(e){if(void 0!==e)return this._title=e,e;if(this._title)return this._title;let t=null,i=this.sentences()[0];return i&&(t=i.bold()),t}pageID(e){return void 0!==e&&(this._pageID=e),this._pageID||null}wikidata(e){return void 0!==e&&(this._wikidata=e),this._wikidata||null}domain(e){return void 0!==e&&(this._domain=e),this._domain||null}language(e){return void 0!==e&&(this._lang=e),this._lang||null}url(){let e=this.title();if(!e)return null;let t=this.language()||"en",i=this.domain()||"wikipedia.org";return e=e.replace(/ /g,"_"),e=encodeURIComponent(e),`https://${t}.${i}/wiki/${e}`}namespace(e){return void 0!==e&&(this._namespace=e),this._namespace||null}isRedirect(){return"redirect"===this._type}redirectTo(){return this._redirectTo}isDisambiguation(){return function(e){let t=e.templates().map((e=>e.json()));if(t.find((e=>k.hasOwnProperty(e.template)||x.hasOwnProperty(e.template))))return!0;let i=e.title();return!(!i||!0!==$.test(i))||!t.find((e=>y.hasOwnProperty(e.template)))&&(!0===v(e.sentence(0))||!0===v(e.sentence(1)))}(this)}categories(e){let t=this._categories||[];return"number"==typeof e?[t[e]]:t}sections(e){let t=this._sections||[];if(t.forEach((e=>{e._doc=this})),"string"==typeof e){let i=e.toLowerCase().trim();return t.filter((e=>e.title().toLowerCase()===i))}return"number"==typeof e?[t[e]]:t}paragraphs(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.paragraphs())})),"number"==typeof e?[t[e]]:t}sentences(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.sentences())})),"number"==typeof e?[t[e]]:t}images(e){let t=m(this,"images",null);return this.infoboxes().forEach((e=>{let i=e.image();i&&t.unshift(i)})),this.templates().forEach((e=>{"gallery"===e.data.template&&(e.data.images=e.data.images||[],e.data.images.forEach((e=>{e instanceof _||(e.language=this.language(),e.domain=this.domain(),e=new _(e)),t.push(e)})))})),"number"==typeof e?[t[e]]:t}links(e){return m(this,"links",e)}interwiki(e){return m(this,"interwiki",e)}lists(e){return m(this,"lists",e)}tables(e){return m(this,"tables",e)}templates(e){return m(this,"templates",e)}references(e){return m(this,"references",e)}citations(e){return this.references(e)}coordinates(e){return m(this,"coordinates",e)}infoboxes(e){let t=m(this,"infoboxes",e);return t=t.sort(((e,t)=>Object.keys(e.data).length>Object.keys(t.data).length?-1:1)),t}text(e){if(e=p(e,Ji),!0===this.isRedirect())return"";return this.sections().map((t=>t.text(e))).join("\n\n")}json(e){return function(e,t){let i={};return(t=p(t,d)).title&&(i.title=e.title()),t.pageID&&(i.pageID=e.pageID()),t.categories&&(i.categories=e.categories()),t.sections&&(i.sections=e.sections().map((e=>e.json(t)))),!0===e.isRedirect()&&(i.isRedirect=!0,i.redirectTo=e.redirectTo(),i.sections=[]),t.coordinates&&(i.coordinates=e.coordinates()),t.infoboxes&&(i.infoboxes=e.infoboxes().map((e=>e.json(t)))),t.images&&(i.images=e.images().map((e=>e.json(t)))),t.plaintext&&(i.plaintext=e.text(t)),(t.citations||t.references)&&(i.references=e.references()),i}(this,e=p(e,Ji))}wikitext(){return this._wiki||""}debug(){return console.log("\n"),this.sections().forEach((e=>{let t=" - ";for(let i=0;i{let t=Xi[e];Vi.prototype[t]=function(t){return this[e](t)[0]||null}})),Vi.prototype.lang=Vi.prototype.language,Vi.prototype.ns=Vi.prototype.namespace,Vi.prototype.plaintext=Vi.prototype.text,Vi.prototype.isDisambig=Vi.prototype.isDisambiguation,Vi.prototype.citations=Vi.prototype.references,Vi.prototype.redirectsTo=Vi.prototype.redirectTo,Vi.prototype.redirect=Vi.prototype.redirectTo,Vi.prototype.redirects=Vi.prototype.redirectTo;const Qi=/^https?:\/\//,ea={lang:"en",wiki:"wikipedia",domain:void 0,follow_redirects:!0,path:"api.php"},ta=function(e,t,i){"string"==typeof t&&(t={lang:t}),(t={...ea,...t}).title=e,"string"==typeof e&&Qi.test(e)&&(t={...t,...n(e)});const r=u(t),s=function(e){let t,i=e.userAgent||e["User-Agent"]||e["Api-User-Agent"]||"User of the wtf_wikipedia library";return t=e.noOrigin?"":e.origin||e.Origin||"*",{method:"GET",headers:{"Content-Type":"application/json","Api-User-Agent":i,"User-Agent":i,Origin:t,"Accept-Encoding":"gzip"},redirect:"follow"}}(t);return a(r,s).then((e=>e.json())).then((a=>{if(!a)throw new Error(`No JSON Data Found For ${r}`);let n=function(e,t={}){return e?.query?.pages&&e?.query&&e?Object.keys(e.query.pages).map((i=>{let a=e.query.pages[i]||{};if(a.hasOwnProperty("missing")||a.hasOwnProperty("invalid"))return null;let n=a.revisions[0]["*"];!n&&a.revisions[0].slots&&(n=a.revisions[0].slots.main["*"]),a.pageprops=a.pageprops||{};let r=t.domain;return!r&&t.wiki&&(r=`${t.wiki}.org`),{wiki:n,meta:Object.assign({},t,{title:a.title,pageID:a.pageid,namespace:a.ns,domain:r,wikidata:a.pageprops.wikibase_item,description:a.pageprops["wikibase-shortdesc"]})}})):null}(a,t);return n=function(e,t){let i=(e=e.filter((e=>e))).map((e=>new Vi(e.wiki,e.meta)));return 0===i.length?null:o(t)||1!==i.length?i:i[0]}(n,e),i&&i(null,n),n})).catch((e=>(console.error(e),i&&i(e,null),null)))};const ia=function(e,t){return new Vi(e,t)},aa={Doc:Vi,Section:Mi,Paragraph:_e,Sentence:X,Image:_,Infobox:xi,Link:Z,List:Be,Reference:ji,Table:we,Template:Oi,http:function(e,t){return a(e,t).then((function(e){return e.json()})).catch((t=>(console.error("\n\n=-=- http response error =-=-=-"),console.error(e),console.error(t),{})))},wtf:ia};return ia.fetch=function(e,t,i){return ta(e,t,i)},ia.plugin=ia.extend=function(e){return e(aa,ki,st),this},ia.version="10.2.0",ia})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).wtf=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var i=function e(){if(this instanceof e){var i=[null];return i.push.apply(i,arguments),new(Function.bind.apply(t,i))}return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})})),i}var i=t(Object.freeze({__proto__:null,default:function(e,t){return t=t||{},new Promise((function(i,a){var n=new XMLHttpRequest,r=[],o=[],s={},l=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:l,headers:{keys:function(){return r},entries:function(){return o},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var c in n.open(t.method||"get",e,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,i){r.push(t=t.toLowerCase()),o.push([t,i]),s[t]=s[t]?s[t]+","+i:i})),i(l())},n.onerror=a,n.withCredentials="include"==t.credentials,t.headers)n.setRequestHeader(c,t.headers[c]);n.send(t.body||null)}))}})),a=e(self.fetch||(self.fetch=i.default||i));const n=function(e){let t=new URL(e),i=t.pathname.replace(/^\/(wiki\/)?/,"");return i=decodeURIComponent(i),{domain:t.host,title:i}};function r(e){return e&&"string"==typeof e?e=(e=(e=(e=e.replace(/^\s+/,"")).replace(/\s+$/,"")).replace(/ {2}/," ")).replace(/\s, /,", "):""}function o(e){return"[object Array]"===Object.prototype.toString.call(e)}const s=/(wikibooks|wikidata|wikimedia|wikinews|wikipedia|wikiquote|wikisource|wikispecies|wikiversity|wikivoyage|wiktionary|foundation|meta)\.org/,l={action:"query",prop:"revisions|pageprops",rvprop:"content",maxlag:5,rvslots:"main",origin:"*",format:"json",redirects:"true"},c=e=>e.replace(/ /g,"_").trim(),u=function(e,t=l){let i=Object.assign({},t),a="";if(e.domain){let t=s.test(e.domain)?"w/api.php":e.path;a=`https://${e.domain}/${t}?`}else{if(!e.lang||!e.wiki)return"";a=`https://${e.lang}.${e.wiki}.org/w/api.php?`}e.follow_redirects||delete i.redirects,e.origin&&(i.origin=e.origin);let n=e.title;if("number"==typeof n)i.pageids=n;else if("string"==typeof n)i.titles=c(n);else if(void 0!==n&&o(n)&&"number"==typeof n[0])i.pageids=n.filter((e=>e)).join("|");else{if(void 0===n||!0!==o(n)||"string"!=typeof n[0])return"";i.titles=n.filter((e=>e)).map(c).join("|")}return`${a}${r=i,Object.entries(r).map((([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&")}`;var r},m=function(e,t,i){let a=[];return e.sections().forEach((e=>{let n=[];n="string"==typeof i?e[t](i):e[t](),n.forEach((e=>{a.push(e)}))})),"number"==typeof i?void 0===a[i]?[]:[a[i]]:a},d=function(e,t){return Object.assign({},t,e)},p={title:!0,sections:!0,pageID:!0,categories:!0};var h=["category","abdeeling","bólkur","catagóir","categori","categoria","categoria","categoría","categorîa","categorìa","catégorie","categorie","catègorie","category","categuria","catigurìa","class","ẹ̀ka","flocc","flocc","flokkur","grup","jamii","kaarangay","kateggoría","kategooria","kategori","kategorî","kategoria","kategória","kategorie","kategoriija","kategorija","kategorio","kategoriya","kategoriýa","kategoriye","kategory","kategorya","kateqoriya","katiguriya","klad","luokka","ñemohenda","roinn","ronney","rummad","setensele","sokajy","sumut","thể","turkum","категорија","категория","категорія","катэгорыя","төркем","קטגוריה","تصنيف","تۈر","رده","श्रेणी","श्रेणी","বিষয়শ্রেণী","หมวดหมู่","분류","분류","分类"],g=["file","image","चित्र","archivo","attēls","berkas","bestand","datei","dosiero","dosya","fájl","fasciculus","fichier","fil","fitxategi","fitxer","gambar","imagem","imej","immagine","larawan","lêer","plik","restr","slika","wêne","wobraz","выява","податотека","слика","файл","სურათი","պատկեր","קובץ","پرونده","دوتنه","ملف","وێنە","चित्र","ไฟล์","파일","ファイル"],b=["infobox","anfo","anuāmapa","bilgi kutusu","bilgi","bilgiquti","boaty","boestkelaouiñ","bosca","capsa","diehtokássa","faktamall","ficha","generalni","gwybodlen3","info","infobokis","infoboks","infochascha","infokašćik","infokast","infokutija","infolentelė","infopolje","informkesto","infoskreine","infotaula","inligtingskas","inligtingskas3","inligtingskas4","kishtey","kotak","tertcita","tietolaatikko","yerleşim bilgi kutusu","ynfoboks","πλαίσιο","акарточка","аҥа","инфобокс","инфокутија","инфокутия","інфобокс","канадский","картка","карточка","карточка2","карточкарус","картуш","қуттӣ","ინფოდაფა","տեղեկաքարտ","אינפאקעסטל","תבנית","بطاقة","ڄاڻخانو","خانہ","لغة","ज्ञानसन्दूक","তথ্যছক","ਜਾਣਕਾਰੀਡੱਬਾ","సమాచారపెట్టె","තොරතුරුකොටුව","กล่องข้อมูล","ប្រអប់ព័ត៌មាន","정보상자","明細"];let f=" disambiguation";const k=["dab","dab","disamb","disambig","geodis","hndis","setindex","ship index","split dab","sport index","wp disambig","disambiguation cleanup","airport"+f,"biology"+f,"call sign"+f,"caselaw"+f,"chinese title"+f,"genus"+f,"hospital"+f,"lake index","letter"+f,"letter-number combination"+f,"mathematical"+f,"military unit"+f,"mountainindex","number"+f,"phonetics"+f,"place name"+f,"portal"+f,"road"+f,"school"+f,"species latin name abbreviation"+f,"species latin name"+f,"station"+f,"synagogue"+f,"taxonomic authority"+f,"taxonomy"+f].reduce(((e,t)=>(e[t]=!0,e)),{}),w=/. may (also )?refer to\b/i,y={about:!0,for:!0,"for multi":!0,"other people":!0,"other uses of":!0,distinguish:!0},$=new RegExp(". \\(("+["disambiguation","homonymie","توضيح","desambiguação","Begriffsklärung","disambigua","曖昧さ回避","消歧義","搞清楚","значения","ابهام‌زدایی","د ابہام","동음이의","dubbelsinnig","այլ կիրառումներ","ujednoznacznienie"].join("|")+")\\)$","i"),x=["dab","disamb","disambig","disambiguation","letter-numbercombdisambig","letter-number combination disambiguation","dmbox","airport disambiguation","biology disambiguation","call sign disambiguation","caselaw disambiguation","chinese title disambiguation","disambiguation cleanup","genus disambiguation","hospital disambiguation","human name disambiguation","human name disambiguation cleanup","letter-number combination disambiguation","mathematical disambiguation","military unit disambiguation","music disambiguation","number disambiguation","opus number disambiguation","phonetics disambiguation","place name disambiguation","portal disambiguation","road disambiguation","school disambiguation","species latin name abbreviation disambiguation","species latin name disambiguation","station disambiguation","synagogue disambiguation","taxonomic authority disambiguation","taxonomy disambiguation","template disambiguation","disamb2","disamb3","disamb4","disambiguation lead","disambiguation lead name","disambiguation name","disamb-term","disamb-terms","aðgreining","aimai","ałtsʼáʼáztiin","anlam ayrımı","anlam ayrımı","apartigilo","argipen","begriepskloorenge","begriffsklärung","begriffsklärung","begriffsklärung","begriffsklearung","bisongidila","bkl","bokokani","caddayn","clerheans","cudakirin","čvor","db","desambig","desambigación","desambiguação","desambiguació","desambiguación","desambiguáncia","desambiguasion","desambiguassiù","desambigui","dezambiguizare","dəqiqləşdirmə","disambigua","disambigua","disambigua","disambìgua","disambigua","disambiguasi","disambiguasi","discretiva","disheñvelout","disingkek","dixanbigua","dixebra","diżambigwazzjoni","doorverwijspagina","dp","dp","dubbelsinnig","dudalipen","dv","egyért","fleiri týdningar","fleirtyding","flertydig","förgrening","gì-ngiê","giklaro","gwahaniaethu","homonimo","homónimos","homonymie","huaʻōlelo puana like","idirdhealú","khu-pia̍t","kthjellim","kujekesa","maana","maneo bin","mehrdüdig begreep","menm non","muardüüdag artiikel","neibetsjuttings","nozīmju atdalīšana","nuorodinis","nyahkekaburan","omonimeye","omonimia","page dé frouque","paglilinaw","panangilawlawag","pansayod","pejy mitovy anarana","peker","razdvojba","razločitev","razvrstavanje","reddaghey","rozcestník","rozlišovacia stránka","sclerir noziun","selvendyssivu","soilleireachadh","suzmunski","täpsustuslehekülg","täsmennyssivu","telplänov","tlahtolmelahuacatlaliztli","trang định hướng","ujednoznacznienie","verdudeliking","wěcejwóznamowosć","wjacezmyslnosć","zambiguaçon","zeimeibu škiršona","αποσαφήνιση","айрық","аҵакырацәа","вишезначна одредница","ибҳомзудоӣ","кёб магъаналы","күп мәгънәләр","күп мәғәнәлелек","мъногосъмꙑслиѥ","неадназначнасць","неадназначнасьць","неоднозначность","олон удхатай","појаснување","пояснение","са шумуд манавал","салаа утгатай","суолталар","текмаанисиздик","цо магіна гуреб","чеперушка","чолхалла","шуко ончыктымаш-влак","მრავალმნიშვნელოვანი","բազմիմաստութիւն","բազմիմաստություն","באדייטן","פירושונים","ابهام‌زدایی","توضيح","توضيح","دقیقلشدیرمه","ڕوونکردنەوە","سلجهائپ","ضد ابہام","گجگجی بیری","نامبهمېدنه","መንታ","अस्पष्टता","बहुअर्थी","बहुविकल्पी शब्द","দ্ব্যর্থতা নিরসন","ਗੁੰਝਲ-ਖੋਲ੍ਹ","સંદિગ્ધ શીર્ષક","பக்கவழி நெறிப்படுத்தல்","అయోమయ నివృత్తి","ದ್ವಂದ್ವ ನಿವಾರಣೆ","വിവക്ഷകൾ","වක්‍රෝත්ති","แก้ความกำกวม","သံတူကြောင်းကွဲ","ណែនាំ","동음이의","扤清楚","搞清楚","曖昧さ回避","消歧义","釋義","gestion dj'omònim","sut'ichana qillqa"].reduce(((e,t)=>(e[t]=!0,e)),{}),v=function(e){if(!e)return!1;let t=e.text();return!(null===t||!t[0]||!0!==w.test(t))},j={caption:!0,alt:!0,links:!0,thumb:!0,url:!0},_=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},z={file(){let e=this.data.file||"";if(e){/^(image|file):/i.test(e)||(e=`File:${e}`),e=e.trim(),e=e.charAt(0).toUpperCase()+e.substring(1),e=e.replace(/ /g,"_")}return e},alt(){let e=this.data.alt||this.data.file||"";return e=e.replace(/^(file|image):/i,""),e=e.replace(/\.(jpg|jpeg|png|gif|svg)/i,""),e.replace(/_/g," ")},caption(){return this.data.caption?this.data.caption.text():""},links(){return this.data.caption?this.data.caption.links():[]},url(){let e=function(e){let t=function(e){let t=e.replace(/^(image|file?):/i,"");return t=t.charAt(0).toUpperCase()+t.substring(1),t=t.trim().replace(/ /g,"_"),t}(e);return t=encodeURIComponent(t),t}(this.file());return`https://${this.data.domain||"wikipedia.org"}/wiki/Special:Redirect/file/${e}`},thumbnail(e){return e=e||300,this.url()+"?width="+e},format(){let e=this.file().split(".");return e[e.length-1]?e[e.length-1].toLowerCase():null},json:function(e){return function(e,t){t=d(t,j);let i={file:e.file()};return!1!==t.thumb&&(i.thumb=e.thumbnail()),!1!==t.url&&(i.url=e.url()),!1!==t.caption&&e.data.caption&&(i.caption=e.caption(),!1!==t.links&&e.data.caption.links()&&(i.links=e.links())),!1!==t.alt&&e.data.alt&&(i.alt=e.alt()),i}(this,e=e||{})},text:function(){return""},wikitext:function(){return this.data.wiki||""}};Object.keys(z).forEach((e=>{_.prototype[e]=z[e]})),_.prototype.src=_.prototype.url,_.prototype.thumb=_.prototype.thumbnail;var O={aa:"Afar",ab:"Аҧсуа",af:"Afrikaans",ak:"Akana",als:"Alemannisch",am:"አማርኛ",an:"Aragonés",ang:"Englisc",ar:"العربية",arc:"ܣܘܪܬ",as:"অসমীয়া",ast:"Asturianu",av:"Авар",ay:"Aymar",az:"Azərbaycanca",ba:"Башҡорт",bar:"Boarisch","bat-smg":"Žemaitėška",bcl:"Bikol",be:"Беларуская","be-x-old":"ltr",bg:"Български",bh:"भोजपुरी",bi:"Bislama",bm:"Bamanankan",bn:"বাংলা",bo:"བོད་ཡིག",bpy:"ltr",br:"Brezhoneg",bs:"Bosanski",bug:"ᨅᨔ",bxr:"ltr",ca:"Català",cdo:"Chinese",ce:"Нохчийн",ceb:"Sinugboanong",ch:"Chamoru",cho:"Choctaw",chr:"ᏣᎳᎩ",chy:"Tsetsêhestâhese",co:"Corsu",cr:"Nehiyaw",cs:"Česky",csb:"Kaszëbsczi",cu:"Slavonic",cv:"Чăваш",cy:"Cymraeg",da:"Dansk",de:"Deutsch",diq:"Zazaki",dsb:"ltr",dv:"ދިވެހިބަސް",dz:"ཇོང་ཁ",ee:"Ɛʋɛ",far:"فارسی",el:"Ελληνικά",en:"English",eo:"Esperanto",es:"Español",et:"Eesti",eu:"Euskara",ext:"Estremeñu",ff:"Fulfulde",fi:"Suomi","fiu-vro":"Võro",fj:"Na",fo:"Føroyskt",fr:"Français",frp:"Arpitan",fur:"Furlan",fy:"ltr",ga:"Gaeilge",gan:"ltr",gd:"ltr",gil:"Taetae",gl:"Galego",gn:"Avañe'ẽ",got:"gutisk",gu:"ગુજરાતી",gv:"Gaelg",ha:"هَوُسَ",hak:"ltr",haw:"Hawai`i",he:"עברית",hi:"हिन्दी",ho:"ltr",hr:"Hrvatski",ht:"Krèyol",hu:"Magyar",hy:"Հայերեն",hz:"Otsiherero",ia:"Interlingua",id:"Bahasa",ie:"Interlingue",ig:"Igbo",ii:"ltr",ik:"Iñupiak",ilo:"Ilokano",io:"Ido",is:"Íslenska",it:"Italiano",iu:"ᐃᓄᒃᑎᑐᑦ",ja:"日本語",jbo:"Lojban",jv:"Basa",ka:"ქართული",kg:"KiKongo",ki:"Gĩkũyũ",kj:"Kuanyama",kk:"Қазақша",kl:"Kalaallisut",km:"ភាសាខ្មែរ",kn:"ಕನ್ನಡ",khw:"کھوار",ko:"한국어",kr:"Kanuri",ks:"कश्मीरी",ksh:"Ripoarisch",ku:"Kurdî",kv:"Коми",kw:"Kernewek",ky:"Kırgızca",la:"Latina",lad:"Dzhudezmo",lan:"Leb",lb:"Lëtzebuergesch",lg:"Luganda",li:"Limburgs",lij:"Líguru",lmo:"Lumbaart",ln:"Lingála",lo:"ລາວ",lt:"Lietuvių",lv:"Latviešu","map-bms":"Basa",mg:"Malagasy",man:"官話",mh:"Kajin",mi:"Māori",min:"Minangkabau",mk:"Македонски",ml:"മലയാളം",mn:"Монгол",mo:"Moldovenească",mr:"मराठी",ms:"Bahasa",mt:"bil-Malti",mus:"Muskogee",my:"Myanmasa",na:"Dorerin",nah:"Nahuatl",nap:"Nnapulitano",nd:"ltr",nds:"Plattdüütsch","nds-nl":"Saxon",ne:"नेपाली",new:"नेपालभाषा",ng:"Oshiwambo",nl:"Nederlands",nn:"ltr",no:"Norsk",nr:"ltr",nso:"ltr",nrm:"Nouormand",nv:"Diné",ny:"Chi-Chewa",oc:"Occitan",oj:"ᐊᓂᔑᓈᐯᒧᐎᓐ",om:"Oromoo",or:"ଓଡ଼ିଆ",os:"Иронау",pa:"ਪੰਜਾਬੀ",pag:"Pangasinan",pam:"Kapampangan",pap:"Papiamentu",pdc:"ltr",pi:"Pāli",pih:"Norfuk",pl:"Polski",pms:"Piemontèis",ps:"پښتو",pt:"Português",qu:"Runa",rm:"ltr",rmy:"Romani",rn:"Kirundi",ro:"Română","roa-rup":"Armâneashti",ru:"Русский",rw:"Kinyarwandi",sa:"संस्कृतम्",sc:"Sardu",scn:"Sicilianu",sco:"Scots",sd:"सिनधि",se:"ltr",sg:"Sängö",sh:"Srpskohrvatski",si:"සිංහල",simple:"ltr",sk:"Slovenčina",sl:"Slovenščina",sm:"Gagana",sn:"chiShona",so:"Soomaaliga",sq:"Shqip",sr:"Српски",ss:"SiSwati",st:"ltr",su:"Basa",sv:"Svenska",sw:"Kiswahili",ta:"தமிழ்",te:"తెలుగు",tet:"Tetun",tg:"Тоҷикӣ",th:"ไทย",ti:"ትግርኛ",tk:"Туркмен",tl:"Tagalog",tlh:"tlhIngan-Hol",tn:"Setswana",to:"Lea",tpi:"ltr",tr:"Türkçe",ts:"Xitsonga",tt:"Tatarça",tum:"chiTumbuka",tw:"Twi",ty:"Reo",udm:"Удмурт",ug:"Uyƣurqə",uk:"Українська",ur:"اردو",uz:"Ўзбек",ve:"Tshivenḓa",vi:"Việtnam",vec:"Vèneto",vls:"ltr",vo:"Volapük",wa:"Walon",war:"Winaray",wo:"Wollof",xal:"Хальмг",xh:"isiXhosa",yi:"ייִדיש",yo:"Yorùbá",za:"Cuengh",zh:"中文","zh-classical":"ltr","zh-min-nan":"Bân-lâm-gú","zh-yue":"粵語",zu:"isiZulu"};const E=".wikipedia.org/wiki/$1",q=".wikimedia.org/wiki/$1",N="www.";var S={acronym:N+"acronymfinder.com/$1.html",advisory:"advisory"+q,advogato:N+"advogato.org/$1",aew:"wiki.arabeyes.org/$1",appropedia:N+"appropedia.org/$1",aquariumwiki:N+"theaquariumwiki.com/$1",arborwiki:"localwiki.org/ann-arbor/$1",arxiv:"arxiv.org/abs/$1",atmwiki:N+"otterstedt.de/wiki/index.php/$1",baden:N+"stadtwiki-baden-baden.de/wiki/$1/",battlestarwiki:"en.battlestarwiki.org/wiki/$1",bcnbio:"historiapolitica.bcn.cl/resenas_parlamentarias/wiki/$1",beacha:N+"beachapedia.org/$1",betawiki:"translatewiki.net/wiki/$1",bibcode:"adsabs.harvard.edu/abs/$1",bibliowiki:"wikilivres.org/wiki/$1",bluwiki:"bluwiki.com/go/$1",blw:"britainloves"+E,botwiki:"botwiki.sno.cc/wiki/$1",boxrec:N+"boxrec.com/media/index.php?$1",brickwiki:N+"brickwiki.info/wiki/$1",bugzilla:"bugzilla.wikimedia.org/show_bug.cgi?id=$1",bulba:"bulbapedia.bulbagarden.net/wiki/$1",c:"commons"+q,c2:"c2.com/cgi/wiki?$1",c2find:"c2.com/cgi/wiki?FindPage&value=$1",cache:N+"google.com/search?q=cache:$1","ĉej":"esperanto.blahus.cz/cxej/vikio/index.php/$1",cellwiki:"cell.wikia.com/wiki/$1",centralwikia:"community.wikia.com/wiki/$1",chej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",choralwiki:N+"cpdl.org/wiki/index.php/$1",citizendium:"en.citizendium.org/wiki/$1",ckwiss:N+"ck-wissen.de/ckwiki/index.php?title=$1",comixpedia:N+"comixpedia.org/index.php?title=$1",commons:"commons"+q,communityscheme:"community.schemewiki.org/?c=s&key=$1",communitywiki:"communitywiki.org/$1",comune:"rete.comuni-italiani.it/wiki/$1",creativecommons:"creativecommons.org/licenses/$1",creativecommonswiki:"wiki.creativecommons.org/$1",cxej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",dcc:N+"dccwiki.com/$1",dcdatabase:"dc.wikia.com/$1",dcma:"christian-morgenstern.de/dcma/index.php?title=$1",debian:"wiki.debian.org/$1",delicious:N+"delicious.com/tag/$1",devmo:"developer.mozilla.org/en/docs/$1",dictionary:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",dict:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",disinfopedia:"sourcewatch.org/index.php/$1",distributedproofreaders:N+"pgdp.net/wiki/$1",distributedproofreadersca:N+"pgdpcanada.net/wiki/index.php/$1",dmoz:"curlie.org/$1",dmozs:"curlie.org/search?q=$1",doi:"doi.org/$1",donate:"donate"+q,doom_wiki:"doom.wikia.com/wiki/$1",download:"releases.wikimedia.org/$1",dbdump:"dumps.wikimedia.org/$1/latest/",dpd:"lema.rae.es/dpd/?key=$1",drae:"dle.rae.es/?w=$1",dreamhost:"wiki.dreamhost.com/index.php/$1",drumcorpswiki:N+"drumcorpswiki.com/index.php/$1",dwjwiki:N+"suberic.net/cgi-bin/dwj/wiki.cgi?$1","eĉei":N+"ikso.net/cgi-bin/wiki.pl?$1",ecoreality:N+"EcoReality.org/wiki/$1",ecxei:N+"ikso.net/cgi-bin/wiki.pl?$1",elibre:"enciclopedia.us.es/index.php/$1",emacswiki:N+"emacswiki.org/emacs?$1",encyc:"encyc.org/wiki/$1",energiewiki:N+"netzwerk-energieberater.de/wiki/index.php/$1",englyphwiki:"en.glyphwiki.org/wiki/$1",enkol:"enkol.pl/$1",eokulturcentro:"esperanto.toulouse.free.fr/nova/wikini/wakka.php?wiki=$1",esolang:"esolangs.org/wiki/$1",etherpad:"etherpad.wikimedia.org/$1",ethnologue:N+"ethnologue.com/language/$1",ethnologuefamily:N+"ethnologue.com/show_family.asp?subid=$1",evowiki:"wiki.cotch.net/index.php/$1",exotica:N+"exotica.org.uk/wiki/$1",fanimutationwiki:"wiki.animutationportal.com/index.php/$1",fedora:"fedoraproject.org/wiki/$1",finalfantasy:"finalfantasy.wikia.com/wiki/$1",finnix:N+"finnix.org/$1",flickruser:N+"flickr.com/people/$1",flickrphoto:N+"flickr.com/photo.gne?id=$1",floralwiki:N+"floralwiki.co.uk/wiki/$1",foldoc:"foldoc.org/$1",foundation:"foundation"+q,foundationsite:"wikimediafoundation.org/$1",foxwiki:"fox.wikis.com/wc.dll?Wiki~$1",freebio:"freebiology.org/wiki/$1",freebsdman:N+"FreeBSD.org/cgi/man.cgi?apropos=1&query=$1",freeculturewiki:"wiki.freeculture.org/index.php/$1",freedomdefined:"freedomdefined.org/$1",freefeel:"freefeel.org/wiki/$1",freekiwiki:"wiki.freegeek.org/index.php/$1",freesoft:"directory.fsf.org/wiki/$1",ganfyd:"ganfyd.org/index.php?title=$1",gardenology:N+"gardenology.org/wiki/$1",gausswiki:"gauss.ffii.org/$1",gentoo:"wiki.gentoo.org/wiki/$1",genwiki:"wiki.genealogy.net/index.php/$1",gerrit:"gerrit.wikimedia.org/r/$1",git:"gerrit.wikimedia.org/g/$1",google:N+"google.com/search?q=$1",googledefine:N+"google.com/search?q=define:$1",googlegroups:"groups.google.com/groups?q=$1",guildwarswiki:"wiki.guildwars.com/wiki/$1",guildwiki:"guildwars.wikia.com/wiki/$1",guc:"tools.wmflabs.org/guc/?user=$1",gucprefix:"tools.wmflabs.org/guc/?isPrefixPattern=1&src=rc&user=$1",gutenberg:N+"gutenberg.org/etext/$1",gutenbergwiki:N+"gutenberg.org/wiki/$1",hackerspaces:"hackerspaces.org/wiki/$1",h2wiki:"halowiki.net/p/$1",hammondwiki:N+"dairiki.org/HammondWiki/index.php3?$1",hdl:"hdl.handle.net/$1",heraldik:"heraldik-wiki.de/wiki/$1",heroeswiki:"heroeswiki.com/$1",horizonlabs:"horizon.wikimedia.org/$1",hrwiki:N+"hrwiki.org/index.php/$1",hrfwiki:"fanstuff.hrwiki.org/index.php/$1",hupwiki:"wiki.hup.hu/index.php/$1",iarchive:"archive.org/details/$1",imdbname:N+"imdb.com/name/nm$1/",imdbtitle:N+"imdb.com/title/tt$1/",imdbcompany:N+"imdb.com/company/co$1/",imdbcharacter:N+"imdb.com/character/ch$1/",incubator:"incubator"+q,infosecpedia:"infosecpedia.org/wiki/$1",infosphere:"theinfosphere.org/$1","iso639-3":"iso639-3.sil.org/code/$1",issn:N+"worldcat.org/issn/$1",iuridictum:"iuridictum.pecina.cz/w/$1",jaglyphwiki:"glyphwiki.org/wiki/$1",jefo:"esperanto-jeunes.org/wiki/$1",jerseydatabase:"jerseydatabase.com/wiki.php?id=$1",jira:"jira.toolserver.org/browse/$1",jspwiki:N+"ecyrd.com/JSPWiki/Wiki.jsp?page=$1",jstor:N+"jstor.org/journals/$1",kamelo:"kamelopedia.mormo.org/index.php/$1",karlsruhe:"ka.stadtwiki.net/$1",kinowiki:"kino.skripov.com/index.php/$1",komicawiki:"wiki.komica.org/?$1",kontuwiki:"kontu.wiki/$1",wikitech:"wikitech"+q,libreplanet:"libreplanet.org/wiki/$1",linguistlist:"linguistlist.org/forms/langs/LLDescription.cfm?code=$1",linuxwiki:N+"linuxwiki.de/$1",linuxwikide:N+"linuxwiki.de/$1",liswiki:"liswiki.org/wiki/$1",literateprograms:"en.literateprograms.org/$1",livepedia:N+"livepedia.gr/index.php?title=$1",localwiki:"localwiki.org/$1",lojban:"mw.lojban.org/papri/$1",lostpedia:"lostpedia.wikia.com/wiki/$1",lqwiki:"wiki.linuxquestions.org/wiki/$1",luxo:"tools.wmflabs.org/guc/?user=$1",mail:"lists.wikimedia.org/mailman/listinfo/$1",mailarchive:"lists.wikimedia.org/pipermail/$1",mariowiki:N+"mariowiki.com/$1",marveldatabase:N+"marveldatabase.com/wiki/index.php/$1",meatball:"meatballwiki.org/wiki/$1",mw:N+"mediawiki.org/wiki/$1",mediazilla:"bugzilla.wikimedia.org/$1",memoryalpha:"memory-alpha.fandom.com/wiki/$1",metawiki:"meta"+q,metawikimedia:"meta"+q,metawikipedia:"meta"+q,mineralienatlas:N+"mineralienatlas.de/lexikon/index.php/$1",moinmoin:"moinmo.in/$1",monstropedia:N+"monstropedia.org/?title=$1",mosapedia:"mosapedia.de/wiki/index.php/$1",mozcom:"mozilla.wikia.com/wiki/$1",mozillawiki:"wiki.mozilla.org/$1",mozillazinekb:"kb.mozillazine.org/$1",musicbrainz:"musicbrainz.org/doc/$1",mediawikiwiki:N+"mediawiki.org/wiki/$1",mwod:N+"merriam-webster.com/dictionary/$1",mwot:N+"merriam-webster.com/thesaurus/$1",nkcells:N+"nkcells.info/index.php?title=$1",nara:"catalog.archives.gov/id/$1",nosmoke:"no-smok.net/nsmk/$1",nost:"nostalgia"+E,nostalgia:"nostalgia"+E,oeis:"oeis.org/$1",oldwikisource:"wikisource.org/wiki/$1",olpc:"wiki.laptop.org/go/$1",omegawiki:N+"omegawiki.org/Expression:$1",onelook:N+"onelook.com/?ls=b&w=$1",openlibrary:"openlibrary.org/$1",openstreetmap:"wiki.openstreetmap.org/wiki/$1",openwetware:"openwetware.org/wiki/$1",opera7wiki:"operawiki.info/$1",organicdesign:N+"organicdesign.co.nz/$1",orthodoxwiki:"orthodoxwiki.org/$1",osmwiki:"wiki.openstreetmap.org/wiki/$1",otrs:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketID=$1",otrswiki:"otrs-wiki"+q,ourmedia:N+"socialtext.net/ourmedia/index.cgi?$1",outreach:"outreach"+q,outreachwiki:"outreach"+q,owasp:N+"owasp.org/index.php/$1",panawiki:"wiki.alairelibre.net/index.php?title=$1",patwiki:"gauss.ffii.org/$1",personaltelco:"personaltelco.net/wiki/$1",petscan:"petscan.wmflabs.org/?psid=$1",phab:"phabricator.wikimedia.org/$1",phabricator:"phabricator.wikimedia.org/$1",phwiki:N+"pocketheaven.com/ph/wiki/index.php?title=$1",phpwiki:"phpwiki.sourceforge.net/phpwiki/index.php?$1",planetmath:"planetmath.org/node/$1",pmeg:N+"bertilow.com/pmeg/$1",pmid:N+"ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract",pokewiki:"pokewiki.de/$1","pokéwiki":"pokewiki.de/$1",policy:"policy.wikimedia.org/$1",proofwiki:N+"proofwiki.org/wiki/$1",pyrev:N+"mediawiki.org/wiki/Special:Code/pywikipedia/$1",pythoninfo:"wiki.python.org/moin/$1",pythonwiki:N+"pythonwiki.de/$1",pywiki:"c2.com/cgi/wiki?$1",psycle:"psycle.sourceforge.net/wiki/$1",quality:"quality"+q,quarry:"quarry.wmflabs.org/$1",regiowiki:"regiowiki.at/wiki/$1",rev:N+"mediawiki.org/wiki/Special:Code/MediaWiki/$1",revo:"purl.org/NET/voko/revo/art/$1.html",rfc:"tools.ietf.org/html/rfc$1",rheinneckar:"rhein-neckar-wiki.de/$1",robowiki:"robowiki.net/?$1",rodovid:"en.rodovid.org/wk/$1",reuterswiki:"glossary.reuters.com/index.php/$1",rowiki:"wiki.rennkuckuck.de/index.php/$1",rt:"rt.wikimedia.org/Ticket/Display.html?id=$1",s23wiki:"s23.org/wiki/$1",scholar:"scholar.google.com/scholar?q=$1",schoolswp:"schools-"+E,scores:"imslp.org/wiki/$1",scoutwiki:"en.scoutwiki.org/$1",scramble:N+"scramble.nl/wiki/index.php?title=$1",seapig:N+"seapig.org/$1",seattlewiki:"seattle.wikia.com/wiki/$1",slwiki:"wiki.secondlife.com/wiki/$1","semantic-mw":N+"semantic-mediawiki.org/wiki/$1",senseislibrary:"senseis.xmp.net/?$1",sharemap:"sharemap.org/$1",silcode:N+"sil.org/iso639-3/documentation.asp?id=$1",slashdot:"slashdot.org/article.pl?sid=$1",sourceforge:"sourceforge.net/$1",spcom:"spcom"+q,species:"species"+q,squeak:"wiki.squeak.org/squeak/$1",stats:"stats.wikimedia.org/$1",stewardry:"tools.wmflabs.org/meta/stewardry/?wiki=$1",strategy:"strategy"+q,strategywiki:"strategywiki.org/wiki/$1",sulutil:"meta.wikimedia.org/wiki/Special:CentralAuth/$1",swtrain:"train.spottingworld.com/$1",svn:"svn.wikimedia.org/viewvc/mediawiki/$1?view=log",swinbrain:"swinbrain.ict.swin.edu.au/wiki/$1",tabwiki:N+"tabwiki.com/index.php/$1",tclerswiki:"wiki.tcl.tk/$1",technorati:N+"technorati.com/search/$1",tenwiki:"ten"+E,testwiki:"test"+E,testwikidata:"test.wikidata.org/wiki/$1",test2wiki:"test2"+E,tfwiki:"tfwiki.net/wiki/$1",thelemapedia:N+"thelemapedia.org/index.php/$1",theopedia:N+"theopedia.com/$1",thinkwiki:N+"thinkwiki.org/wiki/$1",ticket:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketNumber=$1",tmbw:"tmbw.net/wiki/$1",tmnet:N+"technomanifestos.net/?$1",tmwiki:N+"EasyTopicMaps.com/?page=$1",toolforge:"tools.wmflabs.org/$1",toollabs:"tools.wmflabs.org/$1",tools:"toolserver.org/$1",tswiki:N+"mediawiki.org/wiki/Toolserver:$1",translatewiki:"translatewiki.net/wiki/$1",tviv:"tviv.org/wiki/$1",tvtropes:N+"tvtropes.org/pmwiki/pmwiki.php/Main/$1",twiki:"twiki.org/cgi-bin/view/$1",tyvawiki:N+"tyvawiki.org/wiki/$1",umap:"umap.openstreetmap.fr/$1",uncyclopedia:"en.uncyclopedia.co/wiki/$1",unihan:N+"unicode.org/cgi-bin/GetUnihanData.pl?codepoint=$1",unreal:"wiki.beyondunreal.com/wiki/$1",urbandict:N+"urbandictionary.com/define.php?term=$1",usej:N+"tejo.org/usej/$1",usemod:N+"usemod.com/cgi-bin/wiki.pl?$1",usability:"usability"+q,utrs:"utrs.wmflabs.org/appeal.php?id=$1",vikidia:"fr.vikidia.org/wiki/$1",vlos:"tusach.thuvienkhoahoc.com/wiki/$1",vkol:"kol.coldfront.net/thekolwiki/index.php/$1",voipinfo:N+"voip-info.org/wiki/view/$1",votewiki:"vote"+q,werelate:N+"werelate.org/wiki/$1",wg:"wg-en"+E,wikia:N+"wikia.com/wiki/w:c:$1",wikiasite:N+"wikia.com/wiki/w:c:$1",wikiapiary:"wikiapiary.com/wiki/$1",wikibooks:"en.wikibooks.org/wiki/$1",wikichristian:N+"wikichristian.org/index.php?title=$1",wikicities:N+"wikia.com/wiki/w:$1",wikicity:N+"wikia.com/wiki/w:c:$1",wikiconference:"wikiconference.org/wiki/$1",wikidata:N+"wikidata.org/wiki/$1",wikif1:N+"wikif1.org/$1",wikifur:"en.wikifur.com/wiki/$1",wikihow:N+"wikihow.com/$1",wikiindex:"wikiindex.org/$1",wikilemon:"wiki.illemonati.com/$1",wikilivres:"wikilivres.org/wiki/$1",wikilivresru:"wikilivres.ru/$1","wikimac-de":"apfelwiki.de/wiki/Main/$1",wikimedia:"foundation"+q,wikinews:"en.wikinews.org/wiki/$1",wikinfo:"wikinfo.org/w/index.php/$1",wikinvest:"meta.wikimedia.org/wiki/Interwiki_map/discontinued#Wikinvest",wikiotics:"wikiotics.org/$1",wikipapers:"wikipapers.referata.com/wiki/$1",wikipedia:"en"+E,wikipediawikipedia:"en.wikipedia.org/wiki/Wikipedia:$1",wikiquote:"en.wikiquote.org/wiki/$1",wikisophia:"wikisophia.org/index.php?title=$1",wikisource:"en.wikisource.org/wiki/$1",wikispecies:"species"+q,wikispot:"wikispot.org/?action=gotowikipage&v=$1",wikiskripta:N+"wikiskripta.eu/index.php/$1",labsconsole:"wikitech"+q,wikiti:"wikiti.denglend.net/index.php?title=$1",wikiversity:"en.wikiversity.org/wiki/$1",wikivoyage:"en.wikivoyage.org/wiki/$1",betawikiversity:"beta.wikiversity.org/wiki/$1",wikiwikiweb:"c2.com/cgi/wiki?$1",wiktionary:"en.wiktionary.org/wiki/$1",wipipedia:"wipipedia.org/index.php/$1",wlug:N+"wlug.org.nz/$1",wmam:"am"+q,wmar:N+"wikimedia.org.ar/wiki/$1",wmat:"mitglieder.wikimedia.at/$1",wmau:"wikimedia.org.au/wiki/$1",wmbd:"bd"+q,wmbe:"be"+q,wmbr:"br"+q,wmca:"ca"+q,wmch:N+"wikimedia.ch/$1",wmcl:N+"wikimediachile.cl/index.php?title=$1",wmcn:"cn"+q,wmco:"co"+q,wmcz:N+"wikimedia.cz/web/$1",wmdc:"wikimediadc.org/wiki/$1",securewikidc:"secure.wikidc.org/$1",wmde:"wikimedia.de/wiki/$1",wmdk:"dk"+q,wmee:"ee"+q,wmec:"ec"+q,wmes:N+"wikimedia.es/wiki/$1",wmet:"ee"+q,wmfdashboard:"outreachdashboard.wmflabs.org/$1",wmfi:"fi"+q,wmfr:"wikimedia.fr/$1",wmge:"ge"+q,wmhi:"hi"+q,wmhk:"meta.wikimedia.org/wiki/Wikimedia_Hong_Kong",wmhu:"wikimedia.hu/wiki/$1",wmid:"id"+q,wmil:N+"wikimedia.org.il/$1",wmin:"wiki.wikimedia.in/$1",wmit:"wiki.wikimedia.it/wiki/$1",wmke:"meta.wikimedia.org/wiki/Wikimedia_Kenya",wmmk:"mk"+q,wmmx:"mx"+q,wmnl:"nl"+q,wmnyc:"nyc"+q,wmno:"no"+q,"wmpa-us":"pa-us"+q,wmph:"meta.wikimedia.org/wiki/Wikimedia_Philippines",wmpl:"pl"+q,wmpt:"pt"+q,wmpunjabi:"punjabi"+q,wmromd:"romd"+q,wmrs:"rs"+q,wmru:"ru"+q,wmse:"se"+q,wmsk:"wikimedia.sk/$1",wmtr:"tr"+q,wmtw:"wikimedia.tw/wiki/index.php5/$1",wmua:"ua"+q,wmuk:"wikimedia.org.uk/wiki/$1",wmve:"wikimedia.org.ve/wiki/$1",wmza:"wikimedia.org.za/wiki/$1",wm2005:"wikimania2005"+q,wm2006:"wikimania2006"+q,wm2007:"wikimania2007"+q,wm2008:"wikimania2008"+q,wm2009:"wikimania2009"+q,wm2010:"wikimania2010"+q,wm2011:"wikimania2011"+q,wm2012:"wikimania2012"+q,wm2013:"wikimania2013"+q,wm2014:"wikimania2014"+q,wm2015:"wikimania2015"+q,wm2016:"wikimania2016"+q,wm2017:"wikimania2017"+q,wm2018:"wikimania2018"+q,wmania:"wikimania"+q,wikimania:"wikimania"+q,wmteam:"wikimaniateam"+q,wmf:"foundation"+q,wmfblog:"blog.wikimedia.org/$1",wmdeblog:"blog.wikimedia.de/$1",wookieepedia:"starwars.wikia.com/wiki/$1",wowwiki:N+"wowwiki.com/$1",wqy:"wqy.sourceforge.net/cgi-bin/index.cgi?$1",wurmpedia:"wurmpedia.com/index.php/$1",viaf:"viaf.org/viaf/$1",zrhwiki:N+"zrhwiki.ch/wiki/$1",zum:"wiki.zum.de/$1",zwiki:N+"zwiki.org/$1",m:"meta"+q,meta:"meta"+q,sep11:"sep11"+E,d:N+"wikidata.org/wiki/$1",minnan:"zh-min-nan"+E,nb:"no"+E,"zh-cfr":"zh-min-nan"+E,"zh-cn":"zh"+E,"zh-tw":"zh"+E,nan:"zh-min-nan"+E,vro:"fiu-vro"+E,cmn:"zh"+E,lzh:"zh-classical"+E,rup:"roa-rup"+E,gsw:"als"+E,"be-tarask":"be-x-old"+E,sgs:"bat-smg"+E,egl:"eml"+E,w:"en"+E,wikt:"en.wiktionary.org/wiki/$1",q:"en.wikiquote.org/wiki/$1",b:"en.wikibooks.org/wiki/$1",n:"en.wikinews.org/wiki/$1",s:"en.wikisource.org/wiki/$1",chapter:"en"+q,v:"en.wikiversity.org/wiki/$1",voy:"en.wikivoyage.org/wiki/$1"};Object.keys(O).forEach((e=>{S[e]=e+".wikipedia.org/wiki/$1"}));const C=/^(category|catégorie|kategorie|categoría|categoria|categorie|kategoria|تصنيف|image|file|fichier|datei|media):/i,L=/\[(https?|news|ftp|mailto|gopher|irc)(:\/\/[^\]| ]{4,1500})([| ].*?)?\]/g,A=/\[\[(.{0,1600}?)\]\]([a-z]+)?/gi,D=function(e,t){return t.replace(A,(function(t,i,a){let n=null,r=i;if(i.match(/\|/)&&(r=(i=i.replace(/\[\[(.{2,1000}?)\]\](\w{0,10})/g,"$1$2")).replace(/(.{2,1000})\|.{0,2000}/,"$1"),n=i.replace(/.{2,1000}?\|/,""),null===n&&r.match(/\|$/)&&(r=r.replace(/\|$/,""),n=r)),r.match(C))return i;let o={page:r,raw:t};return o.page=o.page.replace(/#(.*)/,((e,t)=>(o.anchor=t,""))),o=function(e){let t=e.page||"";if(-1!==t.indexOf(":")){let i=t.match(/^(.*):(.*)/);if(null===i)return e;let a=i[1]||"";if(a=a.toLowerCase(),-1!==a.indexOf(":")){let[,t,i]=a.match(/^:?(.*):(.*)/);if(!1===S.hasOwnProperty(t)||!1===O.hasOwnProperty(i))return e;e.wiki={wiki:t,lang:i}}else{if(!1===S.hasOwnProperty(a))return e;e.wiki=a}e.page=i[2]}return e}(o),o.wiki&&(o.type="interwiki"),null!==n&&n!==o.page&&(o.text=n),a&&(o.text=o.text||o.page,o.text+=a.trim()),o.page&&!1===/^[A-Z]/.test(o.page)&&(o.text||(o.text=o.page),o.page=o.page),o.text&&o.text.startsWith(":")&&(o.text=o.text.replace(/^:/,"")),e.push(o),i})),e},P=function(e){let t=[];if(t=function(e,t){return t.replace(L,(function(t,i,a,n){return n=n||"",e.push({type:"external",site:i+a,text:n.trim(),raw:t}),n})),e}(t,e),t=D(t,e),0!==t.length)return t},T=new RegExp("^[ \n\t]*?#("+["aanstuur","adkas","alih","aýdaw","beralîkirin","doorverwijzing","lencong","ohjaus","patrz","přesměruj","preusmjeri","redireccion","redirección","redirecionamento","redirect","redirection","rinvia","tilvísun","uudelleenohjaus","weiterleitung","weiterleitung","yönlendi̇r","yönlendirme","yönlendi̇rme","ανακατευθυνση","айдау","перанакіраваньне","перенаправление","перенаправлення","пренасочување","преусмери","преусмјери","ווייטערפירן","تحويل","تغییر_مسیر","تغییرمسیر","رجوع مکرر","رجوع_مکرر","अनुप्रेषित","पुनर्निर्देशन","পুননির্দেশ","เปลี่ยนทาง","ប្តូរទីតាំងទៅ","リダイレクト","転送","重定向"].join("|")+") *?(\\[\\[.{2,180}?\\]\\])","i"),I=["table","code","score","data","categorytree","charinsert","hiero","imagemap","inputbox","references","source","syntaxhighlight","timeline","maplink"],M=`< ?(${I.join("|")}) ?[^>]{0,200}?>`,R=`< ?/ ?(${I.join("|")}) ?>`,F=new RegExp(`${M}[\\s\\S]+?${R}`,"gi");function U(e){return e=(e=(e=function(e){return(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(F," ")).replace(/ ?< ?(span|div|table|data) [a-zA-Z0-9=%.\-#:;'" ]{2,100}\/? ?> ?/g," ")).replace(/ ?< ?(ref) [a-zA-Z0-9=" ]{2,100}\/ ?> ?/g," ")).replace(/(.*?)<\/i>/g,"''$1''")).replace(/(.*?)<\/b>/g,"'''$1'''")).replace(/(.*?)<\/sub>/g,"{{sub|$1}}")).replace(/(.*?)<\/sup>/g,"{{sup|$1}}")).replace(/
(.*?)<\/blockquote>/g,"{{blockquote|text=$1}}")).replace(/ ?<[ /]?(p|sub|sup|span|nowiki|div|table|br|tr|td|th|pre|pre2|hr|u)[ /]?> ?/g," ")).replace(/ ?<[ /]?(abbr|bdi|bdo|cite|del|dfn|em|ins|kbd|mark|q|s|small)[ /]?> ?/g," ")).replace(/ ?<[ /]?h[0-9][ /]?> ?/g," ")).replace(/ ?< ?br ?\/> ?/g,"\n")).trim()}(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(//g,"")).replace(/__(NOTOC|NOEDITSECTION|FORCETOC|TOC)__/gi,"")).replace(/~{2,3}/g,"")).replace(/\r/g,"")).replace(/\u3002/g,". ")).replace(/----/g,"")).replace(/\{\{\}\}/g," – ")).replace(/\{\{\\\}\}/g," / ")).replace(/ /g," ")).replace(/–/g,"–"))).replace(/\([,;: ]+\)/g,"")).replace(/\{\{(baseball|basketball) (primary|secondary) (style|color).*?\}\}/i,"")}const B=/[\\.$]/,K=function(e){return"string"!=typeof e&&(e=""),e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/^\$/,"\\u0024")).replace(/\./g,"\\u002e")},W=function(e={}){let t=Object.keys(e);for(let i=0;i{G.prototype[e]=Z[e]}));const V=/^[0-9,.]+$/,J={text:!0,links:!0,formatting:!0,numbers:!0},X=function(e={}){Object.defineProperty(this,"data",{enumerable:!1,value:e})},Q={links:function(e){let t=this.data.links||[];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page===e));return void 0===i?[]:[i]}return t},interwiki:function(){return this.links().filter((e=>void 0!==e.wiki))},bolds:function(){return this.data&&this.data.fmt&&this.data.fmt.bold&&this.data.fmt.bold||[]},italics:function(){return this.data&&this.data.fmt&&this.data.fmt.italic&&this.data.fmt.italic||[]},text:function(e){return void 0!==e&&"string"==typeof e&&(this.data.text=e),this.data.text||""},json:function(e){return function(e,t){t=d(t,J);let i={},a=e.text();if(!0===t.text&&(i.text=a),!0===t.numbers&&V.test(a)){let e=Number(a.replace(/,/g,""));!1===isNaN(e)&&(i.number=e)}return t.links&&e.links().length>0&&(i.links=e.links().map((e=>e.json()))),t.formatting&&e.data.fmt&&(i.formatting=e.data.fmt),i}(this,e)},wikitext:function(){return this.data.wiki||""},isEmpty:function(){return""===this.data.text}};Object.keys(Q).forEach((e=>{X.prototype[e]=Q[e]}));const ee={links:"link",bolds:"bold",italics:"italic"};Object.keys(ee).forEach((e=>{X.prototype[ee[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}})),X.prototype.plaintext=X.prototype.text;const te=["ad","adj","adm","adv","al","alta","approx","apr","apt","arc","ariz","assn","asst","atty","aug","ave","ba","bc","bl","bldg","blvd","brig","bros","ca","cal","calif","capt","cca","cg","cl","cm","cmdr","co","col","colo","comdr","conn","corp","cpl","cres","ct","cyn","dak","dec","def","dept","det","dg","dist","dl","dm","dr","ea","eg","eng","esp","esq","est","etc","ex","exp","feb","fem","fig","fl oz","fl","fla","fm","fr","ft","fy","ga","gal","gb","gen","gov","hg","hon","hr","hrs","hwy","hz","ia","ida","ie","inc","inf","jan","jd","jr","jul","jun","kan","kans","kb","kg","km","kmph","lat","lb","lit","llb","lm","lng","lt","ltd","lx","ma","maj","mar","masc","mb","md","messrs","mg","mi","min","minn","misc","mister","ml","mlle","mm","mme","mph","mps","mr","mrs","ms","mstr","mt","neb","nebr","nee","no","nov","oct","okla","ont","op","ord","oz","pa","pd","penn","penna","phd","pl","pp","pref","prob","prof","pron","ps","psa","pseud","pt","pvt","qt","que","rb","rd","rep","reps","res","rev","sask","sec","sen","sens","sep","sept","sfc","sgt","sir","situ","sq ft","sq","sr","ss","st","supt","surg","tb","tbl","tbsp","tce","td","tel","temp","tenn","tex","tsp","univ","usafa","ut","va","vb","ver","vet","vitro","vivo","vol","vs","vt","wis","wisc","wr","wy","wyo","yb","µg"].concat("[^]][^]]"),ie=new RegExp("(^| |')("+te.join("|")+")[.!?] ?$","i"),ae=/[ .'][A-Z].? *$/i,ne=/\.{3,} +$/,re=/ c\.\s$/,oe=/\p{Letter}/iu;function se(e){let t={wiki:e,text:e};return function(e){let t=e.text,i=P(t)||[];e.links=i.map((e=>(t=t.replace(e.raw,e.text||e.page||""),new G(e)))),t=t.replace(/\[\[File:(.{2,80}?)\|([^\]]+)\]\](\w{0,5})/g,"$1"),e.text=t}(t),t.text=r(t.text.replace(/\([,;: ]*\)/g,"").replace(/\( *(; ?)+/g,"(")).replace(/ +\.$/,"."),t=function(e){let t=[],i=[],a=e.text||"";return a=a.replace(/'''''(.{0,2500}?)'''''/g,((e,a)=>(t.push(a),i.push(a),a))),a=a.replace(/''''(.{0,2500}?)''''/g,((e,i)=>(t.push(`'${i}'`),`'${i}'`))),a=a.replace(/'''(.{0,2500}?)'''/g,((e,i)=>(t.push(i),i))),a=a.replace(/''(.{0,2500}?)''/g,((e,t)=>(i.push(t),t))),e.text=a,t.length>0&&(e.fmt=e.fmt||{},e.fmt.bold=t),i.length>0&&(e.fmt=e.fmt||{},e.fmt.italic=i),e}(t),new X(t)}const le=function(e){let t=function(e){let t=[],i=[];if(!e||"string"!=typeof e||0===e.trim().length)return t;let a=function(e){let t=e.split(/(\n+)/);return t=t.filter((e=>e.match(/\S/))),t=t.map((function(e){return e.split(/(\S.+?[.!?]"?)(?=\s|$)/g)})),function(e){let t=[];return e.forEach((function(e){t=t.concat(e)})),t}(t)}(e);for(let e=0;ei.length)return!1;const a=e.match(/"/g);if(a&&a.length%2!=0&&e.length<900)return!1;const n=e.match(/[()]/g);return!(n&&n.length%2!=0&&e.length<900)}(n))?/^\s/.test(i[e+1])||/\s$/.test(i[e])?i[e+1]=i[e]+i[e+1]:i[e+1]=i[e]+" "+i[e+1]:i[e]&&i[e].length>0&&(t.push(i[e]),i[e]="");var n;return 0===t.length?[e]:t}(e.wiki);t=t.map(se),t[0]&&t[0].text()&&":"===t[0].text()[0]&&(t=t.slice(1)),e.sentences=t},ce=/.*rowspan *= *["']?([0-9]+)["']?[ |]*/,ue=/.*colspan *= *["']?([0-9]+)["']?[ |]*/,me=function(e){return e=function(e){return e.forEach(((t,i)=>{t.forEach(((a,n)=>{let r=a.match(ce);if(null!==r){let o=parseInt(r[1],10);a=a.replace(ce,""),t[n]=a;for(let t=i+1;t{e.forEach(((t,i)=>{let a=t.match(ue);if(null!==a){let n=parseInt(a[1],10);e[i]=t.replace(ue,"");for(let t=1;te.length>0))}(e))},de=/^!/,pe={name:!0,age:!0,born:!0,date:!0,year:!0,city:!0,country:!0,population:!0,count:!0,number:!0},he=function(e){return(e=se(e).text()).match(/\|/)&&(e=e.replace(/.*?\| ?/,"")),e=(e=(e=e.replace(/style=['"].*?["']/,"")).replace(/^!/,"")).trim()},ge=function(e){if(e.length<=3)return[];let t=e[0].slice(0);t=t.map((e=>(e=se(e=e.replace(/^! */,"")).text(),e=(e=he(e)).toLowerCase())));for(let i=0;ie&&!0!==/^\|\+/.test(e))),!0===/^\{\|/.test(e[0])&&e.shift(),!0===/^\|\}/.test(e[e.length-1])&&e.pop(),!0===/^\|-/.test(e[0])&&e.shift(),e}(e);for(let a=0;a0&&(t.push(i),i=[]);else{let e=n.charAt(0);"|"!==e&&"!"!==e||(n=n.substring(1)),n=n.split(/(?:\|\||!!)/),"!"===e&&(n[0]=e+n[0]),n.forEach((e=>{e=e.trim(),i.push(e)}))}}return i.length>0&&t.push(i),t}(e.replace(/\r/g,"").replace(/\n(\s*[^|!{\s])/g," $1").split(/\n/).map((e=>e.trim())));if(t=t.filter((e=>e)),0===t.length)return[];t=function(e){return e.filter((e=>1!==e.length||!e[0]||!de.test(e[0])||!1!==/rowspan/i.test(e[0])))}(t),t=me(t);let i=function(e=[]){let t=[];var i;(i=(i=e[0])||[]).length-i.filter((e=>e)).length>3&&e.shift();let a=e[0];return a&&a[0]&&a[1]&&(/^!/.test(a[0])||/^!/.test(a[1]))&&(t=a.map((e=>(e=e.replace(/^! */,""),he(e)))),e.shift()),a=e[0],a&&a[0]&&a[1]&&/^!/.test(a[0])&&/^!/.test(a[1])&&(a.forEach(((e,i)=>{e=e.replace(/^! */,""),e=he(e),!0===Boolean(e)&&(t[i]=e)})),e.shift()),t}(t);if(!i||i.length<=1){i=ge(t);let e=t[t.length-1]||[];i.length<=1&&e.length>2&&(i=ge(t.slice(1)),i.length>0&&(t=t.slice(2)))}let a=t.map((e=>function(e,t){let i={};return e.forEach(((e,a)=>{let n=t[a]||"col"+(a+1),r=se(e);r.text(he(r.text())),i[n]=r})),i}(e,i)));return a},fe={},ke=function(e=""){return e=(e=(e=(e=e.toLowerCase()).replace(/[_-]/g," ")).replace(/\(.*?\)/,"")).trim()},we=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_wiki",{enumerable:!1,value:t})},ye={links(e){let t=[];if(this.data.forEach((e=>{Object.keys(e).forEach((i=>{t=t.concat(e[i].links())}))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},get(e){let t=this.data[0]||{},i=Object.keys(t).reduce(((e,t)=>(e[ke(t)]=t,e)),{});if("string"==typeof e){let t=ke(e);return t=i[t]||t,this.data.map((e=>e[t]?e[t].text():null))}return e=e.map(ke).map((e=>i[e]||e)),this.data.map((t=>e.reduce(((e,i)=>(t[i]?e[i]=t[i].text():e[i]="",e)),{})))},keyValue(e){let t=this.json(e);return t.forEach((e=>{Object.keys(e).forEach((t=>{e[t]=e[t].text}))})),t},json(e){return e=d(e,fe),function(e,t){return e.map((e=>{let i={};return Object.keys(e).forEach((t=>{i[t]=e[t].json()})),!0===t.encode&&(i=W(i)),i}))}(this.data,e)},text:()=>"",wikitext(){return this._wiki||""}};ye.keyvalue=ye.keyValue,ye.keyval=ye.keyValue,Object.keys(ye).forEach((e=>{we.prototype[e]=ye[e]}));const $e=/^\s*\{\|/,xe=/^\s*\|\}/,ve={sentences:!0},je={sentences:!0,lists:!0,images:!0},_e=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},ze={sentences:function(){return this.data.sentences||[]},references:function(){return this.data.references},lists:function(){return this.data.lists},images(){return this.data.images||[]},links:function(e){let t=[];if(this.sentences().forEach((i=>{t=t.concat(i.links(e))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},interwiki(){let e=[];return this.sentences().forEach((t=>{e=e.concat(t.interwiki())})),e||[]},text:function(e){e=d(e,je);let t=this.sentences().map((t=>t.text(e))).join(" ");return this.lists().forEach((e=>{t+="\n"+e.text()})),t},json:function(e){return function(e,t){let i={};return!0===(t=d(t,ve)).sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=d(e,je))},wikitext:function(){return this.data.wiki}};ze.citations=ze.references,Object.keys(ze).forEach((e=>{_e.prototype[e]=ze[e]}));const Oe={sentences:"sentence",references:"reference",citations:"citation",lists:"list",images:"image",links:"link"};Object.keys(Oe).forEach((e=>{_e.prototype[Oe[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}}));const Ee=function(e){return e=(e=e.replace(/^\{\{/,"")).replace(/\}\}$/,"")},qe=function(e){return e=(e=(e=(e||"").trim()).toLowerCase()).replace(/_/g," ")},Ne=/^[\p{Letter}0-9._/\- '()\t]+=/iu,Se={template:!0,list:!0,prototype:!0},Ce=function(e,t){let i=0;return e.reduce(((e,a="")=>{if(a=a.trim(),!0===Ne.test(a)){let t=function(e){let t=e.split("="),i=t[0]||"";i=i.toLowerCase().trim();let a=t.slice(1).join("=");return Se.hasOwnProperty(i)&&(i="_"+i),{key:i,val:a.trim()}}(a);if(t.key)return e[t.key]&&!t.val||(e[t.key]=t.val),e}if(t&&t[i]){e[t[i]]=a}else e.list=e.list||[],e.list.push(a);return i+=1,e}),{})},Le={classname:!0,style:!0,align:!0,margin:!0,left:!0,break:!0,boxsize:!0,framestyle:!0,item_style:!0,collapsible:!0,list_style_type:!0,"list-style-type":!0,colwidth:!0},Ae=function(e,t){let i=se(e);return"json"===t?i.json():"raw"===t?i:i.text()},De=function(e,t=[],i){let a=function(e){let t=e.split(/\n?\|/);t.forEach(((e,i)=>{null!==e&&(/\[\[[^\]]+$/.test(e)||/\{\{[^}]+$/.test(e)||e.split("{{").length!==e.split("}}").length||e.split("[[").length!==e.split("]]").length)&&(t[i+1]=t[i]+"|"+t[i+1],t[i]=null)})),t=t.filter((e=>null!==e)),t=t.map((e=>(e||"").trim()));for(let e=t.length-1;e>=0;e-=1){""===t[e]&&t.pop();break}return t}(e=Ee(e||"")),n=a.shift(),r=Ce(a,t);return r=function(e){return Object.keys(e).forEach((t=>{!0===Le[t.toLowerCase()]&&delete e[t],null!==e[t]&&""!==e[t]||delete e[t]})),e}(r),r[1]&&t[0]&&!1===r.hasOwnProperty(t[0])&&(r[t[0]]=r[1],delete r[1]),Object.keys(r).forEach((e=>{r[e]="list"!==e?Ae(r[e],i):r[e].map((e=>Ae(e,i)))})),n&&(r.template=qe(n)),r};const Pe=new RegExp("("+g.join("|")+"):","i");let Te=`(${g.join("|")})`;const Ie=new RegExp(Te+":(.+?)[\\||\\]]","iu"),Me=/^\[\[:/,Re={thumb:!0,thumbnail:!0,border:!0,right:!0,left:!0,center:!0,top:!0,bottom:!0,none:!0,upright:!0,baseline:!0,middle:!0,sub:!0,super:!0},Fe=function(e,t){let i=e.wiki,a=function(e){let t=[],i=[];const a=e.split("");let n=0;for(let r=0;r0){let e=0,a=0;for(let t=0;ta&&i.push("]"),t.push(i.join("")),i=[]}}return t}(i);a.forEach((function(a){if(!0===Pe.test(a)){e.images=e.images||[];let n=function(e,t){let i=e.match(Ie);if(null===i||!i[2])return null;if(Me.test(e))return null;let a=`${i[1]}:${i[2]||""}`;if(a){let i={file:a,lang:t._lang,domain:t._domain,wiki:e,pluginData:{}};e=(e=e.replace(/^\[\[/,"")).replace(/\]\]$/,"");let n=De(e),r=n.list||[];return n.alt&&(i.alt=n.alt),r=r.filter((e=>!1===Re.hasOwnProperty(e))),r[r.length-1]&&(i.caption=se(r[r.length-1])),new _(i)}return null}(a,t);n&&(e.images.push(n),i=i.replace(a,""))}})),e.wiki=i},Ue={},Be=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},Ke={lines(){return this.data},links(e){let t=[];if(this.lines().forEach((e=>{t=t.concat(e.links())})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},json(e){return e=d(e,Ue),this.lines().map((t=>t.json(e)))},text(){return((e,t)=>e.map((e=>" * "+e.text(t))).join("\n"))(this.data)},wikitext(){return this.wiki||""}};Object.keys(Ke).forEach((e=>{Be.prototype[e]=Ke[e]}));const We=/^[#*:;|]+/,He=/^\*+[^:,|]{4}/,Ye=/^ ?#[^:,|]{4}/,Ge=/[\p{Letter}_0-9\]}]/iu,Ze=function(e){return We.test(e)||He.test(e)||Ye.test(e)},Ve=function(e,t){let i=[];for(let a=t;ae&&Ge.test(e))),i=function(e){let t=1;e=e.filter((e=>e));for(let i=0;ie&&e.trim().length>0)),a=a.map((e=>{let i={wiki:e,lists:[],sentences:[],images:[]};return function(e){let t=e.wiki,i=t.split(/\n/g),a=[],n=[];for(let e=0;e0&&(a.push(t),e+=t.length-1)}else n.push(i[e]);e.lists=a.map((e=>new Be(e,t))),e.wiki=n.join("\n")}(i),Fe(i,t),le(i),new _e(i)})),e._wiki=i,e._paragraphs=a},Qe="{",et=function(e){let t=0,i=[],a=[];for(let n=e.indexOf(Qe);-1!==n&&n0?n++:n=e.indexOf(Qe,n+1)){let r=e[n];if(r===Qe&&(t+=1),t>0){if("}"===r&&(t-=1,0===t)){a.push(r);let e=a.join("");a=[],/\{\{/.test(e)&&/\}\}/.test(e)&&i.push(e);continue}if(1===t&&r!==Qe&&"}"!==r){t=0,a=[];continue}a.push(r)}}return i},tt=function(e){let t=null;return t=/^\{\{[^\n]+\|/.test(e)?(e.match(/^\{\{(.+?)\|/)||[])[1]:-1!==e.indexOf("\n")?(e.match(/^\{\{(.+)\n/)||[])[1]:(e.match(/^\{\{(.+?)\}\}$/)||[])[1],t&&(t=t.replace(/:.*/,""),t=qe(t)),t||null},it=/\{\{/,at=function(e){return{body:e,name:tt(e),children:[]}},nt=function(e){let t=e.body.substr(2);return t=t.replace(/\}\}$/,""),e.children=et(t),e.children=e.children.map(at),0===e.children.length||e.children.forEach((e=>{let t=e.body.substr(2);return it.test(t)?nt(e):null})),e},rt=function(e){let t=et(e);return t=t.map(at),t=t.map(nt),t},ot=["anchor","defaultsort","use list-defined references","void","pp","pp-move-indef","pp-semi-indef","pp-vandalism","r","#tag","div col","pope list end","shipwreck list end","starbox end","end box","end","s-end"].reduce(((e,t)=>(e[t]=!0,e)),{});var st={"gnf protein box":!0,"automatic taxobox":!0,"chembox ":!0,editnotice:!0,geobox:!0,hybridbox:!0,ichnobox:!0,infraspeciesbox:!0,mycomorphbox:!0,oobox:!0,"paraphyletic group":!0,speciesbox:!0,subspeciesbox:!0,"starbox short":!0,taxobox:!0,nhlteamseason:!0,"asian games bid":!0,"canadian federal election results":!0,"dc thomson comic strip":!0,"daytona 24 races":!0,edencharacter:!0,"moldova national football team results":!0,samurai:!0,protein:!0,"sheet authority":!0,"order-of-approx":!0,"bacterial labs":!0,"medical resources":!0,ordination:!0,"hockey team coach":!0,"hockey team gm":!0,"pro hockey team":!0,"hockey team player":!0,"hockey team start":!0,mlbbioret:!0};const lt=new RegExp("^(subst.)?("+b.join("|")+")(?=:| |\n|$)","i");b.forEach((e=>{st[e]=!0}));const ct=/^infobox /i,ut=/ infobox$/i,mt=/^year in [A-Z]/i,dt=function(e={}){let t=e.template.match(lt),i=e.template;t&&t[0]&&(i=i.replace(t[0],"")),i=i.trim();let a={template:"infobox",type:i,data:e};return delete a.data.template,delete a.data.list,a};let pt={imdb:"imdb name","imdb episodes":"imdb episode",localday:"currentday",localdayname:"currentdayname",localyear:"currentyear","birth date based on age at death":"birth based on age as of date","bare anchored list":"anchored list",cvt:"convert",cricon:"flagicon",sfrac:"frac",sqrt:"radic","unreferenced section":"unreferenced",redir:"redirect",sisterlinks:"sister project links","main article":"main",by:"baseball year",aldsy:"alds year",nldsy:"nlds year","str rep":"replace",ushr2:"ushr",stn:"station",metrod:"metro",fw:"ferry",rws:"stnlnk",sclass2:"sclass",under:"underline",brackets:"bracket",raise:"lower","born-in":"born in","c.":"circa","r.":"reign"},ht={date:["byline","dateline"],citation:["cite","source","source-pr","source-science"],"no spam":["email","@","no spam blue"],"lrt station":["lrt","lrts"],"mrt station":["mrt","mrts"],flagcountry:["cr","cr-rt"],trunc:["str left","str crop"],percentage:["pct","percentage"],rnd:["rndfrac","rndnear"],abbr:["tooltip","abbrv","define"],sfn:["sfnref","harvid","harvnb"],"birth date and age":["death date and age","bda"],currentmonth:["localmonth","currentmonthname","currentmonthabbrev"],currency:["monnaie","unité","nombre","nb","iso4217"],coord:["coor","coor title dms","coor title dec","coor dms","coor dm","coor dec"],"columns-list":["cmn","col-list","columnslist","collist"],nihongo:["nihongo2","nihongo3","nihongo-s","nihongo foot"],plainlist:["flatlist","plain list"],"winning percentage":["winpct","winperc"],"collapsible list":["nblist","nonbulleted list","ubl","ublist","ubt","unbullet","unbulleted list","unbulleted","unbulletedlist","vunblist"],"election box begin":["election box begin no change","election box begin no party","election box begin no party no change","election box inline begin","election box inline begin no change"],"election box candidate":["election box candidate for alliance","election box candidate minor party","election box candidate no party link no change","election box candidate with party link","election box candidate with party link coalition 1918","election box candidate with party link no change","election box inline candidate","election box inline candidate no change","election box inline candidate with party link","election box inline candidate with party link no change","election box inline incumbent"],"4teambracket":["2teambracket","4team2elimbracket","8teambracket","16teambracket","32teambracket","4roundbracket-byes","cwsbracket","nhlbracket","nhlbracket-reseed","4teambracket-nhl","4teambracket-ncaa","4teambracket-mma","4teambracket-mlb","16teambracket-two-reseeds","8teambracket-nhl","8teambracket-mlb","8teambracket-ncaa","8teambracket-afc","8teambracket-afl","8teambracket-tennis3","8teambracket-tennis5","16teambracket-nhl","16teambracket-nhl divisional","16teambracket-nhl-reseed","16teambracket-nba","16teambracket-swtc","16teambracket-afc","16teambracket-tennis3","16teambracket-tennis5"],start:["end","birth","death","start date","end date","birth date","death date","start date and age","end date and age","dob"],"start-date":["end-date","birth-date","death-date","birth-date and age","birth-date and given age","death-date and age","death-date and given age"],tl:["lts","t","tfd links","tiw","tltt","tetl","tsetl","ti","tic","tiw","tlt","ttl","twlh","tl2","tlu","demo","xpd","para","elc","xtag","mli","mlix","url"],done:["resolved mark large","implemented","pimplemented","resolved mark","accepted","agree","approved","checked2","verified","conditional yes","confirmed","confirmed-nc","tallyho","tick","helped","doneu|example","edited2","donetask","unprod","autp","responded","sure","merge done","marked","pass","aye","yes check","y&","yeac","yeag"],xmark:["expired","deleted","not done","not done empty request","not done unclear","not done not likely","stale-small","smallrejected","x mark","nay","no mark","not done-t","fail","n&","x mark-n","xed box","cancelled","deleted-image","already declined","opblocked","user-blocked","notabug","notfixed","won't fix","withdraw","nojoy","unrelated","off-topic talk","nayc","nayg"],checked:["already done","resolved1","check mark-n","checked box"],"station link":["amtk","cta","bts","mnrr","mtams","munis","njts","scax","wmata","rwsa"],"video game release":["vgrelease","video game release hlist","vgrtbl","vgrelease hlist","vgrh"],aka:["a.k.a.","also known as"],"literal translation":["lit","literal","literally"],"citation needed":["are you sure?","cb","ciation needed","cit","cita requerida","citaiton needed","citation missing","citation need","citation requested","citation required","citation-needed","citationeeded","citationneeded","citationrequired","citazione necessaria","cite missing","cite needed","cite source","cite-needed","citeneeded","citesource","citn","cn needed","cn","ctn","fact?","fact","facts","fcitation needed","me-fact","need citation","need sources","need-ref","needcitation","needcite","needs citation","needs citations","needs reference","needs source","needs-cite","needsref","no source given","prov-statement","prove it","proveit","ref needed","ref-needed","ref?","reference necessary","reference needed","reference required","refnec","refneeded","refplease","request citation","source needed","source?","sourceme","uncited","unreferenced inline","unsourced-inline"]};Object.keys(O).forEach((e=>{pt["ipa-"+e]="ipa",pt["ipac-"+e]="ipac"})),Object.keys(ht).forEach((e=>{ht[e].forEach((t=>{pt[t]=e}))}));var gt={"·":"·",dot:"·",middot:"·","•":" • ",",":",","=":"=","1/2":"1⁄2","1/3":"1⁄3","2/3":"2⁄3","1/4":"1⁄4","3/4":"3⁄4","–":"–",ndash:"–","en dash":"–","spaced ndash":" – ","—":"—",mdash:"—",spd:" – ","em dash":"—","number sign":"#","hash-tag":"#",ibeam:"I","&":"&",";":";",ampersand:"&",dagger:"†","double-dagger":"‡",snds:" – ",snd:" – ","^":" ","!":"|","'":"'","\\":" /","`":"`","[":"[","*":"*",asterisk:"*","long dash":"———",clear:"\n\n","h.":"ḥ",profit:"▲",loss:"▼",gain:"▲",ell:"ℓ","1~":"~","2~":"~~","3~":"~~~","4~":"~~~~","5~":"~~~~~",goldmedal:"🥇",silvermedal:"🥈",bronzemedal:"🥉",done:"✅",xmark:"❌",checked:"✔️","thumbs up":"👍","thumbs down":"👎",minusplus:"∓",plusminus:"±"};let bt={p1:0,p2:1,p3:2,resize:1,lang:1,"rtl-lang":1,"line-height":1,l:2,h:1,sort:1};["defn","lino","finedetail","nobold","noitalic","nocaps","vanchor","rnd","date","taste","monthname","baseball secondary style","nowrap","nobr","big","cquote","pull quote","smaller","midsize","larger","big","kbd","bigger","large","mono","strongbad","stronggood","huge","xt","xt2","!xt","xtn","xtd","dc","dcr","mxt","!mxt","mxtn","mxtd","bxt","!bxt","bxtn","bxtd","delink","pre","var","mvar","pre2","code","char","angle bracket","angbr","symb","dabsearch","key press","nowiki","nowiki2","unstrip","unstripnowiki","plain text","make code","killmarkers","longitem","longlink","strikethrough","underline","uuline","not a typo","text","var serif","double underline","nee","ne","left","right","center","centered","justify","smalldiv","bold div","monodiv","italic div","bigdiv","strikethroughdiv","strikethrough color","pbpe","video game release/abbr","nobel abbr","gloss","gcl"].forEach((e=>{bt[e]=0}));let ft={};["mv","m/v","gts","hsc","ms","m/s","my","m/y","ps","rms","rv","r/v","sb","ss","s/s","sv","s/v","sy","s/y","tss","ans","hmas","hmbs","bns","hmcs","ccgs","arc","hdms","bae","ens","eml","rfns","fns","hs","sms","smu","gs","icgv","ins","kri","lé","jsub","jds","js","hnlms","hmnzs","nns","hnoms","hmpngs","bap","rps","brp","orp","nrp","nms","rss","sas","hmsas","roks","hswms","htms","tcg","hms","hmt","rfaux","usat","uscgc","usns","usrc","uss","usav"].forEach((e=>{ft[e]=t=>{let{name:i,id:a}=De(t,["name","id"]);return a?`[[${e.toUpperCase()} ${i} (${a})]]`:`[[${e.toUpperCase()} ${i}]]`}}));const kt=function(e){if(!e.numerator&&!e.denominator)return null;let t=Number(e.numerator)/Number(e.denominator);return t*=100,Number(e.decimals),parseInt(t,10)},wt=function(e=""){if("number"==typeof e)return e;e=(e=e.replace(/,/g,"")).replace(/−/g,"-");let t=Number(e);return isNaN(t)?e:t},yt=function(e){let t=e.match(/ipac?-(.+)/);return null!==t?!0===O.hasOwnProperty(t[1])?O[t[1]].english_title:t[1]:null},$t=e=>e.charAt(0).toUpperCase()+e.substring(1),xt=function(e){let t=e%10,i=e%100;return 1===t&&11!==i?e+"st":2===t&&12!==i?e+"nd":3===t&&13!==i?e+"rd":e+"th"},vt={wikt:"wiktionary",commons:"commons",c:"commons",commonscat:"commonscat",n:"wikinews",q:"wikiquote",s:"wikisource",a:"wikiauthor",b:"wikibooks",voy:"wikivoyage",v:"wikiversity",d:"wikidata",species:"wikispecies",m:"meta",mw:"mediawiki"};var jt={ra:e=>{let t=De(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},deg2hms:e=>(De(e,["degrees"]).degrees||"")+"°",hms2deg:e=>{let t=De(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},decdeg:e=>{let t=De(e,["deg","min","sec","hem","rnd"]);return(t.deg||t.degrees)+"°"},sortname:e=>{let t=De(e,["first","last","target","sort"]),i=`${t.first||""} ${t.last||""}`;return i=i.trim(),t.nolink?t.target||i:(t.dab&&(i+=` (${t.dab})`,t.target&&(t.target+=` (${t.dab})`)),t.target?`[[${t.target}|${i}]]`:`[[${i}]]`)},"first word":e=>{let t=De(e,["text"]),i=t.text||"";return t.sep?i.split(t.sep)[0]:i.split(" ")[0]},trunc:e=>{let t=De(e,["str","len"]);return(t.str||"").substr(0,t.len)},"str mid":e=>{let t=De(e,["str","start","end"])||{},i=parseInt(t.start,10)-1,a=parseInt(t.end,10);return(t.str||"").substr(i,a)},reign:e=>{let t=De(e,["start","end"]);return`(r. ${t.start} – ${t.end})`},"decade link":e=>{let{year:t}=De(e,["year"]);return`${t}|${t}s`},decade:e=>{let t=De(e,["year"]),i=Number(t.year);return i=10*Math.floor(i/10),`${i}s`},century:e=>{let t=De(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/100)+1,`${i}`},radic:e=>{let t=De(e,["after","before"]);return`${t.before||""}√${t.after||""}`},"medical cases chart/row":e=>e,oldstyledate:e=>{let t=De(e,["date","year"]);return t.year?t.date+" "+t.year:t.date},braces:e=>{let t=De(e,["text"]),i="";return t.list&&(i="|"+t.list.join("|")),"{{"+(t.text||"")+i+"}}"},hlist:e=>{let t=De(e);return t.list=t.list||[],t.list.join(" · ")},pagelist:e=>(De(e).list||[]).join(", "),interlinear:e=>(De(e).list||[]).join("\n\n"),catlist:e=>(De(e).list||[]).join(", "),"br separated entries":e=>(De(e).list||[]).join("\n\n"),"comma separated entries":e=>(De(e).list||[]).join(", "),"anchored list":e=>{let t=De(e).list||[];return t=t.map(((e,t)=>`${t+1}. ${e}`)),t.join("\n\n")},"bulleted list":e=>{let t=De(e).list||[];return t=t.filter((e=>e)),t=t.map((e=>"• "+e)),t.join("\n\n")},plainlist:e=>{let t=(e=Ee(e)).split("|").slice(1);return t=t.join("|").split(/\n ?\* ?/),t=t.filter((e=>e)),t.join("\n\n")},term:e=>`${De(e,["term"]).term}:`,linum:e=>{let{num:t,text:i}=De(e,["num","text"]);return`${t}. ${i}`},"block indent":e=>{let t=De(e);return t[1]?"\n"+t[1]+"\n":""},lbs:e=>{let t=De(e,["text"]);return`[[${t.text} Lifeboat Station|${t.text}]]`},lbc:e=>{let t=De(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}-class]]`},lbb:e=>{let t=De(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}]]`},"#dateformat":e=>(e=e.replace(/:/,"|"),De(e,["date","format"]).date),lc:e=>(e=e.replace(/:/,"|"),(De(e,["text"]).text||"").toLowerCase()),uc:e=>(e=e.replace(/:/,"|"),(De(e,["text"]).text||"").toUpperCase()),lcfirst:e=>{e=e.replace(/:/,"|");let t=De(e,["text"]).text;return t?t[0].toLowerCase()+t.substr(1):""},ucfirst:e=>{e=e.replace(/:/,"|");let t=De(e,["text"]).text;return t?t[0].toUpperCase()+t.substr(1):""},padleft:e=>{e=e.replace(/:/,"|");let t=De(e,["text","num"]);return(t.text||"").padStart(t.num,t.str||"0")},padright:e=>{e=e.replace(/:/,"|");let t=De(e,["text","num"]);return(t.text||"").padEnd(t.num,t.str||"0")},abbrlink:e=>{let t=De(e,["abbr","page"]);return t.page?`[[${t.page}|${t.abbr}]]`:`[[${t.abbr}]]`},own:e=>{let t=De(e,["author"]),i="Own work";return t.author&&(i+=" by "+t.author),i},formatnum:e=>{e=e.replace(/:/,"|");let t=De(e,["number"]).number||"";return t=t.replace(/,/g,""),Number(t).toLocaleString()||""},frac:e=>{let t=De(e,["a","b","c"]);return t.c?`${t.a} ${t.b}/${t.c}`:t.b?`${t.a}/${t.b}`:`1/${t.b}`},convert:e=>{let t=De(e,["num","two","three","four"]);return"-"===t.two||"to"===t.two||"and"===t.two?t.four?`${t.num} ${t.two} ${t.three} ${t.four}`:`${t.num} ${t.two} ${t.three}`:`${t.num} ${t.two}`},tl:e=>{let t=De(e,["first","second"]);return t.second||t.first},won:e=>{let t=De(e,["text"]);return t.place||t.text||$t(t.template)},tag:e=>{let t=De(e,["tag","open"]);const i={span:!0,div:!0,p:!0};return t.open&&"pair"!==t.open?"":i[t.tag]?t.content||"":`<${t.tag} ${t.attribs||""}>${t.content||""}`},plural:e=>{e=e.replace(/plural:/,"plural|");let t=De(e,["num","word"]),i=Number(t.num),a=t.word;return 1!==i&&(/.y$/.test(a)?a=a.replace(/y$/,"ies"):a+="s"),i+" "+a},dec:e=>{let t=De(e,["degrees","minutes","seconds"]),i=(t.degrees||0)+"°";return t.minutes&&(i+=t.minutes+"′"),t.seconds&&(i+=t.seconds+"″"),i},val:e=>{let t=De(e,["number","uncertainty"]),i=t.number;i&&Number(i)&&(i=Number(i).toLocaleString());let a=i||"";return t.p&&(a=t.p+a),t.s&&(a=t.s+a),(t.u||t.ul||t.upl)&&(a=a+" "+(t.u||t.ul||t.upl)),a},percentage:e=>{let t=De(e,["numerator","denominator","decimals"]),i=kt(t);return null===i?"":i+"%"},small:e=>{let t=De(e);return t.list&&t.list[0]?t.list[0]:""},"percent-done":e=>{let t=De(e,["done","total","digits"]),i=kt({numerator:t.done,denominator:t.total,decimals:t.digits});return null===i?"":`${t.done} (${i}%) done`},loop:e=>{let t=De(e,["times","text"]),i=Number(t.times)||0,a="";for(let e=0;e{let t=De(e,["text"]);return String((t.text||"").trim().length)},digits:e=>(De(e,["text"]).text||"").replace(/[^0-9]/g,""),resize:e=>{let{n:t,text:i}=De(e,["n","text"]);return i?i||"":t||""},"last word":e=>{let t=(De(e,["text"]).text||"").split(/ /g);return t[t.length-1]||""},replace:e=>{let t=De(e,["text","from","to"]);return t.from&&t.to?(t.text||"").replace(t.from,t.to):t.text||""},"title case":e=>(De(e,["text"]).text||"").split(/ /).map(((e,t)=>t>0&&"the"===e||"of"===e?e:$t(e))).join(" "),"no spam":e=>{let t=De(e,["account","domain"]);return`${t.account||""}@${t.domain}`},"baseball year":e=>{let t=De(e,["year"]).year||"";return`[[${t} in baseball|${t}]]`},"mlb year":e=>{let t=De(e,["year"]).year||"";return`[[${t} Major League Baseball season|${t}]]`},"nlds year":e=>{let{year:t}=De(e,["year"]);return`[[${t||""} National League Division Series|${t}]]`},"alds year":e=>{let{year:t}=De(e,["year"]);return`[[${t||""} American League Division Series|${t}]]`},"nfl year":e=>{let{year:t,other:i}=De(e,["year","other"]);return i&&t?`[[${t} NFL season|${t}]]–[[${i} NFL season|${i}]]`:`[[${t||""} NFL season|${t}]]`},"nfl playoff year":e=>{let{year:t}=De(e,["year"]);return t=Number(t),`[[${t}–${t+1} NFL playoffs|${t}]]`},"nba year":e=>{let{year:t}=De(e,["year"]);t=Number(t);let i=t+1;return`[[${t}–${i} NBA season|${t}–${i}]]`},"mhl year":e=>{let t=De(e,["year"]),i=Number(t.year),a=i+1;return`[[${i}–${a} NHL season|${i}–${a}]]`},min:e=>{let t=De(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t{let t=De(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t>i&&(i=t)})),String(i)},uspolabbr:e=>{let{party:t,state:i,house:a}=De(e,["party","state","house","link"]);if(!t||!i)return"";let n=`${t}‑${i}`;return a&&(n+=` ${xt(a)}`),n},ushr:e=>{let{state:t,num:i,type:a}=De(e,["state","num","type"]),n="";if("AL"!==i)return i=xt(Number(i)),`${t}'s ${i} congressional district`;if(n=`${t}'s at-large congressional district`,a){if(a=a.toLowerCase(),i="AL"===i?"At-large":i,"e"===a)return`[[${n}|${i}]]`;if("u"===a)return`[[${n}|${t}]]`;if("b"===a||"x"===a)return`[[${n}|${t} ${i}]]`}return`[[${n}]]`},metro:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},station:e=>{let{name:t,dab:i}=De(e,["name","x","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},bssrws:e=>{let{one:t,two:i}=De(e,["one","two"]),a=t;return i&&(a+=" "+i),`[[${a} railway station|${a}]]`},stnlnk:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} railway station (${i})|${t}]]`:`[[${t} railway station|${t}]]`},"station link":e=>{let{station:t,system:i}=De(e,["system","station"]);return t||i},"line link":e=>{let{station:t,system:i}=De(e,["system","station"]);return t||i},subway:e=>{let{name:t}=De(e,["name"]);return`[[${t} subway station|${t}]]`},"lrt station":e=>{let{name:t}=De(e,["name"]);return`[[${t} LRT station|${t}]]`},"mrt station":e=>{let{name:t}=De(e,["name"]);return`[[${t} MRT station|${t}]]`},rht:e=>{let{name:t}=De(e,["name"]);return`[[${t} railway halt|${t}]]`},ferry:e=>{let{name:t}=De(e,["name"]);return`[[${t} ferry wharf|${t}]]`},tram:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} tram stop (${i})|${t}]]`:`[[${t} tram stop|${t}]]`},tstop:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} ${i} stop|${t}]]`:`[[${t} stop|${t}]]`},ship:e=>{let{prefix:t,name:i,id:a}=De(e,["prefix","name","id"]);return t=t||"",`[[${t.toUpperCase()} ${i}]]`},sclass:e=>{let{cl:t,type:i}=De(e,["cl","type","fmt"]);return`[[${t}-class ${i} |''${t}''-class]] [[${i}]]`},"center block":e=>{let{text:t}=De(e,["text"]);return t||""},align:e=>{let{text:t}=De(e,["dir","text"]);return t||""},font:e=>{let{text:t}=De(e,["text"]);return t||""},float:e=>{let{text:t,dir:i}=De(e,["dir","text"]);return t?t||"":i},lower:e=>{let{text:t,n:i}=De(e,["n","text"]);return t?t||"":i},splitspan:e=>{let t=De(e).list||[];return(t[0]||"")+"\n"+(t[1]||"")},bracket:e=>{let{text:t}=De(e,["text"]);return t?`[${t}]`:"["},"in title":e=>{let{title:t,text:i}=De(e,["title","text"]);return i||(t?`All pages with titles containing ${t}`:"")},"look from":e=>{let{title:t,text:i}=De(e,["title","text"]);return i||(t?`All pages with titles beginning with ${t}`:"")},"literal translation":e=>{let t=De(e).list||[];return t=t.map((e=>`'${e}'`)),"lit. "+t.join(" or ")}};let _t=[["bwv","BWV"],["hwv","HWV"],["d.","D "],["aka","a.k.a. "],["cf.","cf. "],["fl.","fl. "],["circa","c. "],["born in","b. "],["died-in","d. "],["married-in","m. "]].reduce(((e,t)=>{let[i,a]=t;return e[i]=e=>{let{first:t}=De(e,["first"]);return t||0===t?a+(t||""):a},e}),{});["they","them","their","theirs","themself","they are","they were","they have","they do","he or she","him or her","his or her","his or hers","he/she","him/her","his/her"].forEach((e=>{_t[e]=e}));let zt={};["sr-latn-cyrl","sr-cyrl-latn","sr-latn","sr-cyrl","sr-cyr","sh-latn-cyrl","sh-cyrl-latn","sh-latn","sh-cyrl","cel-1bd","cel-x-proto","en-emodeng","de-at","de-ch","gem-x-proto","gsw-fr","nds-nl","nl-be","ku-arab","ku-cyrl","pt-br","fra-frc","fra-que","roa-leo","roa-nor","ca-valencia","ast-leo","grc-gre","grc-x-doric","grc-x-proto","grc-x-medieval","cpg","gmy","grc","grk-x-proto","pnt","mga","owl","pgl","sga","wlm","xbm","xcb","xcg","xpi","aae","aln","sq-definite","bs-cyrl","hsb","ltg","orv","prg","rsk","rue","rus","sgs","sla","szl","wen","aoa","chn","cri","dlm","egl","fax","frc","frm","fro","fr-gallo","oc-gascon","gcf","gcr","ist","la-x-medieval","lij-mc","lld","lou","mfe","mol","mwl","mxi","nrf","osc","osp","pcd","pln","rcf","rgn","roa","ruo","rup","ruq","sdc","sdn","src","sro","xvo","bzj","cim","dum","enm","frk","frr","frs","gmh","gml","gmw","goh","gos","gsw","gyn","icr","jam","kri","lng","nb","non","nrn","odt","ofs","osx","pey","sli","srm","srn","stq","swg","vmf","wae","wep","wes","zea","hmd","hoc","kha","mnw","mtq","vi-chunom","vi-hantu","mvi","rys","ryu","yoi","ace","akl","ami","bew","bik","bjn","bya","cal","cbk","cjm","coa","cyo","dev","fil","gad","hil","iba","ibg","ibl","ilp","itv","ivv","jax","kne","krj","kxd","ljp","mad","mak","mdh","mrv","mrw","ms-arab","nia","niu","pau","pwn","rap","rar","sgd","su-fonts","szy","tao","tkl","tsg","tvl","uli","wls","xsb","yap","yka","ckt","itl","brh","oty","tcy","abq","ady","ddo","inh","kbd","lbe","lez","rut","tab","uby","udi","bai","bin","bsq","dag","dyu","efi","fan","fmp","fuc","fuf","gaa","ibb","kbp","kcg","kpo","ktu","lu","lua","lun","mkw","mos","oaa","sjo","ude","anm","bft","blk","brx","dng","kjp","kjz","ksw","lbj","lus","aae","aaq","abe","abq","aca","ace","acf","acm","acw","ady","ae","aeb","aec","aer","afb","aht","aii","aij","ain","aiq","akk","akl","akz","ale","aln","alq","alt","ami","anm","aoa","apj","apm","apw","ayn","arb","arh","ari","arn","arp","arq","ary","arz","asb","ath","ats","awa","axm","azb","azd","azj","bai","bal","ban","bax","bdz","bea","ber","bew","bft","bgn","bho","bik","bin","bjn","bla","blc","blk","bqi","brh","brx","bsk","bsq","bua","bvb","bya","bzj","cal","cay","cbk","ccp","chg","chm","chn","chp","cic","cim","ciw","cjm","cjs","ckb","ckt","cku","cld","clm","cmg","cmn","cms","cnu","coa","coc","coj","com","coo","cop","cpg","crg","crh","cri","crj","crk","crl","crm","cro","csw","csz","ctg","ctm","cyo","dag","dak","ddo","deh","del","den","dev","din","dlm","dng","dum","dyu","efi","egl","egy","elx","eml","ems","cmn","och","yue","mjw","mni","my-name-mlcts","nan","nwc","omp","otb","pwo","sip","xct","xsr","1ca","alt","az-arab","azb","azj","chg","cjs","crh","crh3","kaa","kjh","krc","kum","nog","ota","otk","sah","slr","sty","tt-arab","tt-cyrl","tt-latn","tyv","uniturk","chm","est-sea","fit","fkv","izh","jmy","koi","krl","liv","mdf","mhr","mrj","myv","olo","sia","sjd","sje","sjk","sjt","sju","sma","smi","smj","smn","sms","vep","vot","vro","yrk","din","luo","srr","sus","swh","umb","yao"].forEach((e=>{zt["lang-"+e]=0})),Object.keys(O).forEach((e=>{zt["lang-"+e]=0}));var Ot=[["🇦🇩","and","andorra"],["🇦🇪","are","united arab emirates"],["🇦🇫","afg","afghanistan"],["🇦🇬","atg","antigua and barbuda"],["🇦🇮","aia","anguilla"],["🇦🇱","alb","albania"],["🇦🇲","arm","armenia"],["🇦🇴","ago","angola"],["🇦🇶","ata","antarctica"],["🇦🇷","arg","argentina"],["🇦🇸","asm","american samoa"],["🇦🇹","aut","austria"],["🇦🇺","aus","australia"],["🇦🇼","abw","aruba"],["🇦🇽","ala","åland islands"],["🇦🇿","aze","azerbaijan"],["🇧🇦","bih","bosnia and herzegovina"],["🇧🇧","brb","barbados"],["🇧🇩","bgd","bangladesh"],["🇧🇪","bel","belgium"],["🇧🇫","bfa","burkina faso"],["🇧🇬","bgr","bulgaria"],["🇧🇬","bul","bulgaria"],["🇧🇭","bhr","bahrain"],["🇧🇮","bdi","burundi"],["🇧🇯","ben","benin"],["🇧🇱","blm","saint barthélemy"],["🇧🇲","bmu","bermuda"],["🇧🇳","brn","brunei darussalam"],["🇧🇴","bol","bolivia"],["🇧🇶","bes","bonaire, sint eustatius and saba"],["🇧🇷","bra","brazil"],["🇧🇸","bhs","bahamas"],["🇧🇹","btn","bhutan"],["🇧🇻","bvt","bouvet island"],["🇧🇼","bwa","botswana"],["🇧🇾","blr","belarus"],["🇧🇿","blz","belize"],["🇨🇦","can","canada"],["🇨🇨","cck","cocos (keeling) islands"],["🇨🇩","cod","congo"],["🇨🇫","caf","central african republic"],["🇨🇬","cog","congo"],["🇨🇭","che","switzerland"],["🇨🇮","civ","côte d'ivoire"],["🇨🇰","cok","cook islands"],["🇨🇱","chl","chile"],["🇨🇲","cmr","cameroon"],["🇨🇳","chn","china"],["🇨🇴","col","colombia"],["🇨🇷","cri","costa rica"],["🇨🇺","cub","cuba"],["🇨🇻","cpv","cape verde"],["🇨🇼","cuw","curaçao"],["🇨🇽","cxr","christmas island"],["🇨🇾","cyp","cyprus"],["🇨🇿","cze","czech republic"],["🇩🇪","deu","germany"],["🇩🇪","ger","germany"],["🇩🇯","dji","djibouti"],["🇩🇰","dnk","denmark"],["🇩🇲","dma","dominica"],["🇩🇴","dom","dominican republic"],["🇩🇿","dza","algeria"],["🇪🇨","ecu","ecuador"],["🇪🇪","est","estonia"],["🇪🇬","egy","egypt"],["🇪🇭","esh","western sahara"],["🇪🇷","eri","eritrea"],["🇪🇸","esp","spain"],["🇪🇹","eth","ethiopia"],["🇫🇮","fin","finland"],["🇫🇯","fji","fiji"],["🇫🇰","flk","falkland islands (malvinas)"],["🇫🇲","fsm","micronesia"],["🇫🇴","fro","faroe islands"],["🇫🇷","fra","france"],["🇬🇦","gab","gabon"],["🇬🇧","gbr","united kingdom"],["🇬🇩","grd","grenada"],["🇬🇫","guf","french guiana"],["🇬🇬","ggy","guernsey"],["🇬🇭","gha","ghana"],["🇬🇮","gib","gibraltar"],["🇬🇱","grl","greenland"],["🇬🇲","gmb","gambia"],["🇬🇳","gin","guinea"],["🇬🇵","glp","guadeloupe"],["🇬🇶","gnq","equatorial guinea"],["🇬🇷","grc","greece"],["🇬🇸","sgs","south georgia"],["🇬🇹","gtm","guatemala"],["🇬🇺","gum","guam"],["🇬🇼","gnb","guinea-bissau"],["🇬🇾","guy","guyana"],["🇭🇰","hkg","hong kong"],["🇭🇲","hmd","heard island and mcdonald islands"],["🇭🇳","hnd","honduras"],["🇭🇷","hrv","croatia"],["🇭🇹","hti","haiti"],["🇭🇺","hun","hungary"],["🇮🇩","idn","indonesia"],["🇮🇪","irl","ireland"],["🇮🇱","isr","israel"],["🇮🇲","imn","isle of man"],["🇮🇳","ind","india"],["🇮🇴","iot","british indian ocean territory"],["🇮🇶","irq","iraq"],["🇮🇷","irn","iran"],["🇮🇸","isl","iceland"],["🇮🇹","ita","italy"],["🇯🇪","jey","jersey"],["🇯🇲","jam","jamaica"],["🇯🇴","jor","jordan"],["🇯🇵","jpn","japan"],["🇰🇪","ken","kenya"],["🇰🇬","kgz","kyrgyzstan"],["🇰🇭","khm","cambodia"],["🇰🇮","kir","kiribati"],["🇰🇲","com","comoros"],["🇰🇳","kna","saint kitts and nevis"],["🇰🇵","prk","north korea"],["🇰🇷","kor","south korea"],["🇰🇼","kwt","kuwait"],["🇰🇾","cym","cayman islands"],["🇰🇿","kaz","kazakhstan"],["🇱🇦","lao","lao people's democratic republic"],["🇱🇧","lbn","lebanon"],["🇱🇨","lca","saint lucia"],["🇱🇮","lie","liechtenstein"],["🇱🇰","lka","sri lanka"],["🇱🇷","lbr","liberia"],["🇱🇸","lso","lesotho"],["🇱🇹","ltu","lithuania"],["🇱🇺","lux","luxembourg"],["🇱🇻","lva","latvia"],["🇱🇾","lby","libya"],["🇲🇦","mar","morocco"],["🇲🇨","mco","monaco"],["🇲🇩","mda","moldova"],["🇲🇪","mne","montenegro"],["🇲🇫","maf","saint martin (french part)"],["🇲🇬","mdg","madagascar"],["🇲🇭","mhl","marshall islands"],["🇲🇰","mkd","macedonia"],["🇲🇱","mli","mali"],["🇲🇲","mmr","myanmar"],["🇲🇳","mng","mongolia"],["🇲🇴","mac","macao"],["🇲🇵","mnp","northern mariana islands"],["🇲🇶","mtq","martinique"],["🇲🇷","mrt","mauritania"],["🇲🇸","msr","montserrat"],["🇲🇹","mlt","malta"],["🇲🇺","mus","mauritius"],["🇲🇻","mdv","maldives"],["🇲🇼","mwi","malawi"],["🇲🇽","mex","mexico"],["🇲🇾","mys","malaysia"],["🇲🇿","moz","mozambique"],["🇳🇦","nam","namibia"],["🇳🇨","ncl","new caledonia"],["🇳🇪","ner","niger"],["🇳🇫","nfk","norfolk island"],["🇳🇬","nga","nigeria"],["🇳🇮","nic","nicaragua"],["🇳🇱","nld","netherlands"],["🇳🇴","nor","norway"],["🇳🇵","npl","nepal"],["🇳🇷","nru","nauru"],["🇳🇺","niu","niue"],["🇳🇿","nzl","new zealand"],["🇴🇲","omn","oman"],["🇵🇦","pan","panama"],["🇵🇪","per","peru"],["🇵🇫","pyf","french polynesia"],["🇵🇬","png","papua new guinea"],["🇵🇭","phl","philippines"],["🇵🇰","pak","pakistan"],["🇵🇱","pol","poland"],["🇵🇲","spm","saint pierre and miquelon"],["🇵🇳","pcn","pitcairn"],["🇵🇷","pri","puerto rico"],["🇵🇸","pse","palestinian territory"],["🇵🇹","prt","portugal"],["🇵🇼","plw","palau"],["🇵🇾","pry","paraguay"],["🇶🇦","qat","qatar"],["🇷🇪","reu","réunion"],["🇷🇴","rou","romania"],["🇷🇸","srb","serbia"],["🇷🇺","rus","russia"],["🇷🇼","rwa","rwanda"],["🇸🇦","sau","saudi arabia"],["🇸🇧","slb","solomon islands"],["🇸🇨","syc","seychelles"],["🇸🇩","sdn","sudan"],["🇸🇪","swe","sweden"],["🇸🇬","sgp","singapore"],["🇸🇭","shn","saint helena, ascension and tristan da cunha"],["🇸🇮","svn","slovenia"],["🇸🇯","sjm","svalbard and jan mayen"],["🇸🇰","svk","slovakia"],["🇸🇱","sle","sierra leone"],["🇸🇲","smr","san marino"],["🇸🇳","sen","senegal"],["🇸🇴","som","somalia"],["🇸🇷","sur","suriname"],["🇸🇸","ssd","south sudan"],["🇸🇹","stp","sao tome and principe"],["🇸🇻","slv","el salvador"],["🇸🇽","sxm","sint maarten (dutch part)"],["🇸🇾","syr","syrian arab republic"],["🇸🇿","swz","swaziland"],["🇹🇨","tca","turks and caicos islands"],["🇹🇩","tcd","chad"],["🇹🇫","atf","french southern territories"],["🇹🇬","tgo","togo"],["🇹🇭","tha","thailand"],["🇹🇯","tjk","tajikistan"],["🇹🇰","tkl","tokelau"],["🇹🇱","tls","timor-leste"],["🇹🇲","tkm","turkmenistan"],["🇹🇳","tun","tunisia"],["🇹🇴","ton","tonga"],["🇹🇷","tur","turkey"],["🇹🇹","tto","trinidad and tobago"],["🇹🇻","tuv","tuvalu"],["🇹🇼","twn","taiwan"],["🇹🇿","tza","tanzania"],["🇺🇦","ukr","ukraine"],["🇺🇬","uga","uganda"],["🇺🇲","umi","united states minor outlying islands"],["🇺🇸","us","united states"],["🇺🇸","usa","united states"],["🇺🇾","ury","uruguay"],["🇺🇿","uzb","uzbekistan"],["🇻🇦","vat","vatican city"],["🇻🇨","vct","saint vincent and the grenadines"],["🇻🇪","ven","venezuela"],["🇻🇬","vgb","virgin islands, british"],["🇻🇮","vir","virgin islands, u.s."],["🇻🇳","vnm","viet nam"],["🇻🇺","vut","vanuatu"],["🇼🇫","wlf","wallis and futuna"],["🇼🇸","wsm","samoa"],["🇾🇪","yem","yemen"],["🇾🇹","myt","mayotte"],["🇿🇦","zaf","south africa"],["🇿🇲","zmb","zambia"],["🇿🇼 ","zwe","zimbabwe"],["🇺🇳","un","united nations"],["🏴󠁧󠁢󠁥󠁮󠁧󠁿󠁧󠁢󠁥󠁮󠁧󠁿","eng","england"],["🏴󠁧󠁢󠁳󠁣󠁴󠁿","sct","scotland"],["🏴󠁧󠁢󠁷󠁬󠁳󠁿","wal","wales"],["🇪🇺","eu","european union"]];const Et=["flag","variant"];let qt={flag:e=>{let t=De(e,Et),i=t.flag||"";t.flag=(t.flag||"").toLowerCase();let a=Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${a[0]||""} [[${a[2]}|${i}]]`},flagcountry:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} [[${i[2]}]]`},flagcu:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} ${i[2]}`},flagicon:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`[[${i[2]}|${i[0]}]]`:""},flagdeco:e=>{let t=De(e,Et);return t.flag=(t.flag||"").toLowerCase(),(Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[])[0]||""},fb:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${i[2]} national football team|${i[2]}]]`:""},fbicon:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?` [[${i[2]} national football team|${i[0]}]]`:""},flagathlete:e=>{let t=De(e,["name","flag","variant"]);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${t.name||""}]] (${i[1].toUpperCase()})`:`[[${t.name||""}]]`}};Ot.forEach((e=>{qt[e[1]]=()=>e[0]}));let Nt={};["rh","rh2","yes","no","maybe","eliminated","lost","safe","active","site active","coming soon","good","won","nom","sho","longlisted","tba","success","operational","failure","partial","regional","maybecheck","partial success","partial failure","okay","yes-no","some","nonpartisan","pending","unofficial","unofficial2","usually","rarely","sometimes","any","varies","black","non-album single","unreleased","unknown","perhaps","depends","included","dropped","terminated","beta","table-experimental","free","proprietary","nonfree","needs","nightly","release-candidate","planned","scheduled","incorrect","no result","cmain","calso starring","crecurring","cguest","not yet","optional"].forEach((e=>{Nt[e]=e=>{let t=De(e,["text"]);return t.text||$t(t.template)}}));[["active fire","Active"],["site active","Active"],["site inactive","Inactive"],["yes2",""],["no2",""],["ya","✅"],["na","❌"],["nom","Nominated"],["sho","Shortlisted"],["tba","TBA"],["maybecheck","✔️"],["okay","Neutral"],["n/a","N/A"],["sdash","—"],["dunno","?"],["draw",""],["cnone",""],["nocontest",""]].forEach((e=>{Nt[e[0]]=t=>De(t,["text"]).text||e[1]}));var St=Object.assign({},gt,bt,ft,jt,zt,_t,qt,Nt);let Ct={};["goodreads author","twitter","facebook","instagram","tumblr","pinterest","espn nfl","espn nhl","espn fc","hockeydb","fifa player","worldcat","worldcat id","nfl player","ted speaker","playmate"].forEach((e=>{Ct[e]=["id","name"]}));let Lt={};["imdb title","imdb name","imdb episode","imdb event","afi film","allmovie title","allgame","tcmdb title","discogs artist","discogs label","discogs release","discogs master","librivox author","musicbrainz artist","musicbrainz label","musicbrainz recording","musicbrainz release","musicbrainz work","youtube","goodreads book","dmoz"].forEach((e=>{Lt[e]=["id","title","description","section"]}));let At={};["citation needed"].forEach((e=>{At[e]=(e,t)=>(t.push(De(e)),"")}));var Dt={ipa:(e,t)=>{let i=De(e,["transcription","lang","audio"]);return i.lang=yt(i.template),i.template="ipa",t.push(i),""},ipac:(e,t)=>{let i=De(e);return i.transcription=(i.list||[]).join(","),delete i.list,i.lang=yt(i.template),i.template="ipac",t.push(i),""},quote:(e,t)=>{let i=De(e,["text","author"]);if(t.push(i),i.text){let e=`"${i.text}"`;return i.author&&(e+="\n\n",e+=` - ${i.author}`),e+"\n"}return""},"cite gnis":(e,t)=>{let i=De(e,["id","name","type"]);return i.type="gnis",i.template="citation",t.push(i),""},"spoken wikipedia":(e,t)=>{let i=De(e,["file","date"]);return i.template="audio",t.push(i),""},yel:(e,t)=>{let i=De(e,["min"]);return t.push(i),i.min?`yellow: ${i.min||""}'`:""},subon:(e,t)=>{let i=De(e,["min"]);return t.push(i),i.min?`sub on: ${i.min||""}'`:""},suboff:(e,t)=>{let i=De(e,["min"]);return t.push(i),i.min?`sub off: ${i.min||""}'`:""},sfn:(e,t,i,a)=>{let n=De(e,["author","year","location"]);return a&&(n.name=n.template,n.teplate=a),t.push(n),""},redirect:(e,t)=>{let i=De(e,["redirect"]),a=i.list||[],n=[];for(let e=0;e{let i=De(e),a={};Object.keys(vt).forEach((e=>{!0===i.hasOwnProperty(e)&&(a[vt[e]]=i[e])}));let n={template:"sister project links",links:a};return t.push(n),""},"subject bar":(e,t)=>{let i=De(e);Object.keys(i).forEach((e=>{vt.hasOwnProperty(e)&&(i[vt[e]]=i[e],delete i[e])}));let a={template:"subject bar",links:i};return t.push(a),""},gallery:(e,t)=>{let i=De(e),a=(i.list||[]).filter((e=>/^ *File ?:/.test(e)));return a=a.map((e=>new _({file:e}).json())),i={template:"gallery",images:a},t.push(i),""},sky:(e,t)=>{let i=De(e,["asc_hours","asc_minutes","asc_seconds","dec_sign","dec_degrees","dec_minutes","dec_seconds","distance"]),a={template:"sky",ascension:{hours:i.asc_hours,minutes:i.asc_minutes,seconds:i.asc_seconds},declination:{sign:i.dec_sign,degrees:i.dec_degrees,minutes:i.dec_minutes,seconds:i.dec_seconds},distance:i.distance};return t.push(a),""},"medical cases chart":(e,t)=>{let i=["date","deathsExpr","recoveriesExpr","casesExpr","4thExpr","5thExpr","col1","col1Change","col2","col2Change"],a=De(e);a.data=a.data||"";let n=a.data.split("\n").map((e=>{let t=e.split(";"),a={options:new Map},n=0;for(let e=0;e{let i=De(e);i.x&&(i.x=i.x.split(",").map((e=>e.trim()))),i.y&&(i.y=i.y.split(",").map((e=>e.trim())));let a=1;for(;i["y"+a];)i["y"+a]=i["y"+a].split(",").map((e=>e.trim())),a+=1;return t.push(i),""},"historical populations":(e,t)=>{let i=De(e);i.list=i.list||[];let a=[];for(let e=0;e{const i=/^jan /i,a=/^year /i;let n=De(e);const r=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];let o={},s=Object.keys(n).filter((e=>i.test(e)));s=s.map((e=>e.replace(i,""))),s.forEach((e=>{o[e]=[],r.forEach((t=>{let i=`${t} ${e}`;if(n.hasOwnProperty(i)){let t=wt(n[i]);delete n[i],o[e].push(t)}}))})),n.byMonth=o;let l={};return Object.keys(n).forEach((e=>{if(a.test(e)){let t=e.replace(a,"");l[t]=n[e],delete n[e]}})),n.byYear=l,t.push(n),""},"weather box/concise c":(e,t)=>{let i=De(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high c":i.list.slice(0,12),"low c":i.list.slice(12,24),"rain mm":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"weather box/concise f":(e,t)=>{let i=De(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high f":i.list.slice(0,12),"low f":i.list.slice(12,24),"rain inch":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"climate chart":(e,t)=>{let i=De(e).list||[],a=i[0],n=i[38];i=i.slice(1),i=i.map((e=>(e&&"−"===e[0]&&(e=e.replace(/−/,"-")),e)));let r=[];for(let e=0;e<36;e+=3)r.push({low:wt(i[e]),high:wt(i[e+1]),precip:wt(i[e+2])});let o={template:"climate chart",data:{title:a,source:n,months:r}};return t.push(o),""},medalcount:(e,t)=>{let i=De(e).list||[],a=[];for(let e=0;e{let i=De(e,["formula"]);return t.push(i),"\n\n"+(i.formula||"")+"\n\n"},legend:(e,t)=>{let i=De(e,["color","label"]);return t.push(i),e},isbn:(e,t)=>{let i=De(e,["id","id2","id3"]);return t.push(i),"ISBN "+(i.id||"")},"based on":(e,t)=>{let i=De(e,["title","author"]);return t.push(i),`${i.title} by ${i.author||""}`},"bbl to t":(e,t)=>{let i=De(e,["barrels"]);return t.push(i),"0"===i.barrels?i.barrels+" barrel":i.barrels+" barrels"},mpc:(e,t)=>{let i=De(e,["number","text"]);return t.push(i),`[https://minorplanetcenter.net/db_search/show_object?object_id=P/2011+NO1 ${i.text||i.number}]`},pengoal:(e,t)=>(t.push({template:"pengoal"}),"✅"),penmiss:(e,t)=>(t.push({template:"penmiss"}),"❌"),"ordered list":(e,t)=>{let i=De(e);return t.push(i),i.list=i.list||[],i.list.map(((e,t)=>`${t+1}. ${e}`)).join("\n\n")},"title year":(e,t,i,a,n)=>{let r=De(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b[0-9]{4}\b/);if(e)return e[0]}return r.nomatch||""},"title century":(e,t,i,a,n)=>{let r=De(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)(st|nd|rd|th)\b/);if(e)return e[1]||""}return r.nomatch||""},"title decade":(e,t,i,a,n)=>{let r=De(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)s\b/);if(e)return e[1]||""}return r.nomatch||""},nihongo:(e,t)=>{let i=De(e,["english","kanji","romaji","extra"]);t.push(i);let a=i.english||i.romaji||"";return i.kanji&&(a+=` (${i.kanji})`),a},marriage:(e,t)=>{let i=De(e,["spouse","from","to","end"]);t.push(i);let a=i.spouse||"";return i.from&&(i.to?a+=` (m. ${i.from}-${i.to})`:a+=` (m. ${i.from})`),a},"sent off":(e,t)=>{let i=De(e,["cards"]),a={template:"sent off",cards:i.cards,minutes:i.list||[]};return t.push(a),"sent off: "+a.minutes.map((e=>e+"'")).join(", ")},transl:(e,t)=>{let i=De(e,["lang","text","text2"]);return i.text2&&(i.iso=i.text,i.text=i.text2,delete i.text2),t.push(i),i.text||""},"collapsible list":(e,t)=>{let i=De(e);t.push(i);let a="";if(i.title&&(a+=`'''${i.title}'''\n\n`),!i.list){i.list=[];for(let e=1;e<10;e+=1)i[e]&&(i.list.push(i[e]),delete i[e])}return i.list=i.list.filter((e=>e)),a+=i.list.join("\n\n"),a},"columns-list":(e,t)=>{let i=((De(e).list||[])[0]||"").split(/\n/).filter((e=>e));return i=i.map((e=>e.replace(/\*/,""))),t.push({template:"columns-list",list:i}),i=i.map((e=>"• "+e)),i.join("\n\n")},height:(e,t)=>{let i=De(e);t.push(i);let a=[];return["m","cm","ft","in"].forEach((e=>{!0===i.hasOwnProperty(e)&&a.push(i[e]+e)})),a.join(" ")},sic:(e,t)=>{let i=De(e,["one","two","three"]),a=(i.one||"")+(i.two||"");return"?"===i.one&&(a=(i.two||"")+(i.three||"")),t.push({template:"sic",word:a}),"y"===i.nolink?a:`${a} [sic]`},inrconvert:(e,t)=>{let i=De(e,["rupee_value","currency_formatting"]);t.push(i);const a={k:1e3,m:1e6,b:1e9,t:1e12,l:1e5,c:1e7,lc:1e12};if(i.currency_formatting){let e=a[i.currency_formatting]||1;i.rupee_value=i.rupee_value*e}return`inr ${i.rupee_value||""}`},frac:(e,t)=>{let i=De(e,["a","b","c"]),a={template:"sfrac"};return i.c?(a.integer=i.a,a.numerator=i.b,a.denominator=i.c):i.b?(a.numerator=i.a,a.denominator=i.b):(a.numerator=1,a.denominator=i.a),t.push(a),a.integer?`${a.integer} ${a.numerator}⁄${a.denominator}`:`${a.numerator}⁄${a.denominator}`},"winning percentage":(e,t)=>{let i=De(e,["wins","losses","ties"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=Number(i.ties)||0,o=a+n+r;"y"===i.ignore_ties&&(r=0),r&&(a+=r/2);let s=kt({numerator:a,denominator:o,decimals:1});return null===s?"":"."+10*s},winlosspct:(e,t)=>{let i=De(e,["wins","losses"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=kt({numerator:a,denominator:a+n,decimals:1});return null===r?"":`${a||0} || ${n||0} || ${"."+10*r||"-"}`},"video game release":(e,t)=>{let i=["region","date","region2","date2","region3","date3","region4","date4"],a=De(e,i),n={template:"video game release",releases:[]};for(let e=0;e`${e.region}: ${e.date||""}`)).join("\n\n")+"\n"},uss:(e,t)=>{let i=De(e,["name","id"]);return t.push(i),i.id?`[[USS ${i.name} (${i.id})|USS ''${i.name}'' (${i.id})]]`:`[[USS ${i.name}|USS ''${i.name}'']]`},blockquote:(e,t)=>{let i=De(e,["text","author","title","source","character"]);t.push(i);let a=i.text;a||(i.list=i.list||[],a=i.list[0]||"");let n=a.replace(/"/g,"'");return n='"'+n+'"',n},ReptileDatabase:(e,t)=>{let i=De(e,["taxon","genus","species","abruf","pure_url"]);t.push(i);let a="";return(i.genus||i.species)&&(a=`${i.genus||""} ${i.species||""} `),`${a}In: [[The Reptile Database]]`},GEOnet3:(e,t)=>{let i=De(e,["ufi","name"]);return t.push(i),"GEOnet3 can be found at [[GEOnet Names Server]], at [http://geonames.nga.mil/namesgaz/ this link]"}};const Rt={"£":"GB£","¥":"¥","৳":"৳","₩":"₩","€":"€","₱":"₱","₹":"₹","₽":"₽","cn¥":"CN¥","gb£":"GB£","india rs":"₹","indian rupee symbol":"₹","indian rupee":"₹","indian rupees":"₹","philippine peso":"₱","russian ruble":"₽","SK won":"₩","turkish lira":"TRY",a$:"A$",au$:"A$",aud:"A$",bdt:"BDT",brl:"BRL",ca$:"CA$",cad:"CA$",chf:"CHF",cny:"CN¥",czk:"czk",dkk:"dkk",dkk2:"dkk",euro:"€",gbp:"GB£",hk$:"HK$",hkd:"HK$",ils:"ILS",inr:"₹",jpy:"¥",myr:"MYR",nis:"ILS",nok:"NOK",nok2:"NOK",nz$:"NZ$",nzd:"NZ$",peso:"peso",pkr:"₨",r$:"BRL",rmb:"CN¥",rub:"₽",ruble:"₽",rupee:"₹",s$:"sgd",sek:"SEK",sek2:"SEK",sfr:"CHF",sgd:"sgd",shekel:"ILS",sheqel:"ILS",ttd:"TTD",us$:"US$",usd:"US$",yen:"¥",zar:"R"},Ft=(e,t)=>{let i=De(e,["amount","code"]);t.push(i);let a=i.template||"";"currency"===a?(a=i.code,a||(i.code=a="usd")):""!==a&&"monnaie"!==a&&"unité"!==a&&"nombre"!==a&&"nb"!==a||(a=i.code),a=(a||"").toLowerCase(),"us"===a?i.code=a="usd":"uk"===a&&(i.code=a="gbp");let n=`${Rt[a]||""}${i.amount||""}`;return i.code&&!Rt[i.code.toLowerCase()]&&(n+=" "+i.code),n};let Ut={currency:Ft};Object.keys(Rt).forEach((e=>{Ut[e]=Ft}));const Bt=864e5,Kt=30*Bt,Wt=365*Bt,Ht=function(e){return new Date(`${e.year}-${e.month||0}-${e.date||1}`).getTime()},Yt=function(e,t){e=Ht(e);let i=(t=Ht(t))-e,a={},n=Math.floor(i/Wt);n>0&&(a.years=n,i-=a.years*Wt);let r=Math.floor(i/Kt);r>0&&(a.months=r,i-=a.months*Kt);let o=Math.floor(i/Bt);return o>0&&(a.days=o),a},Gt=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Zt=[void 0,"January","February","March","April","May","June","July","August","September","October","November","December"],Vt=Zt.reduce(((e,t,i)=>(0===i||(e[t.toLowerCase()]=i,e[t.substring(0,3).toLowerCase()]=i),e)),{}),Jt=function(e){let t={},i=["year","month","date","hour","minute","second"];for(let a=0;a{let i=De(e,["year","month","date","hour","minute","second","timezone"]),a=Jt([i.year,i.month,i.date||i.day]);return i.text=Qt(a),i.timezone&&("Z"===i.timezone&&(i.timezone="UTC"),i.text+=` (${i.timezone})`),i.hour&&i.minute&&(i.second?i.text=`${i.hour}:${i.minute}:${i.second}, `+i.text:i.text=`${i.hour}:${i.minute}, `+i.text),i.text&&t.push(ei(i)),i.text},natural_date:(e,t)=>{let i=De(e,["text"]).text||"",a={};if(/^[0-9]{4}$/.test(i))a.year=parseInt(i,10);else{let e=i.replace(/[a-z]+\/[a-z]+/i,"");e=e.replace(/[0-9]+:[0-9]+(am|pm)?/i,"");let t=new Date(e);!1===isNaN(t.getTime())&&(a.year=t.getFullYear(),a.month=t.getMonth()+1,a.date=t.getDate())}return t.push(ei(a)),i.trim()},one_year:(e,t)=>{let i=De(e,["year"]),a=Number(i.year);return t.push(ei({year:a})),String(a)},two_dates:(e,t)=>{let i=De(e,["b","birth_year","birth_month","birth_date","death_year","death_month","death_date"]);if(i.b&&"b"===i.b.toLowerCase()){let e=Jt([i.birth_year,i.birth_month,i.birth_date]);return t.push(ei(e)),Qt(e)}let a=Jt([i.death_year,i.death_month,i.death_date]);return t.push(ei(a)),Qt(a)},age:e=>{let t=ti(e);return Yt(t.from,t.to).years||0},"diff-y":e=>{let t=ti(e),i=Yt(t.from,t.to);return 1===i.years?i.years+" year":(i.years||0)+" years"},"diff-ym":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),a.join(", ")},"diff-ymd":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-yd":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-d":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return i.days+=365*(i.years||0),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")}},ai=["January","February","March","April","May","June","July","August","September","October","November","December"];var ni={currentday:()=>{let e=new Date;return String(e.getDate())},currentdayname:()=>{let e=new Date;return Gt[e.getDay()]},currentmonth:()=>{let e=new Date;return ai[e.getMonth()]},currentyear:()=>{let e=new Date;return String(e.getFullYear())},monthyear:()=>{let e=new Date;return ai[e.getMonth()]+" "+e.getFullYear()},"monthyear-1":()=>{let e=new Date;return e.setMonth(e.getMonth()-1),ai[e.getMonth()]+" "+e.getFullYear()},"monthyear+1":()=>{let e=new Date;return e.setMonth(e.getMonth()+1),ai[e.getMonth()]+" "+e.getFullYear()},year:e=>{let t=De(e,["date"]).date,i=new Date(t);return t&&!1===isNaN(i.getTime())?String(i.getFullYear()):""},"time ago":e=>function(e){let t=new Date(e);if(isNaN(t.getTime()))return"";let i=(new Date).getTime()-t.getTime(),a="ago";i<0&&(a="from now",i=Math.abs(i));let n=i/1e3/60/60/24;return n<365?Number(n)+" days "+a:Number(n/365)+" years "+a}(De(e,["date","fmt"]).date),"birth date and age":(e,t)=>{let i=De(e,["year","month","day"]);return i.year&&/[a-z]/i.test(i.year)?ii.natural_date(e,t):(t.push(i),i=Jt([i.year,i.month,i.day]),Qt(i))},"birth year and age":(e,t)=>{let i=De(e,["birth_year","birth_month"]);if(i.death_year&&/[a-z]/i.test(i.death_year))return ii.natural_date(e,t);t.push(i);let a=(new Date).getFullYear()-parseInt(i.birth_year,10);i=Jt([i.birth_year,i.birth_month]);let n=Qt(i);return a&&(n+=` (age ${a})`),n},"death year and age":(e,t)=>{let i=De(e,["death_year","birth_year","death_month"]);return i.death_year&&/[a-z]/i.test(i.death_year)?ii.natural_date(e,t):(t.push(i),i=Jt([i.death_year,i.death_month]),Qt(i))},"birth date and age2":(e,t)=>{let i=De(e,["at_year","at_month","at_day","birth_year","birth_month","birth_day"]);return t.push(i),i=Jt([i.birth_year,i.birth_month,i.birth_day]),Qt(i)},"birth based on age as of date":(e,t)=>{let i=De(e,["age","year","month","day"]);t.push(i);let a=parseInt(i.age,10),n=parseInt(i.year,10)-a;return n&&a?`${n} (age ${i.age})`:`(age ${i.age})`},"death date and given age":(e,t)=>{let i=De(e,["year","month","day","age"]);t.push(i),i=Jt([i.year,i.month,i.day]);let a=Qt(i);return i.age&&(a+=` (age ${i.age})`),a},dts:e=>{e=(e=e.replace(/\|format=[ymd]+/i,"")).replace(/\|abbr=(on|off)/i,"");let t=De(e,["year","month","date","bc"]);return t.date&&t.month&&t.year?!0===/[a-z]/.test(t.month)?[t.month,t.date,t.year].join(" "):[t.year,t.month,t.date].join("-"):t.month&&t.year?[t.year,t.month].join("-"):t.year?(t.year<0&&(t.year=Math.abs(t.year)+" BC"),t.year):""},time:()=>{let e=new Date,t=Jt([e.getFullYear(),e.getMonth(),e.getDate()]);return Qt(t)},millennium:e=>{let t=De(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/1e3)+1,t.abbr&&"y"===t.abbr?i<0?`${xt(Math.abs(i))} BC`:`${xt(i)}`:`${xt(i)} millennium`},start:ii.date,"start-date":ii.natural_date,birthdeathage:ii.two_dates,age:ii.age,"age nts":ii.age,"age in years":ii["diff-y"],"age in years and months":ii["diff-ym"],"age in years, months and days":ii["diff-ymd"],"age in years and days":ii["diff-yd"],"age in days":ii["diff-d"]};function ri(e){let t=e.pop(),i=Number(e[0]||0),a=Number(e[1]||0),n=Number(e[2]||0);if("string"!=typeof t||isNaN(i))return null;let r=1;return/[SW]/i.test(t)&&(r=-1),r*(i+a/60+n/3600)}const oi=function(e){if("number"!=typeof e)return e;let t=1e5;return Math.round(e*t)/t},si={s:!0,w:!0},li=function(e){let t=De(e);t=function(e){return e.list=e.list||[],e.list=e.list.map((t=>{let i=Number(t);if(!isNaN(i))return i;let a=t.split(/:/);return a.length>1?(e.props=e.props||{},e.props[a[0]]=a.slice(1).join(":"),null):t})),e.list=e.list.filter((e=>null!==e)),e}(t);let i=function(e){const t=e.map((e=>typeof e)).join("|");return 2===e.length&&"number|number"===t?{lat:e[0],lon:e[1]}:4===e.length&&"number|string|number|string"===t?(si[e[1].toLowerCase()]&&(e[0]*=-1),"w"===e[3].toLowerCase()&&(e[2]*=-1),{lat:e[0],lon:e[2]}):6===e.length?{lat:ri(e.slice(0,3)),lon:ri(e.slice(3))}:8===e.length?{lat:ri(e.slice(0,4)),lon:ri(e.slice(4))}:{}}(t.list);return t.lat=oi(i.lat),t.lon=oi(i.lon),t.template="coord",delete t.list,t},ci={coord:(e,t)=>{let i=li(e);return t.push(i),i.display&&-1===i.display.indexOf("inline")?"":`${i.lat||""}°N, ${i.lon||""}°W`}},ui=function(e,t,i,a){let n=De(e);return a&&(n.name=n.template,n.template=a),t.push(n),""},mi={persondata:ui,taxobox:ui,citation:ui,portal:ui,reflist:ui,"cite book":ui,"cite journal":ui,"cite web":ui,"commons cat":ui,"election box candidate":ui,"election box begin":ui,main:ui},di={adx:"adx",aim:"aim",amex:"amex",asx:"asx",athex:"athex",b3:"b3","B3 (stock exchange)":"B3 (stock exchange)",barbadosse:"barbadosse",bbv:"bbv",bcba:"bcba",bcs:"bcs",bhse:"bhse",bist:"bist",bit:"bit","bm&f bovespa":"b3","bm&f":"b3",bmad:"bmad",bmv:"bmv","bombay stock exchange":"bombay stock exchange","botswana stock exchange":"botswana stock exchange",bpse:"bpse",bse:"bse",bsx:"bsx",bvb:"bvb",bvc:"bvc",bvl:"bvl",bvpasa:"bvpasa",bwse:"bwse","canadian securities exchange":"canadian securities exchange",cse:"cse",darse:"darse",dfm:"dfm",dse:"dse",euronext:"euronext",euronextparis:"euronextparis",fse:"fse",fwb:"fwb",gse:"gse",gtsm:"gtsm",idx:"idx",ise:"ise",iseq:"iseq",isin:"isin",jasdaq:"jasdaq",jse:"jse",kase:"kase",kn:"kn",krx:"krx",lse:"lse",luxse:"luxse","malta stock exchange":"malta stock exchange",mai:"mai",mcx:"mcx",mutf:"mutf",myx:"myx",nag:"nag","nasdaq dubai":"nasdaq dubai",nasdaq:"nasdaq",neeq:"neeq",nepse:"nepse",nex:"nex",nse:"nse",newconnect:"newconnect","nyse arca":"nyse arca",nyse:"nyse",nzx:"nzx","omx baltic":"omx baltic",omx:"omx",ose:"ose","otc expert":"otc expert","otc grey":"otc grey","otc pink":"otc pink",otcqb:"otcqb",otcqx:"otcqx","pfts ukraine stock exchange":"pfts ukraine stock exchange","philippine stock exchange":"philippine stock exchange",prse:"prse",psx:"psx",karse:"karse",qe:"qe","saudi stock exchange":"saudi stock exchange",sehk:"sehk","Stock Exchange of Thailand":"Stock Exchange of Thailand",set:"set",sgx:"sgx",sse:"sse",swx:"swx",szse:"szse",tase:"tase","tsx-v":"tsx-v",tsx:"tsx",tsxv:"tsxv",ttse:"ttse",twse:"twse",tyo:"tyo",wbag:"wbag",wse:"wse","zagreb stock exchange":"zagreb stock exchange","zimbabwe stock exchange":"zimbabwe stock exchange",zse:"zse"},pi=(e,t)=>{let i=De(e,["ticketnumber","code"]);t.push(i);let a=i.template||"";""===a&&(a=i.code),a=(a||"").toLowerCase();let n=di[a]||"";return i.ticketnumber&&(n=`${n}: ${i.ticketnumber}`),i.code&&!di[i.code.toLowerCase()]&&(n+=" "+i.code),n},hi={};Object.keys(di).forEach((e=>{hi[e]=pi}));const gi=function(e){return 1===(e=String(e)).length&&(e="0"+e),e},bi=function(e,t,i){e[`rd${t}-team${gi(i)}`]&&(i=gi(i));let a=e[`rd${t}-score${i}`],n=Number(a);return!1===isNaN(n)&&(a=n),{team:e[`rd${t}-team${i}`],score:a,seed:e[`rd${t}-seed${i}`]}},fi=function(e){let t=[],i=De(e);for(let e=1;e<7;e+=1){let a=[];for(let t=1;t<16;t+=2){let n=`rd${e}-team`;if(!i[n+t]&&!i[n+gi(t)])break;{let n=bi(i,e,t),r=bi(i,e,t+1);a.push([n,r])}}a.length>0&&t.push(a)}return{template:"playoffbracket",rounds:t}};let ki={"4teambracket":function(e,t){let i=fi(e);return t.push(i),""},player:(e,t)=>{let i=De(e,["number","country","name","dl"]);t.push(i);let a=`[[${i.name}]]`;if(i.country){let e=(i.country||"").toLowerCase(),t=Ot.find((t=>e===t[1]||e===t[2]))||[];t&&t[0]&&(a=t[0]+" "+a)}return i.number&&(a=i.number+" "+a),a},goal:(e,t)=>{let i={template:"goal",data:[]},a=De(e).list||[];for(let e=0;e{let t=e.note;return t&&(t=` (${t})`),e.min+"'"+t})).join(", "),n},"sports table":(e,t)=>{let i=De(e),a={};Object.keys(i).filter((e=>/^team[0-9]/.test(e))).map((e=>i[e].toLowerCase())).forEach((e=>{a[e]={name:i[`name_${e}`],win:Number(i[`win_${e}`])||0,loss:Number(i[`loss_${e}`])||0,tie:Number(i[`tie_${e}`])||0,otloss:Number(i[`otloss_${e}`])||0,goals_for:Number(i[`gf_${e}`])||0,goals_against:Number(i[`ga_${e}`])||0}}));let n={date:i.update,header:i.table_header,teams:a};t.push(n)},"cbb roster/header":function(){return'{| class="wikitable"\n |-\n ! POS\n ! #\n ! Name\n ! Height\n ! Weight\n ! Year\n ! Previous School\n ! Hometown\n |-\n'},"cbb roster/player":function(e,t){let i=De(e);return t.push(i),`|-\n| ${i.pos||""}\n| ${i.num||""}\n| ${i.first||""} ${i.last||""}\n| ${i.ft||""}${i.in||""}\n| ${i.lbs||""}\n| ${i.class||""}\n| ${i.high_school||""}\n| ${i.home||""}\n`},"cbb roster/footer":function(){return"\n|}"}};var wi=Object.assign({},It,Mt,Ut,ni,ci,mi,hi,fi,ki);let yi=Object.assign({},St,Tt,wi);Object.keys(pt).forEach((e=>{void 0===yi[pt[e]]&&console.error(`Missing template: '${pt[e]}'`),yi[e]=yi[pt[e]]}));const $i=["0","1","2","3","4","5","6","7","8","9"],xi=function(e,t){let i=e.name;if(!0===ot.hasOwnProperty(i))return[""];if(!0===function(e){return!0===st.hasOwnProperty(e)||!!lt.test(e)||!(!ct.test(e)&&!ut.test(e))||!!mt.test(e)}(i)){let t=De(e.body,[],"raw");return["",dt(t)]}if(!0===/^cite [a-z]/.test(i)){let t=De(e.body);return t.type=t.template,t.template="citation",["",t]}if(!0===yi.hasOwnProperty(i)){if("number"==typeof yi[i]){return[De(e.body,$i)[String(yi[i])]||""]}if("string"==typeof yi[i])return[yi[i]];if(!0===o(yi[i])){return["",De(e.body,yi[i])]}if(!0===((a=yi[i])&&"[object Object]"===Object.prototype.toString.call(a))){let t=De(e.body,yi[i].props);return[t[yi[i].out],t]}if("function"==typeof yi[i]){let a=[];return[yi[i](e.body,a,De,null,t),a[0]]}}var a;if(t&&t._templateFallbackFn){let i=[],a=t._templateFallbackFn(e.body,i,De,null,t);if(null!==a)return[a,i[0]]}let n=De(e.body);return 0===Object.keys(n).length&&(n=null),["",n]},vi=(e="")=>(e=(e=e.toLowerCase()).replace(/[-_]/g," ")).trim(),ji=function(e,t){this._type=e.type,this.domain=e.domain,Object.defineProperty(this,"data",{enumerable:!1,value:e.data}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},_i={type:function(){return this._type},links:function(e){let t=[];if(Object.keys(this.data).forEach((e=>{this.data[e].links().forEach((e=>t.push(e)))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},image:function(){let e=this.data.image||this.data.image2||this.data.logo||this.data.image_skyline||this.data.image_flag;if(!e)return null;let t=e.json(),i=t.text;return t.file=i,t.text="",t.caption=this.data.caption,t.domain=this.domain,new _(t)},get:function(e){let t=Object.keys(this.data);if("string"==typeof e){let i=vi(e);for(let e=0;e{for(let i=0;i(e.data[i]&&(t[i]=e.data[i].json()),t)),{});return!0===t.encode&&(i=W(i)),i}(this,e=e||{})},wikitext:function(){return this.wiki||""},keyValue:function(){return Object.keys(this.data).reduce(((e,t)=>(this.data[t]&&(e[t]=this.data[t].text()),e)),{})}};Object.keys(_i).forEach((e=>{ji.prototype[e]=_i[e]})),ji.prototype.data=ji.prototype.keyValue,ji.prototype.template=ji.prototype.type,ji.prototype.images=ji.prototype.image;const zi=function(e,t){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},Oi={title:function(){let e=this.data;return e.title||e.encyclopedia||e.author||""},links:function(e){let t=[];if("number"==typeof e)return t[e];if("number"==typeof e)return t[e];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},text:function(){return""},wikitext:function(){return this.wiki||""},json:function(e={}){let t=this.data||{};return!0===e.encode&&(t=Object.assign({},t),t=W(t)),t}};Object.keys(Oi).forEach((e=>{zi.prototype[e]=Oi[e]}));const Ei={text:function(){return se(this._text||"").text()},json:function(){return this.data||{}},wikitext:function(){return this.wiki||""}},qi=function(e,t="",i=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_text",{enumerable:!1,value:t}),Object.defineProperty(this,"wiki",{enumerable:!1,value:i})};Object.keys(Ei).forEach((e=>{qi.prototype[e]=Ei[e]}));const Ni=/^(cite |citation)/i,Si={citation:!0,refn:!0,harvnb:!0,source:!0},Ci=function(e,t){let{list:i,wiki:a}=function(e,t){let i=[],a=rt(e);const n=function(a,r){a.parent=r,a.children&&a.children.length>0&&a.children.forEach((e=>n(e,a)));let[o,s]=xi(a,t);a.wiki=o,s&&i.push({name:a.name,wiki:a.body,nested:Boolean(a.parent),text:o,json:s});const l=function(e,t,i){e.parent&&(e.parent.body=e.parent.body.replace(t,i),l(e.parent,t,i))};l(a,a.body,a.wiki),e=e.replace(a.body,a.wiki)};return a.forEach((e=>n(e,null))),a.forEach((t=>{e=e.replace(t.body,t.wiki)})),{list:i,wiki:e}}(e._wiki,t),n=t?t._domain:null,{infoboxes:r,references:o,templates:s}=function(e,t){let i={infoboxes:[],templates:[],references:[]};return e.forEach((e=>{let a=e.json,n=a.template||a.type||a.name;if(!0!==Si[n]&&!0!==Ni.test(n))return"infobox"===a.template&&"yes"!==a.subbox?(a.domain=t,a.data=a.data||{},void i.infoboxes.push(new ji(a,e.wiki))):void i.templates.push(new qi(a,e.text,e.wiki));i.references.push(new zi(a,e.wiki))})),i}(i,n);e._infoboxes=e._infoboxes||[],e._references=e._references||[],e._templates=e._templates||[],e._infoboxes=e._infoboxes.concat(r),e._references=e._references.concat(o),e._templates=e._templates.concat(s),e._wiki=a},Li=function(e){return/^ *\{\{ *(cite|citation)/i.test(e)&&/\}\} *$/.test(e)&&!1===/citation needed/i.test(e)},Ai=function(e){let t=De(e);return t.type=t.template.replace(/cite /,""),t.template="citation",t},Di=function(e){return{template:"citation",type:"inline",data:{},inline:se(e)||{}}},Pi=function(e){let t=[],i=e._wiki;i=i.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){let n=!1;return et(a).forEach((a=>{if(Li(a)){let r=Ai(a);r&&(t.push({json:r,wiki:e}),n=!0),i=i.replace(a,"")}})),n||t.push({json:Di(a),wiki:e})," "})),i=i.replace(/ ?]{0,200}?\/> ?/gi," "),i=i.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){let n=!1;return et(a).forEach((a=>{if(Li(a)){let r=Ai(a);r&&(t.push({json:r,wiki:e}),n=!0),i=i.replace(a,"")}})),n||t.push({json:Di(a),wiki:e})," "})),i=i.replace(/ ?<[ /]?[a-z0-9]{1,8}[a-z0-9=" ]{2,20}[ /]?> ?/g," "),e._references=t.map((e=>new zi(e.json,e.wiki))),e._wiki=i},Ti={coach:["team","year","g","w","l","w-l%","finish","pg","pw","pl","pw-l%"],player:["year","team","gp","gs","mpg","fg%","3p%","ft%","rpg","apg","spg","bpg","ppg"],roster:["player","gp","gs","mpg","fg%","3fg%","ft%","rpg","apg","spg","bpg","ppg"]};let Ii=["res","record","opponent","method","event","date","round","time","location","notes"];const Mi=function(e,t){const i={templates:[],text:e._wiki};var a;return function(e,t){e.text=e.text.replace(/\{\{election box begin([\s\S]+?)\{\{election box end\}\}/gi,(i=>{let a={_wiki:i,_templates:[]};Ci(a,t);let n=a._templates.map((e=>e.json())),r=n.find((e=>"election box"===e.template))||{},o=n.filter((e=>"election box candidate"===e.template)),s=n.find((e=>"election box gain"===e.template||"election box hold"===e.template))||{};return(o.length>0||s)&&e.templates.push({template:"election box",title:r.title,candidates:o,summary:s.data}),""}))}(i,t),function(e,t,i){e.text=e.text.replace(/]*)>([\s\S]+)<\/gallery>/g,((a,n,r)=>{let o=r.split(/\n/g);return o=o.filter((e=>e&&""!==e.trim())),o=o.map((e=>{let i=e.split(/\|/),a={file:i[0].trim(),lang:t.lang(),domain:t.domain()},n=new _(a).json(),r=i.slice(1).join("|");return""!==r&&(n.caption=se(r)),n})),o.length>0&&e.templates.push({template:"gallery",images:o,pos:i.title}),""}))}(i,t,e),(a=i).text=a.text.replace(/]*)>([\s\S]*?)<\/math>/g,((e,t,i)=>{let n=se(i).text();return a.templates.push({template:"math",formula:n,raw:i}),n&&n.length<12?n:""})),a.text=a.text.replace(/]*)>([\s\S]*?)<\/chem>/g,((e,t,i)=>(a.templates.push({template:"chem",data:i}),""))),function(e){e.text=e.text.replace(/\{\{mlb game log /gi,"{{game log "),e.text=e.text.replace(/\{\{game log (section|month)[\s\S]+?\{\{game log (section|month) end\}\}/gi,(t=>{let i=function(e){let t=["#","date","opponent","score","win","loss","save","attendance","record"];return!0===/\|stadium=y/i.test(e)&&t.splice(7,0,"stadium"),!0===/\|time=y/i.test(e)&&t.splice(7,0,"time"),!0===/\|box=y/i.test(e)&&t.push("box"),t}(t);t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{game log (section|month) end\}\}/i,"");let a="! "+i.join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mlb game log section",data:n}),""}))}(i),function(e){e.text=e.text.replace(/\{\{mma record start[\s\S]+?\{\{end\}\}/gi,(t=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{end\}\}/i,"");let i="! "+Ii.join(" !! "),a=be("{|\n"+i+"\n"+t+"\n|}");return a=a.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mma record start",data:a}),""}))}(i),function(e){e.text=e.text.replace(/\{\{nba (coach|player|roster) statistics start([\s\S]+?)\{\{s-end\}\}/gi,((t,i)=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{s-end\}\}/,""),i=i.toLowerCase().trim();let a="! "+Ti[i].join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"NBA "+i+" statistics",data:n}),""}))}(i),i.templates=i.templates.map((e=>new qi(e))),i},Ri={tables:!0,references:!0,paragraphs:!0,templates:!0,infoboxes:!0};class Fi{constructor(e,t){let i={doc:t,title:e.title||"",depth:e.depth,wiki:e.wiki||"",templates:[],tables:[],infoboxes:[],references:[],paragraphs:[]};Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})}));const a=Mi(this,t);this._wiki=a.text,this._templates=this._templates.concat(a.templates),Pi(this),Ci(this,t),function(e){let t=[],i=e._wiki,a=i.split("\n"),n=[];for(let e=0;e0&&(n[n.length-1]+="\n"+a[e]);else{n[n.length-1]+="\n"+a[e];let i=n.pop();t.push(i)}else n.push(a[e]);let r=[];t.forEach((e=>{if(e){i=i.replace(e+"\n",""),i=i.replace(e,"");let t=be(e);t&&t.length>0&&r.push(new we(t,e))}})),r.length>0&&(e._tables=r),e._wiki=i}(this),Xe(this,t)}title(){return this._title||""}index(){if(!this._doc)return null;let e=this._doc.sections().indexOf(this);return-1===e?null:e}depth(){return this._depth}indentation(){return this.depth()}sentences(){return this.paragraphs().reduce(((e,t)=>e.concat(t.sentences())),[])}paragraphs(){return this._paragraphs||[]}links(e){let t=[];if(this.infoboxes().forEach((e=>{t.push(e.links())})),this.sentences().forEach((e=>{t.push(e.links())})),this.tables().forEach((e=>{t.push(e.links())})),this.lists().forEach((e=>{t.push(e.links())})),t=t.reduce(((e,t)=>e.concat(t)),[]).filter((e=>void 0!==e)),"string"==typeof e){let i=t.find((t=>t.page().toLowerCase()===e.toLowerCase()));return void 0===i?[]:[i]}return t}tables(){return this._tables||[]}templates(e){let t=this._templates||[];return"string"==typeof e?(e=e.toLowerCase(),t.filter((t=>t.data.template===e||t.data.name===e))):t}infoboxes(e){let t=this._infoboxes||[];return"string"==typeof e?(e=(e=e.replace(/^infobox /i,"")).trim().toLowerCase(),t.filter((t=>t._type===e))):t}coordinates(){return[...this.templates("coord"),...this.templates("coor")].map((e=>e.json()))}lists(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.lists())})),e}interwiki(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.interwiki())})),e}images(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.images())})),e}references(){return this._references||[]}remove(){if(!this._doc)return null;let e={};e[this.title()]=!0,this.children().forEach((t=>e[t.title()]=!0));let t=this._doc.sections();return t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),this._doc._sections=t,this._doc}nextSibling(){if(!this._doc)return null;let e=this._doc.sections();for(let t=(this.index()||0)+1;tthis.depth())for(let e=i+1;ethis.depth();e+=1)a.push(t[e]);return"string"==typeof e?a.find((t=>t.title().toLowerCase()===e.toLowerCase())):a}sections(e){return this.children(e)}parent(){if(!this._doc)return null;let e=this._doc.sections();for(let t=this.index()||0;t>=0;t-=1)if(e[t]&&e[t].depth()t.text(e))).join("\n\n")}wikitext(){return this._wiki}json(e){return function(e,t){let i={};if(!0===(t=d(t,H)).headers&&(i.title=e.title()),!0===t.depth&&(i.depth=e.depth()),!0===t.paragraphs){let a=e.paragraphs().map((e=>e.json(t)));a.length>0&&(i.paragraphs=a)}if(!0===t.images){let a=e.images().map((e=>e.json(t)));a.length>0&&(i.images=a)}if(!0===t.tables){let a=e.tables().map((e=>e.json(t)));a.length>0&&(i.tables=a)}if(!0===t.templates){let a=e.templates().map((e=>e.json()));a.length>0&&(i.templates=a,!0===t.encode&&i.templates.forEach((e=>W(e))))}if(!0===t.infoboxes){let a=e.infoboxes().map((e=>e.json(t)));a.length>0&&(i.infoboxes=a)}if(!0===t.lists){let a=e.lists().map((e=>e.json(t)));a.length>0&&(i.lists=a)}if(!0===t.references||!0===t.citations){let a=e.references().map((e=>e.json(t)));a.length>0&&(i.references=a)}return!0===t.sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=d(e,Ri))}}Fi.prototype.citations=Fi.prototype.references;const Ui={sentences:"sentence",paragraphs:"paragraph",links:"link",tables:"table",templates:"template",infoboxes:"infobox",coordinates:"coordinate",lists:"list",images:"image",references:"reference",citations:"citation"};Object.keys(Ui).forEach((e=>{let t=Ui[e];Fi.prototype[t]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]||null}}));const Bi=/^(={1,6})(.{1,200}?)={1,6}$/,Ki=/\{\{.+?\}\}/,Wi=function(e,t,i){let a=t.match(Bi);if(!a)return e.title="",e.depth=0,e;let n=a[2]||"";n=se(n).text(),Ki.test(n)&&(n=function(e,t){return rt(e).forEach((i=>{let[a]=xi(i,t);e=e.replace(i.body,a)})),e}(n,i));let o={_wiki:n};Pi(o),n=o._wiki,n=r(n);let s=0;return a[1]&&(s=a[1].length-2),e.title=n,e.depth=s,e},Hi=new RegExp("^("+["references","reference","einzelnachweise","referencias","références","notes et références","脚注","referenser","bronnen","примечания"].join("|")+"):?","i"),Yi=/(?:\n|^)(={2,6}.{1,200}?={2,6})/g,Gi=function(e){let t=[],i=e._wiki.split(Yi);for(let a=0;a!0!==Hi.test(t.title())||t.paragraphs().length>0||t.templates().length>0||(e[i+1]&&e[i+1].depth()>t.depth()&&(e[i+1]._depth-=1),!1)))}(t)},Zi=new RegExp("\\[\\[("+h.join("|")+"):(.{2,178}?)]](w{0,10})","gi"),Vi=new RegExp("^\\[\\[:?("+h.join("|")+"):","gi"),Ji=function(e){const t=[];let i=e.match(Zi);i&&i.forEach((function(e){(e=(e=(e=e.replace(Vi,"")).replace(/\|?[ *]?\]\]$/,"")).replace(/\|.*/,""))&&!e.match(/[[\]]/)&&t.push(e.trim())}));const a=e.replace(Zi,"");return[t,a]},Xi={tables:!0,lists:!0,paragraphs:!0};class Qi{constructor(e,t){t=t||{},this._options=t;let i={pageID:t.pageID||t.id||null,namespace:t.namespace||t.ns||null,lang:t.lang||t.language||null,domain:t.domain||null,title:t.title||null,type:"page",redirectTo:null,wikidata:t.wikidata||null,wiki:e||"",categories:[],sections:[],coordinates:[],userAgent:t.userAgent||t["User-Agent"]||t["Api-User-Agent"]||"User of the wtf_wikipedia library",templateFallbackFn:t.templateFallbackFn||null,revisionID:t.revisionID||null};if(Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})})),!0===function(e){return!!e&&T.test(e)}(this._wiki)){this._type="redirect",this._redirectTo=function(e){let t=e.match(T);if(t&&t[2])return(P(t[2])||[])[0];return{}}(this._wiki);const[e,t]=Ji(this._wiki);return this._categories=e,void(this._wiki=t)}this._wiki=U(this._wiki);const[a,n]=Ji(this._wiki);this._categories=a,this._wiki=n,this._sections=Gi(this)}title(e){if(void 0!==e)return this._title=e,e;if(this._title)return this._title;let t=null,i=this.sentences()[0];return i&&(t=i.bold()),t}pageID(e){return void 0!==e&&(this._pageID=e),this._pageID||null}wikidata(e){return void 0!==e&&(this._wikidata=e),this._wikidata||null}domain(e){return void 0!==e&&(this._domain=e),this._domain||null}language(e){return void 0!==e&&(this._lang=e),this._lang||null}url(){let e=this.title();if(!e)return null;let t=this.language()||"en",i=this.domain()||"wikipedia.org";return e=e.replace(/ /g,"_"),e=encodeURIComponent(e),`https://${t}.${i}/wiki/${e}`}namespace(e){return void 0!==e&&(this._namespace=e),this._namespace||null}isRedirect(){return"redirect"===this._type}redirectTo(){return this._redirectTo}isDisambiguation(){return function(e){let t=e.templates().map((e=>e.json()));if(t.find((e=>k.hasOwnProperty(e.template)||x.hasOwnProperty(e.template))))return!0;let i=e.title();return!(!i||!0!==$.test(i))||!t.find((e=>y.hasOwnProperty(e.template)))&&(!0===v(e.sentence(0))||!0===v(e.sentence(1)))}(this)}categories(e){let t=this._categories||[];return"number"==typeof e?[t[e]]:t}sections(e){let t=this._sections||[];if(t.forEach((e=>{e._doc=this})),"string"==typeof e){let i=e.toLowerCase().trim();return t.filter((e=>e.title().toLowerCase()===i))}return"number"==typeof e?[t[e]]:t}paragraphs(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.paragraphs())})),"number"==typeof e?[t[e]]:t}sentences(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.sentences())})),"number"==typeof e?[t[e]]:t}images(e){let t=m(this,"images",null);return this.infoboxes().forEach((e=>{let i=e.image();i&&t.unshift(i)})),this.templates().forEach((e=>{"gallery"===e.data.template&&(e.data.images=e.data.images||[],e.data.images.forEach((e=>{e instanceof _||(e.language=this.language(),e.domain=this.domain(),e=new _(e)),t.push(e)})))})),"number"==typeof e?[t[e]]:t}links(e){return m(this,"links",e)}interwiki(e){return m(this,"interwiki",e)}lists(e){return m(this,"lists",e)}tables(e){return m(this,"tables",e)}templates(e){return m(this,"templates",e)}references(e){return m(this,"references",e)}citations(e){return this.references(e)}coordinates(e){return m(this,"coordinates",e)}infoboxes(e){let t=m(this,"infoboxes",e);return t=t.sort(((e,t)=>Object.keys(e.data).length>Object.keys(t.data).length?-1:1)),t}text(e){if(e=d(e,Xi),!0===this.isRedirect())return"";return this.sections().map((t=>t.text(e))).join("\n\n")}json(e){return function(e,t){let i={};return(t=d(t,p)).title&&(i.title=e.title()),t.pageID&&(i.pageID=e.pageID()),t.categories&&(i.categories=e.categories()),t.sections&&(i.sections=e.sections().map((e=>e.json(t)))),!0===e.isRedirect()&&(i.isRedirect=!0,i.redirectTo=e.redirectTo(),i.sections=[]),t.coordinates&&(i.coordinates=e.coordinates()),t.infoboxes&&(i.infoboxes=e.infoboxes().map((e=>e.json(t)))),t.images&&(i.images=e.images().map((e=>e.json(t)))),t.plaintext&&(i.plaintext=e.text(t)),(t.citations||t.references)&&(i.references=e.references()),i}(this,e=d(e,Xi))}wikitext(){return this._wiki||""}debug(){return console.log("\n"),this.sections().forEach((e=>{let t=" - ";for(let i=0;i{let t=ea[e];Qi.prototype[t]=function(t){return this[e](t)[0]||null}})),Qi.prototype.lang=Qi.prototype.language,Qi.prototype.ns=Qi.prototype.namespace,Qi.prototype.plaintext=Qi.prototype.text,Qi.prototype.isDisambig=Qi.prototype.isDisambiguation,Qi.prototype.citations=Qi.prototype.references,Qi.prototype.redirectsTo=Qi.prototype.redirectTo,Qi.prototype.redirect=Qi.prototype.redirectTo,Qi.prototype.redirects=Qi.prototype.redirectTo;const ta=/^https?:\/\//,ia={lang:"en",wiki:"wikipedia",domain:void 0,follow_redirects:!0,path:"api.php"},aa=function(e,t,i){"string"==typeof t&&(t={lang:t}),(t={...ia,...t}).title=e,"string"==typeof e&&ta.test(e)&&(t={...t,...n(e)});const r=u(t),s=function(e){let t,i=e.userAgent||e["User-Agent"]||e["Api-User-Agent"]||"User of the wtf_wikipedia library";return t=e.noOrigin?"":e.origin||e.Origin||"*",{method:"GET",headers:{"Content-Type":"application/json","Api-User-Agent":i,"User-Agent":i,Origin:t,"Accept-Encoding":"gzip"},redirect:"follow"}}(t);return a(r,s).then((e=>e.json())).then((a=>{if(!a)throw new Error(`No JSON Data Found For ${r}`);let n=function(e,t={}){return e?.query?.pages&&e?.query&&e?Object.keys(e.query.pages).map((i=>{let a=e.query.pages[i]||{};if(a.hasOwnProperty("missing")||a.hasOwnProperty("invalid"))return null;let n=a.revisions[0]["*"];!n&&a.revisions[0].slots&&(n=a.revisions[0].slots.main["*"]),a.pageprops=a.pageprops||{};let r=t.domain;return!r&&t.wiki&&(r=`${t.wiki}.org`),{wiki:n,meta:Object.assign({},t,{title:a.title,pageID:a.pageid,namespace:a.ns,domain:r,wikidata:a.pageprops.wikibase_item,description:a.pageprops["wikibase-shortdesc"]})}})):null}(a,t);return n=function(e,t){let i=(e=e.filter((e=>e))).map((e=>new Qi(e.wiki,e.meta)));return 0===i.length?null:o(t)||1!==i.length?i:i[0]}(n,e),i&&i(null,n),n})).catch((e=>(console.error(e),i&&i(e,null),null)))};const na=function(e,t){return new Qi(e,t)},ra={Doc:Qi,Section:Fi,Paragraph:_e,Sentence:X,Image:_,Infobox:ji,Link:G,List:Be,Reference:zi,Table:we,Template:qi,http:function(e,t){return a(e,t).then((function(e){return e.json()})).catch((t=>(console.error("\n\n=-=- http response error =-=-=-"),console.error(e),console.error(t),{})))},wtf:na};return na.fetch=function(e,t,i){return aa(e,t,i)},na.plugin=na.extend=function(e){return e(ra,yi,st),this},na.version="10.2.1",na})); diff --git a/builds/wtf_wikipedia-client.mjs b/builds/wtf_wikipedia-client.mjs index de2ee5c2..238d2313 100644 --- a/builds/wtf_wikipedia-client.mjs +++ b/builds/wtf_wikipedia-client.mjs @@ -1,2 +1,2 @@ /*! wtf_wikipedia MIT */ -function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var i=function e(){if(this instanceof e){var i=[null];return i.push.apply(i,arguments),new(Function.bind.apply(t,i))}return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})})),i}var i=t(Object.freeze({__proto__:null,default:function(e,t){return t=t||{},new Promise((function(i,a){var n=new XMLHttpRequest,r=[],o=[],s={},l=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:l,headers:{keys:function(){return r},entries:function(){return o},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var c in n.open(t.method||"get",e,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,i){r.push(t=t.toLowerCase()),o.push([t,i]),s[t]=s[t]?s[t]+","+i:i})),i(l())},n.onerror=a,n.withCredentials="include"==t.credentials,t.headers)n.setRequestHeader(c,t.headers[c]);n.send(t.body||null)}))}})),a=e(self.fetch||(self.fetch=i.default||i));const n=function(e){let t=new URL(e),i=t.pathname.replace(/^\/(wiki\/)?/,"");return i=decodeURIComponent(i),{domain:t.host,title:i}};function r(e){return e&&"string"==typeof e?e=(e=(e=(e=e.replace(/^\s+/,"")).replace(/\s+$/,"")).replace(/ {2}/," ")).replace(/\s, /,", "):""}function o(e){return"[object Array]"===Object.prototype.toString.call(e)}const s=/(wikibooks|wikidata|wikimedia|wikinews|wikipedia|wikiquote|wikisource|wikispecies|wikiversity|wikivoyage|wiktionary|foundation|meta)\.org/,l={action:"query",prop:"revisions|pageprops",rvprop:"content",maxlag:5,rvslots:"main",origin:"*",format:"json",redirects:"true"},c=e=>e.replace(/ /g,"_").trim(),u=function(e,t=l){let i=Object.assign({},t),a="";if(e.domain){let t=s.test(e.domain)?"w/api.php":e.path;a=`https://${e.domain}/${t}?`}else{if(!e.lang||!e.wiki)return"";a=`https://${e.lang}.${e.wiki}.org/w/api.php?`}e.follow_redirects||delete i.redirects,e.origin&&(i.origin=e.origin);let n=e.title;if("number"==typeof n)i.pageids=n;else if("string"==typeof n)i.titles=c(n);else if(void 0!==n&&o(n)&&"number"==typeof n[0])i.pageids=n.filter((e=>e)).join("|");else{if(void 0===n||!0!==o(n)||"string"!=typeof n[0])return"";i.titles=n.filter((e=>e)).map(c).join("|")}return`${a}${r=i,Object.entries(r).map((([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&")}`;var r},m=function(e,t,i){let a=[];return e.sections().forEach((e=>{let n=[];n="string"==typeof i?e[t](i):e[t](),n.forEach((e=>{a.push(e)}))})),"number"==typeof i?void 0===a[i]?[]:[a[i]]:a},p=function(e,t){return Object.assign({},t,e)},d={title:!0,sections:!0,pageID:!0,categories:!0};var h=["category","abdeeling","bólkur","catagóir","categori","categoria","categoria","categoría","categorîa","categorìa","catégorie","categorie","catègorie","category","categuria","catigurìa","class","ẹ̀ka","flocc","flocc","flokkur","grup","jamii","kaarangay","kateggoría","kategooria","kategori","kategorî","kategoria","kategória","kategorie","kategoriija","kategorija","kategorio","kategoriya","kategoriýa","kategoriye","kategory","kategorya","kateqoriya","katiguriya","klad","luokka","ñemohenda","roinn","ronney","rummad","setensele","sokajy","sumut","thể","turkum","категорија","категория","категорія","катэгорыя","төркем","קטגוריה","تصنيف","تۈر","رده","श्रेणी","श्रेणी","বিষয়শ্রেণী","หมวดหมู่","분류","분류","分类"],g=["file","image","चित्र","archivo","attēls","berkas","bestand","datei","dosiero","dosya","fájl","fasciculus","fichier","fil","fitxategi","fitxer","gambar","imagem","imej","immagine","larawan","lêer","plik","restr","slika","wêne","wobraz","выява","податотека","слика","файл","სურათი","պատկեր","קובץ","پرونده","دوتنه","ملف","وێنە","चित्र","ไฟล์","파일","ファイル"],b=["infobox","anfo","anuāmapa","bilgi kutusu","bilgi","bilgiquti","boaty","boestkelaouiñ","bosca","capsa","diehtokássa","faktamall","ficha","generalni","gwybodlen3","info","infobokis","infoboks","infochascha","infokašćik","infokast","infokutija","infolentelė","infopolje","informkesto","infoskreine","infotaula","inligtingskas","inligtingskas3","inligtingskas4","kishtey","kotak","tertcita","tietolaatikko","yerleşim bilgi kutusu","ynfoboks","πλαίσιο","акарточка","аҥа","инфобокс","инфокутија","инфокутия","інфобокс","канадский","картка","карточка","карточка2","карточкарус","картуш","қуттӣ","ინფოდაფა","տեղեկաքարտ","אינפאקעסטל","תבנית","بطاقة","ڄاڻخانو","خانہ","لغة","ज्ञानसन्दूक","তথ্যছক","ਜਾਣਕਾਰੀਡੱਬਾ","సమాచారపెట్టె","තොරතුරුකොටුව","กล่องข้อมูล","ប្រអប់ព័ត៌មាន","정보상자","明細"];let k=" disambiguation";const f=["dab","dab","disamb","disambig","geodis","hndis","setindex","ship index","split dab","sport index","wp disambig","disambiguation cleanup","airport"+k,"biology"+k,"call sign"+k,"caselaw"+k,"chinese title"+k,"genus"+k,"hospital"+k,"lake index","letter"+k,"letter-number combination"+k,"mathematical"+k,"military unit"+k,"mountainindex","number"+k,"phonetics"+k,"place name"+k,"portal"+k,"road"+k,"school"+k,"species latin name abbreviation"+k,"species latin name"+k,"station"+k,"synagogue"+k,"taxonomic authority"+k,"taxonomy"+k].reduce(((e,t)=>(e[t]=!0,e)),{}),w=/. may (also )?refer to\b/i,y={about:!0,for:!0,"for multi":!0,"other people":!0,"other uses of":!0,distinguish:!0},$=new RegExp(". \\(("+["disambiguation","homonymie","توضيح","desambiguação","Begriffsklärung","disambigua","曖昧さ回避","消歧義","搞清楚","значения","ابهام‌زدایی","د ابہام","동음이의","dubbelsinnig","այլ կիրառումներ","ujednoznacznienie"].join("|")+")\\)$","i"),x=["dab","disamb","disambig","disambiguation","letter-numbercombdisambig","letter-number combination disambiguation","dmbox","airport disambiguation","biology disambiguation","call sign disambiguation","caselaw disambiguation","chinese title disambiguation","disambiguation cleanup","genus disambiguation","hospital disambiguation","human name disambiguation","human name disambiguation cleanup","letter-number combination disambiguation","mathematical disambiguation","military unit disambiguation","music disambiguation","number disambiguation","opus number disambiguation","phonetics disambiguation","place name disambiguation","portal disambiguation","road disambiguation","school disambiguation","species latin name abbreviation disambiguation","species latin name disambiguation","station disambiguation","synagogue disambiguation","taxonomic authority disambiguation","taxonomy disambiguation","template disambiguation","disamb2","disamb3","disamb4","disambiguation lead","disambiguation lead name","disambiguation name","disamb-term","disamb-terms","aðgreining","aimai","ałtsʼáʼáztiin","anlam ayrımı","anlam ayrımı","apartigilo","argipen","begriepskloorenge","begriffsklärung","begriffsklärung","begriffsklärung","begriffsklearung","bisongidila","bkl","bokokani","caddayn","clerheans","cudakirin","čvor","db","desambig","desambigación","desambiguação","desambiguació","desambiguación","desambiguáncia","desambiguasion","desambiguassiù","desambigui","dezambiguizare","dəqiqləşdirmə","disambigua","disambigua","disambigua","disambìgua","disambigua","disambiguasi","disambiguasi","discretiva","disheñvelout","disingkek","dixanbigua","dixebra","diżambigwazzjoni","doorverwijspagina","dp","dp","dubbelsinnig","dudalipen","dv","egyért","fleiri týdningar","fleirtyding","flertydig","förgrening","gì-ngiê","giklaro","gwahaniaethu","homonimo","homónimos","homonymie","huaʻōlelo puana like","idirdhealú","khu-pia̍t","kthjellim","kujekesa","maana","maneo bin","mehrdüdig begreep","menm non","muardüüdag artiikel","neibetsjuttings","nozīmju atdalīšana","nuorodinis","nyahkekaburan","omonimeye","omonimia","page dé frouque","paglilinaw","panangilawlawag","pansayod","pejy mitovy anarana","peker","razdvojba","razločitev","razvrstavanje","reddaghey","rozcestník","rozlišovacia stránka","sclerir noziun","selvendyssivu","soilleireachadh","suzmunski","täpsustuslehekülg","täsmennyssivu","telplänov","tlahtolmelahuacatlaliztli","trang định hướng","ujednoznacznienie","verdudeliking","wěcejwóznamowosć","wjacezmyslnosć","zambiguaçon","zeimeibu škiršona","αποσαφήνιση","айрық","аҵакырацәа","вишезначна одредница","ибҳомзудоӣ","кёб магъаналы","күп мәгънәләр","күп мәғәнәлелек","мъногосъмꙑслиѥ","неадназначнасць","неадназначнасьць","неоднозначность","олон удхатай","појаснување","пояснение","са шумуд манавал","салаа утгатай","суолталар","текмаанисиздик","цо магіна гуреб","чеперушка","чолхалла","шуко ончыктымаш-влак","მრავალმნიშვნელოვანი","բազմիմաստութիւն","բազմիմաստություն","באדייטן","פירושונים","ابهام‌زدایی","توضيح","توضيح","دقیقلشدیرمه","ڕوونکردنەوە","سلجهائپ","ضد ابہام","گجگجی بیری","نامبهمېدنه","መንታ","अस्पष्टता","बहुअर्थी","बहुविकल्पी शब्द","দ্ব্যর্থতা নিরসন","ਗੁੰਝਲ-ਖੋਲ੍ਹ","સંદિગ્ધ શીર્ષક","பக்கவழி நெறிப்படுத்தல்","అయోమయ నివృత్తి","ದ್ವಂದ್ವ ನಿವಾರಣೆ","വിവക്ഷകൾ","වක්‍රෝත්ති","แก้ความกำกวม","သံတူကြောင်းကွဲ","ណែនាំ","동음이의","扤清楚","搞清楚","曖昧さ回避","消歧义","釋義","gestion dj'omònim","sut'ichana qillqa"].reduce(((e,t)=>(e[t]=!0,e)),{}),v=function(e){if(!e)return!1;let t=e.text();return!(null===t||!t[0]||!0!==w.test(t))},j={caption:!0,alt:!0,links:!0,thumb:!0,url:!0},_=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},z={file(){let e=this.data.file||"";if(e){/^(image|file):/i.test(e)||(e=`File:${e}`),e=e.trim(),e=e.charAt(0).toUpperCase()+e.substring(1),e=e.replace(/ /g,"_")}return e},alt(){let e=this.data.alt||this.data.file||"";return e=e.replace(/^(file|image):/i,""),e=e.replace(/\.(jpg|jpeg|png|gif|svg)/i,""),e.replace(/_/g," ")},caption(){return this.data.caption?this.data.caption.text():""},links(){return this.data.caption?this.data.caption.links():[]},url(){let e=function(e){let t=function(e){let t=e.replace(/^(image|file?):/i,"");return t=t.charAt(0).toUpperCase()+t.substring(1),t=t.trim().replace(/ /g,"_"),t}(e);return t=encodeURIComponent(t),t}(this.file());return`https://${this.data.domain||"wikipedia.org"}/wiki/Special:Redirect/file/${e}`},thumbnail(e){return e=e||300,this.url()+"?width="+e},format(){let e=this.file().split(".");return e[e.length-1]?e[e.length-1].toLowerCase():null},json:function(e){return function(e,t){t=p(t,j);let i={file:e.file()};return!1!==t.thumb&&(i.thumb=e.thumbnail()),!1!==t.url&&(i.url=e.url()),!1!==t.caption&&e.data.caption&&(i.caption=e.caption(),!1!==t.links&&e.data.caption.links()&&(i.links=e.links())),!1!==t.alt&&e.data.alt&&(i.alt=e.alt()),i}(this,e=e||{})},text:function(){return""},wikitext:function(){return this.data.wiki||""}};Object.keys(z).forEach((e=>{_.prototype[e]=z[e]})),_.prototype.src=_.prototype.url,_.prototype.thumb=_.prototype.thumbnail;var O={aa:"Afar",ab:"Аҧсуа",af:"Afrikaans",ak:"Akana",als:"Alemannisch",am:"አማርኛ",an:"Aragonés",ang:"Englisc",ar:"العربية",arc:"ܣܘܪܬ",as:"অসমীয়া",ast:"Asturianu",av:"Авар",ay:"Aymar",az:"Azərbaycanca",ba:"Башҡорт",bar:"Boarisch","bat-smg":"Žemaitėška",bcl:"Bikol",be:"Беларуская","be-x-old":"ltr",bg:"Български",bh:"भोजपुरी",bi:"Bislama",bm:"Bamanankan",bn:"বাংলা",bo:"བོད་ཡིག",bpy:"ltr",br:"Brezhoneg",bs:"Bosanski",bug:"ᨅᨔ",bxr:"ltr",ca:"Català",cdo:"Chinese",ce:"Нохчийн",ceb:"Sinugboanong",ch:"Chamoru",cho:"Choctaw",chr:"ᏣᎳᎩ",chy:"Tsetsêhestâhese",co:"Corsu",cr:"Nehiyaw",cs:"Česky",csb:"Kaszëbsczi",cu:"Slavonic",cv:"Чăваш",cy:"Cymraeg",da:"Dansk",de:"Deutsch",diq:"Zazaki",dsb:"ltr",dv:"ދިވެހިބަސް",dz:"ཇོང་ཁ",ee:"Ɛʋɛ",far:"فارسی",el:"Ελληνικά",en:"English",eo:"Esperanto",es:"Español",et:"Eesti",eu:"Euskara",ext:"Estremeñu",ff:"Fulfulde",fi:"Suomi","fiu-vro":"Võro",fj:"Na",fo:"Føroyskt",fr:"Français",frp:"Arpitan",fur:"Furlan",fy:"ltr",ga:"Gaeilge",gan:"ltr",gd:"ltr",gil:"Taetae",gl:"Galego",gn:"Avañe'ẽ",got:"gutisk",gu:"ગુજરાતી",gv:"Gaelg",ha:"هَوُسَ",hak:"ltr",haw:"Hawai`i",he:"עברית",hi:"हिन्दी",ho:"ltr",hr:"Hrvatski",ht:"Krèyol",hu:"Magyar",hy:"Հայերեն",hz:"Otsiherero",ia:"Interlingua",id:"Bahasa",ie:"Interlingue",ig:"Igbo",ii:"ltr",ik:"Iñupiak",ilo:"Ilokano",io:"Ido",is:"Íslenska",it:"Italiano",iu:"ᐃᓄᒃᑎᑐᑦ",ja:"日本語",jbo:"Lojban",jv:"Basa",ka:"ქართული",kg:"KiKongo",ki:"Gĩkũyũ",kj:"Kuanyama",kk:"Қазақша",kl:"Kalaallisut",km:"ភាសាខ្មែរ",kn:"ಕನ್ನಡ",khw:"کھوار",ko:"한국어",kr:"Kanuri",ks:"कश्मीरी",ksh:"Ripoarisch",ku:"Kurdî",kv:"Коми",kw:"Kernewek",ky:"Kırgızca",la:"Latina",lad:"Dzhudezmo",lan:"Leb",lb:"Lëtzebuergesch",lg:"Luganda",li:"Limburgs",lij:"Líguru",lmo:"Lumbaart",ln:"Lingála",lo:"ລາວ",lt:"Lietuvių",lv:"Latviešu","map-bms":"Basa",mg:"Malagasy",man:"官話",mh:"Kajin",mi:"Māori",min:"Minangkabau",mk:"Македонски",ml:"മലയാളം",mn:"Монгол",mo:"Moldovenească",mr:"मराठी",ms:"Bahasa",mt:"bil-Malti",mus:"Muskogee",my:"Myanmasa",na:"Dorerin",nah:"Nahuatl",nap:"Nnapulitano",nd:"ltr",nds:"Plattdüütsch","nds-nl":"Saxon",ne:"नेपाली",new:"नेपालभाषा",ng:"Oshiwambo",nl:"Nederlands",nn:"ltr",no:"Norsk",nr:"ltr",nso:"ltr",nrm:"Nouormand",nv:"Diné",ny:"Chi-Chewa",oc:"Occitan",oj:"ᐊᓂᔑᓈᐯᒧᐎᓐ",om:"Oromoo",or:"ଓଡ଼ିଆ",os:"Иронау",pa:"ਪੰਜਾਬੀ",pag:"Pangasinan",pam:"Kapampangan",pap:"Papiamentu",pdc:"ltr",pi:"Pāli",pih:"Norfuk",pl:"Polski",pms:"Piemontèis",ps:"پښتو",pt:"Português",qu:"Runa",rm:"ltr",rmy:"Romani",rn:"Kirundi",ro:"Română","roa-rup":"Armâneashti",ru:"Русский",rw:"Kinyarwandi",sa:"संस्कृतम्",sc:"Sardu",scn:"Sicilianu",sco:"Scots",sd:"सिनधि",se:"ltr",sg:"Sängö",sh:"Srpskohrvatski",si:"සිංහල",simple:"ltr",sk:"Slovenčina",sl:"Slovenščina",sm:"Gagana",sn:"chiShona",so:"Soomaaliga",sq:"Shqip",sr:"Српски",ss:"SiSwati",st:"ltr",su:"Basa",sv:"Svenska",sw:"Kiswahili",ta:"தமிழ்",te:"తెలుగు",tet:"Tetun",tg:"Тоҷикӣ",th:"ไทย",ti:"ትግርኛ",tk:"Туркмен",tl:"Tagalog",tlh:"tlhIngan-Hol",tn:"Setswana",to:"Lea",tpi:"ltr",tr:"Türkçe",ts:"Xitsonga",tt:"Tatarça",tum:"chiTumbuka",tw:"Twi",ty:"Reo",udm:"Удмурт",ug:"Uyƣurqə",uk:"Українська",ur:"اردو",uz:"Ўзбек",ve:"Tshivenḓa",vi:"Việtnam",vec:"Vèneto",vls:"ltr",vo:"Volapük",wa:"Walon",war:"Winaray",wo:"Wollof",xal:"Хальмг",xh:"isiXhosa",yi:"ייִדיש",yo:"Yorùbá",za:"Cuengh",zh:"中文","zh-classical":"ltr","zh-min-nan":"Bân-lâm-gú","zh-yue":"粵語",zu:"isiZulu"};const E=".wikipedia.org/wiki/$1",q=".wikimedia.org/wiki/$1",N="www.";var S={acronym:N+"acronymfinder.com/$1.html",advisory:"advisory"+q,advogato:N+"advogato.org/$1",aew:"wiki.arabeyes.org/$1",appropedia:N+"appropedia.org/$1",aquariumwiki:N+"theaquariumwiki.com/$1",arborwiki:"localwiki.org/ann-arbor/$1",arxiv:"arxiv.org/abs/$1",atmwiki:N+"otterstedt.de/wiki/index.php/$1",baden:N+"stadtwiki-baden-baden.de/wiki/$1/",battlestarwiki:"en.battlestarwiki.org/wiki/$1",bcnbio:"historiapolitica.bcn.cl/resenas_parlamentarias/wiki/$1",beacha:N+"beachapedia.org/$1",betawiki:"translatewiki.net/wiki/$1",bibcode:"adsabs.harvard.edu/abs/$1",bibliowiki:"wikilivres.org/wiki/$1",bluwiki:"bluwiki.com/go/$1",blw:"britainloves"+E,botwiki:"botwiki.sno.cc/wiki/$1",boxrec:N+"boxrec.com/media/index.php?$1",brickwiki:N+"brickwiki.info/wiki/$1",bugzilla:"bugzilla.wikimedia.org/show_bug.cgi?id=$1",bulba:"bulbapedia.bulbagarden.net/wiki/$1",c:"commons"+q,c2:"c2.com/cgi/wiki?$1",c2find:"c2.com/cgi/wiki?FindPage&value=$1",cache:N+"google.com/search?q=cache:$1","ĉej":"esperanto.blahus.cz/cxej/vikio/index.php/$1",cellwiki:"cell.wikia.com/wiki/$1",centralwikia:"community.wikia.com/wiki/$1",chej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",choralwiki:N+"cpdl.org/wiki/index.php/$1",citizendium:"en.citizendium.org/wiki/$1",ckwiss:N+"ck-wissen.de/ckwiki/index.php?title=$1",comixpedia:N+"comixpedia.org/index.php?title=$1",commons:"commons"+q,communityscheme:"community.schemewiki.org/?c=s&key=$1",communitywiki:"communitywiki.org/$1",comune:"rete.comuni-italiani.it/wiki/$1",creativecommons:"creativecommons.org/licenses/$1",creativecommonswiki:"wiki.creativecommons.org/$1",cxej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",dcc:N+"dccwiki.com/$1",dcdatabase:"dc.wikia.com/$1",dcma:"christian-morgenstern.de/dcma/index.php?title=$1",debian:"wiki.debian.org/$1",delicious:N+"delicious.com/tag/$1",devmo:"developer.mozilla.org/en/docs/$1",dictionary:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",dict:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",disinfopedia:"sourcewatch.org/index.php/$1",distributedproofreaders:N+"pgdp.net/wiki/$1",distributedproofreadersca:N+"pgdpcanada.net/wiki/index.php/$1",dmoz:"curlie.org/$1",dmozs:"curlie.org/search?q=$1",doi:"doi.org/$1",donate:"donate"+q,doom_wiki:"doom.wikia.com/wiki/$1",download:"releases.wikimedia.org/$1",dbdump:"dumps.wikimedia.org/$1/latest/",dpd:"lema.rae.es/dpd/?key=$1",drae:"dle.rae.es/?w=$1",dreamhost:"wiki.dreamhost.com/index.php/$1",drumcorpswiki:N+"drumcorpswiki.com/index.php/$1",dwjwiki:N+"suberic.net/cgi-bin/dwj/wiki.cgi?$1","eĉei":N+"ikso.net/cgi-bin/wiki.pl?$1",ecoreality:N+"EcoReality.org/wiki/$1",ecxei:N+"ikso.net/cgi-bin/wiki.pl?$1",elibre:"enciclopedia.us.es/index.php/$1",emacswiki:N+"emacswiki.org/emacs?$1",encyc:"encyc.org/wiki/$1",energiewiki:N+"netzwerk-energieberater.de/wiki/index.php/$1",englyphwiki:"en.glyphwiki.org/wiki/$1",enkol:"enkol.pl/$1",eokulturcentro:"esperanto.toulouse.free.fr/nova/wikini/wakka.php?wiki=$1",esolang:"esolangs.org/wiki/$1",etherpad:"etherpad.wikimedia.org/$1",ethnologue:N+"ethnologue.com/language/$1",ethnologuefamily:N+"ethnologue.com/show_family.asp?subid=$1",evowiki:"wiki.cotch.net/index.php/$1",exotica:N+"exotica.org.uk/wiki/$1",fanimutationwiki:"wiki.animutationportal.com/index.php/$1",fedora:"fedoraproject.org/wiki/$1",finalfantasy:"finalfantasy.wikia.com/wiki/$1",finnix:N+"finnix.org/$1",flickruser:N+"flickr.com/people/$1",flickrphoto:N+"flickr.com/photo.gne?id=$1",floralwiki:N+"floralwiki.co.uk/wiki/$1",foldoc:"foldoc.org/$1",foundation:"foundation"+q,foundationsite:"wikimediafoundation.org/$1",foxwiki:"fox.wikis.com/wc.dll?Wiki~$1",freebio:"freebiology.org/wiki/$1",freebsdman:N+"FreeBSD.org/cgi/man.cgi?apropos=1&query=$1",freeculturewiki:"wiki.freeculture.org/index.php/$1",freedomdefined:"freedomdefined.org/$1",freefeel:"freefeel.org/wiki/$1",freekiwiki:"wiki.freegeek.org/index.php/$1",freesoft:"directory.fsf.org/wiki/$1",ganfyd:"ganfyd.org/index.php?title=$1",gardenology:N+"gardenology.org/wiki/$1",gausswiki:"gauss.ffii.org/$1",gentoo:"wiki.gentoo.org/wiki/$1",genwiki:"wiki.genealogy.net/index.php/$1",gerrit:"gerrit.wikimedia.org/r/$1",git:"gerrit.wikimedia.org/g/$1",google:N+"google.com/search?q=$1",googledefine:N+"google.com/search?q=define:$1",googlegroups:"groups.google.com/groups?q=$1",guildwarswiki:"wiki.guildwars.com/wiki/$1",guildwiki:"guildwars.wikia.com/wiki/$1",guc:"tools.wmflabs.org/guc/?user=$1",gucprefix:"tools.wmflabs.org/guc/?isPrefixPattern=1&src=rc&user=$1",gutenberg:N+"gutenberg.org/etext/$1",gutenbergwiki:N+"gutenberg.org/wiki/$1",hackerspaces:"hackerspaces.org/wiki/$1",h2wiki:"halowiki.net/p/$1",hammondwiki:N+"dairiki.org/HammondWiki/index.php3?$1",hdl:"hdl.handle.net/$1",heraldik:"heraldik-wiki.de/wiki/$1",heroeswiki:"heroeswiki.com/$1",horizonlabs:"horizon.wikimedia.org/$1",hrwiki:N+"hrwiki.org/index.php/$1",hrfwiki:"fanstuff.hrwiki.org/index.php/$1",hupwiki:"wiki.hup.hu/index.php/$1",iarchive:"archive.org/details/$1",imdbname:N+"imdb.com/name/nm$1/",imdbtitle:N+"imdb.com/title/tt$1/",imdbcompany:N+"imdb.com/company/co$1/",imdbcharacter:N+"imdb.com/character/ch$1/",incubator:"incubator"+q,infosecpedia:"infosecpedia.org/wiki/$1",infosphere:"theinfosphere.org/$1","iso639-3":"iso639-3.sil.org/code/$1",issn:N+"worldcat.org/issn/$1",iuridictum:"iuridictum.pecina.cz/w/$1",jaglyphwiki:"glyphwiki.org/wiki/$1",jefo:"esperanto-jeunes.org/wiki/$1",jerseydatabase:"jerseydatabase.com/wiki.php?id=$1",jira:"jira.toolserver.org/browse/$1",jspwiki:N+"ecyrd.com/JSPWiki/Wiki.jsp?page=$1",jstor:N+"jstor.org/journals/$1",kamelo:"kamelopedia.mormo.org/index.php/$1",karlsruhe:"ka.stadtwiki.net/$1",kinowiki:"kino.skripov.com/index.php/$1",komicawiki:"wiki.komica.org/?$1",kontuwiki:"kontu.wiki/$1",wikitech:"wikitech"+q,libreplanet:"libreplanet.org/wiki/$1",linguistlist:"linguistlist.org/forms/langs/LLDescription.cfm?code=$1",linuxwiki:N+"linuxwiki.de/$1",linuxwikide:N+"linuxwiki.de/$1",liswiki:"liswiki.org/wiki/$1",literateprograms:"en.literateprograms.org/$1",livepedia:N+"livepedia.gr/index.php?title=$1",localwiki:"localwiki.org/$1",lojban:"mw.lojban.org/papri/$1",lostpedia:"lostpedia.wikia.com/wiki/$1",lqwiki:"wiki.linuxquestions.org/wiki/$1",luxo:"tools.wmflabs.org/guc/?user=$1",mail:"lists.wikimedia.org/mailman/listinfo/$1",mailarchive:"lists.wikimedia.org/pipermail/$1",mariowiki:N+"mariowiki.com/$1",marveldatabase:N+"marveldatabase.com/wiki/index.php/$1",meatball:"meatballwiki.org/wiki/$1",mw:N+"mediawiki.org/wiki/$1",mediazilla:"bugzilla.wikimedia.org/$1",memoryalpha:"memory-alpha.fandom.com/wiki/$1",metawiki:"meta"+q,metawikimedia:"meta"+q,metawikipedia:"meta"+q,mineralienatlas:N+"mineralienatlas.de/lexikon/index.php/$1",moinmoin:"moinmo.in/$1",monstropedia:N+"monstropedia.org/?title=$1",mosapedia:"mosapedia.de/wiki/index.php/$1",mozcom:"mozilla.wikia.com/wiki/$1",mozillawiki:"wiki.mozilla.org/$1",mozillazinekb:"kb.mozillazine.org/$1",musicbrainz:"musicbrainz.org/doc/$1",mediawikiwiki:N+"mediawiki.org/wiki/$1",mwod:N+"merriam-webster.com/dictionary/$1",mwot:N+"merriam-webster.com/thesaurus/$1",nkcells:N+"nkcells.info/index.php?title=$1",nara:"catalog.archives.gov/id/$1",nosmoke:"no-smok.net/nsmk/$1",nost:"nostalgia"+E,nostalgia:"nostalgia"+E,oeis:"oeis.org/$1",oldwikisource:"wikisource.org/wiki/$1",olpc:"wiki.laptop.org/go/$1",omegawiki:N+"omegawiki.org/Expression:$1",onelook:N+"onelook.com/?ls=b&w=$1",openlibrary:"openlibrary.org/$1",openstreetmap:"wiki.openstreetmap.org/wiki/$1",openwetware:"openwetware.org/wiki/$1",opera7wiki:"operawiki.info/$1",organicdesign:N+"organicdesign.co.nz/$1",orthodoxwiki:"orthodoxwiki.org/$1",osmwiki:"wiki.openstreetmap.org/wiki/$1",otrs:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketID=$1",otrswiki:"otrs-wiki"+q,ourmedia:N+"socialtext.net/ourmedia/index.cgi?$1",outreach:"outreach"+q,outreachwiki:"outreach"+q,owasp:N+"owasp.org/index.php/$1",panawiki:"wiki.alairelibre.net/index.php?title=$1",patwiki:"gauss.ffii.org/$1",personaltelco:"personaltelco.net/wiki/$1",petscan:"petscan.wmflabs.org/?psid=$1",phab:"phabricator.wikimedia.org/$1",phabricator:"phabricator.wikimedia.org/$1",phwiki:N+"pocketheaven.com/ph/wiki/index.php?title=$1",phpwiki:"phpwiki.sourceforge.net/phpwiki/index.php?$1",planetmath:"planetmath.org/node/$1",pmeg:N+"bertilow.com/pmeg/$1",pmid:N+"ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract",pokewiki:"pokewiki.de/$1","pokéwiki":"pokewiki.de/$1",policy:"policy.wikimedia.org/$1",proofwiki:N+"proofwiki.org/wiki/$1",pyrev:N+"mediawiki.org/wiki/Special:Code/pywikipedia/$1",pythoninfo:"wiki.python.org/moin/$1",pythonwiki:N+"pythonwiki.de/$1",pywiki:"c2.com/cgi/wiki?$1",psycle:"psycle.sourceforge.net/wiki/$1",quality:"quality"+q,quarry:"quarry.wmflabs.org/$1",regiowiki:"regiowiki.at/wiki/$1",rev:N+"mediawiki.org/wiki/Special:Code/MediaWiki/$1",revo:"purl.org/NET/voko/revo/art/$1.html",rfc:"tools.ietf.org/html/rfc$1",rheinneckar:"rhein-neckar-wiki.de/$1",robowiki:"robowiki.net/?$1",rodovid:"en.rodovid.org/wk/$1",reuterswiki:"glossary.reuters.com/index.php/$1",rowiki:"wiki.rennkuckuck.de/index.php/$1",rt:"rt.wikimedia.org/Ticket/Display.html?id=$1",s23wiki:"s23.org/wiki/$1",scholar:"scholar.google.com/scholar?q=$1",schoolswp:"schools-"+E,scores:"imslp.org/wiki/$1",scoutwiki:"en.scoutwiki.org/$1",scramble:N+"scramble.nl/wiki/index.php?title=$1",seapig:N+"seapig.org/$1",seattlewiki:"seattle.wikia.com/wiki/$1",slwiki:"wiki.secondlife.com/wiki/$1","semantic-mw":N+"semantic-mediawiki.org/wiki/$1",senseislibrary:"senseis.xmp.net/?$1",sharemap:"sharemap.org/$1",silcode:N+"sil.org/iso639-3/documentation.asp?id=$1",slashdot:"slashdot.org/article.pl?sid=$1",sourceforge:"sourceforge.net/$1",spcom:"spcom"+q,species:"species"+q,squeak:"wiki.squeak.org/squeak/$1",stats:"stats.wikimedia.org/$1",stewardry:"tools.wmflabs.org/meta/stewardry/?wiki=$1",strategy:"strategy"+q,strategywiki:"strategywiki.org/wiki/$1",sulutil:"meta.wikimedia.org/wiki/Special:CentralAuth/$1",swtrain:"train.spottingworld.com/$1",svn:"svn.wikimedia.org/viewvc/mediawiki/$1?view=log",swinbrain:"swinbrain.ict.swin.edu.au/wiki/$1",tabwiki:N+"tabwiki.com/index.php/$1",tclerswiki:"wiki.tcl.tk/$1",technorati:N+"technorati.com/search/$1",tenwiki:"ten"+E,testwiki:"test"+E,testwikidata:"test.wikidata.org/wiki/$1",test2wiki:"test2"+E,tfwiki:"tfwiki.net/wiki/$1",thelemapedia:N+"thelemapedia.org/index.php/$1",theopedia:N+"theopedia.com/$1",thinkwiki:N+"thinkwiki.org/wiki/$1",ticket:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketNumber=$1",tmbw:"tmbw.net/wiki/$1",tmnet:N+"technomanifestos.net/?$1",tmwiki:N+"EasyTopicMaps.com/?page=$1",toolforge:"tools.wmflabs.org/$1",toollabs:"tools.wmflabs.org/$1",tools:"toolserver.org/$1",tswiki:N+"mediawiki.org/wiki/Toolserver:$1",translatewiki:"translatewiki.net/wiki/$1",tviv:"tviv.org/wiki/$1",tvtropes:N+"tvtropes.org/pmwiki/pmwiki.php/Main/$1",twiki:"twiki.org/cgi-bin/view/$1",tyvawiki:N+"tyvawiki.org/wiki/$1",umap:"umap.openstreetmap.fr/$1",uncyclopedia:"en.uncyclopedia.co/wiki/$1",unihan:N+"unicode.org/cgi-bin/GetUnihanData.pl?codepoint=$1",unreal:"wiki.beyondunreal.com/wiki/$1",urbandict:N+"urbandictionary.com/define.php?term=$1",usej:N+"tejo.org/usej/$1",usemod:N+"usemod.com/cgi-bin/wiki.pl?$1",usability:"usability"+q,utrs:"utrs.wmflabs.org/appeal.php?id=$1",vikidia:"fr.vikidia.org/wiki/$1",vlos:"tusach.thuvienkhoahoc.com/wiki/$1",vkol:"kol.coldfront.net/thekolwiki/index.php/$1",voipinfo:N+"voip-info.org/wiki/view/$1",votewiki:"vote"+q,werelate:N+"werelate.org/wiki/$1",wg:"wg-en"+E,wikia:N+"wikia.com/wiki/w:c:$1",wikiasite:N+"wikia.com/wiki/w:c:$1",wikiapiary:"wikiapiary.com/wiki/$1",wikibooks:"en.wikibooks.org/wiki/$1",wikichristian:N+"wikichristian.org/index.php?title=$1",wikicities:N+"wikia.com/wiki/w:$1",wikicity:N+"wikia.com/wiki/w:c:$1",wikiconference:"wikiconference.org/wiki/$1",wikidata:N+"wikidata.org/wiki/$1",wikif1:N+"wikif1.org/$1",wikifur:"en.wikifur.com/wiki/$1",wikihow:N+"wikihow.com/$1",wikiindex:"wikiindex.org/$1",wikilemon:"wiki.illemonati.com/$1",wikilivres:"wikilivres.org/wiki/$1",wikilivresru:"wikilivres.ru/$1","wikimac-de":"apfelwiki.de/wiki/Main/$1",wikimedia:"foundation"+q,wikinews:"en.wikinews.org/wiki/$1",wikinfo:"wikinfo.org/w/index.php/$1",wikinvest:"meta.wikimedia.org/wiki/Interwiki_map/discontinued#Wikinvest",wikiotics:"wikiotics.org/$1",wikipapers:"wikipapers.referata.com/wiki/$1",wikipedia:"en"+E,wikipediawikipedia:"en.wikipedia.org/wiki/Wikipedia:$1",wikiquote:"en.wikiquote.org/wiki/$1",wikisophia:"wikisophia.org/index.php?title=$1",wikisource:"en.wikisource.org/wiki/$1",wikispecies:"species"+q,wikispot:"wikispot.org/?action=gotowikipage&v=$1",wikiskripta:N+"wikiskripta.eu/index.php/$1",labsconsole:"wikitech"+q,wikiti:"wikiti.denglend.net/index.php?title=$1",wikiversity:"en.wikiversity.org/wiki/$1",wikivoyage:"en.wikivoyage.org/wiki/$1",betawikiversity:"beta.wikiversity.org/wiki/$1",wikiwikiweb:"c2.com/cgi/wiki?$1",wiktionary:"en.wiktionary.org/wiki/$1",wipipedia:"wipipedia.org/index.php/$1",wlug:N+"wlug.org.nz/$1",wmam:"am"+q,wmar:N+"wikimedia.org.ar/wiki/$1",wmat:"mitglieder.wikimedia.at/$1",wmau:"wikimedia.org.au/wiki/$1",wmbd:"bd"+q,wmbe:"be"+q,wmbr:"br"+q,wmca:"ca"+q,wmch:N+"wikimedia.ch/$1",wmcl:N+"wikimediachile.cl/index.php?title=$1",wmcn:"cn"+q,wmco:"co"+q,wmcz:N+"wikimedia.cz/web/$1",wmdc:"wikimediadc.org/wiki/$1",securewikidc:"secure.wikidc.org/$1",wmde:"wikimedia.de/wiki/$1",wmdk:"dk"+q,wmee:"ee"+q,wmec:"ec"+q,wmes:N+"wikimedia.es/wiki/$1",wmet:"ee"+q,wmfdashboard:"outreachdashboard.wmflabs.org/$1",wmfi:"fi"+q,wmfr:"wikimedia.fr/$1",wmge:"ge"+q,wmhi:"hi"+q,wmhk:"meta.wikimedia.org/wiki/Wikimedia_Hong_Kong",wmhu:"wikimedia.hu/wiki/$1",wmid:"id"+q,wmil:N+"wikimedia.org.il/$1",wmin:"wiki.wikimedia.in/$1",wmit:"wiki.wikimedia.it/wiki/$1",wmke:"meta.wikimedia.org/wiki/Wikimedia_Kenya",wmmk:"mk"+q,wmmx:"mx"+q,wmnl:"nl"+q,wmnyc:"nyc"+q,wmno:"no"+q,"wmpa-us":"pa-us"+q,wmph:"meta.wikimedia.org/wiki/Wikimedia_Philippines",wmpl:"pl"+q,wmpt:"pt"+q,wmpunjabi:"punjabi"+q,wmromd:"romd"+q,wmrs:"rs"+q,wmru:"ru"+q,wmse:"se"+q,wmsk:"wikimedia.sk/$1",wmtr:"tr"+q,wmtw:"wikimedia.tw/wiki/index.php5/$1",wmua:"ua"+q,wmuk:"wikimedia.org.uk/wiki/$1",wmve:"wikimedia.org.ve/wiki/$1",wmza:"wikimedia.org.za/wiki/$1",wm2005:"wikimania2005"+q,wm2006:"wikimania2006"+q,wm2007:"wikimania2007"+q,wm2008:"wikimania2008"+q,wm2009:"wikimania2009"+q,wm2010:"wikimania2010"+q,wm2011:"wikimania2011"+q,wm2012:"wikimania2012"+q,wm2013:"wikimania2013"+q,wm2014:"wikimania2014"+q,wm2015:"wikimania2015"+q,wm2016:"wikimania2016"+q,wm2017:"wikimania2017"+q,wm2018:"wikimania2018"+q,wmania:"wikimania"+q,wikimania:"wikimania"+q,wmteam:"wikimaniateam"+q,wmf:"foundation"+q,wmfblog:"blog.wikimedia.org/$1",wmdeblog:"blog.wikimedia.de/$1",wookieepedia:"starwars.wikia.com/wiki/$1",wowwiki:N+"wowwiki.com/$1",wqy:"wqy.sourceforge.net/cgi-bin/index.cgi?$1",wurmpedia:"wurmpedia.com/index.php/$1",viaf:"viaf.org/viaf/$1",zrhwiki:N+"zrhwiki.ch/wiki/$1",zum:"wiki.zum.de/$1",zwiki:N+"zwiki.org/$1",m:"meta"+q,meta:"meta"+q,sep11:"sep11"+E,d:N+"wikidata.org/wiki/$1",minnan:"zh-min-nan"+E,nb:"no"+E,"zh-cfr":"zh-min-nan"+E,"zh-cn":"zh"+E,"zh-tw":"zh"+E,nan:"zh-min-nan"+E,vro:"fiu-vro"+E,cmn:"zh"+E,lzh:"zh-classical"+E,rup:"roa-rup"+E,gsw:"als"+E,"be-tarask":"be-x-old"+E,sgs:"bat-smg"+E,egl:"eml"+E,w:"en"+E,wikt:"en.wiktionary.org/wiki/$1",q:"en.wikiquote.org/wiki/$1",b:"en.wikibooks.org/wiki/$1",n:"en.wikinews.org/wiki/$1",s:"en.wikisource.org/wiki/$1",chapter:"en"+q,v:"en.wikiversity.org/wiki/$1",voy:"en.wikivoyage.org/wiki/$1"};Object.keys(O).forEach((e=>{S[e]=e+".wikipedia.org/wiki/$1"}));const C=/^(category|catégorie|kategorie|categoría|categoria|categorie|kategoria|تصنيف|image|file|fichier|datei|media):/i,L=/\[(https?|news|ftp|mailto|gopher|irc)(:\/\/[^\]| ]{4,1500})([| ].*?)?\]/g,A=/\[\[(.{0,1600}?)\]\]([a-z]+)?/gi,P=function(e,t){return t.replace(A,(function(t,i,a){let n=null,r=i;if(i.match(/\|/)&&(r=(i=i.replace(/\[\[(.{2,1000}?)\]\](\w{0,10})/g,"$1$2")).replace(/(.{2,1000})\|.{0,2000}/,"$1"),n=i.replace(/.{2,1000}?\|/,""),null===n&&r.match(/\|$/)&&(r=r.replace(/\|$/,""),n=r)),r.match(C))return i;let o={page:r,raw:t};return o.page=o.page.replace(/#(.*)/,((e,t)=>(o.anchor=t,""))),o=function(e){let t=e.page||"";if(-1!==t.indexOf(":")){let i=t.match(/^(.*):(.*)/);if(null===i)return e;let a=i[1]||"";if(a=a.toLowerCase(),-1!==a.indexOf(":")){let[,t,i]=a.match(/^:?(.*):(.*)/);if(!1===S.hasOwnProperty(t)||!1===O.hasOwnProperty(i))return e;e.wiki={wiki:t,lang:i}}else{if(!1===S.hasOwnProperty(a))return e;e.wiki=a}e.page=i[2]}return e}(o),o.wiki&&(o.type="interwiki"),null!==n&&n!==o.page&&(o.text=n),a&&(o.text=o.text||o.page,o.text+=a.trim()),o.page&&!1===/^[A-Z]/.test(o.page)&&(o.text||(o.text=o.page),o.page=o.page),o.text&&o.text.startsWith(":")&&(o.text=o.text.replace(/^:/,"")),e.push(o),i})),e},D=function(e){let t=[];if(t=function(e,t){return t.replace(L,(function(t,i,a,n){return n=n||"",e.push({type:"external",site:i+a,text:n.trim(),raw:t}),n})),e}(t,e),t=P(t,e),0!==t.length)return t},T=new RegExp("^[ \n\t]*?#("+["aanstuur","adkas","alih","aýdaw","beralîkirin","doorverwijzing","lencong","ohjaus","patrz","přesměruj","preusmjeri","redireccion","redirección","redirecionamento","redirect","redirection","rinvia","tilvísun","uudelleenohjaus","weiterleitung","weiterleitung","yönlendi̇r","yönlendirme","yönlendi̇rme","ανακατευθυνση","айдау","перанакіраваньне","перенаправление","перенаправлення","пренасочување","преусмери","преусмјери","ווייטערפירן","تحويل","تغییر_مسیر","تغییرمسیر","رجوع مکرر","رجوع_مکرر","अनुप्रेषित","पुनर्निर्देशन","পুননির্দেশ","เปลี่ยนทาง","ប្តូរទីតាំងទៅ","リダイレクト","転送","重定向"].join("|")+") *?(\\[\\[.{2,180}?\\]\\])","i"),I=["table","code","score","data","categorytree","charinsert","hiero","imagemap","inputbox","references","source","syntaxhighlight","timeline","maplink"],M=`< ?(${I.join("|")}) ?[^>]{0,200}?>`,F=`< ?/ ?(${I.join("|")}) ?>`,R=new RegExp(`${M}[\\s\\S]+?${F}`,"gi");function U(e){return e=(e=(e=function(e){return(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(R," ")).replace(/ ?< ?(span|div|table|data) [a-zA-Z0-9=%.\-#:;'" ]{2,100}\/? ?> ?/g," ")).replace(/ ?< ?(ref) [a-zA-Z0-9=" ]{2,100}\/ ?> ?/g," ")).replace(/(.*?)<\/i>/g,"''$1''")).replace(/(.*?)<\/b>/g,"'''$1'''")).replace(/(.*?)<\/sub>/g,"{{sub|$1}}")).replace(/(.*?)<\/sup>/g,"{{sup|$1}}")).replace(/
(.*?)<\/blockquote>/g,"{{blockquote|text=$1}}")).replace(/ ?<[ /]?(p|sub|sup|span|nowiki|div|table|br|tr|td|th|pre|pre2|hr|u)[ /]?> ?/g," ")).replace(/ ?<[ /]?(abbr|bdi|bdo|cite|del|dfn|em|ins|kbd|mark|q|s|small)[ /]?> ?/g," ")).replace(/ ?<[ /]?h[0-9][ /]?> ?/g," ")).replace(/ ?< ?br ?\/> ?/g,"\n")).trim()}(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(//g,"")).replace(/__(NOTOC|NOEDITSECTION|FORCETOC|TOC)__/gi,"")).replace(/~{2,3}/g,"")).replace(/\r/g,"")).replace(/\u3002/g,". ")).replace(/----/g,"")).replace(/\{\{\}\}/g," – ")).replace(/\{\{\\\}\}/g," / ")).replace(/ /g," ")).replace(/–/g,"–"))).replace(/\([,;: ]+\)/g,"")).replace(/\{\{(baseball|basketball) (primary|secondary) (style|color).*?\}\}/i,"")}const B=/[\\.$]/,K=function(e){return"string"!=typeof e&&(e=""),e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/^\$/,"\\u0024")).replace(/\./g,"\\u002e")},W=function(e={}){let t=Object.keys(e);for(let i=0;i{Z.prototype[e]=G[e]}));const J=/^[0-9,.]+$/,V={text:!0,links:!0,formatting:!0,numbers:!0},X=function(e={}){Object.defineProperty(this,"data",{enumerable:!1,value:e})},Q={links:function(e){let t=this.data.links||[];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page===e));return void 0===i?[]:[i]}return t},interwiki:function(){return this.links().filter((e=>void 0!==e.wiki))},bolds:function(){return this.data&&this.data.fmt&&this.data.fmt.bold&&this.data.fmt.bold||[]},italics:function(){return this.data&&this.data.fmt&&this.data.fmt.italic&&this.data.fmt.italic||[]},text:function(e){return void 0!==e&&"string"==typeof e&&(this.data.text=e),this.data.text||""},json:function(e){return function(e,t){t=p(t,V);let i={},a=e.text();if(!0===t.text&&(i.text=a),!0===t.numbers&&J.test(a)){let e=Number(a.replace(/,/g,""));!1===isNaN(e)&&(i.number=e)}return t.links&&e.links().length>0&&(i.links=e.links().map((e=>e.json()))),t.formatting&&e.data.fmt&&(i.formatting=e.data.fmt),i}(this,e)},wikitext:function(){return this.data.wiki||""},isEmpty:function(){return""===this.data.text}};Object.keys(Q).forEach((e=>{X.prototype[e]=Q[e]}));const ee={links:"link",bolds:"bold",italics:"italic"};Object.keys(ee).forEach((e=>{X.prototype[ee[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}})),X.prototype.plaintext=X.prototype.text;const te=["ad","adj","adm","adv","al","alta","approx","apr","apt","arc","ariz","assn","asst","atty","aug","ave","ba","bc","bl","bldg","blvd","brig","bros","ca","cal","calif","capt","cca","cg","cl","cm","cmdr","co","col","colo","comdr","conn","corp","cpl","cres","ct","cyn","dak","dec","def","dept","det","dg","dist","dl","dm","dr","ea","eg","eng","esp","esq","est","etc","ex","exp","feb","fem","fig","fl oz","fl","fla","fm","fr","ft","fy","ga","gal","gb","gen","gov","hg","hon","hr","hrs","hwy","hz","ia","ida","ie","inc","inf","jan","jd","jr","jul","jun","kan","kans","kb","kg","km","kmph","lat","lb","lit","llb","lm","lng","lt","ltd","lx","ma","maj","mar","masc","mb","md","messrs","mg","mi","min","minn","misc","mister","ml","mlle","mm","mme","mph","mps","mr","mrs","ms","mstr","mt","neb","nebr","nee","no","nov","oct","okla","ont","op","ord","oz","pa","pd","penn","penna","phd","pl","pp","pref","prob","prof","pron","ps","psa","pseud","pt","pvt","qt","que","rb","rd","rep","reps","res","rev","sask","sec","sen","sens","sep","sept","sfc","sgt","sir","situ","sq ft","sq","sr","ss","st","supt","surg","tb","tbl","tbsp","tce","td","tel","temp","tenn","tex","tsp","univ","usafa","ut","va","vb","ver","vet","vitro","vivo","vol","vs","vt","wis","wisc","wr","wy","wyo","yb","µg"].concat("[^]][^]]"),ie=new RegExp("(^| |')("+te.join("|")+")[.!?] ?$","i"),ae=/[ .'][A-Z].? *$/i,ne=/\.{3,} +$/,re=/ c\.\s$/,oe=/\p{Letter}/iu;function se(e){let t={wiki:e,text:e};return function(e){let t=e.text,i=D(t)||[];e.links=i.map((e=>(t=t.replace(e.raw,e.text||e.page||""),new Z(e)))),t=t.replace(/\[\[File:(.{2,80}?)\|([^\]]+)\]\](\w{0,5})/g,"$1"),e.text=t}(t),t.text=r(t.text.replace(/\([,;: ]*\)/g,"").replace(/\( *(; ?)+/g,"(")).replace(/ +\.$/,"."),t=function(e){let t=[],i=[],a=e.text||"";return a=a.replace(/'''''(.{0,2500}?)'''''/g,((e,a)=>(t.push(a),i.push(a),a))),a=a.replace(/''''(.{0,2500}?)''''/g,((e,i)=>(t.push(`'${i}'`),`'${i}'`))),a=a.replace(/'''(.{0,2500}?)'''/g,((e,i)=>(t.push(i),i))),a=a.replace(/''(.{0,2500}?)''/g,((e,t)=>(i.push(t),t))),e.text=a,t.length>0&&(e.fmt=e.fmt||{},e.fmt.bold=t),i.length>0&&(e.fmt=e.fmt||{},e.fmt.italic=i),e}(t),new X(t)}const le=function(e){let t=function(e){let t=[],i=[];if(!e||"string"!=typeof e||0===e.trim().length)return t;let a=function(e){let t=e.split(/(\n+)/);return t=t.filter((e=>e.match(/\S/))),t=t.map((function(e){return e.split(/(\S.+?[.!?]"?)(?=\s|$)/g)})),function(e){let t=[];return e.forEach((function(e){t=t.concat(e)})),t}(t)}(e);for(let e=0;ei.length)return!1;const a=e.match(/"/g);if(a&&a.length%2!=0&&e.length<900)return!1;const n=e.match(/[()]/g);return!(n&&n.length%2!=0&&e.length<900)}(n))?/^\s/.test(i[e+1])||/\s$/.test(i[e])?i[e+1]=i[e]+i[e+1]:i[e+1]=i[e]+" "+i[e+1]:i[e]&&i[e].length>0&&(t.push(i[e]),i[e]="");var n;return 0===t.length?[e]:t}(e.wiki);t=t.map(se),t[0]&&t[0].text()&&":"===t[0].text()[0]&&(t=t.slice(1)),e.sentences=t},ce=/.*rowspan *= *["']?([0-9]+)["']?[ |]*/,ue=/.*colspan *= *["']?([0-9]+)["']?[ |]*/,me=function(e){return e=function(e){return e.forEach(((t,i)=>{t.forEach(((a,n)=>{let r=a.match(ce);if(null!==r){let o=parseInt(r[1],10);a=a.replace(ce,""),t[n]=a;for(let t=i+1;t{e.forEach(((t,i)=>{let a=t.match(ue);if(null!==a){let n=parseInt(a[1],10);e[i]=t.replace(ue,"");for(let t=1;te.length>0))}(e))},pe=/^!/,de={name:!0,age:!0,born:!0,date:!0,year:!0,city:!0,country:!0,population:!0,count:!0,number:!0},he=function(e){return(e=se(e).text()).match(/\|/)&&(e=e.replace(/.*?\| ?/,"")),e=(e=(e=e.replace(/style=['"].*?["']/,"")).replace(/^!/,"")).trim()},ge=function(e){if(e.length<=3)return[];let t=e[0].slice(0);t=t.map((e=>(e=se(e=e.replace(/^! */,"")).text(),e=(e=he(e)).toLowerCase())));for(let i=0;ie&&!0!==/^\|\+/.test(e))),!0===/^\{\|/.test(e[0])&&e.shift(),!0===/^\|\}/.test(e[e.length-1])&&e.pop(),!0===/^\|-/.test(e[0])&&e.shift(),e}(e);for(let a=0;a0&&(t.push(i),i=[]);else{let e=n.charAt(0);"|"!==e&&"!"!==e||(n=n.substring(1)),n=n.split(/(?:\|\||!!)/),"!"===e&&(n[0]=e+n[0]),n.forEach((e=>{e=e.trim(),i.push(e)}))}}return i.length>0&&t.push(i),t}(e.replace(/\r/g,"").replace(/\n(\s*[^|!{\s])/g," $1").split(/\n/).map((e=>e.trim())));if(t=t.filter((e=>e)),0===t.length)return[];t=function(e){return e.filter((e=>1!==e.length||!e[0]||!pe.test(e[0])||!1!==/rowspan/i.test(e[0])))}(t),t=me(t);let i=function(e=[]){let t=[];var i;(i=(i=e[0])||[]).length-i.filter((e=>e)).length>3&&e.shift();let a=e[0];return a&&a[0]&&a[1]&&(/^!/.test(a[0])||/^!/.test(a[1]))&&(t=a.map((e=>(e=e.replace(/^! */,""),he(e)))),e.shift()),a=e[0],a&&a[0]&&a[1]&&/^!/.test(a[0])&&/^!/.test(a[1])&&(a.forEach(((e,i)=>{e=e.replace(/^! */,""),e=he(e),!0===Boolean(e)&&(t[i]=e)})),e.shift()),t}(t);if(!i||i.length<=1){i=ge(t);let e=t[t.length-1]||[];i.length<=1&&e.length>2&&(i=ge(t.slice(1)),i.length>0&&(t=t.slice(2)))}let a=t.map((e=>function(e,t){let i={};return e.forEach(((e,a)=>{let n=t[a]||"col"+(a+1),r=se(e);r.text(he(r.text())),i[n]=r})),i}(e,i)));return a},ke={},fe=function(e=""){return e=(e=(e=(e=e.toLowerCase()).replace(/[_-]/g," ")).replace(/\(.*?\)/,"")).trim()},we=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_wiki",{enumerable:!1,value:t})},ye={links(e){let t=[];if(this.data.forEach((e=>{Object.keys(e).forEach((i=>{t=t.concat(e[i].links())}))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},get(e){let t=this.data[0]||{},i=Object.keys(t).reduce(((e,t)=>(e[fe(t)]=t,e)),{});if("string"==typeof e){let t=fe(e);return t=i[t]||t,this.data.map((e=>e[t]?e[t].text():null))}return e=e.map(fe).map((e=>i[e]||e)),this.data.map((t=>e.reduce(((e,i)=>(t[i]?e[i]=t[i].text():e[i]="",e)),{})))},keyValue(e){let t=this.json(e);return t.forEach((e=>{Object.keys(e).forEach((t=>{e[t]=e[t].text}))})),t},json(e){return e=p(e,ke),function(e,t){return e.map((e=>{let i={};return Object.keys(e).forEach((t=>{i[t]=e[t].json()})),!0===t.encode&&(i=W(i)),i}))}(this.data,e)},text:()=>"",wikitext(){return this._wiki||""}};ye.keyvalue=ye.keyValue,ye.keyval=ye.keyValue,Object.keys(ye).forEach((e=>{we.prototype[e]=ye[e]}));const $e=/^\s*\{\|/,xe=/^\s*\|\}/,ve={sentences:!0},je={sentences:!0,lists:!0,images:!0},_e=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},ze={sentences:function(){return this.data.sentences||[]},references:function(){return this.data.references},lists:function(){return this.data.lists},images(){return this.data.images||[]},links:function(e){let t=[];if(this.sentences().forEach((i=>{t=t.concat(i.links(e))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},interwiki(){let e=[];return this.sentences().forEach((t=>{e=e.concat(t.interwiki())})),e||[]},text:function(e){e=p(e,je);let t=this.sentences().map((t=>t.text(e))).join(" ");return this.lists().forEach((e=>{t+="\n"+e.text()})),t},json:function(e){return function(e,t){let i={};return!0===(t=p(t,ve)).sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=p(e,je))},wikitext:function(){return this.data.wiki}};ze.citations=ze.references,Object.keys(ze).forEach((e=>{_e.prototype[e]=ze[e]}));const Oe={sentences:"sentence",references:"reference",citations:"citation",lists:"list",images:"image",links:"link"};Object.keys(Oe).forEach((e=>{_e.prototype[Oe[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}}));const Ee=function(e){return e=(e=e.replace(/^\{\{/,"")).replace(/\}\}$/,"")},qe=function(e){return e=(e=(e=(e||"").trim()).toLowerCase()).replace(/_/g," ")},Ne=/^[\p{Letter}0-9._/\- '()\t]+=/iu,Se={template:!0,list:!0,prototype:!0},Ce=function(e,t){let i=0;return e.reduce(((e,a="")=>{if(a=a.trim(),!0===Ne.test(a)){let t=function(e){let t=e.split("="),i=t[0]||"";i=i.toLowerCase().trim();let a=t.slice(1).join("=");return Se.hasOwnProperty(i)&&(i="_"+i),{key:i,val:a.trim()}}(a);if(t.key)return e[t.key]&&!t.val||(e[t.key]=t.val),e}if(t&&t[i]){e[t[i]]=a}else e.list=e.list||[],e.list.push(a);return i+=1,e}),{})},Le={classname:!0,style:!0,align:!0,margin:!0,left:!0,break:!0,boxsize:!0,framestyle:!0,item_style:!0,collapsible:!0,list_style_type:!0,"list-style-type":!0,colwidth:!0},Ae=function(e,t){let i=se(e);return"json"===t?i.json():"raw"===t?i:i.text()},Pe=function(e,t=[],i){let a=function(e){let t=e.split(/\n?\|/);t.forEach(((e,i)=>{null!==e&&(/\[\[[^\]]+$/.test(e)||/\{\{[^}]+$/.test(e)||e.split("{{").length!==e.split("}}").length||e.split("[[").length!==e.split("]]").length)&&(t[i+1]=t[i]+"|"+t[i+1],t[i]=null)})),t=t.filter((e=>null!==e)),t=t.map((e=>(e||"").trim()));for(let e=t.length-1;e>=0;e-=1){""===t[e]&&t.pop();break}return t}(e=Ee(e||"")),n=a.shift(),r=Ce(a,t);return r=function(e){return Object.keys(e).forEach((t=>{!0===Le[t.toLowerCase()]&&delete e[t],null!==e[t]&&""!==e[t]||delete e[t]})),e}(r),r[1]&&t[0]&&!1===r.hasOwnProperty(t[0])&&(r[t[0]]=r[1],delete r[1]),Object.keys(r).forEach((e=>{r[e]="list"!==e?Ae(r[e],i):r[e].map((e=>Ae(e,i)))})),n&&(r.template=qe(n)),r};const De=new RegExp("("+g.join("|")+"):","i");let Te=`(${g.join("|")})`;const Ie=new RegExp(Te+":(.+?)[\\||\\]]","iu"),Me=/^\[\[:/,Fe={thumb:!0,thumbnail:!0,border:!0,right:!0,left:!0,center:!0,top:!0,bottom:!0,none:!0,upright:!0,baseline:!0,middle:!0,sub:!0,super:!0},Re=function(e,t){let i=e.wiki,a=function(e){let t=[],i=[];const a=e.split("");let n=0;for(let r=0;r0){let e=0,a=0;for(let t=0;ta&&i.push("]"),t.push(i.join("")),i=[]}}return t}(i);a.forEach((function(a){if(!0===De.test(a)){e.images=e.images||[];let n=function(e,t){let i=e.match(Ie);if(null===i||!i[2])return null;if(Me.test(e))return null;let a=`${i[1]}:${i[2]||""}`;if(a){let i={file:a,lang:t._lang,domain:t._domain,wiki:e,pluginData:{}};e=(e=e.replace(/^\[\[/,"")).replace(/\]\]$/,"");let n=Pe(e),r=n.list||[];return n.alt&&(i.alt=n.alt),r=r.filter((e=>!1===Fe.hasOwnProperty(e))),r[r.length-1]&&(i.caption=se(r[r.length-1])),new _(i)}return null}(a,t);n&&(e.images.push(n),i=i.replace(a,""))}})),e.wiki=i},Ue={},Be=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},Ke={lines(){return this.data},links(e){let t=[];if(this.lines().forEach((e=>{t=t.concat(e.links())})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},json(e){return e=p(e,Ue),this.lines().map((t=>t.json(e)))},text(){return((e,t)=>e.map((e=>" * "+e.text(t))).join("\n"))(this.data)},wikitext(){return this.wiki||""}};Object.keys(Ke).forEach((e=>{Be.prototype[e]=Ke[e]}));const We=/^[#*:;|]+/,He=/^\*+[^:,|]{4}/,Ye=/^ ?#[^:,|]{4}/,Ze=/[\p{Letter}_0-9\]}]/iu,Ge=function(e){return We.test(e)||He.test(e)||Ye.test(e)},Je=function(e,t){let i=[];for(let a=t;ae&&Ze.test(e))),i=function(e){let t=1;e=e.filter((e=>e));for(let i=0;ie&&e.trim().length>0)),a=a.map((e=>{let i={wiki:e,lists:[],sentences:[],images:[]};return function(e){let t=e.wiki,i=t.split(/\n/g),a=[],n=[];for(let e=0;e0&&(a.push(t),e+=t.length-1)}else n.push(i[e]);e.lists=a.map((e=>new Be(e,t))),e.wiki=n.join("\n")}(i),Re(i,t),le(i),new _e(i)})),e._wiki=i,e._paragraphs=a},Qe="{",et=function(e){let t=0,i=[],a=[];for(let n=e.indexOf(Qe);-1!==n&&n0?n++:n=e.indexOf(Qe,n+1)){let r=e[n];if(r===Qe&&(t+=1),t>0){if("}"===r&&(t-=1,0===t)){a.push(r);let e=a.join("");a=[],/\{\{/.test(e)&&/\}\}/.test(e)&&i.push(e);continue}if(1===t&&r!==Qe&&"}"!==r){t=0,a=[];continue}a.push(r)}}return i},tt=function(e){let t=null;return t=/^\{\{[^\n]+\|/.test(e)?(e.match(/^\{\{(.+?)\|/)||[])[1]:-1!==e.indexOf("\n")?(e.match(/^\{\{(.+)\n/)||[])[1]:(e.match(/^\{\{(.+?)\}\}$/)||[])[1],t&&(t=t.replace(/:.*/,""),t=qe(t)),t||null},it=/\{\{/,at=function(e){return{body:e,name:tt(e),children:[]}},nt=function(e){let t=e.body.substr(2);return t=t.replace(/\}\}$/,""),e.children=et(t),e.children=e.children.map(at),0===e.children.length||e.children.forEach((e=>{let t=e.body.substr(2);return it.test(t)?nt(e):null})),e},rt=function(e){let t=et(e);return t=t.map(at),t=t.map(nt),t},ot=["anchor","defaultsort","use list-defined references","void","pp","pp-move-indef","pp-semi-indef","pp-vandalism","r","#tag","div col","pope list end","shipwreck list end","starbox end","end box","end","s-end"].reduce(((e,t)=>(e[t]=!0,e)),{});var st={"gnf protein box":!0,"automatic taxobox":!0,"chembox ":!0,editnotice:!0,geobox:!0,hybridbox:!0,ichnobox:!0,infraspeciesbox:!0,mycomorphbox:!0,oobox:!0,"paraphyletic group":!0,speciesbox:!0,subspeciesbox:!0,"starbox short":!0,taxobox:!0,nhlteamseason:!0,"asian games bid":!0,"canadian federal election results":!0,"dc thomson comic strip":!0,"daytona 24 races":!0,edencharacter:!0,"moldova national football team results":!0,samurai:!0,protein:!0,"sheet authority":!0,"order-of-approx":!0,"bacterial labs":!0,"medical resources":!0,ordination:!0,"hockey team coach":!0,"hockey team gm":!0,"pro hockey team":!0,"hockey team player":!0,"hockey team start":!0,mlbbioret:!0};const lt=new RegExp("^(subst.)?("+b.join("|")+")(?=:| |\n|$)","i");b.forEach((e=>{st[e]=!0}));const ct=/^infobox /i,ut=/ infobox$/i,mt=/^year in [A-Z]/i,pt=function(e={}){let t=e.template.match(lt),i=e.template;t&&t[0]&&(i=i.replace(t[0],"")),i=i.trim();let a={template:"infobox",type:i,data:e};return delete a.data.template,delete a.data.list,a};let dt={imdb:"imdb name","imdb episodes":"imdb episode",localday:"currentday",localdayname:"currentdayname",localyear:"currentyear","birth date based on age at death":"birth based on age as of date","bare anchored list":"anchored list",cvt:"convert",cricon:"flagicon",sfrac:"frac",sqrt:"radic","unreferenced section":"unreferenced",redir:"redirect",sisterlinks:"sister project links","main article":"main",by:"baseball year",aldsy:"alds year",nldsy:"nlds year","str rep":"replace",ushr2:"ushr",stn:"station",metrod:"metro",fw:"ferry",rws:"stnlnk",sclass2:"sclass",under:"underline",brackets:"bracket",raise:"lower"},ht={date:["byline","dateline"],citation:["cite","source","source-pr","source-science"],"no spam":["email","@","no spam blue"],"lrt station":["lrt","lrts"],"mrt station":["mrt","mrts"],flagcountry:["cr","cr-rt"],trunc:["str left","str crop"],percentage:["pct","percentage"],rnd:["rndfrac","rndnear"],abbr:["tooltip","abbrv","define"],sfn:["sfnref","harvid","harvnb"],"birth date and age":["death date and age","bda"],currentmonth:["localmonth","currentmonthname","currentmonthabbrev"],currency:["monnaie","unité","nombre","nb","iso4217"],coord:["coor","coor title dms","coor title dec","coor dms","coor dm","coor dec"],"columns-list":["cmn","col-list","columnslist","collist"],nihongo:["nihongo2","nihongo3","nihongo-s","nihongo foot"],plainlist:["flatlist","plain list"],"winning percentage":["winpct","winperc"],"collapsible list":["nblist","nonbulleted list","ubl","ublist","ubt","unbullet","unbulleted list","unbulleted","unbulletedlist","vunblist"],"election box begin":["election box begin no change","election box begin no party","election box begin no party no change","election box inline begin","election box inline begin no change"],"election box candidate":["election box candidate for alliance","election box candidate minor party","election box candidate no party link no change","election box candidate with party link","election box candidate with party link coalition 1918","election box candidate with party link no change","election box inline candidate","election box inline candidate no change","election box inline candidate with party link","election box inline candidate with party link no change","election box inline incumbent"],"4teambracket":["2teambracket","4team2elimbracket","8teambracket","16teambracket","32teambracket","4roundbracket-byes","cwsbracket","nhlbracket","nhlbracket-reseed","4teambracket-nhl","4teambracket-ncaa","4teambracket-mma","4teambracket-mlb","16teambracket-two-reseeds","8teambracket-nhl","8teambracket-mlb","8teambracket-ncaa","8teambracket-afc","8teambracket-afl","8teambracket-tennis3","8teambracket-tennis5","16teambracket-nhl","16teambracket-nhl divisional","16teambracket-nhl-reseed","16teambracket-nba","16teambracket-swtc","16teambracket-afc","16teambracket-tennis3","16teambracket-tennis5"],start:["end","birth","death","start date","end date","birth date","death date","start date and age","end date and age","dob"],"start-date":["end-date","birth-date","death-date","birth-date and age","birth-date and given age","death-date and age","death-date and given age"],tl:["lts","t","tfd links","tiw","tltt","tetl","tsetl","ti","tic","tiw","tlt","ttl","twlh","tl2","tlu","demo","xpd","para","elc","xtag","mli","mlix","url"],done:["resolved mark large","implemented","pimplemented","resolved mark","accepted","agree","approved","checked2","verified","conditional yes","confirmed","confirmed-nc","tallyho","tick","helped","doneu|example","edited2","donetask","unprod","autp","responded","sure","merge done","marked","pass","aye","yes check","y&","yeac","yeag"],xmark:["expired","deleted","not done","not done empty request","not done unclear","not done not likely","stale-small","smallrejected","x mark","nay","no mark","not done-t","fail","n&","x mark-n","xed box","cancelled","deleted-image","already declined","opblocked","user-blocked","notabug","notfixed","won't fix","withdraw","nojoy","unrelated","off-topic talk","nayc","nayg"],checked:["already done","resolved1","check mark-n","checked box"],"station link":["amtk","cta","bts","mnrr","mtams","munis","njts","scax","wmata","rwsa"]};Object.keys(O).forEach((e=>{dt["ipa-"+e]="ipa",dt["ipac-"+e]="ipac"})),Object.keys(ht).forEach((e=>{ht[e].forEach((t=>{dt[t]=e}))}));var gt={"·":"·",dot:"·",middot:"·","•":" • ",",":",","=":"=","1/2":"1⁄2","1/3":"1⁄3","2/3":"2⁄3","1/4":"1⁄4","3/4":"3⁄4","–":"–",ndash:"–","en dash":"–","spaced ndash":" – ","—":"—",mdash:"—",spd:" – ","em dash":"—","number sign":"#","hash-tag":"#",ibeam:"I","&":"&",";":";",ampersand:"&",dagger:"†","double-dagger":"‡",snds:" – ",snd:" – ","^":" ","!":"|","'":"'","\\":" /","`":"`","[":"[","*":"*",asterisk:"*","long dash":"———",clear:"\n\n","h.":"ḥ",profit:"▲",loss:"▼",gain:"▲",ell:"ℓ","1~":"~","2~":"~~","3~":"~~~","4~":"~~~~","5~":"~~~~~",goldmedal:"🥇",silvermedal:"🥈",bronzemedal:"🥉",done:"✅",xmark:"❌",checked:"✔️","thumbs up":"👍","thumbs down":"👎",minusplus:"∓",plusminus:"±"};let bt={p1:0,p2:1,p3:2,resize:1,lang:1,"rtl-lang":1,"line-height":1,l:2,h:1,sort:1};["defn","lino","finedetail","nobold","noitalic","nocaps","vanchor","rnd","date","taste","monthname","baseball secondary style","nowrap","nobr","big","cquote","pull quote","smaller","midsize","larger","big","kbd","bigger","large","mono","strongbad","stronggood","huge","xt","xt2","!xt","xtn","xtd","dc","dcr","mxt","!mxt","mxtn","mxtd","bxt","!bxt","bxtn","bxtd","delink","pre","var","mvar","pre2","code","char","angle bracket","angbr","symb","dabsearch","key press","nowiki","nowiki2","unstrip","unstripnowiki","plain text","make code","killmarkers","longitem","longlink","strikethrough","underline","uuline","not a typo","text","var serif","double underline","nee","ne","left","right","center","centered","justify","smalldiv","bold div","monodiv","italic div","bigdiv","strikethroughdiv","strikethrough color","pbpe"].forEach((e=>{bt[e]=0}));let kt={};["mv","m/v","gts","hsc","ms","m/s","my","m/y","ps","rms","rv","r/v","sb","ss","s/s","sv","s/v","sy","s/y","tss","ans","hmas","hmbs","bns","hmcs","ccgs","arc","hdms","bae","ens","eml","rfns","fns","hs","sms","smu","gs","icgv","ins","kri","lé","jsub","jds","js","hnlms","hmnzs","nns","hnoms","hmpngs","bap","rps","brp","orp","nrp","nms","rss","sas","hmsas","roks","hswms","htms","tcg","hms","hmt","rfaux","usat","uscgc","usns","usrc","uss","usav"].forEach((e=>{kt[e]=t=>{let{name:i,id:a}=Pe(t,["name","id"]);return a?`[[${e.toUpperCase()} ${i} (${a})]]`:`[[${e.toUpperCase()} ${i}]]`}}));const ft=function(e){if(!e.numerator&&!e.denominator)return null;let t=Number(e.numerator)/Number(e.denominator);return t*=100,Number(e.decimals),parseInt(t,10)},wt=function(e=""){if("number"==typeof e)return e;e=(e=e.replace(/,/g,"")).replace(/−/g,"-");let t=Number(e);return isNaN(t)?e:t},yt=function(e){let t=e.match(/ipac?-(.+)/);return null!==t?!0===O.hasOwnProperty(t[1])?O[t[1]].english_title:t[1]:null},$t=e=>e.charAt(0).toUpperCase()+e.substring(1),xt=function(e){let t=e%10,i=e%100;return 1===t&&11!==i?e+"st":2===t&&12!==i?e+"nd":3===t&&13!==i?e+"rd":e+"th"},vt={wikt:"wiktionary",commons:"commons",c:"commons",commonscat:"commonscat",n:"wikinews",q:"wikiquote",s:"wikisource",a:"wikiauthor",b:"wikibooks",voy:"wikivoyage",v:"wikiversity",d:"wikidata",species:"wikispecies",m:"meta",mw:"mediawiki"};var jt={ra:e=>{let t=Pe(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},deg2hms:e=>(Pe(e,["degrees"]).degrees||"")+"°",hms2deg:e=>{let t=Pe(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},decdeg:e=>{let t=Pe(e,["deg","min","sec","hem","rnd"]);return(t.deg||t.degrees)+"°"},sortname:e=>{let t=Pe(e,["first","last","target","sort"]),i=`${t.first||""} ${t.last||""}`;return i=i.trim(),t.nolink?t.target||i:(t.dab&&(i+=` (${t.dab})`,t.target&&(t.target+=` (${t.dab})`)),t.target?`[[${t.target}|${i}]]`:`[[${i}]]`)},"first word":e=>{let t=Pe(e,["text"]),i=t.text||"";return t.sep?i.split(t.sep)[0]:i.split(" ")[0]},trunc:e=>{let t=Pe(e,["str","len"]);return(t.str||"").substr(0,t.len)},"str mid":e=>{let t=Pe(e,["str","start","end"])||{},i=parseInt(t.start,10)-1,a=parseInt(t.end,10);return(t.str||"").substr(i,a)},reign:e=>{let t=Pe(e,["start","end"]);return`(r. ${t.start} – ${t.end})`},circa:e=>{let{year:t}=Pe(e,["year"]);return t?`c. ${t}`:"c. "},"decade link":e=>{let{year:t}=Pe(e,["year"]);return`${t}|${t}s`},decade:e=>{let t=Pe(e,["year"]),i=Number(t.year);return i=10*Math.floor(i/10),`${i}s`},century:e=>{let t=Pe(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/100)+1,`${i}`},radic:e=>{let t=Pe(e,["after","before"]);return`${t.before||""}√${t.after||""}`},"medical cases chart/row":e=>e,oldstyledate:e=>{let t=Pe(e,["date","year"]);return t.year?t.date+" "+t.year:t.date},braces:e=>{let t=Pe(e,["text"]),i="";return t.list&&(i="|"+t.list.join("|")),"{{"+(t.text||"")+i+"}}"},hlist:e=>{let t=Pe(e);return t.list=t.list||[],t.list.join(" · ")},pagelist:e=>(Pe(e).list||[]).join(", "),catlist:e=>(Pe(e).list||[]).join(", "),"br separated entries":e=>(Pe(e).list||[]).join("\n\n"),"comma separated entries":e=>(Pe(e).list||[]).join(", "),"anchored list":e=>{let t=Pe(e).list||[];return t=t.map(((e,t)=>`${t+1}. ${e}`)),t.join("\n\n")},"bulleted list":e=>{let t=Pe(e).list||[];return t=t.filter((e=>e)),t=t.map((e=>"• "+e)),t.join("\n\n")},plainlist:e=>{let t=(e=Ee(e)).split("|").slice(1);return t=t.join("|").split(/\n ?\* ?/),t=t.filter((e=>e)),t.join("\n\n")},term:e=>`${Pe(e,["term"]).term}:`,linum:e=>{let{num:t,text:i}=Pe(e,["num","text"]);return`${t}. ${i}`},"block indent":e=>{let t=Pe(e);return t[1]?"\n"+t[1]+"\n":""},lbs:e=>{let t=Pe(e,["text"]);return`[[${t.text} Lifeboat Station|${t.text}]]`},lbc:e=>{let t=Pe(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}-class]]`},lbb:e=>{let t=Pe(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}]]`},"#dateformat":e=>(e=e.replace(/:/,"|"),Pe(e,["date","format"]).date),lc:e=>(e=e.replace(/:/,"|"),(Pe(e,["text"]).text||"").toLowerCase()),uc:e=>(e=e.replace(/:/,"|"),(Pe(e,["text"]).text||"").toUpperCase()),lcfirst:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text"]).text;return t?t[0].toLowerCase()+t.substr(1):""},ucfirst:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text"]).text;return t?t[0].toUpperCase()+t.substr(1):""},padleft:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text","num"]);return(t.text||"").padStart(t.num,t.str||"0")},padright:e=>{e=e.replace(/:/,"|");let t=Pe(e,["text","num"]);return(t.text||"").padEnd(t.num,t.str||"0")},abbrlink:e=>{let t=Pe(e,["abbr","page"]);return t.page?`[[${t.page}|${t.abbr}]]`:`[[${t.abbr}]]`},own:e=>{let t=Pe(e,["author"]),i="Own work";return t.author&&(i+=" by "+t.author),i},formatnum:e=>{e=e.replace(/:/,"|");let t=Pe(e,["number"]).number||"";return t=t.replace(/,/g,""),Number(t).toLocaleString()||""},frac:e=>{let t=Pe(e,["a","b","c"]);return t.c?`${t.a} ${t.b}/${t.c}`:t.b?`${t.a}/${t.b}`:`1/${t.b}`},convert:e=>{let t=Pe(e,["num","two","three","four"]);return"-"===t.two||"to"===t.two||"and"===t.two?t.four?`${t.num} ${t.two} ${t.three} ${t.four}`:`${t.num} ${t.two} ${t.three}`:`${t.num} ${t.two}`},tl:e=>{let t=Pe(e,["first","second"]);return t.second||t.first},won:e=>{let t=Pe(e,["text"]);return t.place||t.text||$t(t.template)},tag:e=>{let t=Pe(e,["tag","open"]);const i={span:!0,div:!0,p:!0};return t.open&&"pair"!==t.open?"":i[t.tag]?t.content||"":`<${t.tag} ${t.attribs||""}>${t.content||""}`},plural:e=>{e=e.replace(/plural:/,"plural|");let t=Pe(e,["num","word"]),i=Number(t.num),a=t.word;return 1!==i&&(/.y$/.test(a)?a=a.replace(/y$/,"ies"):a+="s"),i+" "+a},dec:e=>{let t=Pe(e,["degrees","minutes","seconds"]),i=(t.degrees||0)+"°";return t.minutes&&(i+=t.minutes+"′"),t.seconds&&(i+=t.seconds+"″"),i},val:e=>{let t=Pe(e,["number","uncertainty"]),i=t.number;i&&Number(i)&&(i=Number(i).toLocaleString());let a=i||"";return t.p&&(a=t.p+a),t.s&&(a=t.s+a),(t.u||t.ul||t.upl)&&(a=a+" "+(t.u||t.ul||t.upl)),a},percentage:e=>{let t=Pe(e,["numerator","denominator","decimals"]),i=ft(t);return null===i?"":i+"%"},small:e=>{let t=Pe(e);return t.list&&t.list[0]?t.list[0]:""},"percent-done":e=>{let t=Pe(e,["done","total","digits"]),i=ft({numerator:t.done,denominator:t.total,decimals:t.digits});return null===i?"":`${t.done} (${i}%) done`},loop:e=>{let t=Pe(e,["times","text"]),i=Number(t.times)||0,a="";for(let e=0;e{let t=Pe(e,["text"]);return String((t.text||"").trim().length)},digits:e=>(Pe(e,["text"]).text||"").replace(/[^0-9]/g,""),resize:e=>{let{n:t,text:i}=Pe(e,["n","text"]);return i?i||"":t||""},"last word":e=>{let t=(Pe(e,["text"]).text||"").split(/ /g);return t[t.length-1]||""},replace:e=>{let t=Pe(e,["text","from","to"]);return t.from&&t.to?(t.text||"").replace(t.from,t.to):t.text||""},"title case":e=>(Pe(e,["text"]).text||"").split(/ /).map(((e,t)=>t>0&&"the"===e||"of"===e?e:$t(e))).join(" "),"no spam":e=>{let t=Pe(e,["account","domain"]);return`${t.account||""}@${t.domain}`},"baseball year":e=>{let t=Pe(e,["year"]).year||"";return`[[${t} in baseball|${t}]]`},"mlb year":e=>{let t=Pe(e,["year"]).year||"";return`[[${t} Major League Baseball season|${t}]]`},"nlds year":e=>{let{year:t}=Pe(e,["year"]);return`[[${t||""} National League Division Series|${t}]]`},"alds year":e=>{let{year:t}=Pe(e,["year"]);return`[[${t||""} American League Division Series|${t}]]`},"nfl year":e=>{let{year:t,other:i}=Pe(e,["year","other"]);return i&&t?`[[${t} NFL season|${t}]]–[[${i} NFL season|${i}]]`:`[[${t||""} NFL season|${t}]]`},"nfl playoff year":e=>{let{year:t}=Pe(e,["year"]);return t=Number(t),`[[${t}–${t+1} NFL playoffs|${t}]]`},"nba year":e=>{let{year:t}=Pe(e,["year"]);t=Number(t);let i=t+1;return`[[${t}–${i} NBA season|${t}–${i}]]`},"mhl year":e=>{let t=Pe(e,["year"]),i=Number(t.year),a=i+1;return`[[${i}–${a} NHL season|${i}–${a}]]`},min:e=>{let t=Pe(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t{let t=Pe(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t>i&&(i=t)})),String(i)},uspolabbr:e=>{let{party:t,state:i,house:a}=Pe(e,["party","state","house","link"]);if(!t||!i)return"";let n=`${t}‑${i}`;return a&&(n+=` ${xt(a)}`),n},ushr:e=>{let{state:t,num:i,type:a}=Pe(e,["state","num","type"]),n="";if("AL"!==i)return i=xt(Number(i)),`${t}'s ${i} congressional district`;if(n=`${t}'s at-large congressional district`,a){if(a=a.toLowerCase(),i="AL"===i?"At-large":i,"e"===a)return`[[${n}|${i}]]`;if("u"===a)return`[[${n}|${t}]]`;if("b"===a||"x"===a)return`[[${n}|${t} ${i}]]`}return`[[${n}]]`},metro:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},station:e=>{let{name:t,dab:i}=Pe(e,["name","x","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},bssrws:e=>{let{one:t,two:i}=Pe(e,["one","two"]),a=t;return i&&(a+=" "+i),`[[${a} railway station|${a}]]`},stnlnk:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} railway station (${i})|${t}]]`:`[[${t} railway station|${t}]]`},"station link":e=>{let{station:t,system:i}=Pe(e,["system","station"]);return t||i},"line link":e=>{let{station:t,system:i}=Pe(e,["system","station"]);return t||i},subway:e=>{let{name:t}=Pe(e,["name"]);return`[[${t} subway station|${t}]]`},"lrt station":e=>{let{name:t}=Pe(e,["name"]);return`[[${t} LRT station|${t}]]`},"mrt station":e=>{let{name:t}=Pe(e,["name"]);return`[[${t} MRT station|${t}]]`},rht:e=>{let{name:t}=Pe(e,["name"]);return`[[${t} railway halt|${t}]]`},ferry:e=>{let{name:t}=Pe(e,["name"]);return`[[${t} ferry wharf|${t}]]`},tram:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} tram stop (${i})|${t}]]`:`[[${t} tram stop|${t}]]`},tstop:e=>{let{name:t,dab:i}=Pe(e,["name","dab"]);return i?`[[${t} ${i} stop|${t}]]`:`[[${t} stop|${t}]]`},ship:e=>{let{prefix:t,name:i,id:a}=Pe(e,["prefix","name","id"]);return t=t||"",`[[${t.toUpperCase()} ${i}]]`},sclass:e=>{let{cl:t,type:i}=Pe(e,["cl","type","fmt"]);return`[[${t}-class ${i} |''${t}''-class]] [[${i}]]`},"center block":e=>{let{text:t}=Pe(e,["text"]);return t||""},align:e=>{let{text:t}=Pe(e,["dir","text"]);return t||""},font:e=>{let{text:t}=Pe(e,["text"]);return t||""},float:e=>{let{text:t,dir:i}=Pe(e,["dir","text"]);return t?t||"":i},lower:e=>{let{text:t,n:i}=Pe(e,["n","text"]);return t?t||"":i},splitspan:e=>{let t=Pe(e).list||[];return(t[0]||"")+"\n"+(t[1]||"")},bracket:e=>{let{text:t}=Pe(e,["text"]);return t?`[${t}]`:"["},"in title":e=>{let{title:t,text:i}=Pe(e,["title","text"]);return i||(t?`All pages with titles containing ${t}`:"")},"look from":e=>{let{title:t,text:i}=Pe(e,["title","text"]);return i||(t?`All pages with titles beginning with ${t}`:"")}};let _t={};["sr-latn-cyrl","sr-cyrl-latn","sr-latn","sr-cyrl","sr-cyr","sh-latn-cyrl","sh-cyrl-latn","sh-latn","sh-cyrl","cel-1bd","cel-x-proto","en-emodeng","de-at","de-ch","gem-x-proto","gsw-fr","nds-nl","nl-be","ku-arab","ku-cyrl","pt-br","fra-frc","fra-que","roa-leo","roa-nor","ca-valencia","ast-leo","grc-gre","grc-x-doric","grc-x-proto","grc-x-medieval","cpg","gmy","grc","grk-x-proto","pnt","mga","owl","pgl","sga","wlm","xbm","xcb","xcg","xpi","aae","aln","sq-definite","bs-cyrl","hsb","ltg","orv","prg","rsk","rue","rus","sgs","sla","szl","wen","aoa","chn","cri","dlm","egl","fax","frc","frm","fro","fr-gallo","oc-gascon","gcf","gcr","ist","la-x-medieval","lij-mc","lld","lou","mfe","mol","mwl","mxi","nrf","osc","osp","pcd","pln","rcf","rgn","roa","ruo","rup","ruq","sdc","sdn","src","sro","xvo","bzj","cim","dum","enm","frk","frr","frs","gmh","gml","gmw","goh","gos","gsw","gyn","icr","jam","kri","lng","nb","non","nrn","odt","ofs","osx","pey","sli","srm","srn","stq","swg","vmf","wae","wep","wes","zea","hmd","hoc","kha","mnw","mtq","vi-chunom","vi-hantu","mvi","rys","ryu","yoi","ace","akl","ami","bew","bik","bjn","bya","cal","cbk","cjm","coa","cyo","dev","fil","gad","hil","iba","ibg","ibl","ilp","itv","ivv","jax","kne","krj","kxd","ljp","mad","mak","mdh","mrv","mrw","ms-arab","nia","niu","pau","pwn","rap","rar","sgd","su-fonts","szy","tao","tkl","tsg","tvl","uli","wls","xsb","yap","yka","ckt","itl","brh","oty","tcy","abq","ady","ddo","inh","kbd","lbe","lez","rut","tab","uby","udi","bai","bin","bsq","dag","dyu","efi","fan","fmp","fuc","fuf","gaa","ibb","kbp","kcg","kpo","ktu","lu","lua","lun","mkw","mos","oaa","sjo","ude","anm","bft","blk","brx","dng","kjp","kjz","ksw","lbj","lus","aae","aaq","abe","abq","aca","ace","acf","acm","acw","ady","ae","aeb","aec","aer","afb","aht","aii","aij","ain","aiq","akk","akl","akz","ale","aln","alq","alt","ami","anm","aoa","apj","apm","apw","ayn","arb","arh","ari","arn","arp","arq","ary","arz","asb","ath","ats","awa","axm","azb","azd","azj","bai","bal","ban","bax","bdz","bea","ber","bew","bft","bgn","bho","bik","bin","bjn","bla","blc","blk","bqi","brh","brx","bsk","bsq","bua","bvb","bya","bzj","cal","cay","cbk","ccp","chg","chm","chn","chp","cic","cim","ciw","cjm","cjs","ckb","ckt","cku","cld","clm","cmg","cmn","cms","cnu","coa","coc","coj","com","coo","cop","cpg","crg","crh","cri","crj","crk","crl","crm","cro","csw","csz","ctg","ctm","cyo","dag","dak","ddo","deh","del","den","dev","din","dlm","dng","dum","dyu","efi","egl","egy","elx","eml","ems","cmn","och","yue","mjw","mni","my-name-mlcts","nan","nwc","omp","otb","pwo","sip","xct","xsr","1ca","alt","az-arab","azb","azj","chg","cjs","crh","crh3","kaa","kjh","krc","kum","nog","ota","otk","sah","slr","sty","tt-arab","tt-cyrl","tt-latn","tyv","uniturk","chm","est-sea","fit","fkv","izh","jmy","koi","krl","liv","mdf","mhr","mrj","myv","olo","sia","sjd","sje","sjk","sjt","sju","sma","smi","smj","smn","sms","vep","vot","vro","yrk","din","luo","srr","sus","swh","umb","yao"].forEach((e=>{_t["lang-"+e]=0})),Object.keys(O).forEach((e=>{_t["lang-"+e]=0}));var zt=[["🇦🇩","and","andorra"],["🇦🇪","are","united arab emirates"],["🇦🇫","afg","afghanistan"],["🇦🇬","atg","antigua and barbuda"],["🇦🇮","aia","anguilla"],["🇦🇱","alb","albania"],["🇦🇲","arm","armenia"],["🇦🇴","ago","angola"],["🇦🇶","ata","antarctica"],["🇦🇷","arg","argentina"],["🇦🇸","asm","american samoa"],["🇦🇹","aut","austria"],["🇦🇺","aus","australia"],["🇦🇼","abw","aruba"],["🇦🇽","ala","åland islands"],["🇦🇿","aze","azerbaijan"],["🇧🇦","bih","bosnia and herzegovina"],["🇧🇧","brb","barbados"],["🇧🇩","bgd","bangladesh"],["🇧🇪","bel","belgium"],["🇧🇫","bfa","burkina faso"],["🇧🇬","bgr","bulgaria"],["🇧🇬","bul","bulgaria"],["🇧🇭","bhr","bahrain"],["🇧🇮","bdi","burundi"],["🇧🇯","ben","benin"],["🇧🇱","blm","saint barthélemy"],["🇧🇲","bmu","bermuda"],["🇧🇳","brn","brunei darussalam"],["🇧🇴","bol","bolivia"],["🇧🇶","bes","bonaire, sint eustatius and saba"],["🇧🇷","bra","brazil"],["🇧🇸","bhs","bahamas"],["🇧🇹","btn","bhutan"],["🇧🇻","bvt","bouvet island"],["🇧🇼","bwa","botswana"],["🇧🇾","blr","belarus"],["🇧🇿","blz","belize"],["🇨🇦","can","canada"],["🇨🇨","cck","cocos (keeling) islands"],["🇨🇩","cod","congo"],["🇨🇫","caf","central african republic"],["🇨🇬","cog","congo"],["🇨🇭","che","switzerland"],["🇨🇮","civ","côte d'ivoire"],["🇨🇰","cok","cook islands"],["🇨🇱","chl","chile"],["🇨🇲","cmr","cameroon"],["🇨🇳","chn","china"],["🇨🇴","col","colombia"],["🇨🇷","cri","costa rica"],["🇨🇺","cub","cuba"],["🇨🇻","cpv","cape verde"],["🇨🇼","cuw","curaçao"],["🇨🇽","cxr","christmas island"],["🇨🇾","cyp","cyprus"],["🇨🇿","cze","czech republic"],["🇩🇪","deu","germany"],["🇩🇪","ger","germany"],["🇩🇯","dji","djibouti"],["🇩🇰","dnk","denmark"],["🇩🇲","dma","dominica"],["🇩🇴","dom","dominican republic"],["🇩🇿","dza","algeria"],["🇪🇨","ecu","ecuador"],["🇪🇪","est","estonia"],["🇪🇬","egy","egypt"],["🇪🇭","esh","western sahara"],["🇪🇷","eri","eritrea"],["🇪🇸","esp","spain"],["🇪🇹","eth","ethiopia"],["🇫🇮","fin","finland"],["🇫🇯","fji","fiji"],["🇫🇰","flk","falkland islands (malvinas)"],["🇫🇲","fsm","micronesia"],["🇫🇴","fro","faroe islands"],["🇫🇷","fra","france"],["🇬🇦","gab","gabon"],["🇬🇧","gbr","united kingdom"],["🇬🇩","grd","grenada"],["🇬🇫","guf","french guiana"],["🇬🇬","ggy","guernsey"],["🇬🇭","gha","ghana"],["🇬🇮","gib","gibraltar"],["🇬🇱","grl","greenland"],["🇬🇲","gmb","gambia"],["🇬🇳","gin","guinea"],["🇬🇵","glp","guadeloupe"],["🇬🇶","gnq","equatorial guinea"],["🇬🇷","grc","greece"],["🇬🇸","sgs","south georgia"],["🇬🇹","gtm","guatemala"],["🇬🇺","gum","guam"],["🇬🇼","gnb","guinea-bissau"],["🇬🇾","guy","guyana"],["🇭🇰","hkg","hong kong"],["🇭🇲","hmd","heard island and mcdonald islands"],["🇭🇳","hnd","honduras"],["🇭🇷","hrv","croatia"],["🇭🇹","hti","haiti"],["🇭🇺","hun","hungary"],["🇮🇩","idn","indonesia"],["🇮🇪","irl","ireland"],["🇮🇱","isr","israel"],["🇮🇲","imn","isle of man"],["🇮🇳","ind","india"],["🇮🇴","iot","british indian ocean territory"],["🇮🇶","irq","iraq"],["🇮🇷","irn","iran"],["🇮🇸","isl","iceland"],["🇮🇹","ita","italy"],["🇯🇪","jey","jersey"],["🇯🇲","jam","jamaica"],["🇯🇴","jor","jordan"],["🇯🇵","jpn","japan"],["🇰🇪","ken","kenya"],["🇰🇬","kgz","kyrgyzstan"],["🇰🇭","khm","cambodia"],["🇰🇮","kir","kiribati"],["🇰🇲","com","comoros"],["🇰🇳","kna","saint kitts and nevis"],["🇰🇵","prk","north korea"],["🇰🇷","kor","south korea"],["🇰🇼","kwt","kuwait"],["🇰🇾","cym","cayman islands"],["🇰🇿","kaz","kazakhstan"],["🇱🇦","lao","lao people's democratic republic"],["🇱🇧","lbn","lebanon"],["🇱🇨","lca","saint lucia"],["🇱🇮","lie","liechtenstein"],["🇱🇰","lka","sri lanka"],["🇱🇷","lbr","liberia"],["🇱🇸","lso","lesotho"],["🇱🇹","ltu","lithuania"],["🇱🇺","lux","luxembourg"],["🇱🇻","lva","latvia"],["🇱🇾","lby","libya"],["🇲🇦","mar","morocco"],["🇲🇨","mco","monaco"],["🇲🇩","mda","moldova"],["🇲🇪","mne","montenegro"],["🇲🇫","maf","saint martin (french part)"],["🇲🇬","mdg","madagascar"],["🇲🇭","mhl","marshall islands"],["🇲🇰","mkd","macedonia"],["🇲🇱","mli","mali"],["🇲🇲","mmr","myanmar"],["🇲🇳","mng","mongolia"],["🇲🇴","mac","macao"],["🇲🇵","mnp","northern mariana islands"],["🇲🇶","mtq","martinique"],["🇲🇷","mrt","mauritania"],["🇲🇸","msr","montserrat"],["🇲🇹","mlt","malta"],["🇲🇺","mus","mauritius"],["🇲🇻","mdv","maldives"],["🇲🇼","mwi","malawi"],["🇲🇽","mex","mexico"],["🇲🇾","mys","malaysia"],["🇲🇿","moz","mozambique"],["🇳🇦","nam","namibia"],["🇳🇨","ncl","new caledonia"],["🇳🇪","ner","niger"],["🇳🇫","nfk","norfolk island"],["🇳🇬","nga","nigeria"],["🇳🇮","nic","nicaragua"],["🇳🇱","nld","netherlands"],["🇳🇴","nor","norway"],["🇳🇵","npl","nepal"],["🇳🇷","nru","nauru"],["🇳🇺","niu","niue"],["🇳🇿","nzl","new zealand"],["🇴🇲","omn","oman"],["🇵🇦","pan","panama"],["🇵🇪","per","peru"],["🇵🇫","pyf","french polynesia"],["🇵🇬","png","papua new guinea"],["🇵🇭","phl","philippines"],["🇵🇰","pak","pakistan"],["🇵🇱","pol","poland"],["🇵🇲","spm","saint pierre and miquelon"],["🇵🇳","pcn","pitcairn"],["🇵🇷","pri","puerto rico"],["🇵🇸","pse","palestinian territory"],["🇵🇹","prt","portugal"],["🇵🇼","plw","palau"],["🇵🇾","pry","paraguay"],["🇶🇦","qat","qatar"],["🇷🇪","reu","réunion"],["🇷🇴","rou","romania"],["🇷🇸","srb","serbia"],["🇷🇺","rus","russia"],["🇷🇼","rwa","rwanda"],["🇸🇦","sau","saudi arabia"],["🇸🇧","slb","solomon islands"],["🇸🇨","syc","seychelles"],["🇸🇩","sdn","sudan"],["🇸🇪","swe","sweden"],["🇸🇬","sgp","singapore"],["🇸🇭","shn","saint helena, ascension and tristan da cunha"],["🇸🇮","svn","slovenia"],["🇸🇯","sjm","svalbard and jan mayen"],["🇸🇰","svk","slovakia"],["🇸🇱","sle","sierra leone"],["🇸🇲","smr","san marino"],["🇸🇳","sen","senegal"],["🇸🇴","som","somalia"],["🇸🇷","sur","suriname"],["🇸🇸","ssd","south sudan"],["🇸🇹","stp","sao tome and principe"],["🇸🇻","slv","el salvador"],["🇸🇽","sxm","sint maarten (dutch part)"],["🇸🇾","syr","syrian arab republic"],["🇸🇿","swz","swaziland"],["🇹🇨","tca","turks and caicos islands"],["🇹🇩","tcd","chad"],["🇹🇫","atf","french southern territories"],["🇹🇬","tgo","togo"],["🇹🇭","tha","thailand"],["🇹🇯","tjk","tajikistan"],["🇹🇰","tkl","tokelau"],["🇹🇱","tls","timor-leste"],["🇹🇲","tkm","turkmenistan"],["🇹🇳","tun","tunisia"],["🇹🇴","ton","tonga"],["🇹🇷","tur","turkey"],["🇹🇹","tto","trinidad and tobago"],["🇹🇻","tuv","tuvalu"],["🇹🇼","twn","taiwan"],["🇹🇿","tza","tanzania"],["🇺🇦","ukr","ukraine"],["🇺🇬","uga","uganda"],["🇺🇲","umi","united states minor outlying islands"],["🇺🇸","us","united states"],["🇺🇸","usa","united states"],["🇺🇾","ury","uruguay"],["🇺🇿","uzb","uzbekistan"],["🇻🇦","vat","vatican city"],["🇻🇨","vct","saint vincent and the grenadines"],["🇻🇪","ven","venezuela"],["🇻🇬","vgb","virgin islands, british"],["🇻🇮","vir","virgin islands, u.s."],["🇻🇳","vnm","viet nam"],["🇻🇺","vut","vanuatu"],["🇼🇫","wlf","wallis and futuna"],["🇼🇸","wsm","samoa"],["🇾🇪","yem","yemen"],["🇾🇹","myt","mayotte"],["🇿🇦","zaf","south africa"],["🇿🇲","zmb","zambia"],["🇿🇼 ","zwe","zimbabwe"],["🇺🇳","un","united nations"],["🏴󠁧󠁢󠁥󠁮󠁧󠁿󠁧󠁢󠁥󠁮󠁧󠁿","eng","england"],["🏴󠁧󠁢󠁳󠁣󠁴󠁿","sct","scotland"],["🏴󠁧󠁢󠁷󠁬󠁳󠁿","wal","wales"],["🇪🇺","eu","european union"]];const Ot=["flag","variant"];let Et={flag:e=>{let t=Pe(e,Ot),i=t.flag||"";t.flag=(t.flag||"").toLowerCase();let a=zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${a[0]||""} [[${a[2]}|${i}]]`},flagcountry:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} [[${i[2]}]]`},flagcu:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} ${i[2]}`},flagicon:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`[[${i[2]}|${i[0]}]]`:""},flagdeco:e=>{let t=Pe(e,Ot);return t.flag=(t.flag||"").toLowerCase(),(zt.find((e=>t.flag===e[1]||t.flag===e[2]))||[])[0]||""},fb:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${i[2]} national football team|${i[2]}]]`:""},fbicon:e=>{let t=Pe(e,Ot);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?` [[${i[2]} national football team|${i[0]}]]`:""},flagathlete:e=>{let t=Pe(e,["name","flag","variant"]);t.flag=(t.flag||"").toLowerCase();let i=zt.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${t.name||""}]] (${i[1].toUpperCase()})`:`[[${t.name||""}]]`}};zt.forEach((e=>{Et[e[1]]=()=>e[0]}));let qt={};["rh","rh2","yes","no","maybe","eliminated","lost","safe","active","site active","coming soon","good","won","nom","sho","longlisted","tba","success","operational","failure","partial","regional","maybecheck","partial success","partial failure","okay","yes-no","some","nonpartisan","pending","unofficial","unofficial2","usually","rarely","sometimes","any","varies","black","non-album single","unreleased","unknown","perhaps","depends","included","dropped","terminated","beta","table-experimental","free","proprietary","nonfree","needs","nightly","release-candidate","planned","scheduled","incorrect","no result","cmain","calso starring","crecurring","cguest","not yet","optional"].forEach((e=>{qt[e]=e=>{let t=Pe(e,["text"]);return t.text||$t(t.template)}}));[["active fire","Active"],["site active","Active"],["site inactive","Inactive"],["yes2",""],["no2",""],["ya","✅"],["na","❌"],["nom","Nominated"],["sho","Shortlisted"],["tba","TBA"],["maybecheck","✔️"],["okay","Neutral"],["n/a","N/A"],["sdash","—"],["dunno","?"],["draw",""],["cnone",""],["nocontest",""]].forEach((e=>{qt[e[0]]=t=>Pe(t,["text"]).text||e[1]}));var Nt=Object.assign({},gt,bt,kt,jt,_t,Et,qt);let St={};["goodreads author","twitter","facebook","instagram","tumblr","pinterest","espn nfl","espn nhl","espn fc","hockeydb","fifa player","worldcat","worldcat id","nfl player","ted speaker","playmate"].forEach((e=>{St[e]=["id","name"]}));let Ct={};["imdb title","imdb name","imdb episode","imdb event","afi film","allmovie title","allgame","tcmdb title","discogs artist","discogs label","discogs release","discogs master","librivox author","musicbrainz artist","musicbrainz label","musicbrainz recording","musicbrainz release","musicbrainz work","youtube","goodreads book","dmoz"].forEach((e=>{Ct[e]=["id","title","description","section"]}));var Lt={ipa:(e,t)=>{let i=Pe(e,["transcription","lang","audio"]);return i.lang=yt(i.template),i.template="ipa",t.push(i),""},ipac:(e,t)=>{let i=Pe(e);return i.transcription=(i.list||[]).join(","),delete i.list,i.lang=yt(i.template),i.template="ipac",t.push(i),""},quote:(e,t)=>{let i=Pe(e,["text","author"]);if(t.push(i),i.text){let e=`"${i.text}"`;return i.author&&(e+="\n\n",e+=` - ${i.author}`),e+"\n"}return""},"cite gnis":(e,t)=>{let i=Pe(e,["id","name","type"]);return i.type="gnis",i.template="citation",t.push(i),""},"spoken wikipedia":(e,t)=>{let i=Pe(e,["file","date"]);return i.template="audio",t.push(i),""},yel:(e,t)=>{let i=Pe(e,["min"]);return t.push(i),i.min?`yellow: ${i.min||""}'`:""},subon:(e,t)=>{let i=Pe(e,["min"]);return t.push(i),i.min?`sub on: ${i.min||""}'`:""},suboff:(e,t)=>{let i=Pe(e,["min"]);return t.push(i),i.min?`sub off: ${i.min||""}'`:""},sfn:(e,t,i,a)=>{let n=Pe(e,["author","year","location"]);return a&&(n.name=n.template,n.teplate=a),t.push(n),""},redirect:(e,t)=>{let i=Pe(e,["redirect"]),a=i.list||[],n=[];for(let e=0;e{let i=Pe(e),a={};Object.keys(vt).forEach((e=>{!0===i.hasOwnProperty(e)&&(a[vt[e]]=i[e])}));let n={template:"sister project links",links:a};return t.push(n),""},"subject bar":(e,t)=>{let i=Pe(e);Object.keys(i).forEach((e=>{vt.hasOwnProperty(e)&&(i[vt[e]]=i[e],delete i[e])}));let a={template:"subject bar",links:i};return t.push(a),""},gallery:(e,t)=>{let i=Pe(e),a=(i.list||[]).filter((e=>/^ *File ?:/.test(e)));return a=a.map((e=>new _({file:e}).json())),i={template:"gallery",images:a},t.push(i),""},sky:(e,t)=>{let i=Pe(e,["asc_hours","asc_minutes","asc_seconds","dec_sign","dec_degrees","dec_minutes","dec_seconds","distance"]),a={template:"sky",ascension:{hours:i.asc_hours,minutes:i.asc_minutes,seconds:i.asc_seconds},declination:{sign:i.dec_sign,degrees:i.dec_degrees,minutes:i.dec_minutes,seconds:i.dec_seconds},distance:i.distance};return t.push(a),""},"medical cases chart":(e,t)=>{let i=["date","deathsExpr","recoveriesExpr","casesExpr","4thExpr","5thExpr","col1","col1Change","col2","col2Change"],a=Pe(e);a.data=a.data||"";let n=a.data.split("\n").map((e=>{let t=e.split(";"),a={options:new Map},n=0;for(let e=0;e{let i=Pe(e);i.x&&(i.x=i.x.split(",").map((e=>e.trim()))),i.y&&(i.y=i.y.split(",").map((e=>e.trim())));let a=1;for(;i["y"+a];)i["y"+a]=i["y"+a].split(",").map((e=>e.trim())),a+=1;return t.push(i),""},"historical populations":(e,t)=>{let i=Pe(e);i.list=i.list||[];let a=[];for(let e=0;e{const i=/^jan /i,a=/^year /i;let n=Pe(e);const r=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];let o={},s=Object.keys(n).filter((e=>i.test(e)));s=s.map((e=>e.replace(i,""))),s.forEach((e=>{o[e]=[],r.forEach((t=>{let i=`${t} ${e}`;if(n.hasOwnProperty(i)){let t=wt(n[i]);delete n[i],o[e].push(t)}}))})),n.byMonth=o;let l={};return Object.keys(n).forEach((e=>{if(a.test(e)){let t=e.replace(a,"");l[t]=n[e],delete n[e]}})),n.byYear=l,t.push(n),""},"weather box/concise c":(e,t)=>{let i=Pe(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high c":i.list.slice(0,12),"low c":i.list.slice(12,24),"rain mm":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"weather box/concise f":(e,t)=>{let i=Pe(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high f":i.list.slice(0,12),"low f":i.list.slice(12,24),"rain inch":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"climate chart":(e,t)=>{let i=Pe(e).list||[],a=i[0],n=i[38];i=i.slice(1),i=i.map((e=>(e&&"−"===e[0]&&(e=e.replace(/−/,"-")),e)));let r=[];for(let e=0;e<36;e+=3)r.push({low:wt(i[e]),high:wt(i[e+1]),precip:wt(i[e+2])});let o={template:"climate chart",data:{title:a,source:n,months:r}};return t.push(o),""},medalcount:(e,t)=>{let i=Pe(e).list||[],a=[];for(let e=0;e{let i=Pe(e,["formula"]);return t.push(i),"\n\n"+(i.formula||"")+"\n\n"},legend:(e,t)=>{let i=Pe(e,["color","label"]);return t.push(i),e},isbn:(e,t)=>{let i=Pe(e,["id","id2","id3"]);return t.push(i),"ISBN "+(i.id||"")},"based on":(e,t)=>{let i=Pe(e,["title","author"]);return t.push(i),`${i.title} by ${i.author||""}`},"bbl to t":(e,t)=>{let i=Pe(e,["barrels"]);return t.push(i),"0"===i.barrels?i.barrels+" barrel":i.barrels+" barrels"},mpc:(e,t)=>{let i=Pe(e,["number","text"]);return t.push(i),`[https://minorplanetcenter.net/db_search/show_object?object_id=P/2011+NO1 ${i.text||i.number}]`},pengoal:(e,t)=>(t.push({template:"pengoal"}),"✅"),penmiss:(e,t)=>(t.push({template:"penmiss"}),"❌"),"ordered list":(e,t)=>{let i=Pe(e);return t.push(i),i.list=i.list||[],i.list.map(((e,t)=>`${t+1}. ${e}`)).join("\n\n")},"title year":(e,t,i,a,n)=>{let r=Pe(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b[0-9]{4}\b/);if(e)return e[0]}return r.nomatch||""},"title century":(e,t,i,a,n)=>{let r=Pe(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)(st|nd|rd|th)\b/);if(e)return e[1]||""}return r.nomatch||""},"title decade":(e,t,i,a,n)=>{let r=Pe(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)s\b/);if(e)return e[1]||""}return r.nomatch||""},nihongo:(e,t)=>{let i=Pe(e,["english","kanji","romaji","extra"]);t.push(i);let a=i.english||i.romaji||"";return i.kanji&&(a+=` (${i.kanji})`),a},marriage:(e,t)=>{let i=Pe(e,["spouse","from","to","end"]);t.push(i);let a=i.spouse||"";return i.from&&(i.to?a+=` (m. ${i.from}-${i.to})`:a+=` (m. ${i.from})`),a},"sent off":(e,t)=>{let i=Pe(e,["cards"]),a={template:"sent off",cards:i.cards,minutes:i.list||[]};return t.push(a),"sent off: "+a.minutes.map((e=>e+"'")).join(", ")},transl:(e,t)=>{let i=Pe(e,["lang","text","text2"]);return i.text2&&(i.iso=i.text,i.text=i.text2,delete i.text2),t.push(i),i.text||""},"collapsible list":(e,t)=>{let i=Pe(e);t.push(i);let a="";if(i.title&&(a+=`'''${i.title}'''\n\n`),!i.list){i.list=[];for(let e=1;e<10;e+=1)i[e]&&(i.list.push(i[e]),delete i[e])}return i.list=i.list.filter((e=>e)),a+=i.list.join("\n\n"),a},"columns-list":(e,t)=>{let i=((Pe(e).list||[])[0]||"").split(/\n/).filter((e=>e));return i=i.map((e=>e.replace(/\*/,""))),t.push({template:"columns-list",list:i}),i=i.map((e=>"• "+e)),i.join("\n\n")},height:(e,t)=>{let i=Pe(e);t.push(i);let a=[];return["m","cm","ft","in"].forEach((e=>{!0===i.hasOwnProperty(e)&&a.push(i[e]+e)})),a.join(" ")},sic:(e,t)=>{let i=Pe(e,["one","two","three"]),a=(i.one||"")+(i.two||"");return"?"===i.one&&(a=(i.two||"")+(i.three||"")),t.push({template:"sic",word:a}),"y"===i.nolink?a:`${a} [sic]`},inrconvert:(e,t)=>{let i=Pe(e,["rupee_value","currency_formatting"]);t.push(i);const a={k:1e3,m:1e6,b:1e9,t:1e12,l:1e5,c:1e7,lc:1e12};if(i.currency_formatting){let e=a[i.currency_formatting]||1;i.rupee_value=i.rupee_value*e}return`inr ${i.rupee_value||""}`},frac:(e,t)=>{let i=Pe(e,["a","b","c"]),a={template:"sfrac"};return i.c?(a.integer=i.a,a.numerator=i.b,a.denominator=i.c):i.b?(a.numerator=i.a,a.denominator=i.b):(a.numerator=1,a.denominator=i.a),t.push(a),a.integer?`${a.integer} ${a.numerator}⁄${a.denominator}`:`${a.numerator}⁄${a.denominator}`},"winning percentage":(e,t)=>{let i=Pe(e,["wins","losses","ties"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=Number(i.ties)||0,o=a+n+r;"y"===i.ignore_ties&&(r=0),r&&(a+=r/2);let s=ft({numerator:a,denominator:o,decimals:1});return null===s?"":"."+10*s},winlosspct:(e,t)=>{let i=Pe(e,["wins","losses"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=ft({numerator:a,denominator:a+n,decimals:1});return null===r?"":`${a||0} || ${n||0} || ${"."+10*r||"-"}`},"video game release":(e,t)=>{let i=["region","date","region2","date2","region3","date3","region4","date4"],a=Pe(e,i),n={template:"video game release",releases:[]};for(let e=0;e`${e.region}: ${e.date||""}`)).join("\n\n")+"\n"},uss:(e,t)=>{let i=Pe(e,["name","id"]);return t.push(i),i.id?`[[USS ${i.name} (${i.id})|USS ''${i.name}'' (${i.id})]]`:`[[USS ${i.name}|USS ''${i.name}'']]`},blockquote:(e,t)=>{let i=Pe(e,["text","author","title","source","character"]);t.push(i);let a=i.text;a||(i.list=i.list||[],a=i.list[0]||"");let n=a.replace(/"/g,"'");return n='"'+n+'"',n}};const It={"£":"GB£","¥":"¥","৳":"৳","₩":"₩","€":"€","₱":"₱","₹":"₹","₽":"₽","cn¥":"CN¥","gb£":"GB£","india rs":"₹","indian rupee symbol":"₹","indian rupee":"₹","indian rupees":"₹","philippine peso":"₱","russian ruble":"₽","SK won":"₩","turkish lira":"TRY",a$:"A$",au$:"A$",aud:"A$",bdt:"BDT",brl:"BRL",ca$:"CA$",cad:"CA$",chf:"CHF",cny:"CN¥",czk:"czk",dkk:"dkk",dkk2:"dkk",euro:"€",gbp:"GB£",hk$:"HK$",hkd:"HK$",ils:"ILS",inr:"₹",jpy:"¥",myr:"MYR",nis:"ILS",nok:"NOK",nok2:"NOK",nz$:"NZ$",nzd:"NZ$",peso:"peso",pkr:"₨",r$:"BRL",rmb:"CN¥",rub:"₽",ruble:"₽",rupee:"₹",s$:"sgd",sek:"SEK",sek2:"SEK",sfr:"CHF",sgd:"sgd",shekel:"ILS",sheqel:"ILS",ttd:"TTD",us$:"US$",usd:"US$",yen:"¥",zar:"R"},Mt=(e,t)=>{let i=Pe(e,["amount","code"]);t.push(i);let a=i.template||"";"currency"===a?(a=i.code,a||(i.code=a="usd")):""!==a&&"monnaie"!==a&&"unité"!==a&&"nombre"!==a&&"nb"!==a||(a=i.code),a=(a||"").toLowerCase(),"us"===a?i.code=a="usd":"uk"===a&&(i.code=a="gbp");let n=`${It[a]||""}${i.amount||""}`;return i.code&&!It[i.code.toLowerCase()]&&(n+=" "+i.code),n};let Ft={currency:Mt};Object.keys(It).forEach((e=>{Ft[e]=Mt}));const Rt=864e5,Ut=30*Rt,Bt=365*Rt,Kt=function(e){return new Date(`${e.year}-${e.month||0}-${e.date||1}`).getTime()},Wt=function(e,t){e=Kt(e);let i=(t=Kt(t))-e,a={},n=Math.floor(i/Bt);n>0&&(a.years=n,i-=a.years*Bt);let r=Math.floor(i/Ut);r>0&&(a.months=r,i-=a.months*Ut);let o=Math.floor(i/Rt);return o>0&&(a.days=o),a},Ht=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Yt=[void 0,"January","February","March","April","May","June","July","August","September","October","November","December"],Zt=Yt.reduce(((e,t,i)=>(0===i||(e[t.toLowerCase()]=i,e[t.substring(0,3).toLowerCase()]=i),e)),{}),Gt=function(e){let t={},i=["year","month","date","hour","minute","second"];for(let a=0;a{let i=Pe(e,["year","month","date","hour","minute","second","timezone"]),a=Gt([i.year,i.month,i.date||i.day]);return i.text=Vt(a),i.timezone&&("Z"===i.timezone&&(i.timezone="UTC"),i.text+=` (${i.timezone})`),i.hour&&i.minute&&(i.second?i.text=`${i.hour}:${i.minute}:${i.second}, `+i.text:i.text=`${i.hour}:${i.minute}, `+i.text),i.text&&t.push(Xt(i)),i.text},natural_date:(e,t)=>{let i=Pe(e,["text"]).text||"",a={};if(/^[0-9]{4}$/.test(i))a.year=parseInt(i,10);else{let e=i.replace(/[a-z]+\/[a-z]+/i,"");e=e.replace(/[0-9]+:[0-9]+(am|pm)?/i,"");let t=new Date(e);!1===isNaN(t.getTime())&&(a.year=t.getFullYear(),a.month=t.getMonth()+1,a.date=t.getDate())}return t.push(Xt(a)),i.trim()},one_year:(e,t)=>{let i=Pe(e,["year"]),a=Number(i.year);return t.push(Xt({year:a})),String(a)},two_dates:(e,t)=>{let i=Pe(e,["b","birth_year","birth_month","birth_date","death_year","death_month","death_date"]);if(i.b&&"b"===i.b.toLowerCase()){let e=Gt([i.birth_year,i.birth_month,i.birth_date]);return t.push(Xt(e)),Vt(e)}let a=Gt([i.death_year,i.death_month,i.death_date]);return t.push(Xt(a)),Vt(a)},age:e=>{let t=Qt(e);return Wt(t.from,t.to).years||0},"diff-y":e=>{let t=Qt(e),i=Wt(t.from,t.to);return 1===i.years?i.years+" year":(i.years||0)+" years"},"diff-ym":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),a.join(", ")},"diff-ymd":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-yd":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-d":e=>{let t=Qt(e),i=Wt(t.from,t.to),a=[];return i.days+=365*(i.years||0),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")}},ti=["January","February","March","April","May","June","July","August","September","October","November","December"];var ii={currentday:()=>{let e=new Date;return String(e.getDate())},currentdayname:()=>{let e=new Date;return Ht[e.getDay()]},currentmonth:()=>{let e=new Date;return ti[e.getMonth()]},currentyear:()=>{let e=new Date;return String(e.getFullYear())},monthyear:()=>{let e=new Date;return ti[e.getMonth()]+" "+e.getFullYear()},"monthyear-1":()=>{let e=new Date;return e.setMonth(e.getMonth()-1),ti[e.getMonth()]+" "+e.getFullYear()},"monthyear+1":()=>{let e=new Date;return e.setMonth(e.getMonth()+1),ti[e.getMonth()]+" "+e.getFullYear()},year:e=>{let t=Pe(e,["date"]).date,i=new Date(t);return t&&!1===isNaN(i.getTime())?String(i.getFullYear()):""},"time ago":e=>function(e){let t=new Date(e);if(isNaN(t.getTime()))return"";let i=(new Date).getTime()-t.getTime(),a="ago";i<0&&(a="from now",i=Math.abs(i));let n=i/1e3/60/60/24;return n<365?Number(n)+" days "+a:Number(n/365)+" years "+a}(Pe(e,["date","fmt"]).date),"birth date and age":(e,t)=>{let i=Pe(e,["year","month","day"]);return i.year&&/[a-z]/i.test(i.year)?ei.natural_date(e,t):(t.push(i),i=Gt([i.year,i.month,i.day]),Vt(i))},"birth year and age":(e,t)=>{let i=Pe(e,["birth_year","birth_month"]);if(i.death_year&&/[a-z]/i.test(i.death_year))return ei.natural_date(e,t);t.push(i);let a=(new Date).getFullYear()-parseInt(i.birth_year,10);i=Gt([i.birth_year,i.birth_month]);let n=Vt(i);return a&&(n+=` (age ${a})`),n},"death year and age":(e,t)=>{let i=Pe(e,["death_year","birth_year","death_month"]);return i.death_year&&/[a-z]/i.test(i.death_year)?ei.natural_date(e,t):(t.push(i),i=Gt([i.death_year,i.death_month]),Vt(i))},"birth date and age2":(e,t)=>{let i=Pe(e,["at_year","at_month","at_day","birth_year","birth_month","birth_day"]);return t.push(i),i=Gt([i.birth_year,i.birth_month,i.birth_day]),Vt(i)},"birth based on age as of date":(e,t)=>{let i=Pe(e,["age","year","month","day"]);t.push(i);let a=parseInt(i.age,10),n=parseInt(i.year,10)-a;return n&&a?`${n} (age ${i.age})`:`(age ${i.age})`},"death date and given age":(e,t)=>{let i=Pe(e,["year","month","day","age"]);t.push(i),i=Gt([i.year,i.month,i.day]);let a=Vt(i);return i.age&&(a+=` (age ${i.age})`),a},dts:e=>{e=(e=e.replace(/\|format=[ymd]+/i,"")).replace(/\|abbr=(on|off)/i,"");let t=Pe(e,["year","month","date","bc"]);return t.date&&t.month&&t.year?!0===/[a-z]/.test(t.month)?[t.month,t.date,t.year].join(" "):[t.year,t.month,t.date].join("-"):t.month&&t.year?[t.year,t.month].join("-"):t.year?(t.year<0&&(t.year=Math.abs(t.year)+" BC"),t.year):""},time:()=>{let e=new Date,t=Gt([e.getFullYear(),e.getMonth(),e.getDate()]);return Vt(t)},millennium:e=>{let t=Pe(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/1e3)+1,t.abbr&&"y"===t.abbr?i<0?`${xt(Math.abs(i))} BC`:`${xt(i)}`:`${xt(i)} millennium`},start:ei.date,"start-date":ei.natural_date,birthdeathage:ei.two_dates,age:ei.age,"age nts":ei.age,"age in years":ei["diff-y"],"age in years and months":ei["diff-ym"],"age in years, months and days":ei["diff-ymd"],"age in years and days":ei["diff-yd"],"age in days":ei["diff-d"]};function ai(e){let t=e.pop(),i=Number(e[0]||0),a=Number(e[1]||0),n=Number(e[2]||0);if("string"!=typeof t||isNaN(i))return null;let r=1;return/[SW]/i.test(t)&&(r=-1),r*(i+a/60+n/3600)}const ni=function(e){if("number"!=typeof e)return e;let t=1e5;return Math.round(e*t)/t},ri={s:!0,w:!0},oi=function(e){let t=Pe(e);t=function(e){return e.list=e.list||[],e.list=e.list.map((t=>{let i=Number(t);if(!isNaN(i))return i;let a=t.split(/:/);return a.length>1?(e.props=e.props||{},e.props[a[0]]=a.slice(1).join(":"),null):t})),e.list=e.list.filter((e=>null!==e)),e}(t);let i=function(e){const t=e.map((e=>typeof e)).join("|");return 2===e.length&&"number|number"===t?{lat:e[0],lon:e[1]}:4===e.length&&"number|string|number|string"===t?(ri[e[1].toLowerCase()]&&(e[0]*=-1),"w"===e[3].toLowerCase()&&(e[2]*=-1),{lat:e[0],lon:e[2]}):6===e.length?{lat:ai(e.slice(0,3)),lon:ai(e.slice(3))}:8===e.length?{lat:ai(e.slice(0,4)),lon:ai(e.slice(4))}:{}}(t.list);return t.lat=ni(i.lat),t.lon=ni(i.lon),t.template="coord",delete t.list,t},si={coord:(e,t)=>{let i=oi(e);return t.push(i),i.display&&-1===i.display.indexOf("inline")?"":`${i.lat||""}°N, ${i.lon||""}°W`}},li=function(e,t,i,a){let n=Pe(e);return a&&(n.name=n.template,n.template=a),t.push(n),""},ci={persondata:li,taxobox:li,citation:li,portal:li,reflist:li,"cite book":li,"cite journal":li,"cite web":li,"commons cat":li,"election box candidate":li,"election box begin":li,main:li},ui={adx:"adx",aim:"aim",amex:"amex",asx:"asx",athex:"athex",b3:"b3","B3 (stock exchange)":"B3 (stock exchange)",barbadosse:"barbadosse",bbv:"bbv",bcba:"bcba",bcs:"bcs",bhse:"bhse",bist:"bist",bit:"bit","bm&f bovespa":"b3","bm&f":"b3",bmad:"bmad",bmv:"bmv","bombay stock exchange":"bombay stock exchange","botswana stock exchange":"botswana stock exchange",bpse:"bpse",bse:"bse",bsx:"bsx",bvb:"bvb",bvc:"bvc",bvl:"bvl",bvpasa:"bvpasa",bwse:"bwse","canadian securities exchange":"canadian securities exchange",cse:"cse",darse:"darse",dfm:"dfm",dse:"dse",euronext:"euronext",euronextparis:"euronextparis",fse:"fse",fwb:"fwb",gse:"gse",gtsm:"gtsm",idx:"idx",ise:"ise",iseq:"iseq",isin:"isin",jasdaq:"jasdaq",jse:"jse",kase:"kase",kn:"kn",krx:"krx",lse:"lse",luxse:"luxse","malta stock exchange":"malta stock exchange",mai:"mai",mcx:"mcx",mutf:"mutf",myx:"myx",nag:"nag","nasdaq dubai":"nasdaq dubai",nasdaq:"nasdaq",neeq:"neeq",nepse:"nepse",nex:"nex",nse:"nse",newconnect:"newconnect","nyse arca":"nyse arca",nyse:"nyse",nzx:"nzx","omx baltic":"omx baltic",omx:"omx",ose:"ose","otc expert":"otc expert","otc grey":"otc grey","otc pink":"otc pink",otcqb:"otcqb",otcqx:"otcqx","pfts ukraine stock exchange":"pfts ukraine stock exchange","philippine stock exchange":"philippine stock exchange",prse:"prse",psx:"psx",karse:"karse",qe:"qe","saudi stock exchange":"saudi stock exchange",sehk:"sehk","Stock Exchange of Thailand":"Stock Exchange of Thailand",set:"set",sgx:"sgx",sse:"sse",swx:"swx",szse:"szse",tase:"tase","tsx-v":"tsx-v",tsx:"tsx",tsxv:"tsxv",ttse:"ttse",twse:"twse",tyo:"tyo",wbag:"wbag",wse:"wse","zagreb stock exchange":"zagreb stock exchange","zimbabwe stock exchange":"zimbabwe stock exchange",zse:"zse"},mi=(e,t)=>{let i=Pe(e,["ticketnumber","code"]);t.push(i);let a=i.template||"";""===a&&(a=i.code),a=(a||"").toLowerCase();let n=ui[a]||"";return i.ticketnumber&&(n=`${n}: ${i.ticketnumber}`),i.code&&!ui[i.code.toLowerCase()]&&(n+=" "+i.code),n},pi={};Object.keys(ui).forEach((e=>{pi[e]=mi}));const di=function(e){return 1===(e=String(e)).length&&(e="0"+e),e},hi=function(e,t,i){e[`rd${t}-team${di(i)}`]&&(i=di(i));let a=e[`rd${t}-score${i}`],n=Number(a);return!1===isNaN(n)&&(a=n),{team:e[`rd${t}-team${i}`],score:a,seed:e[`rd${t}-seed${i}`]}},gi=function(e){let t=[],i=Pe(e);for(let e=1;e<7;e+=1){let a=[];for(let t=1;t<16;t+=2){let n=`rd${e}-team`;if(!i[n+t]&&!i[n+di(t)])break;{let n=hi(i,e,t),r=hi(i,e,t+1);a.push([n,r])}}a.length>0&&t.push(a)}return{template:"playoffbracket",rounds:t}};let bi={"4teambracket":function(e,t){let i=gi(e);return t.push(i),""},player:(e,t)=>{let i=Pe(e,["number","country","name","dl"]);t.push(i);let a=`[[${i.name}]]`;if(i.country){let e=(i.country||"").toLowerCase(),t=zt.find((t=>e===t[1]||e===t[2]))||[];t&&t[0]&&(a=t[0]+" "+a)}return i.number&&(a=i.number+" "+a),a},goal:(e,t)=>{let i={template:"goal",data:[]},a=Pe(e).list||[];for(let e=0;e{let t=e.note;return t&&(t=` (${t})`),e.min+"'"+t})).join(", "),n},"sports table":(e,t)=>{let i=Pe(e),a={};Object.keys(i).filter((e=>/^team[0-9]/.test(e))).map((e=>i[e].toLowerCase())).forEach((e=>{a[e]={name:i[`name_${e}`],win:Number(i[`win_${e}`])||0,loss:Number(i[`loss_${e}`])||0,tie:Number(i[`tie_${e}`])||0,otloss:Number(i[`otloss_${e}`])||0,goals_for:Number(i[`gf_${e}`])||0,goals_against:Number(i[`ga_${e}`])||0}}));let n={date:i.update,header:i.table_header,teams:a};t.push(n)},"cbb roster/header":function(){return'{| class="wikitable"\n |-\n ! POS\n ! #\n ! Name\n ! Height\n ! Weight\n ! Year\n ! Previous School\n ! Hometown\n |-\n'},"cbb roster/player":function(e,t){let i=Pe(e);return t.push(i),`|-\n| ${i.pos||""}\n| ${i.num||""}\n| ${i.first||""} ${i.last||""}\n| ${i.ft||""}${i.in||""}\n| ${i.lbs||""}\n| ${i.class||""}\n| ${i.high_school||""}\n| ${i.home||""}\n`},"cbb roster/footer":function(){return"\n|}"}};var ki=Object.assign({},Dt,Tt,Ft,ii,si,ci,pi,gi,bi);let fi=Object.assign({},Nt,Pt,ki);Object.keys(dt).forEach((e=>{fi[e]=fi[dt[e]]}));const wi=["0","1","2","3","4","5","6","7","8","9"],yi=function(e,t){let i=e.name;if(!0===ot.hasOwnProperty(i))return[""];if(!0===function(e){return!0===st.hasOwnProperty(e)||!!lt.test(e)||!(!ct.test(e)&&!ut.test(e))||!!mt.test(e)}(i)){let t=Pe(e.body,[],"raw");return["",pt(t)]}if(!0===/^cite [a-z]/.test(i)){let t=Pe(e.body);return t.type=t.template,t.template="citation",["",t]}if(!0===fi.hasOwnProperty(i)){if("number"==typeof fi[i]){return[Pe(e.body,wi)[String(fi[i])]||""]}if("string"==typeof fi[i])return[fi[i]];if(!0===o(fi[i])){return["",Pe(e.body,fi[i])]}if(!0===((a=fi[i])&&"[object Object]"===Object.prototype.toString.call(a))){let t=Pe(e.body,fi[i].props);return[t[fi[i].out],t]}if("function"==typeof fi[i]){let a=[];return[fi[i](e.body,a,Pe,null,t),a[0]]}}var a;if(t&&t._templateFallbackFn){let i=[],a=t._templateFallbackFn(e.body,i,Pe,null,t);if(null!==a)return[a,i[0]]}let n=Pe(e.body);return 0===Object.keys(n).length&&(n=null),["",n]},$i=(e="")=>(e=(e=e.toLowerCase()).replace(/[-_]/g," ")).trim(),xi=function(e,t){this._type=e.type,this.domain=e.domain,Object.defineProperty(this,"data",{enumerable:!1,value:e.data}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},vi={type:function(){return this._type},links:function(e){let t=[];if(Object.keys(this.data).forEach((e=>{this.data[e].links().forEach((e=>t.push(e)))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},image:function(){let e=this.data.image||this.data.image2||this.data.logo||this.data.image_skyline||this.data.image_flag;if(!e)return null;let t=e.json(),i=t.text;return t.file=i,t.text="",t.caption=this.data.caption,t.domain=this.domain,new _(t)},get:function(e){let t=Object.keys(this.data);if("string"==typeof e){let i=$i(e);for(let e=0;e{for(let i=0;i(e.data[i]&&(t[i]=e.data[i].json()),t)),{});return!0===t.encode&&(i=W(i)),i}(this,e=e||{})},wikitext:function(){return this.wiki||""},keyValue:function(){return Object.keys(this.data).reduce(((e,t)=>(this.data[t]&&(e[t]=this.data[t].text()),e)),{})}};Object.keys(vi).forEach((e=>{xi.prototype[e]=vi[e]})),xi.prototype.data=xi.prototype.keyValue,xi.prototype.template=xi.prototype.type,xi.prototype.images=xi.prototype.image;const ji=function(e,t){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},_i={title:function(){let e=this.data;return e.title||e.encyclopedia||e.author||""},links:function(e){let t=[];if("number"==typeof e)return t[e];if("number"==typeof e)return t[e];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},text:function(){return""},wikitext:function(){return this.wiki||""},json:function(e={}){let t=this.data||{};return!0===e.encode&&(t=Object.assign({},t),t=W(t)),t}};Object.keys(_i).forEach((e=>{ji.prototype[e]=_i[e]}));const zi={text:function(){return se(this._text||"").text()},json:function(){return this.data||{}},wikitext:function(){return this.wiki||""}},Oi=function(e,t="",i=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_text",{enumerable:!1,value:t}),Object.defineProperty(this,"wiki",{enumerable:!1,value:i})};Object.keys(zi).forEach((e=>{Oi.prototype[e]=zi[e]}));const Ei=/^(cite |citation)/i,qi={citation:!0,refn:!0,harvnb:!0,source:!0},Ni=function(e,t){let{list:i,wiki:a}=function(e,t){let i=[],a=rt(e);const n=function(a,r){a.parent=r,a.children&&a.children.length>0&&a.children.forEach((e=>n(e,a)));let[o,s]=yi(a,t);a.wiki=o,s&&i.push({name:a.name,wiki:a.body,nested:Boolean(a.parent),text:o,json:s});const l=function(e,t,i){e.parent&&(e.parent.body=e.parent.body.replace(t,i),l(e.parent,t,i))};l(a,a.body,a.wiki),e=e.replace(a.body,a.wiki)};return a.forEach((e=>n(e,null))),a.forEach((t=>{e=e.replace(t.body,t.wiki)})),{list:i,wiki:e}}(e._wiki,t),n=t?t._domain:null,{infoboxes:r,references:o,templates:s}=function(e,t){let i={infoboxes:[],templates:[],references:[]};return e.forEach((e=>{let a=e.json,n=a.template||a.type||a.name;if(!0!==qi[n]&&!0!==Ei.test(n))return"infobox"===a.template&&"yes"!==a.subbox?(a.domain=t,a.data=a.data||{},void i.infoboxes.push(new xi(a,e.wiki))):void i.templates.push(new Oi(a,e.text,e.wiki));i.references.push(new ji(a,e.wiki))})),i}(i,n);e._infoboxes=e._infoboxes||[],e._references=e._references||[],e._templates=e._templates||[],e._infoboxes=e._infoboxes.concat(r),e._references=e._references.concat(o),e._templates=e._templates.concat(s),e._wiki=a},Si=function(e){return/^ *\{\{ *(cite|citation)/i.test(e)&&/\}\} *$/.test(e)&&!1===/citation needed/i.test(e)},Ci=function(e){let t=Pe(e);return t.type=t.template.replace(/cite /,""),t.template="citation",t},Li=function(e){return{template:"citation",type:"inline",data:{},inline:se(e)||{}}},Ai=function(e){let t=[],i=e._wiki;i=i.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){if(Si(a)){let n=Ci(a);n&&t.push({json:n,wiki:e}),i=i.replace(a,"")}else t.push({json:Li(a),wiki:e});return" "})),i=i.replace(/ ?]{0,200}?\/> ?/gi," "),i=i.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){if(Si(a)){let e=Ci(a);e&&t.push({json:e,wiki:a}),i=i.replace(a,"")}else t.push({json:Li(a),wiki:e});return" "})),i=i.replace(/ ?<[ /]?[a-z0-9]{1,8}[a-z0-9=" ]{2,20}[ /]?> ?/g," "),e._references=t.map((e=>new ji(e.json,e.wiki))),e._wiki=i},Pi={coach:["team","year","g","w","l","w-l%","finish","pg","pw","pl","pw-l%"],player:["year","team","gp","gs","mpg","fg%","3p%","ft%","rpg","apg","spg","bpg","ppg"],roster:["player","gp","gs","mpg","fg%","3fg%","ft%","rpg","apg","spg","bpg","ppg"]};let Di=["res","record","opponent","method","event","date","round","time","location","notes"];const Ti=function(e,t){const i={templates:[],text:e._wiki};var a;return function(e,t){e.text=e.text.replace(/\{\{election box begin([\s\S]+?)\{\{election box end\}\}/gi,(i=>{let a={_wiki:i,_templates:[]};Ni(a,t);let n=a._templates.map((e=>e.json())),r=n.find((e=>"election box"===e.template))||{},o=n.filter((e=>"election box candidate"===e.template)),s=n.find((e=>"election box gain"===e.template||"election box hold"===e.template))||{};return(o.length>0||s)&&e.templates.push({template:"election box",title:r.title,candidates:o,summary:s.data}),""}))}(i,t),function(e,t,i){e.text=e.text.replace(/]*)>([\s\S]+)<\/gallery>/g,((a,n,r)=>{let o=r.split(/\n/g);return o=o.filter((e=>e&&""!==e.trim())),o=o.map((e=>{let i=e.split(/\|/),a={file:i[0].trim(),lang:t.lang(),domain:t.domain()},n=new _(a).json(),r=i.slice(1).join("|");return""!==r&&(n.caption=se(r)),n})),o.length>0&&e.templates.push({template:"gallery",images:o,pos:i.title}),""}))}(i,t,e),(a=i).text=a.text.replace(/]*)>([\s\S]*?)<\/math>/g,((e,t,i)=>{let n=se(i).text();return a.templates.push({template:"math",formula:n,raw:i}),n&&n.length<12?n:""})),a.text=a.text.replace(/]*)>([\s\S]*?)<\/chem>/g,((e,t,i)=>(a.templates.push({template:"chem",data:i}),""))),function(e){e.text=e.text.replace(/\{\{mlb game log /gi,"{{game log "),e.text=e.text.replace(/\{\{game log (section|month)[\s\S]+?\{\{game log (section|month) end\}\}/gi,(t=>{let i=function(e){let t=["#","date","opponent","score","win","loss","save","attendance","record"];return!0===/\|stadium=y/i.test(e)&&t.splice(7,0,"stadium"),!0===/\|time=y/i.test(e)&&t.splice(7,0,"time"),!0===/\|box=y/i.test(e)&&t.push("box"),t}(t);t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{game log (section|month) end\}\}/i,"");let a="! "+i.join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mlb game log section",data:n}),""}))}(i),function(e){e.text=e.text.replace(/\{\{mma record start[\s\S]+?\{\{end\}\}/gi,(t=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{end\}\}/i,"");let i="! "+Di.join(" !! "),a=be("{|\n"+i+"\n"+t+"\n|}");return a=a.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mma record start",data:a}),""}))}(i),function(e){e.text=e.text.replace(/\{\{nba (coach|player|roster) statistics start([\s\S]+?)\{\{s-end\}\}/gi,((t,i)=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{s-end\}\}/,""),i=i.toLowerCase().trim();let a="! "+Pi[i].join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"NBA "+i+" statistics",data:n}),""}))}(i),i.templates=i.templates.map((e=>new Oi(e))),i},Ii={tables:!0,references:!0,paragraphs:!0,templates:!0,infoboxes:!0};class Mi{constructor(e,t){let i={doc:t,title:e.title||"",depth:e.depth,wiki:e.wiki||"",templates:[],tables:[],infoboxes:[],references:[],paragraphs:[]};Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})}));const a=Ti(this,t);this._wiki=a.text,this._templates=this._templates.concat(a.templates),Ai(this),Ni(this,t),function(e){let t=[],i=e._wiki,a=i.split("\n"),n=[];for(let e=0;e0&&(n[n.length-1]+="\n"+a[e]);else{n[n.length-1]+="\n"+a[e];let i=n.pop();t.push(i)}else n.push(a[e]);let r=[];t.forEach((e=>{if(e){i=i.replace(e+"\n",""),i=i.replace(e,"");let t=be(e);t&&t.length>0&&r.push(new we(t,e))}})),r.length>0&&(e._tables=r),e._wiki=i}(this),Xe(this,t)}title(){return this._title||""}index(){if(!this._doc)return null;let e=this._doc.sections().indexOf(this);return-1===e?null:e}depth(){return this._depth}indentation(){return this.depth()}sentences(){return this.paragraphs().reduce(((e,t)=>e.concat(t.sentences())),[])}paragraphs(){return this._paragraphs||[]}links(e){let t=[];if(this.infoboxes().forEach((e=>{t.push(e.links())})),this.sentences().forEach((e=>{t.push(e.links())})),this.tables().forEach((e=>{t.push(e.links())})),this.lists().forEach((e=>{t.push(e.links())})),t=t.reduce(((e,t)=>e.concat(t)),[]).filter((e=>void 0!==e)),"string"==typeof e){let i=t.find((t=>t.page().toLowerCase()===e.toLowerCase()));return void 0===i?[]:[i]}return t}tables(){return this._tables||[]}templates(e){let t=this._templates||[];return"string"==typeof e?(e=e.toLowerCase(),t.filter((t=>t.data.template===e||t.data.name===e))):t}infoboxes(e){let t=this._infoboxes||[];return"string"==typeof e?(e=(e=e.replace(/^infobox /i,"")).trim().toLowerCase(),t.filter((t=>t._type===e))):t}coordinates(){return[...this.templates("coord"),...this.templates("coor")].map((e=>e.json()))}lists(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.lists())})),e}interwiki(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.interwiki())})),e}images(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.images())})),e}references(){return this._references||[]}remove(){if(!this._doc)return null;let e={};e[this.title()]=!0,this.children().forEach((t=>e[t.title()]=!0));let t=this._doc.sections();return t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),this._doc._sections=t,this._doc}nextSibling(){if(!this._doc)return null;let e=this._doc.sections();for(let t=(this.index()||0)+1;tthis.depth())for(let e=i+1;ethis.depth();e+=1)a.push(t[e]);return"string"==typeof e?a.find((t=>t.title().toLowerCase()===e.toLowerCase())):a}sections(e){return this.children(e)}parent(){if(!this._doc)return null;let e=this._doc.sections();for(let t=this.index()||0;t>=0;t-=1)if(e[t]&&e[t].depth()t.text(e))).join("\n\n")}wikitext(){return this._wiki}json(e){return function(e,t){let i={};if(!0===(t=p(t,H)).headers&&(i.title=e.title()),!0===t.depth&&(i.depth=e.depth()),!0===t.paragraphs){let a=e.paragraphs().map((e=>e.json(t)));a.length>0&&(i.paragraphs=a)}if(!0===t.images){let a=e.images().map((e=>e.json(t)));a.length>0&&(i.images=a)}if(!0===t.tables){let a=e.tables().map((e=>e.json(t)));a.length>0&&(i.tables=a)}if(!0===t.templates){let a=e.templates().map((e=>e.json()));a.length>0&&(i.templates=a,!0===t.encode&&i.templates.forEach((e=>W(e))))}if(!0===t.infoboxes){let a=e.infoboxes().map((e=>e.json(t)));a.length>0&&(i.infoboxes=a)}if(!0===t.lists){let a=e.lists().map((e=>e.json(t)));a.length>0&&(i.lists=a)}if(!0===t.references||!0===t.citations){let a=e.references().map((e=>e.json(t)));a.length>0&&(i.references=a)}return!0===t.sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=p(e,Ii))}}Mi.prototype.citations=Mi.prototype.references;const Fi={sentences:"sentence",paragraphs:"paragraph",links:"link",tables:"table",templates:"template",infoboxes:"infobox",coordinates:"coordinate",lists:"list",images:"image",references:"reference",citations:"citation"};Object.keys(Fi).forEach((e=>{let t=Fi[e];Mi.prototype[t]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]||null}}));const Ri=/^(={1,6})(.{1,200}?)={1,6}$/,Ui=/\{\{.+?\}\}/,Bi=function(e,t,i){let a=t.match(Ri);if(!a)return e.title="",e.depth=0,e;let n=a[2]||"";n=se(n).text(),Ui.test(n)&&(n=function(e,t){return rt(e).forEach((i=>{let[a]=yi(i,t);e=e.replace(i.body,a)})),e}(n,i));let o={_wiki:n};Ai(o),n=o._wiki,n=r(n);let s=0;return a[1]&&(s=a[1].length-2),e.title=n,e.depth=s,e},Ki=new RegExp("^("+["references","reference","einzelnachweise","referencias","références","notes et références","脚注","referenser","bronnen","примечания"].join("|")+"):?","i"),Wi=/(?:\n|^)(={2,6}.{1,200}?={2,6})/g,Hi=function(e){let t=[],i=e._wiki.split(Wi);for(let a=0;a!0!==Ki.test(t.title())||t.paragraphs().length>0||t.templates().length>0||(e[i+1]&&e[i+1].depth()>t.depth()&&(e[i+1]._depth-=1),!1)))}(t)},Yi=new RegExp("\\[\\[("+h.join("|")+"):(.{2,178}?)]](w{0,10})","gi"),Zi=new RegExp("^\\[\\[:?("+h.join("|")+"):","gi"),Gi=function(e){const t=[];let i=e.match(Yi);i&&i.forEach((function(e){(e=(e=(e=e.replace(Zi,"")).replace(/\|?[ *]?\]\]$/,"")).replace(/\|.*/,""))&&!e.match(/[[\]]/)&&t.push(e.trim())}));const a=e.replace(Yi,"");return[t,a]},Ji={tables:!0,lists:!0,paragraphs:!0};class Vi{constructor(e,t){t=t||{},this._options=t;let i={pageID:t.pageID||t.id||null,namespace:t.namespace||t.ns||null,lang:t.lang||t.language||null,domain:t.domain||null,title:t.title||null,type:"page",redirectTo:null,wikidata:t.wikidata||null,wiki:e||"",categories:[],sections:[],coordinates:[],userAgent:t.userAgent||t["User-Agent"]||t["Api-User-Agent"]||"User of the wtf_wikipedia library",templateFallbackFn:t.templateFallbackFn||null};if(Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})})),!0===function(e){return!!e&&T.test(e)}(this._wiki)){this._type="redirect",this._redirectTo=function(e){let t=e.match(T);if(t&&t[2])return(D(t[2])||[])[0];return{}}(this._wiki);const[e,t]=Gi(this._wiki);return this._categories=e,void(this._wiki=t)}this._wiki=U(this._wiki);const[a,n]=Gi(this._wiki);this._categories=a,this._wiki=n,this._sections=Hi(this)}title(e){if(void 0!==e)return this._title=e,e;if(this._title)return this._title;let t=null,i=this.sentences()[0];return i&&(t=i.bold()),t}pageID(e){return void 0!==e&&(this._pageID=e),this._pageID||null}wikidata(e){return void 0!==e&&(this._wikidata=e),this._wikidata||null}domain(e){return void 0!==e&&(this._domain=e),this._domain||null}language(e){return void 0!==e&&(this._lang=e),this._lang||null}url(){let e=this.title();if(!e)return null;let t=this.language()||"en",i=this.domain()||"wikipedia.org";return e=e.replace(/ /g,"_"),e=encodeURIComponent(e),`https://${t}.${i}/wiki/${e}`}namespace(e){return void 0!==e&&(this._namespace=e),this._namespace||null}isRedirect(){return"redirect"===this._type}redirectTo(){return this._redirectTo}isDisambiguation(){return function(e){let t=e.templates().map((e=>e.json()));if(t.find((e=>f.hasOwnProperty(e.template)||x.hasOwnProperty(e.template))))return!0;let i=e.title();return!(!i||!0!==$.test(i))||!t.find((e=>y.hasOwnProperty(e.template)))&&(!0===v(e.sentence(0))||!0===v(e.sentence(1)))}(this)}categories(e){let t=this._categories||[];return"number"==typeof e?[t[e]]:t}sections(e){let t=this._sections||[];if(t.forEach((e=>{e._doc=this})),"string"==typeof e){let i=e.toLowerCase().trim();return t.filter((e=>e.title().toLowerCase()===i))}return"number"==typeof e?[t[e]]:t}paragraphs(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.paragraphs())})),"number"==typeof e?[t[e]]:t}sentences(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.sentences())})),"number"==typeof e?[t[e]]:t}images(e){let t=m(this,"images",null);return this.infoboxes().forEach((e=>{let i=e.image();i&&t.unshift(i)})),this.templates().forEach((e=>{"gallery"===e.data.template&&(e.data.images=e.data.images||[],e.data.images.forEach((e=>{e instanceof _||(e.language=this.language(),e.domain=this.domain(),e=new _(e)),t.push(e)})))})),"number"==typeof e?[t[e]]:t}links(e){return m(this,"links",e)}interwiki(e){return m(this,"interwiki",e)}lists(e){return m(this,"lists",e)}tables(e){return m(this,"tables",e)}templates(e){return m(this,"templates",e)}references(e){return m(this,"references",e)}citations(e){return this.references(e)}coordinates(e){return m(this,"coordinates",e)}infoboxes(e){let t=m(this,"infoboxes",e);return t=t.sort(((e,t)=>Object.keys(e.data).length>Object.keys(t.data).length?-1:1)),t}text(e){if(e=p(e,Ji),!0===this.isRedirect())return"";return this.sections().map((t=>t.text(e))).join("\n\n")}json(e){return function(e,t){let i={};return(t=p(t,d)).title&&(i.title=e.title()),t.pageID&&(i.pageID=e.pageID()),t.categories&&(i.categories=e.categories()),t.sections&&(i.sections=e.sections().map((e=>e.json(t)))),!0===e.isRedirect()&&(i.isRedirect=!0,i.redirectTo=e.redirectTo(),i.sections=[]),t.coordinates&&(i.coordinates=e.coordinates()),t.infoboxes&&(i.infoboxes=e.infoboxes().map((e=>e.json(t)))),t.images&&(i.images=e.images().map((e=>e.json(t)))),t.plaintext&&(i.plaintext=e.text(t)),(t.citations||t.references)&&(i.references=e.references()),i}(this,e=p(e,Ji))}wikitext(){return this._wiki||""}debug(){return console.log("\n"),this.sections().forEach((e=>{let t=" - ";for(let i=0;i{let t=Xi[e];Vi.prototype[t]=function(t){return this[e](t)[0]||null}})),Vi.prototype.lang=Vi.prototype.language,Vi.prototype.ns=Vi.prototype.namespace,Vi.prototype.plaintext=Vi.prototype.text,Vi.prototype.isDisambig=Vi.prototype.isDisambiguation,Vi.prototype.citations=Vi.prototype.references,Vi.prototype.redirectsTo=Vi.prototype.redirectTo,Vi.prototype.redirect=Vi.prototype.redirectTo,Vi.prototype.redirects=Vi.prototype.redirectTo;const Qi=/^https?:\/\//,ea={lang:"en",wiki:"wikipedia",domain:void 0,follow_redirects:!0,path:"api.php"},ta=function(e,t,i){"string"==typeof t&&(t={lang:t}),(t={...ea,...t}).title=e,"string"==typeof e&&Qi.test(e)&&(t={...t,...n(e)});const r=u(t),s=function(e){let t,i=e.userAgent||e["User-Agent"]||e["Api-User-Agent"]||"User of the wtf_wikipedia library";return t=e.noOrigin?"":e.origin||e.Origin||"*",{method:"GET",headers:{"Content-Type":"application/json","Api-User-Agent":i,"User-Agent":i,Origin:t,"Accept-Encoding":"gzip"},redirect:"follow"}}(t);return a(r,s).then((e=>e.json())).then((a=>{if(!a)throw new Error(`No JSON Data Found For ${r}`);let n=function(e,t={}){return e?.query?.pages&&e?.query&&e?Object.keys(e.query.pages).map((i=>{let a=e.query.pages[i]||{};if(a.hasOwnProperty("missing")||a.hasOwnProperty("invalid"))return null;let n=a.revisions[0]["*"];!n&&a.revisions[0].slots&&(n=a.revisions[0].slots.main["*"]),a.pageprops=a.pageprops||{};let r=t.domain;return!r&&t.wiki&&(r=`${t.wiki}.org`),{wiki:n,meta:Object.assign({},t,{title:a.title,pageID:a.pageid,namespace:a.ns,domain:r,wikidata:a.pageprops.wikibase_item,description:a.pageprops["wikibase-shortdesc"]})}})):null}(a,t);return n=function(e,t){let i=(e=e.filter((e=>e))).map((e=>new Vi(e.wiki,e.meta)));return 0===i.length?null:o(t)||1!==i.length?i:i[0]}(n,e),i&&i(null,n),n})).catch((e=>(console.error(e),i&&i(e,null),null)))};const ia=function(e,t){return new Vi(e,t)},aa={Doc:Vi,Section:Mi,Paragraph:_e,Sentence:X,Image:_,Infobox:xi,Link:Z,List:Be,Reference:ji,Table:we,Template:Oi,http:function(e,t){return a(e,t).then((function(e){return e.json()})).catch((t=>(console.error("\n\n=-=- http response error =-=-=-"),console.error(e),console.error(t),{})))},wtf:ia};ia.fetch=function(e,t,i){return ta(e,t,i)},ia.plugin=ia.extend=function(e){return e(aa,fi,st),this},ia.version="10.2.0";export{ia as default}; +function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var i=function e(){if(this instanceof e){var i=[null];return i.push.apply(i,arguments),new(Function.bind.apply(t,i))}return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})})),i}var i=t(Object.freeze({__proto__:null,default:function(e,t){return t=t||{},new Promise((function(i,a){var n=new XMLHttpRequest,r=[],o=[],s={},l=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:l,headers:{keys:function(){return r},entries:function(){return o},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var c in n.open(t.method||"get",e,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,i){r.push(t=t.toLowerCase()),o.push([t,i]),s[t]=s[t]?s[t]+","+i:i})),i(l())},n.onerror=a,n.withCredentials="include"==t.credentials,t.headers)n.setRequestHeader(c,t.headers[c]);n.send(t.body||null)}))}})),a=e(self.fetch||(self.fetch=i.default||i));const n=function(e){let t=new URL(e),i=t.pathname.replace(/^\/(wiki\/)?/,"");return i=decodeURIComponent(i),{domain:t.host,title:i}};function r(e){return e&&"string"==typeof e?e=(e=(e=(e=e.replace(/^\s+/,"")).replace(/\s+$/,"")).replace(/ {2}/," ")).replace(/\s, /,", "):""}function o(e){return"[object Array]"===Object.prototype.toString.call(e)}const s=/(wikibooks|wikidata|wikimedia|wikinews|wikipedia|wikiquote|wikisource|wikispecies|wikiversity|wikivoyage|wiktionary|foundation|meta)\.org/,l={action:"query",prop:"revisions|pageprops",rvprop:"content",maxlag:5,rvslots:"main",origin:"*",format:"json",redirects:"true"},c=e=>e.replace(/ /g,"_").trim(),u=function(e,t=l){let i=Object.assign({},t),a="";if(e.domain){let t=s.test(e.domain)?"w/api.php":e.path;a=`https://${e.domain}/${t}?`}else{if(!e.lang||!e.wiki)return"";a=`https://${e.lang}.${e.wiki}.org/w/api.php?`}e.follow_redirects||delete i.redirects,e.origin&&(i.origin=e.origin);let n=e.title;if("number"==typeof n)i.pageids=n;else if("string"==typeof n)i.titles=c(n);else if(void 0!==n&&o(n)&&"number"==typeof n[0])i.pageids=n.filter((e=>e)).join("|");else{if(void 0===n||!0!==o(n)||"string"!=typeof n[0])return"";i.titles=n.filter((e=>e)).map(c).join("|")}return`${a}${r=i,Object.entries(r).map((([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&")}`;var r},m=function(e,t,i){let a=[];return e.sections().forEach((e=>{let n=[];n="string"==typeof i?e[t](i):e[t](),n.forEach((e=>{a.push(e)}))})),"number"==typeof i?void 0===a[i]?[]:[a[i]]:a},d=function(e,t){return Object.assign({},t,e)},p={title:!0,sections:!0,pageID:!0,categories:!0};var h=["category","abdeeling","bólkur","catagóir","categori","categoria","categoria","categoría","categorîa","categorìa","catégorie","categorie","catègorie","category","categuria","catigurìa","class","ẹ̀ka","flocc","flocc","flokkur","grup","jamii","kaarangay","kateggoría","kategooria","kategori","kategorî","kategoria","kategória","kategorie","kategoriija","kategorija","kategorio","kategoriya","kategoriýa","kategoriye","kategory","kategorya","kateqoriya","katiguriya","klad","luokka","ñemohenda","roinn","ronney","rummad","setensele","sokajy","sumut","thể","turkum","категорија","категория","категорія","катэгорыя","төркем","קטגוריה","تصنيف","تۈر","رده","श्रेणी","श्रेणी","বিষয়শ্রেণী","หมวดหมู่","분류","분류","分类"],g=["file","image","चित्र","archivo","attēls","berkas","bestand","datei","dosiero","dosya","fájl","fasciculus","fichier","fil","fitxategi","fitxer","gambar","imagem","imej","immagine","larawan","lêer","plik","restr","slika","wêne","wobraz","выява","податотека","слика","файл","სურათი","պատկեր","קובץ","پرونده","دوتنه","ملف","وێنە","चित्र","ไฟล์","파일","ファイル"],b=["infobox","anfo","anuāmapa","bilgi kutusu","bilgi","bilgiquti","boaty","boestkelaouiñ","bosca","capsa","diehtokássa","faktamall","ficha","generalni","gwybodlen3","info","infobokis","infoboks","infochascha","infokašćik","infokast","infokutija","infolentelė","infopolje","informkesto","infoskreine","infotaula","inligtingskas","inligtingskas3","inligtingskas4","kishtey","kotak","tertcita","tietolaatikko","yerleşim bilgi kutusu","ynfoboks","πλαίσιο","акарточка","аҥа","инфобокс","инфокутија","инфокутия","інфобокс","канадский","картка","карточка","карточка2","карточкарус","картуш","қуттӣ","ინფოდაფა","տեղեկաքարտ","אינפאקעסטל","תבנית","بطاقة","ڄاڻخانو","خانہ","لغة","ज्ञानसन्दूक","তথ্যছক","ਜਾਣਕਾਰੀਡੱਬਾ","సమాచారపెట్టె","තොරතුරුකොටුව","กล่องข้อมูล","ប្រអប់ព័ត៌មាន","정보상자","明細"];let f=" disambiguation";const k=["dab","dab","disamb","disambig","geodis","hndis","setindex","ship index","split dab","sport index","wp disambig","disambiguation cleanup","airport"+f,"biology"+f,"call sign"+f,"caselaw"+f,"chinese title"+f,"genus"+f,"hospital"+f,"lake index","letter"+f,"letter-number combination"+f,"mathematical"+f,"military unit"+f,"mountainindex","number"+f,"phonetics"+f,"place name"+f,"portal"+f,"road"+f,"school"+f,"species latin name abbreviation"+f,"species latin name"+f,"station"+f,"synagogue"+f,"taxonomic authority"+f,"taxonomy"+f].reduce(((e,t)=>(e[t]=!0,e)),{}),w=/. may (also )?refer to\b/i,y={about:!0,for:!0,"for multi":!0,"other people":!0,"other uses of":!0,distinguish:!0},$=new RegExp(". \\(("+["disambiguation","homonymie","توضيح","desambiguação","Begriffsklärung","disambigua","曖昧さ回避","消歧義","搞清楚","значения","ابهام‌زدایی","د ابہام","동음이의","dubbelsinnig","այլ կիրառումներ","ujednoznacznienie"].join("|")+")\\)$","i"),x=["dab","disamb","disambig","disambiguation","letter-numbercombdisambig","letter-number combination disambiguation","dmbox","airport disambiguation","biology disambiguation","call sign disambiguation","caselaw disambiguation","chinese title disambiguation","disambiguation cleanup","genus disambiguation","hospital disambiguation","human name disambiguation","human name disambiguation cleanup","letter-number combination disambiguation","mathematical disambiguation","military unit disambiguation","music disambiguation","number disambiguation","opus number disambiguation","phonetics disambiguation","place name disambiguation","portal disambiguation","road disambiguation","school disambiguation","species latin name abbreviation disambiguation","species latin name disambiguation","station disambiguation","synagogue disambiguation","taxonomic authority disambiguation","taxonomy disambiguation","template disambiguation","disamb2","disamb3","disamb4","disambiguation lead","disambiguation lead name","disambiguation name","disamb-term","disamb-terms","aðgreining","aimai","ałtsʼáʼáztiin","anlam ayrımı","anlam ayrımı","apartigilo","argipen","begriepskloorenge","begriffsklärung","begriffsklärung","begriffsklärung","begriffsklearung","bisongidila","bkl","bokokani","caddayn","clerheans","cudakirin","čvor","db","desambig","desambigación","desambiguação","desambiguació","desambiguación","desambiguáncia","desambiguasion","desambiguassiù","desambigui","dezambiguizare","dəqiqləşdirmə","disambigua","disambigua","disambigua","disambìgua","disambigua","disambiguasi","disambiguasi","discretiva","disheñvelout","disingkek","dixanbigua","dixebra","diżambigwazzjoni","doorverwijspagina","dp","dp","dubbelsinnig","dudalipen","dv","egyért","fleiri týdningar","fleirtyding","flertydig","förgrening","gì-ngiê","giklaro","gwahaniaethu","homonimo","homónimos","homonymie","huaʻōlelo puana like","idirdhealú","khu-pia̍t","kthjellim","kujekesa","maana","maneo bin","mehrdüdig begreep","menm non","muardüüdag artiikel","neibetsjuttings","nozīmju atdalīšana","nuorodinis","nyahkekaburan","omonimeye","omonimia","page dé frouque","paglilinaw","panangilawlawag","pansayod","pejy mitovy anarana","peker","razdvojba","razločitev","razvrstavanje","reddaghey","rozcestník","rozlišovacia stránka","sclerir noziun","selvendyssivu","soilleireachadh","suzmunski","täpsustuslehekülg","täsmennyssivu","telplänov","tlahtolmelahuacatlaliztli","trang định hướng","ujednoznacznienie","verdudeliking","wěcejwóznamowosć","wjacezmyslnosć","zambiguaçon","zeimeibu škiršona","αποσαφήνιση","айрық","аҵакырацәа","вишезначна одредница","ибҳомзудоӣ","кёб магъаналы","күп мәгънәләр","күп мәғәнәлелек","мъногосъмꙑслиѥ","неадназначнасць","неадназначнасьць","неоднозначность","олон удхатай","појаснување","пояснение","са шумуд манавал","салаа утгатай","суолталар","текмаанисиздик","цо магіна гуреб","чеперушка","чолхалла","шуко ончыктымаш-влак","მრავალმნიშვნელოვანი","բազմիմաստութիւն","բազմիմաստություն","באדייטן","פירושונים","ابهام‌زدایی","توضيح","توضيح","دقیقلشدیرمه","ڕوونکردنەوە","سلجهائپ","ضد ابہام","گجگجی بیری","نامبهمېدنه","መንታ","अस्पष्टता","बहुअर्थी","बहुविकल्पी शब्द","দ্ব্যর্থতা নিরসন","ਗੁੰਝਲ-ਖੋਲ੍ਹ","સંદિગ્ધ શીર્ષક","பக்கவழி நெறிப்படுத்தல்","అయోమయ నివృత్తి","ದ್ವಂದ್ವ ನಿವಾರಣೆ","വിവക്ഷകൾ","වක්‍රෝත්ති","แก้ความกำกวม","သံတူကြောင်းကွဲ","ណែនាំ","동음이의","扤清楚","搞清楚","曖昧さ回避","消歧义","釋義","gestion dj'omònim","sut'ichana qillqa"].reduce(((e,t)=>(e[t]=!0,e)),{}),v=function(e){if(!e)return!1;let t=e.text();return!(null===t||!t[0]||!0!==w.test(t))},j={caption:!0,alt:!0,links:!0,thumb:!0,url:!0},_=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},z={file(){let e=this.data.file||"";if(e){/^(image|file):/i.test(e)||(e=`File:${e}`),e=e.trim(),e=e.charAt(0).toUpperCase()+e.substring(1),e=e.replace(/ /g,"_")}return e},alt(){let e=this.data.alt||this.data.file||"";return e=e.replace(/^(file|image):/i,""),e=e.replace(/\.(jpg|jpeg|png|gif|svg)/i,""),e.replace(/_/g," ")},caption(){return this.data.caption?this.data.caption.text():""},links(){return this.data.caption?this.data.caption.links():[]},url(){let e=function(e){let t=function(e){let t=e.replace(/^(image|file?):/i,"");return t=t.charAt(0).toUpperCase()+t.substring(1),t=t.trim().replace(/ /g,"_"),t}(e);return t=encodeURIComponent(t),t}(this.file());return`https://${this.data.domain||"wikipedia.org"}/wiki/Special:Redirect/file/${e}`},thumbnail(e){return e=e||300,this.url()+"?width="+e},format(){let e=this.file().split(".");return e[e.length-1]?e[e.length-1].toLowerCase():null},json:function(e){return function(e,t){t=d(t,j);let i={file:e.file()};return!1!==t.thumb&&(i.thumb=e.thumbnail()),!1!==t.url&&(i.url=e.url()),!1!==t.caption&&e.data.caption&&(i.caption=e.caption(),!1!==t.links&&e.data.caption.links()&&(i.links=e.links())),!1!==t.alt&&e.data.alt&&(i.alt=e.alt()),i}(this,e=e||{})},text:function(){return""},wikitext:function(){return this.data.wiki||""}};Object.keys(z).forEach((e=>{_.prototype[e]=z[e]})),_.prototype.src=_.prototype.url,_.prototype.thumb=_.prototype.thumbnail;var O={aa:"Afar",ab:"Аҧсуа",af:"Afrikaans",ak:"Akana",als:"Alemannisch",am:"አማርኛ",an:"Aragonés",ang:"Englisc",ar:"العربية",arc:"ܣܘܪܬ",as:"অসমীয়া",ast:"Asturianu",av:"Авар",ay:"Aymar",az:"Azərbaycanca",ba:"Башҡорт",bar:"Boarisch","bat-smg":"Žemaitėška",bcl:"Bikol",be:"Беларуская","be-x-old":"ltr",bg:"Български",bh:"भोजपुरी",bi:"Bislama",bm:"Bamanankan",bn:"বাংলা",bo:"བོད་ཡིག",bpy:"ltr",br:"Brezhoneg",bs:"Bosanski",bug:"ᨅᨔ",bxr:"ltr",ca:"Català",cdo:"Chinese",ce:"Нохчийн",ceb:"Sinugboanong",ch:"Chamoru",cho:"Choctaw",chr:"ᏣᎳᎩ",chy:"Tsetsêhestâhese",co:"Corsu",cr:"Nehiyaw",cs:"Česky",csb:"Kaszëbsczi",cu:"Slavonic",cv:"Чăваш",cy:"Cymraeg",da:"Dansk",de:"Deutsch",diq:"Zazaki",dsb:"ltr",dv:"ދިވެހިބަސް",dz:"ཇོང་ཁ",ee:"Ɛʋɛ",far:"فارسی",el:"Ελληνικά",en:"English",eo:"Esperanto",es:"Español",et:"Eesti",eu:"Euskara",ext:"Estremeñu",ff:"Fulfulde",fi:"Suomi","fiu-vro":"Võro",fj:"Na",fo:"Føroyskt",fr:"Français",frp:"Arpitan",fur:"Furlan",fy:"ltr",ga:"Gaeilge",gan:"ltr",gd:"ltr",gil:"Taetae",gl:"Galego",gn:"Avañe'ẽ",got:"gutisk",gu:"ગુજરાતી",gv:"Gaelg",ha:"هَوُسَ",hak:"ltr",haw:"Hawai`i",he:"עברית",hi:"हिन्दी",ho:"ltr",hr:"Hrvatski",ht:"Krèyol",hu:"Magyar",hy:"Հայերեն",hz:"Otsiherero",ia:"Interlingua",id:"Bahasa",ie:"Interlingue",ig:"Igbo",ii:"ltr",ik:"Iñupiak",ilo:"Ilokano",io:"Ido",is:"Íslenska",it:"Italiano",iu:"ᐃᓄᒃᑎᑐᑦ",ja:"日本語",jbo:"Lojban",jv:"Basa",ka:"ქართული",kg:"KiKongo",ki:"Gĩkũyũ",kj:"Kuanyama",kk:"Қазақша",kl:"Kalaallisut",km:"ភាសាខ្មែរ",kn:"ಕನ್ನಡ",khw:"کھوار",ko:"한국어",kr:"Kanuri",ks:"कश्मीरी",ksh:"Ripoarisch",ku:"Kurdî",kv:"Коми",kw:"Kernewek",ky:"Kırgızca",la:"Latina",lad:"Dzhudezmo",lan:"Leb",lb:"Lëtzebuergesch",lg:"Luganda",li:"Limburgs",lij:"Líguru",lmo:"Lumbaart",ln:"Lingála",lo:"ລາວ",lt:"Lietuvių",lv:"Latviešu","map-bms":"Basa",mg:"Malagasy",man:"官話",mh:"Kajin",mi:"Māori",min:"Minangkabau",mk:"Македонски",ml:"മലയാളം",mn:"Монгол",mo:"Moldovenească",mr:"मराठी",ms:"Bahasa",mt:"bil-Malti",mus:"Muskogee",my:"Myanmasa",na:"Dorerin",nah:"Nahuatl",nap:"Nnapulitano",nd:"ltr",nds:"Plattdüütsch","nds-nl":"Saxon",ne:"नेपाली",new:"नेपालभाषा",ng:"Oshiwambo",nl:"Nederlands",nn:"ltr",no:"Norsk",nr:"ltr",nso:"ltr",nrm:"Nouormand",nv:"Diné",ny:"Chi-Chewa",oc:"Occitan",oj:"ᐊᓂᔑᓈᐯᒧᐎᓐ",om:"Oromoo",or:"ଓଡ଼ିଆ",os:"Иронау",pa:"ਪੰਜਾਬੀ",pag:"Pangasinan",pam:"Kapampangan",pap:"Papiamentu",pdc:"ltr",pi:"Pāli",pih:"Norfuk",pl:"Polski",pms:"Piemontèis",ps:"پښتو",pt:"Português",qu:"Runa",rm:"ltr",rmy:"Romani",rn:"Kirundi",ro:"Română","roa-rup":"Armâneashti",ru:"Русский",rw:"Kinyarwandi",sa:"संस्कृतम्",sc:"Sardu",scn:"Sicilianu",sco:"Scots",sd:"सिनधि",se:"ltr",sg:"Sängö",sh:"Srpskohrvatski",si:"සිංහල",simple:"ltr",sk:"Slovenčina",sl:"Slovenščina",sm:"Gagana",sn:"chiShona",so:"Soomaaliga",sq:"Shqip",sr:"Српски",ss:"SiSwati",st:"ltr",su:"Basa",sv:"Svenska",sw:"Kiswahili",ta:"தமிழ்",te:"తెలుగు",tet:"Tetun",tg:"Тоҷикӣ",th:"ไทย",ti:"ትግርኛ",tk:"Туркмен",tl:"Tagalog",tlh:"tlhIngan-Hol",tn:"Setswana",to:"Lea",tpi:"ltr",tr:"Türkçe",ts:"Xitsonga",tt:"Tatarça",tum:"chiTumbuka",tw:"Twi",ty:"Reo",udm:"Удмурт",ug:"Uyƣurqə",uk:"Українська",ur:"اردو",uz:"Ўзбек",ve:"Tshivenḓa",vi:"Việtnam",vec:"Vèneto",vls:"ltr",vo:"Volapük",wa:"Walon",war:"Winaray",wo:"Wollof",xal:"Хальмг",xh:"isiXhosa",yi:"ייִדיש",yo:"Yorùbá",za:"Cuengh",zh:"中文","zh-classical":"ltr","zh-min-nan":"Bân-lâm-gú","zh-yue":"粵語",zu:"isiZulu"};const E=".wikipedia.org/wiki/$1",q=".wikimedia.org/wiki/$1",N="www.";var S={acronym:N+"acronymfinder.com/$1.html",advisory:"advisory"+q,advogato:N+"advogato.org/$1",aew:"wiki.arabeyes.org/$1",appropedia:N+"appropedia.org/$1",aquariumwiki:N+"theaquariumwiki.com/$1",arborwiki:"localwiki.org/ann-arbor/$1",arxiv:"arxiv.org/abs/$1",atmwiki:N+"otterstedt.de/wiki/index.php/$1",baden:N+"stadtwiki-baden-baden.de/wiki/$1/",battlestarwiki:"en.battlestarwiki.org/wiki/$1",bcnbio:"historiapolitica.bcn.cl/resenas_parlamentarias/wiki/$1",beacha:N+"beachapedia.org/$1",betawiki:"translatewiki.net/wiki/$1",bibcode:"adsabs.harvard.edu/abs/$1",bibliowiki:"wikilivres.org/wiki/$1",bluwiki:"bluwiki.com/go/$1",blw:"britainloves"+E,botwiki:"botwiki.sno.cc/wiki/$1",boxrec:N+"boxrec.com/media/index.php?$1",brickwiki:N+"brickwiki.info/wiki/$1",bugzilla:"bugzilla.wikimedia.org/show_bug.cgi?id=$1",bulba:"bulbapedia.bulbagarden.net/wiki/$1",c:"commons"+q,c2:"c2.com/cgi/wiki?$1",c2find:"c2.com/cgi/wiki?FindPage&value=$1",cache:N+"google.com/search?q=cache:$1","ĉej":"esperanto.blahus.cz/cxej/vikio/index.php/$1",cellwiki:"cell.wikia.com/wiki/$1",centralwikia:"community.wikia.com/wiki/$1",chej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",choralwiki:N+"cpdl.org/wiki/index.php/$1",citizendium:"en.citizendium.org/wiki/$1",ckwiss:N+"ck-wissen.de/ckwiki/index.php?title=$1",comixpedia:N+"comixpedia.org/index.php?title=$1",commons:"commons"+q,communityscheme:"community.schemewiki.org/?c=s&key=$1",communitywiki:"communitywiki.org/$1",comune:"rete.comuni-italiani.it/wiki/$1",creativecommons:"creativecommons.org/licenses/$1",creativecommonswiki:"wiki.creativecommons.org/$1",cxej:"esperanto.blahus.cz/cxej/vikio/index.php/$1",dcc:N+"dccwiki.com/$1",dcdatabase:"dc.wikia.com/$1",dcma:"christian-morgenstern.de/dcma/index.php?title=$1",debian:"wiki.debian.org/$1",delicious:N+"delicious.com/tag/$1",devmo:"developer.mozilla.org/en/docs/$1",dictionary:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",dict:N+"dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",disinfopedia:"sourcewatch.org/index.php/$1",distributedproofreaders:N+"pgdp.net/wiki/$1",distributedproofreadersca:N+"pgdpcanada.net/wiki/index.php/$1",dmoz:"curlie.org/$1",dmozs:"curlie.org/search?q=$1",doi:"doi.org/$1",donate:"donate"+q,doom_wiki:"doom.wikia.com/wiki/$1",download:"releases.wikimedia.org/$1",dbdump:"dumps.wikimedia.org/$1/latest/",dpd:"lema.rae.es/dpd/?key=$1",drae:"dle.rae.es/?w=$1",dreamhost:"wiki.dreamhost.com/index.php/$1",drumcorpswiki:N+"drumcorpswiki.com/index.php/$1",dwjwiki:N+"suberic.net/cgi-bin/dwj/wiki.cgi?$1","eĉei":N+"ikso.net/cgi-bin/wiki.pl?$1",ecoreality:N+"EcoReality.org/wiki/$1",ecxei:N+"ikso.net/cgi-bin/wiki.pl?$1",elibre:"enciclopedia.us.es/index.php/$1",emacswiki:N+"emacswiki.org/emacs?$1",encyc:"encyc.org/wiki/$1",energiewiki:N+"netzwerk-energieberater.de/wiki/index.php/$1",englyphwiki:"en.glyphwiki.org/wiki/$1",enkol:"enkol.pl/$1",eokulturcentro:"esperanto.toulouse.free.fr/nova/wikini/wakka.php?wiki=$1",esolang:"esolangs.org/wiki/$1",etherpad:"etherpad.wikimedia.org/$1",ethnologue:N+"ethnologue.com/language/$1",ethnologuefamily:N+"ethnologue.com/show_family.asp?subid=$1",evowiki:"wiki.cotch.net/index.php/$1",exotica:N+"exotica.org.uk/wiki/$1",fanimutationwiki:"wiki.animutationportal.com/index.php/$1",fedora:"fedoraproject.org/wiki/$1",finalfantasy:"finalfantasy.wikia.com/wiki/$1",finnix:N+"finnix.org/$1",flickruser:N+"flickr.com/people/$1",flickrphoto:N+"flickr.com/photo.gne?id=$1",floralwiki:N+"floralwiki.co.uk/wiki/$1",foldoc:"foldoc.org/$1",foundation:"foundation"+q,foundationsite:"wikimediafoundation.org/$1",foxwiki:"fox.wikis.com/wc.dll?Wiki~$1",freebio:"freebiology.org/wiki/$1",freebsdman:N+"FreeBSD.org/cgi/man.cgi?apropos=1&query=$1",freeculturewiki:"wiki.freeculture.org/index.php/$1",freedomdefined:"freedomdefined.org/$1",freefeel:"freefeel.org/wiki/$1",freekiwiki:"wiki.freegeek.org/index.php/$1",freesoft:"directory.fsf.org/wiki/$1",ganfyd:"ganfyd.org/index.php?title=$1",gardenology:N+"gardenology.org/wiki/$1",gausswiki:"gauss.ffii.org/$1",gentoo:"wiki.gentoo.org/wiki/$1",genwiki:"wiki.genealogy.net/index.php/$1",gerrit:"gerrit.wikimedia.org/r/$1",git:"gerrit.wikimedia.org/g/$1",google:N+"google.com/search?q=$1",googledefine:N+"google.com/search?q=define:$1",googlegroups:"groups.google.com/groups?q=$1",guildwarswiki:"wiki.guildwars.com/wiki/$1",guildwiki:"guildwars.wikia.com/wiki/$1",guc:"tools.wmflabs.org/guc/?user=$1",gucprefix:"tools.wmflabs.org/guc/?isPrefixPattern=1&src=rc&user=$1",gutenberg:N+"gutenberg.org/etext/$1",gutenbergwiki:N+"gutenberg.org/wiki/$1",hackerspaces:"hackerspaces.org/wiki/$1",h2wiki:"halowiki.net/p/$1",hammondwiki:N+"dairiki.org/HammondWiki/index.php3?$1",hdl:"hdl.handle.net/$1",heraldik:"heraldik-wiki.de/wiki/$1",heroeswiki:"heroeswiki.com/$1",horizonlabs:"horizon.wikimedia.org/$1",hrwiki:N+"hrwiki.org/index.php/$1",hrfwiki:"fanstuff.hrwiki.org/index.php/$1",hupwiki:"wiki.hup.hu/index.php/$1",iarchive:"archive.org/details/$1",imdbname:N+"imdb.com/name/nm$1/",imdbtitle:N+"imdb.com/title/tt$1/",imdbcompany:N+"imdb.com/company/co$1/",imdbcharacter:N+"imdb.com/character/ch$1/",incubator:"incubator"+q,infosecpedia:"infosecpedia.org/wiki/$1",infosphere:"theinfosphere.org/$1","iso639-3":"iso639-3.sil.org/code/$1",issn:N+"worldcat.org/issn/$1",iuridictum:"iuridictum.pecina.cz/w/$1",jaglyphwiki:"glyphwiki.org/wiki/$1",jefo:"esperanto-jeunes.org/wiki/$1",jerseydatabase:"jerseydatabase.com/wiki.php?id=$1",jira:"jira.toolserver.org/browse/$1",jspwiki:N+"ecyrd.com/JSPWiki/Wiki.jsp?page=$1",jstor:N+"jstor.org/journals/$1",kamelo:"kamelopedia.mormo.org/index.php/$1",karlsruhe:"ka.stadtwiki.net/$1",kinowiki:"kino.skripov.com/index.php/$1",komicawiki:"wiki.komica.org/?$1",kontuwiki:"kontu.wiki/$1",wikitech:"wikitech"+q,libreplanet:"libreplanet.org/wiki/$1",linguistlist:"linguistlist.org/forms/langs/LLDescription.cfm?code=$1",linuxwiki:N+"linuxwiki.de/$1",linuxwikide:N+"linuxwiki.de/$1",liswiki:"liswiki.org/wiki/$1",literateprograms:"en.literateprograms.org/$1",livepedia:N+"livepedia.gr/index.php?title=$1",localwiki:"localwiki.org/$1",lojban:"mw.lojban.org/papri/$1",lostpedia:"lostpedia.wikia.com/wiki/$1",lqwiki:"wiki.linuxquestions.org/wiki/$1",luxo:"tools.wmflabs.org/guc/?user=$1",mail:"lists.wikimedia.org/mailman/listinfo/$1",mailarchive:"lists.wikimedia.org/pipermail/$1",mariowiki:N+"mariowiki.com/$1",marveldatabase:N+"marveldatabase.com/wiki/index.php/$1",meatball:"meatballwiki.org/wiki/$1",mw:N+"mediawiki.org/wiki/$1",mediazilla:"bugzilla.wikimedia.org/$1",memoryalpha:"memory-alpha.fandom.com/wiki/$1",metawiki:"meta"+q,metawikimedia:"meta"+q,metawikipedia:"meta"+q,mineralienatlas:N+"mineralienatlas.de/lexikon/index.php/$1",moinmoin:"moinmo.in/$1",monstropedia:N+"monstropedia.org/?title=$1",mosapedia:"mosapedia.de/wiki/index.php/$1",mozcom:"mozilla.wikia.com/wiki/$1",mozillawiki:"wiki.mozilla.org/$1",mozillazinekb:"kb.mozillazine.org/$1",musicbrainz:"musicbrainz.org/doc/$1",mediawikiwiki:N+"mediawiki.org/wiki/$1",mwod:N+"merriam-webster.com/dictionary/$1",mwot:N+"merriam-webster.com/thesaurus/$1",nkcells:N+"nkcells.info/index.php?title=$1",nara:"catalog.archives.gov/id/$1",nosmoke:"no-smok.net/nsmk/$1",nost:"nostalgia"+E,nostalgia:"nostalgia"+E,oeis:"oeis.org/$1",oldwikisource:"wikisource.org/wiki/$1",olpc:"wiki.laptop.org/go/$1",omegawiki:N+"omegawiki.org/Expression:$1",onelook:N+"onelook.com/?ls=b&w=$1",openlibrary:"openlibrary.org/$1",openstreetmap:"wiki.openstreetmap.org/wiki/$1",openwetware:"openwetware.org/wiki/$1",opera7wiki:"operawiki.info/$1",organicdesign:N+"organicdesign.co.nz/$1",orthodoxwiki:"orthodoxwiki.org/$1",osmwiki:"wiki.openstreetmap.org/wiki/$1",otrs:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketID=$1",otrswiki:"otrs-wiki"+q,ourmedia:N+"socialtext.net/ourmedia/index.cgi?$1",outreach:"outreach"+q,outreachwiki:"outreach"+q,owasp:N+"owasp.org/index.php/$1",panawiki:"wiki.alairelibre.net/index.php?title=$1",patwiki:"gauss.ffii.org/$1",personaltelco:"personaltelco.net/wiki/$1",petscan:"petscan.wmflabs.org/?psid=$1",phab:"phabricator.wikimedia.org/$1",phabricator:"phabricator.wikimedia.org/$1",phwiki:N+"pocketheaven.com/ph/wiki/index.php?title=$1",phpwiki:"phpwiki.sourceforge.net/phpwiki/index.php?$1",planetmath:"planetmath.org/node/$1",pmeg:N+"bertilow.com/pmeg/$1",pmid:N+"ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract",pokewiki:"pokewiki.de/$1","pokéwiki":"pokewiki.de/$1",policy:"policy.wikimedia.org/$1",proofwiki:N+"proofwiki.org/wiki/$1",pyrev:N+"mediawiki.org/wiki/Special:Code/pywikipedia/$1",pythoninfo:"wiki.python.org/moin/$1",pythonwiki:N+"pythonwiki.de/$1",pywiki:"c2.com/cgi/wiki?$1",psycle:"psycle.sourceforge.net/wiki/$1",quality:"quality"+q,quarry:"quarry.wmflabs.org/$1",regiowiki:"regiowiki.at/wiki/$1",rev:N+"mediawiki.org/wiki/Special:Code/MediaWiki/$1",revo:"purl.org/NET/voko/revo/art/$1.html",rfc:"tools.ietf.org/html/rfc$1",rheinneckar:"rhein-neckar-wiki.de/$1",robowiki:"robowiki.net/?$1",rodovid:"en.rodovid.org/wk/$1",reuterswiki:"glossary.reuters.com/index.php/$1",rowiki:"wiki.rennkuckuck.de/index.php/$1",rt:"rt.wikimedia.org/Ticket/Display.html?id=$1",s23wiki:"s23.org/wiki/$1",scholar:"scholar.google.com/scholar?q=$1",schoolswp:"schools-"+E,scores:"imslp.org/wiki/$1",scoutwiki:"en.scoutwiki.org/$1",scramble:N+"scramble.nl/wiki/index.php?title=$1",seapig:N+"seapig.org/$1",seattlewiki:"seattle.wikia.com/wiki/$1",slwiki:"wiki.secondlife.com/wiki/$1","semantic-mw":N+"semantic-mediawiki.org/wiki/$1",senseislibrary:"senseis.xmp.net/?$1",sharemap:"sharemap.org/$1",silcode:N+"sil.org/iso639-3/documentation.asp?id=$1",slashdot:"slashdot.org/article.pl?sid=$1",sourceforge:"sourceforge.net/$1",spcom:"spcom"+q,species:"species"+q,squeak:"wiki.squeak.org/squeak/$1",stats:"stats.wikimedia.org/$1",stewardry:"tools.wmflabs.org/meta/stewardry/?wiki=$1",strategy:"strategy"+q,strategywiki:"strategywiki.org/wiki/$1",sulutil:"meta.wikimedia.org/wiki/Special:CentralAuth/$1",swtrain:"train.spottingworld.com/$1",svn:"svn.wikimedia.org/viewvc/mediawiki/$1?view=log",swinbrain:"swinbrain.ict.swin.edu.au/wiki/$1",tabwiki:N+"tabwiki.com/index.php/$1",tclerswiki:"wiki.tcl.tk/$1",technorati:N+"technorati.com/search/$1",tenwiki:"ten"+E,testwiki:"test"+E,testwikidata:"test.wikidata.org/wiki/$1",test2wiki:"test2"+E,tfwiki:"tfwiki.net/wiki/$1",thelemapedia:N+"thelemapedia.org/index.php/$1",theopedia:N+"theopedia.com/$1",thinkwiki:N+"thinkwiki.org/wiki/$1",ticket:"ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketNumber=$1",tmbw:"tmbw.net/wiki/$1",tmnet:N+"technomanifestos.net/?$1",tmwiki:N+"EasyTopicMaps.com/?page=$1",toolforge:"tools.wmflabs.org/$1",toollabs:"tools.wmflabs.org/$1",tools:"toolserver.org/$1",tswiki:N+"mediawiki.org/wiki/Toolserver:$1",translatewiki:"translatewiki.net/wiki/$1",tviv:"tviv.org/wiki/$1",tvtropes:N+"tvtropes.org/pmwiki/pmwiki.php/Main/$1",twiki:"twiki.org/cgi-bin/view/$1",tyvawiki:N+"tyvawiki.org/wiki/$1",umap:"umap.openstreetmap.fr/$1",uncyclopedia:"en.uncyclopedia.co/wiki/$1",unihan:N+"unicode.org/cgi-bin/GetUnihanData.pl?codepoint=$1",unreal:"wiki.beyondunreal.com/wiki/$1",urbandict:N+"urbandictionary.com/define.php?term=$1",usej:N+"tejo.org/usej/$1",usemod:N+"usemod.com/cgi-bin/wiki.pl?$1",usability:"usability"+q,utrs:"utrs.wmflabs.org/appeal.php?id=$1",vikidia:"fr.vikidia.org/wiki/$1",vlos:"tusach.thuvienkhoahoc.com/wiki/$1",vkol:"kol.coldfront.net/thekolwiki/index.php/$1",voipinfo:N+"voip-info.org/wiki/view/$1",votewiki:"vote"+q,werelate:N+"werelate.org/wiki/$1",wg:"wg-en"+E,wikia:N+"wikia.com/wiki/w:c:$1",wikiasite:N+"wikia.com/wiki/w:c:$1",wikiapiary:"wikiapiary.com/wiki/$1",wikibooks:"en.wikibooks.org/wiki/$1",wikichristian:N+"wikichristian.org/index.php?title=$1",wikicities:N+"wikia.com/wiki/w:$1",wikicity:N+"wikia.com/wiki/w:c:$1",wikiconference:"wikiconference.org/wiki/$1",wikidata:N+"wikidata.org/wiki/$1",wikif1:N+"wikif1.org/$1",wikifur:"en.wikifur.com/wiki/$1",wikihow:N+"wikihow.com/$1",wikiindex:"wikiindex.org/$1",wikilemon:"wiki.illemonati.com/$1",wikilivres:"wikilivres.org/wiki/$1",wikilivresru:"wikilivres.ru/$1","wikimac-de":"apfelwiki.de/wiki/Main/$1",wikimedia:"foundation"+q,wikinews:"en.wikinews.org/wiki/$1",wikinfo:"wikinfo.org/w/index.php/$1",wikinvest:"meta.wikimedia.org/wiki/Interwiki_map/discontinued#Wikinvest",wikiotics:"wikiotics.org/$1",wikipapers:"wikipapers.referata.com/wiki/$1",wikipedia:"en"+E,wikipediawikipedia:"en.wikipedia.org/wiki/Wikipedia:$1",wikiquote:"en.wikiquote.org/wiki/$1",wikisophia:"wikisophia.org/index.php?title=$1",wikisource:"en.wikisource.org/wiki/$1",wikispecies:"species"+q,wikispot:"wikispot.org/?action=gotowikipage&v=$1",wikiskripta:N+"wikiskripta.eu/index.php/$1",labsconsole:"wikitech"+q,wikiti:"wikiti.denglend.net/index.php?title=$1",wikiversity:"en.wikiversity.org/wiki/$1",wikivoyage:"en.wikivoyage.org/wiki/$1",betawikiversity:"beta.wikiversity.org/wiki/$1",wikiwikiweb:"c2.com/cgi/wiki?$1",wiktionary:"en.wiktionary.org/wiki/$1",wipipedia:"wipipedia.org/index.php/$1",wlug:N+"wlug.org.nz/$1",wmam:"am"+q,wmar:N+"wikimedia.org.ar/wiki/$1",wmat:"mitglieder.wikimedia.at/$1",wmau:"wikimedia.org.au/wiki/$1",wmbd:"bd"+q,wmbe:"be"+q,wmbr:"br"+q,wmca:"ca"+q,wmch:N+"wikimedia.ch/$1",wmcl:N+"wikimediachile.cl/index.php?title=$1",wmcn:"cn"+q,wmco:"co"+q,wmcz:N+"wikimedia.cz/web/$1",wmdc:"wikimediadc.org/wiki/$1",securewikidc:"secure.wikidc.org/$1",wmde:"wikimedia.de/wiki/$1",wmdk:"dk"+q,wmee:"ee"+q,wmec:"ec"+q,wmes:N+"wikimedia.es/wiki/$1",wmet:"ee"+q,wmfdashboard:"outreachdashboard.wmflabs.org/$1",wmfi:"fi"+q,wmfr:"wikimedia.fr/$1",wmge:"ge"+q,wmhi:"hi"+q,wmhk:"meta.wikimedia.org/wiki/Wikimedia_Hong_Kong",wmhu:"wikimedia.hu/wiki/$1",wmid:"id"+q,wmil:N+"wikimedia.org.il/$1",wmin:"wiki.wikimedia.in/$1",wmit:"wiki.wikimedia.it/wiki/$1",wmke:"meta.wikimedia.org/wiki/Wikimedia_Kenya",wmmk:"mk"+q,wmmx:"mx"+q,wmnl:"nl"+q,wmnyc:"nyc"+q,wmno:"no"+q,"wmpa-us":"pa-us"+q,wmph:"meta.wikimedia.org/wiki/Wikimedia_Philippines",wmpl:"pl"+q,wmpt:"pt"+q,wmpunjabi:"punjabi"+q,wmromd:"romd"+q,wmrs:"rs"+q,wmru:"ru"+q,wmse:"se"+q,wmsk:"wikimedia.sk/$1",wmtr:"tr"+q,wmtw:"wikimedia.tw/wiki/index.php5/$1",wmua:"ua"+q,wmuk:"wikimedia.org.uk/wiki/$1",wmve:"wikimedia.org.ve/wiki/$1",wmza:"wikimedia.org.za/wiki/$1",wm2005:"wikimania2005"+q,wm2006:"wikimania2006"+q,wm2007:"wikimania2007"+q,wm2008:"wikimania2008"+q,wm2009:"wikimania2009"+q,wm2010:"wikimania2010"+q,wm2011:"wikimania2011"+q,wm2012:"wikimania2012"+q,wm2013:"wikimania2013"+q,wm2014:"wikimania2014"+q,wm2015:"wikimania2015"+q,wm2016:"wikimania2016"+q,wm2017:"wikimania2017"+q,wm2018:"wikimania2018"+q,wmania:"wikimania"+q,wikimania:"wikimania"+q,wmteam:"wikimaniateam"+q,wmf:"foundation"+q,wmfblog:"blog.wikimedia.org/$1",wmdeblog:"blog.wikimedia.de/$1",wookieepedia:"starwars.wikia.com/wiki/$1",wowwiki:N+"wowwiki.com/$1",wqy:"wqy.sourceforge.net/cgi-bin/index.cgi?$1",wurmpedia:"wurmpedia.com/index.php/$1",viaf:"viaf.org/viaf/$1",zrhwiki:N+"zrhwiki.ch/wiki/$1",zum:"wiki.zum.de/$1",zwiki:N+"zwiki.org/$1",m:"meta"+q,meta:"meta"+q,sep11:"sep11"+E,d:N+"wikidata.org/wiki/$1",minnan:"zh-min-nan"+E,nb:"no"+E,"zh-cfr":"zh-min-nan"+E,"zh-cn":"zh"+E,"zh-tw":"zh"+E,nan:"zh-min-nan"+E,vro:"fiu-vro"+E,cmn:"zh"+E,lzh:"zh-classical"+E,rup:"roa-rup"+E,gsw:"als"+E,"be-tarask":"be-x-old"+E,sgs:"bat-smg"+E,egl:"eml"+E,w:"en"+E,wikt:"en.wiktionary.org/wiki/$1",q:"en.wikiquote.org/wiki/$1",b:"en.wikibooks.org/wiki/$1",n:"en.wikinews.org/wiki/$1",s:"en.wikisource.org/wiki/$1",chapter:"en"+q,v:"en.wikiversity.org/wiki/$1",voy:"en.wikivoyage.org/wiki/$1"};Object.keys(O).forEach((e=>{S[e]=e+".wikipedia.org/wiki/$1"}));const C=/^(category|catégorie|kategorie|categoría|categoria|categorie|kategoria|تصنيف|image|file|fichier|datei|media):/i,L=/\[(https?|news|ftp|mailto|gopher|irc)(:\/\/[^\]| ]{4,1500})([| ].*?)?\]/g,A=/\[\[(.{0,1600}?)\]\]([a-z]+)?/gi,D=function(e,t){return t.replace(A,(function(t,i,a){let n=null,r=i;if(i.match(/\|/)&&(r=(i=i.replace(/\[\[(.{2,1000}?)\]\](\w{0,10})/g,"$1$2")).replace(/(.{2,1000})\|.{0,2000}/,"$1"),n=i.replace(/.{2,1000}?\|/,""),null===n&&r.match(/\|$/)&&(r=r.replace(/\|$/,""),n=r)),r.match(C))return i;let o={page:r,raw:t};return o.page=o.page.replace(/#(.*)/,((e,t)=>(o.anchor=t,""))),o=function(e){let t=e.page||"";if(-1!==t.indexOf(":")){let i=t.match(/^(.*):(.*)/);if(null===i)return e;let a=i[1]||"";if(a=a.toLowerCase(),-1!==a.indexOf(":")){let[,t,i]=a.match(/^:?(.*):(.*)/);if(!1===S.hasOwnProperty(t)||!1===O.hasOwnProperty(i))return e;e.wiki={wiki:t,lang:i}}else{if(!1===S.hasOwnProperty(a))return e;e.wiki=a}e.page=i[2]}return e}(o),o.wiki&&(o.type="interwiki"),null!==n&&n!==o.page&&(o.text=n),a&&(o.text=o.text||o.page,o.text+=a.trim()),o.page&&!1===/^[A-Z]/.test(o.page)&&(o.text||(o.text=o.page),o.page=o.page),o.text&&o.text.startsWith(":")&&(o.text=o.text.replace(/^:/,"")),e.push(o),i})),e},P=function(e){let t=[];if(t=function(e,t){return t.replace(L,(function(t,i,a,n){return n=n||"",e.push({type:"external",site:i+a,text:n.trim(),raw:t}),n})),e}(t,e),t=D(t,e),0!==t.length)return t},T=new RegExp("^[ \n\t]*?#("+["aanstuur","adkas","alih","aýdaw","beralîkirin","doorverwijzing","lencong","ohjaus","patrz","přesměruj","preusmjeri","redireccion","redirección","redirecionamento","redirect","redirection","rinvia","tilvísun","uudelleenohjaus","weiterleitung","weiterleitung","yönlendi̇r","yönlendirme","yönlendi̇rme","ανακατευθυνση","айдау","перанакіраваньне","перенаправление","перенаправлення","пренасочување","преусмери","преусмјери","ווייטערפירן","تحويل","تغییر_مسیر","تغییرمسیر","رجوع مکرر","رجوع_مکرر","अनुप्रेषित","पुनर्निर्देशन","পুননির্দেশ","เปลี่ยนทาง","ប្តូរទីតាំងទៅ","リダイレクト","転送","重定向"].join("|")+") *?(\\[\\[.{2,180}?\\]\\])","i"),I=["table","code","score","data","categorytree","charinsert","hiero","imagemap","inputbox","references","source","syntaxhighlight","timeline","maplink"],M=`< ?(${I.join("|")}) ?[^>]{0,200}?>`,R=`< ?/ ?(${I.join("|")}) ?>`,F=new RegExp(`${M}[\\s\\S]+?${R}`,"gi");function U(e){return e=(e=(e=function(e){return(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(F," ")).replace(/ ?< ?(span|div|table|data) [a-zA-Z0-9=%.\-#:;'" ]{2,100}\/? ?> ?/g," ")).replace(/ ?< ?(ref) [a-zA-Z0-9=" ]{2,100}\/ ?> ?/g," ")).replace(/(.*?)<\/i>/g,"''$1''")).replace(/(.*?)<\/b>/g,"'''$1'''")).replace(/(.*?)<\/sub>/g,"{{sub|$1}}")).replace(/(.*?)<\/sup>/g,"{{sup|$1}}")).replace(/
(.*?)<\/blockquote>/g,"{{blockquote|text=$1}}")).replace(/ ?<[ /]?(p|sub|sup|span|nowiki|div|table|br|tr|td|th|pre|pre2|hr|u)[ /]?> ?/g," ")).replace(/ ?<[ /]?(abbr|bdi|bdo|cite|del|dfn|em|ins|kbd|mark|q|s|small)[ /]?> ?/g," ")).replace(/ ?<[ /]?h[0-9][ /]?> ?/g," ")).replace(/ ?< ?br ?\/> ?/g,"\n")).trim()}(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(//g,"")).replace(/__(NOTOC|NOEDITSECTION|FORCETOC|TOC)__/gi,"")).replace(/~{2,3}/g,"")).replace(/\r/g,"")).replace(/\u3002/g,". ")).replace(/----/g,"")).replace(/\{\{\}\}/g," – ")).replace(/\{\{\\\}\}/g," / ")).replace(/ /g," ")).replace(/–/g,"–"))).replace(/\([,;: ]+\)/g,"")).replace(/\{\{(baseball|basketball) (primary|secondary) (style|color).*?\}\}/i,"")}const B=/[\\.$]/,K=function(e){return"string"!=typeof e&&(e=""),e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/^\$/,"\\u0024")).replace(/\./g,"\\u002e")},W=function(e={}){let t=Object.keys(e);for(let i=0;i{G.prototype[e]=Z[e]}));const V=/^[0-9,.]+$/,J={text:!0,links:!0,formatting:!0,numbers:!0},X=function(e={}){Object.defineProperty(this,"data",{enumerable:!1,value:e})},Q={links:function(e){let t=this.data.links||[];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page===e));return void 0===i?[]:[i]}return t},interwiki:function(){return this.links().filter((e=>void 0!==e.wiki))},bolds:function(){return this.data&&this.data.fmt&&this.data.fmt.bold&&this.data.fmt.bold||[]},italics:function(){return this.data&&this.data.fmt&&this.data.fmt.italic&&this.data.fmt.italic||[]},text:function(e){return void 0!==e&&"string"==typeof e&&(this.data.text=e),this.data.text||""},json:function(e){return function(e,t){t=d(t,J);let i={},a=e.text();if(!0===t.text&&(i.text=a),!0===t.numbers&&V.test(a)){let e=Number(a.replace(/,/g,""));!1===isNaN(e)&&(i.number=e)}return t.links&&e.links().length>0&&(i.links=e.links().map((e=>e.json()))),t.formatting&&e.data.fmt&&(i.formatting=e.data.fmt),i}(this,e)},wikitext:function(){return this.data.wiki||""},isEmpty:function(){return""===this.data.text}};Object.keys(Q).forEach((e=>{X.prototype[e]=Q[e]}));const ee={links:"link",bolds:"bold",italics:"italic"};Object.keys(ee).forEach((e=>{X.prototype[ee[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}})),X.prototype.plaintext=X.prototype.text;const te=["ad","adj","adm","adv","al","alta","approx","apr","apt","arc","ariz","assn","asst","atty","aug","ave","ba","bc","bl","bldg","blvd","brig","bros","ca","cal","calif","capt","cca","cg","cl","cm","cmdr","co","col","colo","comdr","conn","corp","cpl","cres","ct","cyn","dak","dec","def","dept","det","dg","dist","dl","dm","dr","ea","eg","eng","esp","esq","est","etc","ex","exp","feb","fem","fig","fl oz","fl","fla","fm","fr","ft","fy","ga","gal","gb","gen","gov","hg","hon","hr","hrs","hwy","hz","ia","ida","ie","inc","inf","jan","jd","jr","jul","jun","kan","kans","kb","kg","km","kmph","lat","lb","lit","llb","lm","lng","lt","ltd","lx","ma","maj","mar","masc","mb","md","messrs","mg","mi","min","minn","misc","mister","ml","mlle","mm","mme","mph","mps","mr","mrs","ms","mstr","mt","neb","nebr","nee","no","nov","oct","okla","ont","op","ord","oz","pa","pd","penn","penna","phd","pl","pp","pref","prob","prof","pron","ps","psa","pseud","pt","pvt","qt","que","rb","rd","rep","reps","res","rev","sask","sec","sen","sens","sep","sept","sfc","sgt","sir","situ","sq ft","sq","sr","ss","st","supt","surg","tb","tbl","tbsp","tce","td","tel","temp","tenn","tex","tsp","univ","usafa","ut","va","vb","ver","vet","vitro","vivo","vol","vs","vt","wis","wisc","wr","wy","wyo","yb","µg"].concat("[^]][^]]"),ie=new RegExp("(^| |')("+te.join("|")+")[.!?] ?$","i"),ae=/[ .'][A-Z].? *$/i,ne=/\.{3,} +$/,re=/ c\.\s$/,oe=/\p{Letter}/iu;function se(e){let t={wiki:e,text:e};return function(e){let t=e.text,i=P(t)||[];e.links=i.map((e=>(t=t.replace(e.raw,e.text||e.page||""),new G(e)))),t=t.replace(/\[\[File:(.{2,80}?)\|([^\]]+)\]\](\w{0,5})/g,"$1"),e.text=t}(t),t.text=r(t.text.replace(/\([,;: ]*\)/g,"").replace(/\( *(; ?)+/g,"(")).replace(/ +\.$/,"."),t=function(e){let t=[],i=[],a=e.text||"";return a=a.replace(/'''''(.{0,2500}?)'''''/g,((e,a)=>(t.push(a),i.push(a),a))),a=a.replace(/''''(.{0,2500}?)''''/g,((e,i)=>(t.push(`'${i}'`),`'${i}'`))),a=a.replace(/'''(.{0,2500}?)'''/g,((e,i)=>(t.push(i),i))),a=a.replace(/''(.{0,2500}?)''/g,((e,t)=>(i.push(t),t))),e.text=a,t.length>0&&(e.fmt=e.fmt||{},e.fmt.bold=t),i.length>0&&(e.fmt=e.fmt||{},e.fmt.italic=i),e}(t),new X(t)}const le=function(e){let t=function(e){let t=[],i=[];if(!e||"string"!=typeof e||0===e.trim().length)return t;let a=function(e){let t=e.split(/(\n+)/);return t=t.filter((e=>e.match(/\S/))),t=t.map((function(e){return e.split(/(\S.+?[.!?]"?)(?=\s|$)/g)})),function(e){let t=[];return e.forEach((function(e){t=t.concat(e)})),t}(t)}(e);for(let e=0;ei.length)return!1;const a=e.match(/"/g);if(a&&a.length%2!=0&&e.length<900)return!1;const n=e.match(/[()]/g);return!(n&&n.length%2!=0&&e.length<900)}(n))?/^\s/.test(i[e+1])||/\s$/.test(i[e])?i[e+1]=i[e]+i[e+1]:i[e+1]=i[e]+" "+i[e+1]:i[e]&&i[e].length>0&&(t.push(i[e]),i[e]="");var n;return 0===t.length?[e]:t}(e.wiki);t=t.map(se),t[0]&&t[0].text()&&":"===t[0].text()[0]&&(t=t.slice(1)),e.sentences=t},ce=/.*rowspan *= *["']?([0-9]+)["']?[ |]*/,ue=/.*colspan *= *["']?([0-9]+)["']?[ |]*/,me=function(e){return e=function(e){return e.forEach(((t,i)=>{t.forEach(((a,n)=>{let r=a.match(ce);if(null!==r){let o=parseInt(r[1],10);a=a.replace(ce,""),t[n]=a;for(let t=i+1;t{e.forEach(((t,i)=>{let a=t.match(ue);if(null!==a){let n=parseInt(a[1],10);e[i]=t.replace(ue,"");for(let t=1;te.length>0))}(e))},de=/^!/,pe={name:!0,age:!0,born:!0,date:!0,year:!0,city:!0,country:!0,population:!0,count:!0,number:!0},he=function(e){return(e=se(e).text()).match(/\|/)&&(e=e.replace(/.*?\| ?/,"")),e=(e=(e=e.replace(/style=['"].*?["']/,"")).replace(/^!/,"")).trim()},ge=function(e){if(e.length<=3)return[];let t=e[0].slice(0);t=t.map((e=>(e=se(e=e.replace(/^! */,"")).text(),e=(e=he(e)).toLowerCase())));for(let i=0;ie&&!0!==/^\|\+/.test(e))),!0===/^\{\|/.test(e[0])&&e.shift(),!0===/^\|\}/.test(e[e.length-1])&&e.pop(),!0===/^\|-/.test(e[0])&&e.shift(),e}(e);for(let a=0;a0&&(t.push(i),i=[]);else{let e=n.charAt(0);"|"!==e&&"!"!==e||(n=n.substring(1)),n=n.split(/(?:\|\||!!)/),"!"===e&&(n[0]=e+n[0]),n.forEach((e=>{e=e.trim(),i.push(e)}))}}return i.length>0&&t.push(i),t}(e.replace(/\r/g,"").replace(/\n(\s*[^|!{\s])/g," $1").split(/\n/).map((e=>e.trim())));if(t=t.filter((e=>e)),0===t.length)return[];t=function(e){return e.filter((e=>1!==e.length||!e[0]||!de.test(e[0])||!1!==/rowspan/i.test(e[0])))}(t),t=me(t);let i=function(e=[]){let t=[];var i;(i=(i=e[0])||[]).length-i.filter((e=>e)).length>3&&e.shift();let a=e[0];return a&&a[0]&&a[1]&&(/^!/.test(a[0])||/^!/.test(a[1]))&&(t=a.map((e=>(e=e.replace(/^! */,""),he(e)))),e.shift()),a=e[0],a&&a[0]&&a[1]&&/^!/.test(a[0])&&/^!/.test(a[1])&&(a.forEach(((e,i)=>{e=e.replace(/^! */,""),e=he(e),!0===Boolean(e)&&(t[i]=e)})),e.shift()),t}(t);if(!i||i.length<=1){i=ge(t);let e=t[t.length-1]||[];i.length<=1&&e.length>2&&(i=ge(t.slice(1)),i.length>0&&(t=t.slice(2)))}let a=t.map((e=>function(e,t){let i={};return e.forEach(((e,a)=>{let n=t[a]||"col"+(a+1),r=se(e);r.text(he(r.text())),i[n]=r})),i}(e,i)));return a},fe={},ke=function(e=""){return e=(e=(e=(e=e.toLowerCase()).replace(/[_-]/g," ")).replace(/\(.*?\)/,"")).trim()},we=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_wiki",{enumerable:!1,value:t})},ye={links(e){let t=[];if(this.data.forEach((e=>{Object.keys(e).forEach((i=>{t=t.concat(e[i].links())}))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},get(e){let t=this.data[0]||{},i=Object.keys(t).reduce(((e,t)=>(e[ke(t)]=t,e)),{});if("string"==typeof e){let t=ke(e);return t=i[t]||t,this.data.map((e=>e[t]?e[t].text():null))}return e=e.map(ke).map((e=>i[e]||e)),this.data.map((t=>e.reduce(((e,i)=>(t[i]?e[i]=t[i].text():e[i]="",e)),{})))},keyValue(e){let t=this.json(e);return t.forEach((e=>{Object.keys(e).forEach((t=>{e[t]=e[t].text}))})),t},json(e){return e=d(e,fe),function(e,t){return e.map((e=>{let i={};return Object.keys(e).forEach((t=>{i[t]=e[t].json()})),!0===t.encode&&(i=W(i)),i}))}(this.data,e)},text:()=>"",wikitext(){return this._wiki||""}};ye.keyvalue=ye.keyValue,ye.keyval=ye.keyValue,Object.keys(ye).forEach((e=>{we.prototype[e]=ye[e]}));const $e=/^\s*\{\|/,xe=/^\s*\|\}/,ve={sentences:!0},je={sentences:!0,lists:!0,images:!0},_e=function(e){Object.defineProperty(this,"data",{enumerable:!1,value:e})},ze={sentences:function(){return this.data.sentences||[]},references:function(){return this.data.references},lists:function(){return this.data.lists},images(){return this.data.images||[]},links:function(e){let t=[];if(this.sentences().forEach((i=>{t=t.concat(i.links(e))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},interwiki(){let e=[];return this.sentences().forEach((t=>{e=e.concat(t.interwiki())})),e||[]},text:function(e){e=d(e,je);let t=this.sentences().map((t=>t.text(e))).join(" ");return this.lists().forEach((e=>{t+="\n"+e.text()})),t},json:function(e){return function(e,t){let i={};return!0===(t=d(t,ve)).sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=d(e,je))},wikitext:function(){return this.data.wiki}};ze.citations=ze.references,Object.keys(ze).forEach((e=>{_e.prototype[e]=ze[e]}));const Oe={sentences:"sentence",references:"reference",citations:"citation",lists:"list",images:"image",links:"link"};Object.keys(Oe).forEach((e=>{_e.prototype[Oe[e]]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]}}));const Ee=function(e){return e=(e=e.replace(/^\{\{/,"")).replace(/\}\}$/,"")},qe=function(e){return e=(e=(e=(e||"").trim()).toLowerCase()).replace(/_/g," ")},Ne=/^[\p{Letter}0-9._/\- '()\t]+=/iu,Se={template:!0,list:!0,prototype:!0},Ce=function(e,t){let i=0;return e.reduce(((e,a="")=>{if(a=a.trim(),!0===Ne.test(a)){let t=function(e){let t=e.split("="),i=t[0]||"";i=i.toLowerCase().trim();let a=t.slice(1).join("=");return Se.hasOwnProperty(i)&&(i="_"+i),{key:i,val:a.trim()}}(a);if(t.key)return e[t.key]&&!t.val||(e[t.key]=t.val),e}if(t&&t[i]){e[t[i]]=a}else e.list=e.list||[],e.list.push(a);return i+=1,e}),{})},Le={classname:!0,style:!0,align:!0,margin:!0,left:!0,break:!0,boxsize:!0,framestyle:!0,item_style:!0,collapsible:!0,list_style_type:!0,"list-style-type":!0,colwidth:!0},Ae=function(e,t){let i=se(e);return"json"===t?i.json():"raw"===t?i:i.text()},De=function(e,t=[],i){let a=function(e){let t=e.split(/\n?\|/);t.forEach(((e,i)=>{null!==e&&(/\[\[[^\]]+$/.test(e)||/\{\{[^}]+$/.test(e)||e.split("{{").length!==e.split("}}").length||e.split("[[").length!==e.split("]]").length)&&(t[i+1]=t[i]+"|"+t[i+1],t[i]=null)})),t=t.filter((e=>null!==e)),t=t.map((e=>(e||"").trim()));for(let e=t.length-1;e>=0;e-=1){""===t[e]&&t.pop();break}return t}(e=Ee(e||"")),n=a.shift(),r=Ce(a,t);return r=function(e){return Object.keys(e).forEach((t=>{!0===Le[t.toLowerCase()]&&delete e[t],null!==e[t]&&""!==e[t]||delete e[t]})),e}(r),r[1]&&t[0]&&!1===r.hasOwnProperty(t[0])&&(r[t[0]]=r[1],delete r[1]),Object.keys(r).forEach((e=>{r[e]="list"!==e?Ae(r[e],i):r[e].map((e=>Ae(e,i)))})),n&&(r.template=qe(n)),r};const Pe=new RegExp("("+g.join("|")+"):","i");let Te=`(${g.join("|")})`;const Ie=new RegExp(Te+":(.+?)[\\||\\]]","iu"),Me=/^\[\[:/,Re={thumb:!0,thumbnail:!0,border:!0,right:!0,left:!0,center:!0,top:!0,bottom:!0,none:!0,upright:!0,baseline:!0,middle:!0,sub:!0,super:!0},Fe=function(e,t){let i=e.wiki,a=function(e){let t=[],i=[];const a=e.split("");let n=0;for(let r=0;r0){let e=0,a=0;for(let t=0;ta&&i.push("]"),t.push(i.join("")),i=[]}}return t}(i);a.forEach((function(a){if(!0===Pe.test(a)){e.images=e.images||[];let n=function(e,t){let i=e.match(Ie);if(null===i||!i[2])return null;if(Me.test(e))return null;let a=`${i[1]}:${i[2]||""}`;if(a){let i={file:a,lang:t._lang,domain:t._domain,wiki:e,pluginData:{}};e=(e=e.replace(/^\[\[/,"")).replace(/\]\]$/,"");let n=De(e),r=n.list||[];return n.alt&&(i.alt=n.alt),r=r.filter((e=>!1===Re.hasOwnProperty(e))),r[r.length-1]&&(i.caption=se(r[r.length-1])),new _(i)}return null}(a,t);n&&(e.images.push(n),i=i.replace(a,""))}})),e.wiki=i},Ue={},Be=function(e,t=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},Ke={lines(){return this.data},links(e){let t=[];if(this.lines().forEach((e=>{t=t.concat(e.links())})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},json(e){return e=d(e,Ue),this.lines().map((t=>t.json(e)))},text(){return((e,t)=>e.map((e=>" * "+e.text(t))).join("\n"))(this.data)},wikitext(){return this.wiki||""}};Object.keys(Ke).forEach((e=>{Be.prototype[e]=Ke[e]}));const We=/^[#*:;|]+/,He=/^\*+[^:,|]{4}/,Ye=/^ ?#[^:,|]{4}/,Ge=/[\p{Letter}_0-9\]}]/iu,Ze=function(e){return We.test(e)||He.test(e)||Ye.test(e)},Ve=function(e,t){let i=[];for(let a=t;ae&&Ge.test(e))),i=function(e){let t=1;e=e.filter((e=>e));for(let i=0;ie&&e.trim().length>0)),a=a.map((e=>{let i={wiki:e,lists:[],sentences:[],images:[]};return function(e){let t=e.wiki,i=t.split(/\n/g),a=[],n=[];for(let e=0;e0&&(a.push(t),e+=t.length-1)}else n.push(i[e]);e.lists=a.map((e=>new Be(e,t))),e.wiki=n.join("\n")}(i),Fe(i,t),le(i),new _e(i)})),e._wiki=i,e._paragraphs=a},Qe="{",et=function(e){let t=0,i=[],a=[];for(let n=e.indexOf(Qe);-1!==n&&n0?n++:n=e.indexOf(Qe,n+1)){let r=e[n];if(r===Qe&&(t+=1),t>0){if("}"===r&&(t-=1,0===t)){a.push(r);let e=a.join("");a=[],/\{\{/.test(e)&&/\}\}/.test(e)&&i.push(e);continue}if(1===t&&r!==Qe&&"}"!==r){t=0,a=[];continue}a.push(r)}}return i},tt=function(e){let t=null;return t=/^\{\{[^\n]+\|/.test(e)?(e.match(/^\{\{(.+?)\|/)||[])[1]:-1!==e.indexOf("\n")?(e.match(/^\{\{(.+)\n/)||[])[1]:(e.match(/^\{\{(.+?)\}\}$/)||[])[1],t&&(t=t.replace(/:.*/,""),t=qe(t)),t||null},it=/\{\{/,at=function(e){return{body:e,name:tt(e),children:[]}},nt=function(e){let t=e.body.substr(2);return t=t.replace(/\}\}$/,""),e.children=et(t),e.children=e.children.map(at),0===e.children.length||e.children.forEach((e=>{let t=e.body.substr(2);return it.test(t)?nt(e):null})),e},rt=function(e){let t=et(e);return t=t.map(at),t=t.map(nt),t},ot=["anchor","defaultsort","use list-defined references","void","pp","pp-move-indef","pp-semi-indef","pp-vandalism","r","#tag","div col","pope list end","shipwreck list end","starbox end","end box","end","s-end"].reduce(((e,t)=>(e[t]=!0,e)),{});var st={"gnf protein box":!0,"automatic taxobox":!0,"chembox ":!0,editnotice:!0,geobox:!0,hybridbox:!0,ichnobox:!0,infraspeciesbox:!0,mycomorphbox:!0,oobox:!0,"paraphyletic group":!0,speciesbox:!0,subspeciesbox:!0,"starbox short":!0,taxobox:!0,nhlteamseason:!0,"asian games bid":!0,"canadian federal election results":!0,"dc thomson comic strip":!0,"daytona 24 races":!0,edencharacter:!0,"moldova national football team results":!0,samurai:!0,protein:!0,"sheet authority":!0,"order-of-approx":!0,"bacterial labs":!0,"medical resources":!0,ordination:!0,"hockey team coach":!0,"hockey team gm":!0,"pro hockey team":!0,"hockey team player":!0,"hockey team start":!0,mlbbioret:!0};const lt=new RegExp("^(subst.)?("+b.join("|")+")(?=:| |\n|$)","i");b.forEach((e=>{st[e]=!0}));const ct=/^infobox /i,ut=/ infobox$/i,mt=/^year in [A-Z]/i,dt=function(e={}){let t=e.template.match(lt),i=e.template;t&&t[0]&&(i=i.replace(t[0],"")),i=i.trim();let a={template:"infobox",type:i,data:e};return delete a.data.template,delete a.data.list,a};let pt={imdb:"imdb name","imdb episodes":"imdb episode",localday:"currentday",localdayname:"currentdayname",localyear:"currentyear","birth date based on age at death":"birth based on age as of date","bare anchored list":"anchored list",cvt:"convert",cricon:"flagicon",sfrac:"frac",sqrt:"radic","unreferenced section":"unreferenced",redir:"redirect",sisterlinks:"sister project links","main article":"main",by:"baseball year",aldsy:"alds year",nldsy:"nlds year","str rep":"replace",ushr2:"ushr",stn:"station",metrod:"metro",fw:"ferry",rws:"stnlnk",sclass2:"sclass",under:"underline",brackets:"bracket",raise:"lower","born-in":"born in","c.":"circa","r.":"reign"},ht={date:["byline","dateline"],citation:["cite","source","source-pr","source-science"],"no spam":["email","@","no spam blue"],"lrt station":["lrt","lrts"],"mrt station":["mrt","mrts"],flagcountry:["cr","cr-rt"],trunc:["str left","str crop"],percentage:["pct","percentage"],rnd:["rndfrac","rndnear"],abbr:["tooltip","abbrv","define"],sfn:["sfnref","harvid","harvnb"],"birth date and age":["death date and age","bda"],currentmonth:["localmonth","currentmonthname","currentmonthabbrev"],currency:["monnaie","unité","nombre","nb","iso4217"],coord:["coor","coor title dms","coor title dec","coor dms","coor dm","coor dec"],"columns-list":["cmn","col-list","columnslist","collist"],nihongo:["nihongo2","nihongo3","nihongo-s","nihongo foot"],plainlist:["flatlist","plain list"],"winning percentage":["winpct","winperc"],"collapsible list":["nblist","nonbulleted list","ubl","ublist","ubt","unbullet","unbulleted list","unbulleted","unbulletedlist","vunblist"],"election box begin":["election box begin no change","election box begin no party","election box begin no party no change","election box inline begin","election box inline begin no change"],"election box candidate":["election box candidate for alliance","election box candidate minor party","election box candidate no party link no change","election box candidate with party link","election box candidate with party link coalition 1918","election box candidate with party link no change","election box inline candidate","election box inline candidate no change","election box inline candidate with party link","election box inline candidate with party link no change","election box inline incumbent"],"4teambracket":["2teambracket","4team2elimbracket","8teambracket","16teambracket","32teambracket","4roundbracket-byes","cwsbracket","nhlbracket","nhlbracket-reseed","4teambracket-nhl","4teambracket-ncaa","4teambracket-mma","4teambracket-mlb","16teambracket-two-reseeds","8teambracket-nhl","8teambracket-mlb","8teambracket-ncaa","8teambracket-afc","8teambracket-afl","8teambracket-tennis3","8teambracket-tennis5","16teambracket-nhl","16teambracket-nhl divisional","16teambracket-nhl-reseed","16teambracket-nba","16teambracket-swtc","16teambracket-afc","16teambracket-tennis3","16teambracket-tennis5"],start:["end","birth","death","start date","end date","birth date","death date","start date and age","end date and age","dob"],"start-date":["end-date","birth-date","death-date","birth-date and age","birth-date and given age","death-date and age","death-date and given age"],tl:["lts","t","tfd links","tiw","tltt","tetl","tsetl","ti","tic","tiw","tlt","ttl","twlh","tl2","tlu","demo","xpd","para","elc","xtag","mli","mlix","url"],done:["resolved mark large","implemented","pimplemented","resolved mark","accepted","agree","approved","checked2","verified","conditional yes","confirmed","confirmed-nc","tallyho","tick","helped","doneu|example","edited2","donetask","unprod","autp","responded","sure","merge done","marked","pass","aye","yes check","y&","yeac","yeag"],xmark:["expired","deleted","not done","not done empty request","not done unclear","not done not likely","stale-small","smallrejected","x mark","nay","no mark","not done-t","fail","n&","x mark-n","xed box","cancelled","deleted-image","already declined","opblocked","user-blocked","notabug","notfixed","won't fix","withdraw","nojoy","unrelated","off-topic talk","nayc","nayg"],checked:["already done","resolved1","check mark-n","checked box"],"station link":["amtk","cta","bts","mnrr","mtams","munis","njts","scax","wmata","rwsa"],"video game release":["vgrelease","video game release hlist","vgrtbl","vgrelease hlist","vgrh"],aka:["a.k.a.","also known as"],"literal translation":["lit","literal","literally"],"citation needed":["are you sure?","cb","ciation needed","cit","cita requerida","citaiton needed","citation missing","citation need","citation requested","citation required","citation-needed","citationeeded","citationneeded","citationrequired","citazione necessaria","cite missing","cite needed","cite source","cite-needed","citeneeded","citesource","citn","cn needed","cn","ctn","fact?","fact","facts","fcitation needed","me-fact","need citation","need sources","need-ref","needcitation","needcite","needs citation","needs citations","needs reference","needs source","needs-cite","needsref","no source given","prov-statement","prove it","proveit","ref needed","ref-needed","ref?","reference necessary","reference needed","reference required","refnec","refneeded","refplease","request citation","source needed","source?","sourceme","uncited","unreferenced inline","unsourced-inline"]};Object.keys(O).forEach((e=>{pt["ipa-"+e]="ipa",pt["ipac-"+e]="ipac"})),Object.keys(ht).forEach((e=>{ht[e].forEach((t=>{pt[t]=e}))}));var gt={"·":"·",dot:"·",middot:"·","•":" • ",",":",","=":"=","1/2":"1⁄2","1/3":"1⁄3","2/3":"2⁄3","1/4":"1⁄4","3/4":"3⁄4","–":"–",ndash:"–","en dash":"–","spaced ndash":" – ","—":"—",mdash:"—",spd:" – ","em dash":"—","number sign":"#","hash-tag":"#",ibeam:"I","&":"&",";":";",ampersand:"&",dagger:"†","double-dagger":"‡",snds:" – ",snd:" – ","^":" ","!":"|","'":"'","\\":" /","`":"`","[":"[","*":"*",asterisk:"*","long dash":"———",clear:"\n\n","h.":"ḥ",profit:"▲",loss:"▼",gain:"▲",ell:"ℓ","1~":"~","2~":"~~","3~":"~~~","4~":"~~~~","5~":"~~~~~",goldmedal:"🥇",silvermedal:"🥈",bronzemedal:"🥉",done:"✅",xmark:"❌",checked:"✔️","thumbs up":"👍","thumbs down":"👎",minusplus:"∓",plusminus:"±"};let bt={p1:0,p2:1,p3:2,resize:1,lang:1,"rtl-lang":1,"line-height":1,l:2,h:1,sort:1};["defn","lino","finedetail","nobold","noitalic","nocaps","vanchor","rnd","date","taste","monthname","baseball secondary style","nowrap","nobr","big","cquote","pull quote","smaller","midsize","larger","big","kbd","bigger","large","mono","strongbad","stronggood","huge","xt","xt2","!xt","xtn","xtd","dc","dcr","mxt","!mxt","mxtn","mxtd","bxt","!bxt","bxtn","bxtd","delink","pre","var","mvar","pre2","code","char","angle bracket","angbr","symb","dabsearch","key press","nowiki","nowiki2","unstrip","unstripnowiki","plain text","make code","killmarkers","longitem","longlink","strikethrough","underline","uuline","not a typo","text","var serif","double underline","nee","ne","left","right","center","centered","justify","smalldiv","bold div","monodiv","italic div","bigdiv","strikethroughdiv","strikethrough color","pbpe","video game release/abbr","nobel abbr","gloss","gcl"].forEach((e=>{bt[e]=0}));let ft={};["mv","m/v","gts","hsc","ms","m/s","my","m/y","ps","rms","rv","r/v","sb","ss","s/s","sv","s/v","sy","s/y","tss","ans","hmas","hmbs","bns","hmcs","ccgs","arc","hdms","bae","ens","eml","rfns","fns","hs","sms","smu","gs","icgv","ins","kri","lé","jsub","jds","js","hnlms","hmnzs","nns","hnoms","hmpngs","bap","rps","brp","orp","nrp","nms","rss","sas","hmsas","roks","hswms","htms","tcg","hms","hmt","rfaux","usat","uscgc","usns","usrc","uss","usav"].forEach((e=>{ft[e]=t=>{let{name:i,id:a}=De(t,["name","id"]);return a?`[[${e.toUpperCase()} ${i} (${a})]]`:`[[${e.toUpperCase()} ${i}]]`}}));const kt=function(e){if(!e.numerator&&!e.denominator)return null;let t=Number(e.numerator)/Number(e.denominator);return t*=100,Number(e.decimals),parseInt(t,10)},wt=function(e=""){if("number"==typeof e)return e;e=(e=e.replace(/,/g,"")).replace(/−/g,"-");let t=Number(e);return isNaN(t)?e:t},yt=function(e){let t=e.match(/ipac?-(.+)/);return null!==t?!0===O.hasOwnProperty(t[1])?O[t[1]].english_title:t[1]:null},$t=e=>e.charAt(0).toUpperCase()+e.substring(1),xt=function(e){let t=e%10,i=e%100;return 1===t&&11!==i?e+"st":2===t&&12!==i?e+"nd":3===t&&13!==i?e+"rd":e+"th"},vt={wikt:"wiktionary",commons:"commons",c:"commons",commonscat:"commonscat",n:"wikinews",q:"wikiquote",s:"wikisource",a:"wikiauthor",b:"wikibooks",voy:"wikivoyage",v:"wikiversity",d:"wikidata",species:"wikispecies",m:"meta",mw:"mediawiki"};var jt={ra:e=>{let t=De(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},deg2hms:e=>(De(e,["degrees"]).degrees||"")+"°",hms2deg:e=>{let t=De(e,["hours","minutes","seconds"]);return[t.hours||0,t.minutes||0,t.seconds||0].join(":")},decdeg:e=>{let t=De(e,["deg","min","sec","hem","rnd"]);return(t.deg||t.degrees)+"°"},sortname:e=>{let t=De(e,["first","last","target","sort"]),i=`${t.first||""} ${t.last||""}`;return i=i.trim(),t.nolink?t.target||i:(t.dab&&(i+=` (${t.dab})`,t.target&&(t.target+=` (${t.dab})`)),t.target?`[[${t.target}|${i}]]`:`[[${i}]]`)},"first word":e=>{let t=De(e,["text"]),i=t.text||"";return t.sep?i.split(t.sep)[0]:i.split(" ")[0]},trunc:e=>{let t=De(e,["str","len"]);return(t.str||"").substr(0,t.len)},"str mid":e=>{let t=De(e,["str","start","end"])||{},i=parseInt(t.start,10)-1,a=parseInt(t.end,10);return(t.str||"").substr(i,a)},reign:e=>{let t=De(e,["start","end"]);return`(r. ${t.start} – ${t.end})`},"decade link":e=>{let{year:t}=De(e,["year"]);return`${t}|${t}s`},decade:e=>{let t=De(e,["year"]),i=Number(t.year);return i=10*Math.floor(i/10),`${i}s`},century:e=>{let t=De(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/100)+1,`${i}`},radic:e=>{let t=De(e,["after","before"]);return`${t.before||""}√${t.after||""}`},"medical cases chart/row":e=>e,oldstyledate:e=>{let t=De(e,["date","year"]);return t.year?t.date+" "+t.year:t.date},braces:e=>{let t=De(e,["text"]),i="";return t.list&&(i="|"+t.list.join("|")),"{{"+(t.text||"")+i+"}}"},hlist:e=>{let t=De(e);return t.list=t.list||[],t.list.join(" · ")},pagelist:e=>(De(e).list||[]).join(", "),interlinear:e=>(De(e).list||[]).join("\n\n"),catlist:e=>(De(e).list||[]).join(", "),"br separated entries":e=>(De(e).list||[]).join("\n\n"),"comma separated entries":e=>(De(e).list||[]).join(", "),"anchored list":e=>{let t=De(e).list||[];return t=t.map(((e,t)=>`${t+1}. ${e}`)),t.join("\n\n")},"bulleted list":e=>{let t=De(e).list||[];return t=t.filter((e=>e)),t=t.map((e=>"• "+e)),t.join("\n\n")},plainlist:e=>{let t=(e=Ee(e)).split("|").slice(1);return t=t.join("|").split(/\n ?\* ?/),t=t.filter((e=>e)),t.join("\n\n")},term:e=>`${De(e,["term"]).term}:`,linum:e=>{let{num:t,text:i}=De(e,["num","text"]);return`${t}. ${i}`},"block indent":e=>{let t=De(e);return t[1]?"\n"+t[1]+"\n":""},lbs:e=>{let t=De(e,["text"]);return`[[${t.text} Lifeboat Station|${t.text}]]`},lbc:e=>{let t=De(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}-class]]`},lbb:e=>{let t=De(e,["text"]);return`[[${t.text}-class lifeboat|${t.text}]]`},"#dateformat":e=>(e=e.replace(/:/,"|"),De(e,["date","format"]).date),lc:e=>(e=e.replace(/:/,"|"),(De(e,["text"]).text||"").toLowerCase()),uc:e=>(e=e.replace(/:/,"|"),(De(e,["text"]).text||"").toUpperCase()),lcfirst:e=>{e=e.replace(/:/,"|");let t=De(e,["text"]).text;return t?t[0].toLowerCase()+t.substr(1):""},ucfirst:e=>{e=e.replace(/:/,"|");let t=De(e,["text"]).text;return t?t[0].toUpperCase()+t.substr(1):""},padleft:e=>{e=e.replace(/:/,"|");let t=De(e,["text","num"]);return(t.text||"").padStart(t.num,t.str||"0")},padright:e=>{e=e.replace(/:/,"|");let t=De(e,["text","num"]);return(t.text||"").padEnd(t.num,t.str||"0")},abbrlink:e=>{let t=De(e,["abbr","page"]);return t.page?`[[${t.page}|${t.abbr}]]`:`[[${t.abbr}]]`},own:e=>{let t=De(e,["author"]),i="Own work";return t.author&&(i+=" by "+t.author),i},formatnum:e=>{e=e.replace(/:/,"|");let t=De(e,["number"]).number||"";return t=t.replace(/,/g,""),Number(t).toLocaleString()||""},frac:e=>{let t=De(e,["a","b","c"]);return t.c?`${t.a} ${t.b}/${t.c}`:t.b?`${t.a}/${t.b}`:`1/${t.b}`},convert:e=>{let t=De(e,["num","two","three","four"]);return"-"===t.two||"to"===t.two||"and"===t.two?t.four?`${t.num} ${t.two} ${t.three} ${t.four}`:`${t.num} ${t.two} ${t.three}`:`${t.num} ${t.two}`},tl:e=>{let t=De(e,["first","second"]);return t.second||t.first},won:e=>{let t=De(e,["text"]);return t.place||t.text||$t(t.template)},tag:e=>{let t=De(e,["tag","open"]);const i={span:!0,div:!0,p:!0};return t.open&&"pair"!==t.open?"":i[t.tag]?t.content||"":`<${t.tag} ${t.attribs||""}>${t.content||""}`},plural:e=>{e=e.replace(/plural:/,"plural|");let t=De(e,["num","word"]),i=Number(t.num),a=t.word;return 1!==i&&(/.y$/.test(a)?a=a.replace(/y$/,"ies"):a+="s"),i+" "+a},dec:e=>{let t=De(e,["degrees","minutes","seconds"]),i=(t.degrees||0)+"°";return t.minutes&&(i+=t.minutes+"′"),t.seconds&&(i+=t.seconds+"″"),i},val:e=>{let t=De(e,["number","uncertainty"]),i=t.number;i&&Number(i)&&(i=Number(i).toLocaleString());let a=i||"";return t.p&&(a=t.p+a),t.s&&(a=t.s+a),(t.u||t.ul||t.upl)&&(a=a+" "+(t.u||t.ul||t.upl)),a},percentage:e=>{let t=De(e,["numerator","denominator","decimals"]),i=kt(t);return null===i?"":i+"%"},small:e=>{let t=De(e);return t.list&&t.list[0]?t.list[0]:""},"percent-done":e=>{let t=De(e,["done","total","digits"]),i=kt({numerator:t.done,denominator:t.total,decimals:t.digits});return null===i?"":`${t.done} (${i}%) done`},loop:e=>{let t=De(e,["times","text"]),i=Number(t.times)||0,a="";for(let e=0;e{let t=De(e,["text"]);return String((t.text||"").trim().length)},digits:e=>(De(e,["text"]).text||"").replace(/[^0-9]/g,""),resize:e=>{let{n:t,text:i}=De(e,["n","text"]);return i?i||"":t||""},"last word":e=>{let t=(De(e,["text"]).text||"").split(/ /g);return t[t.length-1]||""},replace:e=>{let t=De(e,["text","from","to"]);return t.from&&t.to?(t.text||"").replace(t.from,t.to):t.text||""},"title case":e=>(De(e,["text"]).text||"").split(/ /).map(((e,t)=>t>0&&"the"===e||"of"===e?e:$t(e))).join(" "),"no spam":e=>{let t=De(e,["account","domain"]);return`${t.account||""}@${t.domain}`},"baseball year":e=>{let t=De(e,["year"]).year||"";return`[[${t} in baseball|${t}]]`},"mlb year":e=>{let t=De(e,["year"]).year||"";return`[[${t} Major League Baseball season|${t}]]`},"nlds year":e=>{let{year:t}=De(e,["year"]);return`[[${t||""} National League Division Series|${t}]]`},"alds year":e=>{let{year:t}=De(e,["year"]);return`[[${t||""} American League Division Series|${t}]]`},"nfl year":e=>{let{year:t,other:i}=De(e,["year","other"]);return i&&t?`[[${t} NFL season|${t}]]–[[${i} NFL season|${i}]]`:`[[${t||""} NFL season|${t}]]`},"nfl playoff year":e=>{let{year:t}=De(e,["year"]);return t=Number(t),`[[${t}–${t+1} NFL playoffs|${t}]]`},"nba year":e=>{let{year:t}=De(e,["year"]);t=Number(t);let i=t+1;return`[[${t}–${i} NBA season|${t}–${i}]]`},"mhl year":e=>{let t=De(e,["year"]),i=Number(t.year),a=i+1;return`[[${i}–${a} NHL season|${i}–${a}]]`},min:e=>{let t=De(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t{let t=De(e).list||[],i=Number(t[0])||0;return t.forEach((e=>{let t=Number(e);!isNaN(t)&&t>i&&(i=t)})),String(i)},uspolabbr:e=>{let{party:t,state:i,house:a}=De(e,["party","state","house","link"]);if(!t||!i)return"";let n=`${t}‑${i}`;return a&&(n+=` ${xt(a)}`),n},ushr:e=>{let{state:t,num:i,type:a}=De(e,["state","num","type"]),n="";if("AL"!==i)return i=xt(Number(i)),`${t}'s ${i} congressional district`;if(n=`${t}'s at-large congressional district`,a){if(a=a.toLowerCase(),i="AL"===i?"At-large":i,"e"===a)return`[[${n}|${i}]]`;if("u"===a)return`[[${n}|${t}]]`;if("b"===a||"x"===a)return`[[${n}|${t} ${i}]]`}return`[[${n}]]`},metro:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},station:e=>{let{name:t,dab:i}=De(e,["name","x","dab"]);return i?`[[${t} station (${i})|${t}]]`:`[[${t} station|${t}]]`},bssrws:e=>{let{one:t,two:i}=De(e,["one","two"]),a=t;return i&&(a+=" "+i),`[[${a} railway station|${a}]]`},stnlnk:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} railway station (${i})|${t}]]`:`[[${t} railway station|${t}]]`},"station link":e=>{let{station:t,system:i}=De(e,["system","station"]);return t||i},"line link":e=>{let{station:t,system:i}=De(e,["system","station"]);return t||i},subway:e=>{let{name:t}=De(e,["name"]);return`[[${t} subway station|${t}]]`},"lrt station":e=>{let{name:t}=De(e,["name"]);return`[[${t} LRT station|${t}]]`},"mrt station":e=>{let{name:t}=De(e,["name"]);return`[[${t} MRT station|${t}]]`},rht:e=>{let{name:t}=De(e,["name"]);return`[[${t} railway halt|${t}]]`},ferry:e=>{let{name:t}=De(e,["name"]);return`[[${t} ferry wharf|${t}]]`},tram:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} tram stop (${i})|${t}]]`:`[[${t} tram stop|${t}]]`},tstop:e=>{let{name:t,dab:i}=De(e,["name","dab"]);return i?`[[${t} ${i} stop|${t}]]`:`[[${t} stop|${t}]]`},ship:e=>{let{prefix:t,name:i,id:a}=De(e,["prefix","name","id"]);return t=t||"",`[[${t.toUpperCase()} ${i}]]`},sclass:e=>{let{cl:t,type:i}=De(e,["cl","type","fmt"]);return`[[${t}-class ${i} |''${t}''-class]] [[${i}]]`},"center block":e=>{let{text:t}=De(e,["text"]);return t||""},align:e=>{let{text:t}=De(e,["dir","text"]);return t||""},font:e=>{let{text:t}=De(e,["text"]);return t||""},float:e=>{let{text:t,dir:i}=De(e,["dir","text"]);return t?t||"":i},lower:e=>{let{text:t,n:i}=De(e,["n","text"]);return t?t||"":i},splitspan:e=>{let t=De(e).list||[];return(t[0]||"")+"\n"+(t[1]||"")},bracket:e=>{let{text:t}=De(e,["text"]);return t?`[${t}]`:"["},"in title":e=>{let{title:t,text:i}=De(e,["title","text"]);return i||(t?`All pages with titles containing ${t}`:"")},"look from":e=>{let{title:t,text:i}=De(e,["title","text"]);return i||(t?`All pages with titles beginning with ${t}`:"")},"literal translation":e=>{let t=De(e).list||[];return t=t.map((e=>`'${e}'`)),"lit. "+t.join(" or ")}};let _t=[["bwv","BWV"],["hwv","HWV"],["d.","D "],["aka","a.k.a. "],["cf.","cf. "],["fl.","fl. "],["circa","c. "],["born in","b. "],["died-in","d. "],["married-in","m. "]].reduce(((e,t)=>{let[i,a]=t;return e[i]=e=>{let{first:t}=De(e,["first"]);return t||0===t?a+(t||""):a},e}),{});["they","them","their","theirs","themself","they are","they were","they have","they do","he or she","him or her","his or her","his or hers","he/she","him/her","his/her"].forEach((e=>{_t[e]=e}));let zt={};["sr-latn-cyrl","sr-cyrl-latn","sr-latn","sr-cyrl","sr-cyr","sh-latn-cyrl","sh-cyrl-latn","sh-latn","sh-cyrl","cel-1bd","cel-x-proto","en-emodeng","de-at","de-ch","gem-x-proto","gsw-fr","nds-nl","nl-be","ku-arab","ku-cyrl","pt-br","fra-frc","fra-que","roa-leo","roa-nor","ca-valencia","ast-leo","grc-gre","grc-x-doric","grc-x-proto","grc-x-medieval","cpg","gmy","grc","grk-x-proto","pnt","mga","owl","pgl","sga","wlm","xbm","xcb","xcg","xpi","aae","aln","sq-definite","bs-cyrl","hsb","ltg","orv","prg","rsk","rue","rus","sgs","sla","szl","wen","aoa","chn","cri","dlm","egl","fax","frc","frm","fro","fr-gallo","oc-gascon","gcf","gcr","ist","la-x-medieval","lij-mc","lld","lou","mfe","mol","mwl","mxi","nrf","osc","osp","pcd","pln","rcf","rgn","roa","ruo","rup","ruq","sdc","sdn","src","sro","xvo","bzj","cim","dum","enm","frk","frr","frs","gmh","gml","gmw","goh","gos","gsw","gyn","icr","jam","kri","lng","nb","non","nrn","odt","ofs","osx","pey","sli","srm","srn","stq","swg","vmf","wae","wep","wes","zea","hmd","hoc","kha","mnw","mtq","vi-chunom","vi-hantu","mvi","rys","ryu","yoi","ace","akl","ami","bew","bik","bjn","bya","cal","cbk","cjm","coa","cyo","dev","fil","gad","hil","iba","ibg","ibl","ilp","itv","ivv","jax","kne","krj","kxd","ljp","mad","mak","mdh","mrv","mrw","ms-arab","nia","niu","pau","pwn","rap","rar","sgd","su-fonts","szy","tao","tkl","tsg","tvl","uli","wls","xsb","yap","yka","ckt","itl","brh","oty","tcy","abq","ady","ddo","inh","kbd","lbe","lez","rut","tab","uby","udi","bai","bin","bsq","dag","dyu","efi","fan","fmp","fuc","fuf","gaa","ibb","kbp","kcg","kpo","ktu","lu","lua","lun","mkw","mos","oaa","sjo","ude","anm","bft","blk","brx","dng","kjp","kjz","ksw","lbj","lus","aae","aaq","abe","abq","aca","ace","acf","acm","acw","ady","ae","aeb","aec","aer","afb","aht","aii","aij","ain","aiq","akk","akl","akz","ale","aln","alq","alt","ami","anm","aoa","apj","apm","apw","ayn","arb","arh","ari","arn","arp","arq","ary","arz","asb","ath","ats","awa","axm","azb","azd","azj","bai","bal","ban","bax","bdz","bea","ber","bew","bft","bgn","bho","bik","bin","bjn","bla","blc","blk","bqi","brh","brx","bsk","bsq","bua","bvb","bya","bzj","cal","cay","cbk","ccp","chg","chm","chn","chp","cic","cim","ciw","cjm","cjs","ckb","ckt","cku","cld","clm","cmg","cmn","cms","cnu","coa","coc","coj","com","coo","cop","cpg","crg","crh","cri","crj","crk","crl","crm","cro","csw","csz","ctg","ctm","cyo","dag","dak","ddo","deh","del","den","dev","din","dlm","dng","dum","dyu","efi","egl","egy","elx","eml","ems","cmn","och","yue","mjw","mni","my-name-mlcts","nan","nwc","omp","otb","pwo","sip","xct","xsr","1ca","alt","az-arab","azb","azj","chg","cjs","crh","crh3","kaa","kjh","krc","kum","nog","ota","otk","sah","slr","sty","tt-arab","tt-cyrl","tt-latn","tyv","uniturk","chm","est-sea","fit","fkv","izh","jmy","koi","krl","liv","mdf","mhr","mrj","myv","olo","sia","sjd","sje","sjk","sjt","sju","sma","smi","smj","smn","sms","vep","vot","vro","yrk","din","luo","srr","sus","swh","umb","yao"].forEach((e=>{zt["lang-"+e]=0})),Object.keys(O).forEach((e=>{zt["lang-"+e]=0}));var Ot=[["🇦🇩","and","andorra"],["🇦🇪","are","united arab emirates"],["🇦🇫","afg","afghanistan"],["🇦🇬","atg","antigua and barbuda"],["🇦🇮","aia","anguilla"],["🇦🇱","alb","albania"],["🇦🇲","arm","armenia"],["🇦🇴","ago","angola"],["🇦🇶","ata","antarctica"],["🇦🇷","arg","argentina"],["🇦🇸","asm","american samoa"],["🇦🇹","aut","austria"],["🇦🇺","aus","australia"],["🇦🇼","abw","aruba"],["🇦🇽","ala","åland islands"],["🇦🇿","aze","azerbaijan"],["🇧🇦","bih","bosnia and herzegovina"],["🇧🇧","brb","barbados"],["🇧🇩","bgd","bangladesh"],["🇧🇪","bel","belgium"],["🇧🇫","bfa","burkina faso"],["🇧🇬","bgr","bulgaria"],["🇧🇬","bul","bulgaria"],["🇧🇭","bhr","bahrain"],["🇧🇮","bdi","burundi"],["🇧🇯","ben","benin"],["🇧🇱","blm","saint barthélemy"],["🇧🇲","bmu","bermuda"],["🇧🇳","brn","brunei darussalam"],["🇧🇴","bol","bolivia"],["🇧🇶","bes","bonaire, sint eustatius and saba"],["🇧🇷","bra","brazil"],["🇧🇸","bhs","bahamas"],["🇧🇹","btn","bhutan"],["🇧🇻","bvt","bouvet island"],["🇧🇼","bwa","botswana"],["🇧🇾","blr","belarus"],["🇧🇿","blz","belize"],["🇨🇦","can","canada"],["🇨🇨","cck","cocos (keeling) islands"],["🇨🇩","cod","congo"],["🇨🇫","caf","central african republic"],["🇨🇬","cog","congo"],["🇨🇭","che","switzerland"],["🇨🇮","civ","côte d'ivoire"],["🇨🇰","cok","cook islands"],["🇨🇱","chl","chile"],["🇨🇲","cmr","cameroon"],["🇨🇳","chn","china"],["🇨🇴","col","colombia"],["🇨🇷","cri","costa rica"],["🇨🇺","cub","cuba"],["🇨🇻","cpv","cape verde"],["🇨🇼","cuw","curaçao"],["🇨🇽","cxr","christmas island"],["🇨🇾","cyp","cyprus"],["🇨🇿","cze","czech republic"],["🇩🇪","deu","germany"],["🇩🇪","ger","germany"],["🇩🇯","dji","djibouti"],["🇩🇰","dnk","denmark"],["🇩🇲","dma","dominica"],["🇩🇴","dom","dominican republic"],["🇩🇿","dza","algeria"],["🇪🇨","ecu","ecuador"],["🇪🇪","est","estonia"],["🇪🇬","egy","egypt"],["🇪🇭","esh","western sahara"],["🇪🇷","eri","eritrea"],["🇪🇸","esp","spain"],["🇪🇹","eth","ethiopia"],["🇫🇮","fin","finland"],["🇫🇯","fji","fiji"],["🇫🇰","flk","falkland islands (malvinas)"],["🇫🇲","fsm","micronesia"],["🇫🇴","fro","faroe islands"],["🇫🇷","fra","france"],["🇬🇦","gab","gabon"],["🇬🇧","gbr","united kingdom"],["🇬🇩","grd","grenada"],["🇬🇫","guf","french guiana"],["🇬🇬","ggy","guernsey"],["🇬🇭","gha","ghana"],["🇬🇮","gib","gibraltar"],["🇬🇱","grl","greenland"],["🇬🇲","gmb","gambia"],["🇬🇳","gin","guinea"],["🇬🇵","glp","guadeloupe"],["🇬🇶","gnq","equatorial guinea"],["🇬🇷","grc","greece"],["🇬🇸","sgs","south georgia"],["🇬🇹","gtm","guatemala"],["🇬🇺","gum","guam"],["🇬🇼","gnb","guinea-bissau"],["🇬🇾","guy","guyana"],["🇭🇰","hkg","hong kong"],["🇭🇲","hmd","heard island and mcdonald islands"],["🇭🇳","hnd","honduras"],["🇭🇷","hrv","croatia"],["🇭🇹","hti","haiti"],["🇭🇺","hun","hungary"],["🇮🇩","idn","indonesia"],["🇮🇪","irl","ireland"],["🇮🇱","isr","israel"],["🇮🇲","imn","isle of man"],["🇮🇳","ind","india"],["🇮🇴","iot","british indian ocean territory"],["🇮🇶","irq","iraq"],["🇮🇷","irn","iran"],["🇮🇸","isl","iceland"],["🇮🇹","ita","italy"],["🇯🇪","jey","jersey"],["🇯🇲","jam","jamaica"],["🇯🇴","jor","jordan"],["🇯🇵","jpn","japan"],["🇰🇪","ken","kenya"],["🇰🇬","kgz","kyrgyzstan"],["🇰🇭","khm","cambodia"],["🇰🇮","kir","kiribati"],["🇰🇲","com","comoros"],["🇰🇳","kna","saint kitts and nevis"],["🇰🇵","prk","north korea"],["🇰🇷","kor","south korea"],["🇰🇼","kwt","kuwait"],["🇰🇾","cym","cayman islands"],["🇰🇿","kaz","kazakhstan"],["🇱🇦","lao","lao people's democratic republic"],["🇱🇧","lbn","lebanon"],["🇱🇨","lca","saint lucia"],["🇱🇮","lie","liechtenstein"],["🇱🇰","lka","sri lanka"],["🇱🇷","lbr","liberia"],["🇱🇸","lso","lesotho"],["🇱🇹","ltu","lithuania"],["🇱🇺","lux","luxembourg"],["🇱🇻","lva","latvia"],["🇱🇾","lby","libya"],["🇲🇦","mar","morocco"],["🇲🇨","mco","monaco"],["🇲🇩","mda","moldova"],["🇲🇪","mne","montenegro"],["🇲🇫","maf","saint martin (french part)"],["🇲🇬","mdg","madagascar"],["🇲🇭","mhl","marshall islands"],["🇲🇰","mkd","macedonia"],["🇲🇱","mli","mali"],["🇲🇲","mmr","myanmar"],["🇲🇳","mng","mongolia"],["🇲🇴","mac","macao"],["🇲🇵","mnp","northern mariana islands"],["🇲🇶","mtq","martinique"],["🇲🇷","mrt","mauritania"],["🇲🇸","msr","montserrat"],["🇲🇹","mlt","malta"],["🇲🇺","mus","mauritius"],["🇲🇻","mdv","maldives"],["🇲🇼","mwi","malawi"],["🇲🇽","mex","mexico"],["🇲🇾","mys","malaysia"],["🇲🇿","moz","mozambique"],["🇳🇦","nam","namibia"],["🇳🇨","ncl","new caledonia"],["🇳🇪","ner","niger"],["🇳🇫","nfk","norfolk island"],["🇳🇬","nga","nigeria"],["🇳🇮","nic","nicaragua"],["🇳🇱","nld","netherlands"],["🇳🇴","nor","norway"],["🇳🇵","npl","nepal"],["🇳🇷","nru","nauru"],["🇳🇺","niu","niue"],["🇳🇿","nzl","new zealand"],["🇴🇲","omn","oman"],["🇵🇦","pan","panama"],["🇵🇪","per","peru"],["🇵🇫","pyf","french polynesia"],["🇵🇬","png","papua new guinea"],["🇵🇭","phl","philippines"],["🇵🇰","pak","pakistan"],["🇵🇱","pol","poland"],["🇵🇲","spm","saint pierre and miquelon"],["🇵🇳","pcn","pitcairn"],["🇵🇷","pri","puerto rico"],["🇵🇸","pse","palestinian territory"],["🇵🇹","prt","portugal"],["🇵🇼","plw","palau"],["🇵🇾","pry","paraguay"],["🇶🇦","qat","qatar"],["🇷🇪","reu","réunion"],["🇷🇴","rou","romania"],["🇷🇸","srb","serbia"],["🇷🇺","rus","russia"],["🇷🇼","rwa","rwanda"],["🇸🇦","sau","saudi arabia"],["🇸🇧","slb","solomon islands"],["🇸🇨","syc","seychelles"],["🇸🇩","sdn","sudan"],["🇸🇪","swe","sweden"],["🇸🇬","sgp","singapore"],["🇸🇭","shn","saint helena, ascension and tristan da cunha"],["🇸🇮","svn","slovenia"],["🇸🇯","sjm","svalbard and jan mayen"],["🇸🇰","svk","slovakia"],["🇸🇱","sle","sierra leone"],["🇸🇲","smr","san marino"],["🇸🇳","sen","senegal"],["🇸🇴","som","somalia"],["🇸🇷","sur","suriname"],["🇸🇸","ssd","south sudan"],["🇸🇹","stp","sao tome and principe"],["🇸🇻","slv","el salvador"],["🇸🇽","sxm","sint maarten (dutch part)"],["🇸🇾","syr","syrian arab republic"],["🇸🇿","swz","swaziland"],["🇹🇨","tca","turks and caicos islands"],["🇹🇩","tcd","chad"],["🇹🇫","atf","french southern territories"],["🇹🇬","tgo","togo"],["🇹🇭","tha","thailand"],["🇹🇯","tjk","tajikistan"],["🇹🇰","tkl","tokelau"],["🇹🇱","tls","timor-leste"],["🇹🇲","tkm","turkmenistan"],["🇹🇳","tun","tunisia"],["🇹🇴","ton","tonga"],["🇹🇷","tur","turkey"],["🇹🇹","tto","trinidad and tobago"],["🇹🇻","tuv","tuvalu"],["🇹🇼","twn","taiwan"],["🇹🇿","tza","tanzania"],["🇺🇦","ukr","ukraine"],["🇺🇬","uga","uganda"],["🇺🇲","umi","united states minor outlying islands"],["🇺🇸","us","united states"],["🇺🇸","usa","united states"],["🇺🇾","ury","uruguay"],["🇺🇿","uzb","uzbekistan"],["🇻🇦","vat","vatican city"],["🇻🇨","vct","saint vincent and the grenadines"],["🇻🇪","ven","venezuela"],["🇻🇬","vgb","virgin islands, british"],["🇻🇮","vir","virgin islands, u.s."],["🇻🇳","vnm","viet nam"],["🇻🇺","vut","vanuatu"],["🇼🇫","wlf","wallis and futuna"],["🇼🇸","wsm","samoa"],["🇾🇪","yem","yemen"],["🇾🇹","myt","mayotte"],["🇿🇦","zaf","south africa"],["🇿🇲","zmb","zambia"],["🇿🇼 ","zwe","zimbabwe"],["🇺🇳","un","united nations"],["🏴󠁧󠁢󠁥󠁮󠁧󠁿󠁧󠁢󠁥󠁮󠁧󠁿","eng","england"],["🏴󠁧󠁢󠁳󠁣󠁴󠁿","sct","scotland"],["🏴󠁧󠁢󠁷󠁬󠁳󠁿","wal","wales"],["🇪🇺","eu","european union"]];const Et=["flag","variant"];let qt={flag:e=>{let t=De(e,Et),i=t.flag||"";t.flag=(t.flag||"").toLowerCase();let a=Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${a[0]||""} [[${a[2]}|${i}]]`},flagcountry:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} [[${i[2]}]]`},flagcu:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[];return`${i[0]||""} ${i[2]}`},flagicon:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`[[${i[2]}|${i[0]}]]`:""},flagdeco:e=>{let t=De(e,Et);return t.flag=(t.flag||"").toLowerCase(),(Ot.find((e=>t.flag===e[1]||t.flag===e[2]))||[])[0]||""},fb:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${i[2]} national football team|${i[2]}]]`:""},fbicon:e=>{let t=De(e,Et);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?` [[${i[2]} national football team|${i[0]}]]`:""},flagathlete:e=>{let t=De(e,["name","flag","variant"]);t.flag=(t.flag||"").toLowerCase();let i=Ot.find((e=>t.flag===e[1]||t.flag===e[2]));return i?`${i[0]} [[${t.name||""}]] (${i[1].toUpperCase()})`:`[[${t.name||""}]]`}};Ot.forEach((e=>{qt[e[1]]=()=>e[0]}));let Nt={};["rh","rh2","yes","no","maybe","eliminated","lost","safe","active","site active","coming soon","good","won","nom","sho","longlisted","tba","success","operational","failure","partial","regional","maybecheck","partial success","partial failure","okay","yes-no","some","nonpartisan","pending","unofficial","unofficial2","usually","rarely","sometimes","any","varies","black","non-album single","unreleased","unknown","perhaps","depends","included","dropped","terminated","beta","table-experimental","free","proprietary","nonfree","needs","nightly","release-candidate","planned","scheduled","incorrect","no result","cmain","calso starring","crecurring","cguest","not yet","optional"].forEach((e=>{Nt[e]=e=>{let t=De(e,["text"]);return t.text||$t(t.template)}}));[["active fire","Active"],["site active","Active"],["site inactive","Inactive"],["yes2",""],["no2",""],["ya","✅"],["na","❌"],["nom","Nominated"],["sho","Shortlisted"],["tba","TBA"],["maybecheck","✔️"],["okay","Neutral"],["n/a","N/A"],["sdash","—"],["dunno","?"],["draw",""],["cnone",""],["nocontest",""]].forEach((e=>{Nt[e[0]]=t=>De(t,["text"]).text||e[1]}));var St=Object.assign({},gt,bt,ft,jt,zt,_t,qt,Nt);let Ct={};["goodreads author","twitter","facebook","instagram","tumblr","pinterest","espn nfl","espn nhl","espn fc","hockeydb","fifa player","worldcat","worldcat id","nfl player","ted speaker","playmate"].forEach((e=>{Ct[e]=["id","name"]}));let Lt={};["imdb title","imdb name","imdb episode","imdb event","afi film","allmovie title","allgame","tcmdb title","discogs artist","discogs label","discogs release","discogs master","librivox author","musicbrainz artist","musicbrainz label","musicbrainz recording","musicbrainz release","musicbrainz work","youtube","goodreads book","dmoz"].forEach((e=>{Lt[e]=["id","title","description","section"]}));let At={};["citation needed"].forEach((e=>{At[e]=(e,t)=>(t.push(De(e)),"")}));var Dt={ipa:(e,t)=>{let i=De(e,["transcription","lang","audio"]);return i.lang=yt(i.template),i.template="ipa",t.push(i),""},ipac:(e,t)=>{let i=De(e);return i.transcription=(i.list||[]).join(","),delete i.list,i.lang=yt(i.template),i.template="ipac",t.push(i),""},quote:(e,t)=>{let i=De(e,["text","author"]);if(t.push(i),i.text){let e=`"${i.text}"`;return i.author&&(e+="\n\n",e+=` - ${i.author}`),e+"\n"}return""},"cite gnis":(e,t)=>{let i=De(e,["id","name","type"]);return i.type="gnis",i.template="citation",t.push(i),""},"spoken wikipedia":(e,t)=>{let i=De(e,["file","date"]);return i.template="audio",t.push(i),""},yel:(e,t)=>{let i=De(e,["min"]);return t.push(i),i.min?`yellow: ${i.min||""}'`:""},subon:(e,t)=>{let i=De(e,["min"]);return t.push(i),i.min?`sub on: ${i.min||""}'`:""},suboff:(e,t)=>{let i=De(e,["min"]);return t.push(i),i.min?`sub off: ${i.min||""}'`:""},sfn:(e,t,i,a)=>{let n=De(e,["author","year","location"]);return a&&(n.name=n.template,n.teplate=a),t.push(n),""},redirect:(e,t)=>{let i=De(e,["redirect"]),a=i.list||[],n=[];for(let e=0;e{let i=De(e),a={};Object.keys(vt).forEach((e=>{!0===i.hasOwnProperty(e)&&(a[vt[e]]=i[e])}));let n={template:"sister project links",links:a};return t.push(n),""},"subject bar":(e,t)=>{let i=De(e);Object.keys(i).forEach((e=>{vt.hasOwnProperty(e)&&(i[vt[e]]=i[e],delete i[e])}));let a={template:"subject bar",links:i};return t.push(a),""},gallery:(e,t)=>{let i=De(e),a=(i.list||[]).filter((e=>/^ *File ?:/.test(e)));return a=a.map((e=>new _({file:e}).json())),i={template:"gallery",images:a},t.push(i),""},sky:(e,t)=>{let i=De(e,["asc_hours","asc_minutes","asc_seconds","dec_sign","dec_degrees","dec_minutes","dec_seconds","distance"]),a={template:"sky",ascension:{hours:i.asc_hours,minutes:i.asc_minutes,seconds:i.asc_seconds},declination:{sign:i.dec_sign,degrees:i.dec_degrees,minutes:i.dec_minutes,seconds:i.dec_seconds},distance:i.distance};return t.push(a),""},"medical cases chart":(e,t)=>{let i=["date","deathsExpr","recoveriesExpr","casesExpr","4thExpr","5thExpr","col1","col1Change","col2","col2Change"],a=De(e);a.data=a.data||"";let n=a.data.split("\n").map((e=>{let t=e.split(";"),a={options:new Map},n=0;for(let e=0;e{let i=De(e);i.x&&(i.x=i.x.split(",").map((e=>e.trim()))),i.y&&(i.y=i.y.split(",").map((e=>e.trim())));let a=1;for(;i["y"+a];)i["y"+a]=i["y"+a].split(",").map((e=>e.trim())),a+=1;return t.push(i),""},"historical populations":(e,t)=>{let i=De(e);i.list=i.list||[];let a=[];for(let e=0;e{const i=/^jan /i,a=/^year /i;let n=De(e);const r=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];let o={},s=Object.keys(n).filter((e=>i.test(e)));s=s.map((e=>e.replace(i,""))),s.forEach((e=>{o[e]=[],r.forEach((t=>{let i=`${t} ${e}`;if(n.hasOwnProperty(i)){let t=wt(n[i]);delete n[i],o[e].push(t)}}))})),n.byMonth=o;let l={};return Object.keys(n).forEach((e=>{if(a.test(e)){let t=e.replace(a,"");l[t]=n[e],delete n[e]}})),n.byYear=l,t.push(n),""},"weather box/concise c":(e,t)=>{let i=De(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high c":i.list.slice(0,12),"low c":i.list.slice(12,24),"rain mm":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"weather box/concise f":(e,t)=>{let i=De(e);return i.list=i.list.map((e=>wt(e))),i.byMonth={"high f":i.list.slice(0,12),"low f":i.list.slice(12,24),"rain inch":i.list.slice(24,36)},delete i.list,i.template="weather box",t.push(i),""},"climate chart":(e,t)=>{let i=De(e).list||[],a=i[0],n=i[38];i=i.slice(1),i=i.map((e=>(e&&"−"===e[0]&&(e=e.replace(/−/,"-")),e)));let r=[];for(let e=0;e<36;e+=3)r.push({low:wt(i[e]),high:wt(i[e+1]),precip:wt(i[e+2])});let o={template:"climate chart",data:{title:a,source:n,months:r}};return t.push(o),""},medalcount:(e,t)=>{let i=De(e).list||[],a=[];for(let e=0;e{let i=De(e,["formula"]);return t.push(i),"\n\n"+(i.formula||"")+"\n\n"},legend:(e,t)=>{let i=De(e,["color","label"]);return t.push(i),e},isbn:(e,t)=>{let i=De(e,["id","id2","id3"]);return t.push(i),"ISBN "+(i.id||"")},"based on":(e,t)=>{let i=De(e,["title","author"]);return t.push(i),`${i.title} by ${i.author||""}`},"bbl to t":(e,t)=>{let i=De(e,["barrels"]);return t.push(i),"0"===i.barrels?i.barrels+" barrel":i.barrels+" barrels"},mpc:(e,t)=>{let i=De(e,["number","text"]);return t.push(i),`[https://minorplanetcenter.net/db_search/show_object?object_id=P/2011+NO1 ${i.text||i.number}]`},pengoal:(e,t)=>(t.push({template:"pengoal"}),"✅"),penmiss:(e,t)=>(t.push({template:"penmiss"}),"❌"),"ordered list":(e,t)=>{let i=De(e);return t.push(i),i.list=i.list||[],i.list.map(((e,t)=>`${t+1}. ${e}`)).join("\n\n")},"title year":(e,t,i,a,n)=>{let r=De(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b[0-9]{4}\b/);if(e)return e[0]}return r.nomatch||""},"title century":(e,t,i,a,n)=>{let r=De(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)(st|nd|rd|th)\b/);if(e)return e[1]||""}return r.nomatch||""},"title decade":(e,t,i,a,n)=>{let r=De(e,["match","nomatch","page"]),o=r.page||n.title();if(o){let e=o.match(/\b([0-9]+)s\b/);if(e)return e[1]||""}return r.nomatch||""},nihongo:(e,t)=>{let i=De(e,["english","kanji","romaji","extra"]);t.push(i);let a=i.english||i.romaji||"";return i.kanji&&(a+=` (${i.kanji})`),a},marriage:(e,t)=>{let i=De(e,["spouse","from","to","end"]);t.push(i);let a=i.spouse||"";return i.from&&(i.to?a+=` (m. ${i.from}-${i.to})`:a+=` (m. ${i.from})`),a},"sent off":(e,t)=>{let i=De(e,["cards"]),a={template:"sent off",cards:i.cards,minutes:i.list||[]};return t.push(a),"sent off: "+a.minutes.map((e=>e+"'")).join(", ")},transl:(e,t)=>{let i=De(e,["lang","text","text2"]);return i.text2&&(i.iso=i.text,i.text=i.text2,delete i.text2),t.push(i),i.text||""},"collapsible list":(e,t)=>{let i=De(e);t.push(i);let a="";if(i.title&&(a+=`'''${i.title}'''\n\n`),!i.list){i.list=[];for(let e=1;e<10;e+=1)i[e]&&(i.list.push(i[e]),delete i[e])}return i.list=i.list.filter((e=>e)),a+=i.list.join("\n\n"),a},"columns-list":(e,t)=>{let i=((De(e).list||[])[0]||"").split(/\n/).filter((e=>e));return i=i.map((e=>e.replace(/\*/,""))),t.push({template:"columns-list",list:i}),i=i.map((e=>"• "+e)),i.join("\n\n")},height:(e,t)=>{let i=De(e);t.push(i);let a=[];return["m","cm","ft","in"].forEach((e=>{!0===i.hasOwnProperty(e)&&a.push(i[e]+e)})),a.join(" ")},sic:(e,t)=>{let i=De(e,["one","two","three"]),a=(i.one||"")+(i.two||"");return"?"===i.one&&(a=(i.two||"")+(i.three||"")),t.push({template:"sic",word:a}),"y"===i.nolink?a:`${a} [sic]`},inrconvert:(e,t)=>{let i=De(e,["rupee_value","currency_formatting"]);t.push(i);const a={k:1e3,m:1e6,b:1e9,t:1e12,l:1e5,c:1e7,lc:1e12};if(i.currency_formatting){let e=a[i.currency_formatting]||1;i.rupee_value=i.rupee_value*e}return`inr ${i.rupee_value||""}`},frac:(e,t)=>{let i=De(e,["a","b","c"]),a={template:"sfrac"};return i.c?(a.integer=i.a,a.numerator=i.b,a.denominator=i.c):i.b?(a.numerator=i.a,a.denominator=i.b):(a.numerator=1,a.denominator=i.a),t.push(a),a.integer?`${a.integer} ${a.numerator}⁄${a.denominator}`:`${a.numerator}⁄${a.denominator}`},"winning percentage":(e,t)=>{let i=De(e,["wins","losses","ties"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=Number(i.ties)||0,o=a+n+r;"y"===i.ignore_ties&&(r=0),r&&(a+=r/2);let s=kt({numerator:a,denominator:o,decimals:1});return null===s?"":"."+10*s},winlosspct:(e,t)=>{let i=De(e,["wins","losses"]);t.push(i);let a=Number(i.wins),n=Number(i.losses),r=kt({numerator:a,denominator:a+n,decimals:1});return null===r?"":`${a||0} || ${n||0} || ${"."+10*r||"-"}`},"video game release":(e,t)=>{let i=["region","date","region2","date2","region3","date3","region4","date4"],a=De(e,i),n={template:"video game release",releases:[]};for(let e=0;e`${e.region}: ${e.date||""}`)).join("\n\n")+"\n"},uss:(e,t)=>{let i=De(e,["name","id"]);return t.push(i),i.id?`[[USS ${i.name} (${i.id})|USS ''${i.name}'' (${i.id})]]`:`[[USS ${i.name}|USS ''${i.name}'']]`},blockquote:(e,t)=>{let i=De(e,["text","author","title","source","character"]);t.push(i);let a=i.text;a||(i.list=i.list||[],a=i.list[0]||"");let n=a.replace(/"/g,"'");return n='"'+n+'"',n},ReptileDatabase:(e,t)=>{let i=De(e,["taxon","genus","species","abruf","pure_url"]);t.push(i);let a="";return(i.genus||i.species)&&(a=`${i.genus||""} ${i.species||""} `),`${a}In: [[The Reptile Database]]`},GEOnet3:(e,t)=>{let i=De(e,["ufi","name"]);return t.push(i),"GEOnet3 can be found at [[GEOnet Names Server]], at [http://geonames.nga.mil/namesgaz/ this link]"}};const Rt={"£":"GB£","¥":"¥","৳":"৳","₩":"₩","€":"€","₱":"₱","₹":"₹","₽":"₽","cn¥":"CN¥","gb£":"GB£","india rs":"₹","indian rupee symbol":"₹","indian rupee":"₹","indian rupees":"₹","philippine peso":"₱","russian ruble":"₽","SK won":"₩","turkish lira":"TRY",a$:"A$",au$:"A$",aud:"A$",bdt:"BDT",brl:"BRL",ca$:"CA$",cad:"CA$",chf:"CHF",cny:"CN¥",czk:"czk",dkk:"dkk",dkk2:"dkk",euro:"€",gbp:"GB£",hk$:"HK$",hkd:"HK$",ils:"ILS",inr:"₹",jpy:"¥",myr:"MYR",nis:"ILS",nok:"NOK",nok2:"NOK",nz$:"NZ$",nzd:"NZ$",peso:"peso",pkr:"₨",r$:"BRL",rmb:"CN¥",rub:"₽",ruble:"₽",rupee:"₹",s$:"sgd",sek:"SEK",sek2:"SEK",sfr:"CHF",sgd:"sgd",shekel:"ILS",sheqel:"ILS",ttd:"TTD",us$:"US$",usd:"US$",yen:"¥",zar:"R"},Ft=(e,t)=>{let i=De(e,["amount","code"]);t.push(i);let a=i.template||"";"currency"===a?(a=i.code,a||(i.code=a="usd")):""!==a&&"monnaie"!==a&&"unité"!==a&&"nombre"!==a&&"nb"!==a||(a=i.code),a=(a||"").toLowerCase(),"us"===a?i.code=a="usd":"uk"===a&&(i.code=a="gbp");let n=`${Rt[a]||""}${i.amount||""}`;return i.code&&!Rt[i.code.toLowerCase()]&&(n+=" "+i.code),n};let Ut={currency:Ft};Object.keys(Rt).forEach((e=>{Ut[e]=Ft}));const Bt=864e5,Kt=30*Bt,Wt=365*Bt,Ht=function(e){return new Date(`${e.year}-${e.month||0}-${e.date||1}`).getTime()},Yt=function(e,t){e=Ht(e);let i=(t=Ht(t))-e,a={},n=Math.floor(i/Wt);n>0&&(a.years=n,i-=a.years*Wt);let r=Math.floor(i/Kt);r>0&&(a.months=r,i-=a.months*Kt);let o=Math.floor(i/Bt);return o>0&&(a.days=o),a},Gt=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Zt=[void 0,"January","February","March","April","May","June","July","August","September","October","November","December"],Vt=Zt.reduce(((e,t,i)=>(0===i||(e[t.toLowerCase()]=i,e[t.substring(0,3).toLowerCase()]=i),e)),{}),Jt=function(e){let t={},i=["year","month","date","hour","minute","second"];for(let a=0;a{let i=De(e,["year","month","date","hour","minute","second","timezone"]),a=Jt([i.year,i.month,i.date||i.day]);return i.text=Qt(a),i.timezone&&("Z"===i.timezone&&(i.timezone="UTC"),i.text+=` (${i.timezone})`),i.hour&&i.minute&&(i.second?i.text=`${i.hour}:${i.minute}:${i.second}, `+i.text:i.text=`${i.hour}:${i.minute}, `+i.text),i.text&&t.push(ei(i)),i.text},natural_date:(e,t)=>{let i=De(e,["text"]).text||"",a={};if(/^[0-9]{4}$/.test(i))a.year=parseInt(i,10);else{let e=i.replace(/[a-z]+\/[a-z]+/i,"");e=e.replace(/[0-9]+:[0-9]+(am|pm)?/i,"");let t=new Date(e);!1===isNaN(t.getTime())&&(a.year=t.getFullYear(),a.month=t.getMonth()+1,a.date=t.getDate())}return t.push(ei(a)),i.trim()},one_year:(e,t)=>{let i=De(e,["year"]),a=Number(i.year);return t.push(ei({year:a})),String(a)},two_dates:(e,t)=>{let i=De(e,["b","birth_year","birth_month","birth_date","death_year","death_month","death_date"]);if(i.b&&"b"===i.b.toLowerCase()){let e=Jt([i.birth_year,i.birth_month,i.birth_date]);return t.push(ei(e)),Qt(e)}let a=Jt([i.death_year,i.death_month,i.death_date]);return t.push(ei(a)),Qt(a)},age:e=>{let t=ti(e);return Yt(t.from,t.to).years||0},"diff-y":e=>{let t=ti(e),i=Yt(t.from,t.to);return 1===i.years?i.years+" year":(i.years||0)+" years"},"diff-ym":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),a.join(", ")},"diff-ymd":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),1===i.months?a.push("1 month"):i.months&&0!==i.months&&a.push(i.months+" months"),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-yd":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return 1===i.years?a.push(i.years+" year"):i.years&&0!==i.years&&a.push(i.years+" years"),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")},"diff-d":e=>{let t=ti(e),i=Yt(t.from,t.to),a=[];return i.days+=365*(i.years||0),i.days+=30*(i.months||0),1===i.days?a.push("1 day"):i.days&&0!==i.days&&a.push(i.days+" days"),a.join(", ")}},ai=["January","February","March","April","May","June","July","August","September","October","November","December"];var ni={currentday:()=>{let e=new Date;return String(e.getDate())},currentdayname:()=>{let e=new Date;return Gt[e.getDay()]},currentmonth:()=>{let e=new Date;return ai[e.getMonth()]},currentyear:()=>{let e=new Date;return String(e.getFullYear())},monthyear:()=>{let e=new Date;return ai[e.getMonth()]+" "+e.getFullYear()},"monthyear-1":()=>{let e=new Date;return e.setMonth(e.getMonth()-1),ai[e.getMonth()]+" "+e.getFullYear()},"monthyear+1":()=>{let e=new Date;return e.setMonth(e.getMonth()+1),ai[e.getMonth()]+" "+e.getFullYear()},year:e=>{let t=De(e,["date"]).date,i=new Date(t);return t&&!1===isNaN(i.getTime())?String(i.getFullYear()):""},"time ago":e=>function(e){let t=new Date(e);if(isNaN(t.getTime()))return"";let i=(new Date).getTime()-t.getTime(),a="ago";i<0&&(a="from now",i=Math.abs(i));let n=i/1e3/60/60/24;return n<365?Number(n)+" days "+a:Number(n/365)+" years "+a}(De(e,["date","fmt"]).date),"birth date and age":(e,t)=>{let i=De(e,["year","month","day"]);return i.year&&/[a-z]/i.test(i.year)?ii.natural_date(e,t):(t.push(i),i=Jt([i.year,i.month,i.day]),Qt(i))},"birth year and age":(e,t)=>{let i=De(e,["birth_year","birth_month"]);if(i.death_year&&/[a-z]/i.test(i.death_year))return ii.natural_date(e,t);t.push(i);let a=(new Date).getFullYear()-parseInt(i.birth_year,10);i=Jt([i.birth_year,i.birth_month]);let n=Qt(i);return a&&(n+=` (age ${a})`),n},"death year and age":(e,t)=>{let i=De(e,["death_year","birth_year","death_month"]);return i.death_year&&/[a-z]/i.test(i.death_year)?ii.natural_date(e,t):(t.push(i),i=Jt([i.death_year,i.death_month]),Qt(i))},"birth date and age2":(e,t)=>{let i=De(e,["at_year","at_month","at_day","birth_year","birth_month","birth_day"]);return t.push(i),i=Jt([i.birth_year,i.birth_month,i.birth_day]),Qt(i)},"birth based on age as of date":(e,t)=>{let i=De(e,["age","year","month","day"]);t.push(i);let a=parseInt(i.age,10),n=parseInt(i.year,10)-a;return n&&a?`${n} (age ${i.age})`:`(age ${i.age})`},"death date and given age":(e,t)=>{let i=De(e,["year","month","day","age"]);t.push(i),i=Jt([i.year,i.month,i.day]);let a=Qt(i);return i.age&&(a+=` (age ${i.age})`),a},dts:e=>{e=(e=e.replace(/\|format=[ymd]+/i,"")).replace(/\|abbr=(on|off)/i,"");let t=De(e,["year","month","date","bc"]);return t.date&&t.month&&t.year?!0===/[a-z]/.test(t.month)?[t.month,t.date,t.year].join(" "):[t.year,t.month,t.date].join("-"):t.month&&t.year?[t.year,t.month].join("-"):t.year?(t.year<0&&(t.year=Math.abs(t.year)+" BC"),t.year):""},time:()=>{let e=new Date,t=Jt([e.getFullYear(),e.getMonth(),e.getDate()]);return Qt(t)},millennium:e=>{let t=De(e,["year"]),i=parseInt(t.year,10);return i=Math.floor(i/1e3)+1,t.abbr&&"y"===t.abbr?i<0?`${xt(Math.abs(i))} BC`:`${xt(i)}`:`${xt(i)} millennium`},start:ii.date,"start-date":ii.natural_date,birthdeathage:ii.two_dates,age:ii.age,"age nts":ii.age,"age in years":ii["diff-y"],"age in years and months":ii["diff-ym"],"age in years, months and days":ii["diff-ymd"],"age in years and days":ii["diff-yd"],"age in days":ii["diff-d"]};function ri(e){let t=e.pop(),i=Number(e[0]||0),a=Number(e[1]||0),n=Number(e[2]||0);if("string"!=typeof t||isNaN(i))return null;let r=1;return/[SW]/i.test(t)&&(r=-1),r*(i+a/60+n/3600)}const oi=function(e){if("number"!=typeof e)return e;let t=1e5;return Math.round(e*t)/t},si={s:!0,w:!0},li=function(e){let t=De(e);t=function(e){return e.list=e.list||[],e.list=e.list.map((t=>{let i=Number(t);if(!isNaN(i))return i;let a=t.split(/:/);return a.length>1?(e.props=e.props||{},e.props[a[0]]=a.slice(1).join(":"),null):t})),e.list=e.list.filter((e=>null!==e)),e}(t);let i=function(e){const t=e.map((e=>typeof e)).join("|");return 2===e.length&&"number|number"===t?{lat:e[0],lon:e[1]}:4===e.length&&"number|string|number|string"===t?(si[e[1].toLowerCase()]&&(e[0]*=-1),"w"===e[3].toLowerCase()&&(e[2]*=-1),{lat:e[0],lon:e[2]}):6===e.length?{lat:ri(e.slice(0,3)),lon:ri(e.slice(3))}:8===e.length?{lat:ri(e.slice(0,4)),lon:ri(e.slice(4))}:{}}(t.list);return t.lat=oi(i.lat),t.lon=oi(i.lon),t.template="coord",delete t.list,t},ci={coord:(e,t)=>{let i=li(e);return t.push(i),i.display&&-1===i.display.indexOf("inline")?"":`${i.lat||""}°N, ${i.lon||""}°W`}},ui=function(e,t,i,a){let n=De(e);return a&&(n.name=n.template,n.template=a),t.push(n),""},mi={persondata:ui,taxobox:ui,citation:ui,portal:ui,reflist:ui,"cite book":ui,"cite journal":ui,"cite web":ui,"commons cat":ui,"election box candidate":ui,"election box begin":ui,main:ui},di={adx:"adx",aim:"aim",amex:"amex",asx:"asx",athex:"athex",b3:"b3","B3 (stock exchange)":"B3 (stock exchange)",barbadosse:"barbadosse",bbv:"bbv",bcba:"bcba",bcs:"bcs",bhse:"bhse",bist:"bist",bit:"bit","bm&f bovespa":"b3","bm&f":"b3",bmad:"bmad",bmv:"bmv","bombay stock exchange":"bombay stock exchange","botswana stock exchange":"botswana stock exchange",bpse:"bpse",bse:"bse",bsx:"bsx",bvb:"bvb",bvc:"bvc",bvl:"bvl",bvpasa:"bvpasa",bwse:"bwse","canadian securities exchange":"canadian securities exchange",cse:"cse",darse:"darse",dfm:"dfm",dse:"dse",euronext:"euronext",euronextparis:"euronextparis",fse:"fse",fwb:"fwb",gse:"gse",gtsm:"gtsm",idx:"idx",ise:"ise",iseq:"iseq",isin:"isin",jasdaq:"jasdaq",jse:"jse",kase:"kase",kn:"kn",krx:"krx",lse:"lse",luxse:"luxse","malta stock exchange":"malta stock exchange",mai:"mai",mcx:"mcx",mutf:"mutf",myx:"myx",nag:"nag","nasdaq dubai":"nasdaq dubai",nasdaq:"nasdaq",neeq:"neeq",nepse:"nepse",nex:"nex",nse:"nse",newconnect:"newconnect","nyse arca":"nyse arca",nyse:"nyse",nzx:"nzx","omx baltic":"omx baltic",omx:"omx",ose:"ose","otc expert":"otc expert","otc grey":"otc grey","otc pink":"otc pink",otcqb:"otcqb",otcqx:"otcqx","pfts ukraine stock exchange":"pfts ukraine stock exchange","philippine stock exchange":"philippine stock exchange",prse:"prse",psx:"psx",karse:"karse",qe:"qe","saudi stock exchange":"saudi stock exchange",sehk:"sehk","Stock Exchange of Thailand":"Stock Exchange of Thailand",set:"set",sgx:"sgx",sse:"sse",swx:"swx",szse:"szse",tase:"tase","tsx-v":"tsx-v",tsx:"tsx",tsxv:"tsxv",ttse:"ttse",twse:"twse",tyo:"tyo",wbag:"wbag",wse:"wse","zagreb stock exchange":"zagreb stock exchange","zimbabwe stock exchange":"zimbabwe stock exchange",zse:"zse"},pi=(e,t)=>{let i=De(e,["ticketnumber","code"]);t.push(i);let a=i.template||"";""===a&&(a=i.code),a=(a||"").toLowerCase();let n=di[a]||"";return i.ticketnumber&&(n=`${n}: ${i.ticketnumber}`),i.code&&!di[i.code.toLowerCase()]&&(n+=" "+i.code),n},hi={};Object.keys(di).forEach((e=>{hi[e]=pi}));const gi=function(e){return 1===(e=String(e)).length&&(e="0"+e),e},bi=function(e,t,i){e[`rd${t}-team${gi(i)}`]&&(i=gi(i));let a=e[`rd${t}-score${i}`],n=Number(a);return!1===isNaN(n)&&(a=n),{team:e[`rd${t}-team${i}`],score:a,seed:e[`rd${t}-seed${i}`]}},fi=function(e){let t=[],i=De(e);for(let e=1;e<7;e+=1){let a=[];for(let t=1;t<16;t+=2){let n=`rd${e}-team`;if(!i[n+t]&&!i[n+gi(t)])break;{let n=bi(i,e,t),r=bi(i,e,t+1);a.push([n,r])}}a.length>0&&t.push(a)}return{template:"playoffbracket",rounds:t}};let ki={"4teambracket":function(e,t){let i=fi(e);return t.push(i),""},player:(e,t)=>{let i=De(e,["number","country","name","dl"]);t.push(i);let a=`[[${i.name}]]`;if(i.country){let e=(i.country||"").toLowerCase(),t=Ot.find((t=>e===t[1]||e===t[2]))||[];t&&t[0]&&(a=t[0]+" "+a)}return i.number&&(a=i.number+" "+a),a},goal:(e,t)=>{let i={template:"goal",data:[]},a=De(e).list||[];for(let e=0;e{let t=e.note;return t&&(t=` (${t})`),e.min+"'"+t})).join(", "),n},"sports table":(e,t)=>{let i=De(e),a={};Object.keys(i).filter((e=>/^team[0-9]/.test(e))).map((e=>i[e].toLowerCase())).forEach((e=>{a[e]={name:i[`name_${e}`],win:Number(i[`win_${e}`])||0,loss:Number(i[`loss_${e}`])||0,tie:Number(i[`tie_${e}`])||0,otloss:Number(i[`otloss_${e}`])||0,goals_for:Number(i[`gf_${e}`])||0,goals_against:Number(i[`ga_${e}`])||0}}));let n={date:i.update,header:i.table_header,teams:a};t.push(n)},"cbb roster/header":function(){return'{| class="wikitable"\n |-\n ! POS\n ! #\n ! Name\n ! Height\n ! Weight\n ! Year\n ! Previous School\n ! Hometown\n |-\n'},"cbb roster/player":function(e,t){let i=De(e);return t.push(i),`|-\n| ${i.pos||""}\n| ${i.num||""}\n| ${i.first||""} ${i.last||""}\n| ${i.ft||""}${i.in||""}\n| ${i.lbs||""}\n| ${i.class||""}\n| ${i.high_school||""}\n| ${i.home||""}\n`},"cbb roster/footer":function(){return"\n|}"}};var wi=Object.assign({},It,Mt,Ut,ni,ci,mi,hi,fi,ki);let yi=Object.assign({},St,Tt,wi);Object.keys(pt).forEach((e=>{void 0===yi[pt[e]]&&console.error(`Missing template: '${pt[e]}'`),yi[e]=yi[pt[e]]}));const $i=["0","1","2","3","4","5","6","7","8","9"],xi=function(e,t){let i=e.name;if(!0===ot.hasOwnProperty(i))return[""];if(!0===function(e){return!0===st.hasOwnProperty(e)||!!lt.test(e)||!(!ct.test(e)&&!ut.test(e))||!!mt.test(e)}(i)){let t=De(e.body,[],"raw");return["",dt(t)]}if(!0===/^cite [a-z]/.test(i)){let t=De(e.body);return t.type=t.template,t.template="citation",["",t]}if(!0===yi.hasOwnProperty(i)){if("number"==typeof yi[i]){return[De(e.body,$i)[String(yi[i])]||""]}if("string"==typeof yi[i])return[yi[i]];if(!0===o(yi[i])){return["",De(e.body,yi[i])]}if(!0===((a=yi[i])&&"[object Object]"===Object.prototype.toString.call(a))){let t=De(e.body,yi[i].props);return[t[yi[i].out],t]}if("function"==typeof yi[i]){let a=[];return[yi[i](e.body,a,De,null,t),a[0]]}}var a;if(t&&t._templateFallbackFn){let i=[],a=t._templateFallbackFn(e.body,i,De,null,t);if(null!==a)return[a,i[0]]}let n=De(e.body);return 0===Object.keys(n).length&&(n=null),["",n]},vi=(e="")=>(e=(e=e.toLowerCase()).replace(/[-_]/g," ")).trim(),ji=function(e,t){this._type=e.type,this.domain=e.domain,Object.defineProperty(this,"data",{enumerable:!1,value:e.data}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},_i={type:function(){return this._type},links:function(e){let t=[];if(Object.keys(this.data).forEach((e=>{this.data[e].links().forEach((e=>t.push(e)))})),"string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t},image:function(){let e=this.data.image||this.data.image2||this.data.logo||this.data.image_skyline||this.data.image_flag;if(!e)return null;let t=e.json(),i=t.text;return t.file=i,t.text="",t.caption=this.data.caption,t.domain=this.domain,new _(t)},get:function(e){let t=Object.keys(this.data);if("string"==typeof e){let i=vi(e);for(let e=0;e{for(let i=0;i(e.data[i]&&(t[i]=e.data[i].json()),t)),{});return!0===t.encode&&(i=W(i)),i}(this,e=e||{})},wikitext:function(){return this.wiki||""},keyValue:function(){return Object.keys(this.data).reduce(((e,t)=>(this.data[t]&&(e[t]=this.data[t].text()),e)),{})}};Object.keys(_i).forEach((e=>{ji.prototype[e]=_i[e]})),ji.prototype.data=ji.prototype.keyValue,ji.prototype.template=ji.prototype.type,ji.prototype.images=ji.prototype.image;const zi=function(e,t){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"wiki",{enumerable:!1,value:t})},Oi={title:function(){let e=this.data;return e.title||e.encyclopedia||e.author||""},links:function(e){let t=[];if("number"==typeof e)return t[e];if("number"==typeof e)return t[e];if("string"==typeof e){e=e.charAt(0).toUpperCase()+e.substring(1);let i=t.find((t=>t.page()===e));return void 0===i?[]:[i]}return t||[]},text:function(){return""},wikitext:function(){return this.wiki||""},json:function(e={}){let t=this.data||{};return!0===e.encode&&(t=Object.assign({},t),t=W(t)),t}};Object.keys(Oi).forEach((e=>{zi.prototype[e]=Oi[e]}));const Ei={text:function(){return se(this._text||"").text()},json:function(){return this.data||{}},wikitext:function(){return this.wiki||""}},qi=function(e,t="",i=""){Object.defineProperty(this,"data",{enumerable:!1,value:e}),Object.defineProperty(this,"_text",{enumerable:!1,value:t}),Object.defineProperty(this,"wiki",{enumerable:!1,value:i})};Object.keys(Ei).forEach((e=>{qi.prototype[e]=Ei[e]}));const Ni=/^(cite |citation)/i,Si={citation:!0,refn:!0,harvnb:!0,source:!0},Ci=function(e,t){let{list:i,wiki:a}=function(e,t){let i=[],a=rt(e);const n=function(a,r){a.parent=r,a.children&&a.children.length>0&&a.children.forEach((e=>n(e,a)));let[o,s]=xi(a,t);a.wiki=o,s&&i.push({name:a.name,wiki:a.body,nested:Boolean(a.parent),text:o,json:s});const l=function(e,t,i){e.parent&&(e.parent.body=e.parent.body.replace(t,i),l(e.parent,t,i))};l(a,a.body,a.wiki),e=e.replace(a.body,a.wiki)};return a.forEach((e=>n(e,null))),a.forEach((t=>{e=e.replace(t.body,t.wiki)})),{list:i,wiki:e}}(e._wiki,t),n=t?t._domain:null,{infoboxes:r,references:o,templates:s}=function(e,t){let i={infoboxes:[],templates:[],references:[]};return e.forEach((e=>{let a=e.json,n=a.template||a.type||a.name;if(!0!==Si[n]&&!0!==Ni.test(n))return"infobox"===a.template&&"yes"!==a.subbox?(a.domain=t,a.data=a.data||{},void i.infoboxes.push(new ji(a,e.wiki))):void i.templates.push(new qi(a,e.text,e.wiki));i.references.push(new zi(a,e.wiki))})),i}(i,n);e._infoboxes=e._infoboxes||[],e._references=e._references||[],e._templates=e._templates||[],e._infoboxes=e._infoboxes.concat(r),e._references=e._references.concat(o),e._templates=e._templates.concat(s),e._wiki=a},Li=function(e){return/^ *\{\{ *(cite|citation)/i.test(e)&&/\}\} *$/.test(e)&&!1===/citation needed/i.test(e)},Ai=function(e){let t=De(e);return t.type=t.template.replace(/cite /,""),t.template="citation",t},Di=function(e){return{template:"citation",type:"inline",data:{},inline:se(e)||{}}},Pi=function(e){let t=[],i=e._wiki;i=i.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){let n=!1;return et(a).forEach((a=>{if(Li(a)){let r=Ai(a);r&&(t.push({json:r,wiki:e}),n=!0),i=i.replace(a,"")}})),n||t.push({json:Di(a),wiki:e})," "})),i=i.replace(/ ?]{0,200}?\/> ?/gi," "),i=i.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi,(function(e,a){let n=!1;return et(a).forEach((a=>{if(Li(a)){let r=Ai(a);r&&(t.push({json:r,wiki:e}),n=!0),i=i.replace(a,"")}})),n||t.push({json:Di(a),wiki:e})," "})),i=i.replace(/ ?<[ /]?[a-z0-9]{1,8}[a-z0-9=" ]{2,20}[ /]?> ?/g," "),e._references=t.map((e=>new zi(e.json,e.wiki))),e._wiki=i},Ti={coach:["team","year","g","w","l","w-l%","finish","pg","pw","pl","pw-l%"],player:["year","team","gp","gs","mpg","fg%","3p%","ft%","rpg","apg","spg","bpg","ppg"],roster:["player","gp","gs","mpg","fg%","3fg%","ft%","rpg","apg","spg","bpg","ppg"]};let Ii=["res","record","opponent","method","event","date","round","time","location","notes"];const Mi=function(e,t){const i={templates:[],text:e._wiki};var a;return function(e,t){e.text=e.text.replace(/\{\{election box begin([\s\S]+?)\{\{election box end\}\}/gi,(i=>{let a={_wiki:i,_templates:[]};Ci(a,t);let n=a._templates.map((e=>e.json())),r=n.find((e=>"election box"===e.template))||{},o=n.filter((e=>"election box candidate"===e.template)),s=n.find((e=>"election box gain"===e.template||"election box hold"===e.template))||{};return(o.length>0||s)&&e.templates.push({template:"election box",title:r.title,candidates:o,summary:s.data}),""}))}(i,t),function(e,t,i){e.text=e.text.replace(/]*)>([\s\S]+)<\/gallery>/g,((a,n,r)=>{let o=r.split(/\n/g);return o=o.filter((e=>e&&""!==e.trim())),o=o.map((e=>{let i=e.split(/\|/),a={file:i[0].trim(),lang:t.lang(),domain:t.domain()},n=new _(a).json(),r=i.slice(1).join("|");return""!==r&&(n.caption=se(r)),n})),o.length>0&&e.templates.push({template:"gallery",images:o,pos:i.title}),""}))}(i,t,e),(a=i).text=a.text.replace(/]*)>([\s\S]*?)<\/math>/g,((e,t,i)=>{let n=se(i).text();return a.templates.push({template:"math",formula:n,raw:i}),n&&n.length<12?n:""})),a.text=a.text.replace(/]*)>([\s\S]*?)<\/chem>/g,((e,t,i)=>(a.templates.push({template:"chem",data:i}),""))),function(e){e.text=e.text.replace(/\{\{mlb game log /gi,"{{game log "),e.text=e.text.replace(/\{\{game log (section|month)[\s\S]+?\{\{game log (section|month) end\}\}/gi,(t=>{let i=function(e){let t=["#","date","opponent","score","win","loss","save","attendance","record"];return!0===/\|stadium=y/i.test(e)&&t.splice(7,0,"stadium"),!0===/\|time=y/i.test(e)&&t.splice(7,0,"time"),!0===/\|box=y/i.test(e)&&t.push("box"),t}(t);t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{game log (section|month) end\}\}/i,"");let a="! "+i.join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mlb game log section",data:n}),""}))}(i),function(e){e.text=e.text.replace(/\{\{mma record start[\s\S]+?\{\{end\}\}/gi,(t=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{end\}\}/i,"");let i="! "+Ii.join(" !! "),a=be("{|\n"+i+"\n"+t+"\n|}");return a=a.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"mma record start",data:a}),""}))}(i),function(e){e.text=e.text.replace(/\{\{nba (coach|player|roster) statistics start([\s\S]+?)\{\{s-end\}\}/gi,((t,i)=>{t=(t=t.replace(/^\{\{.*?\}\}/,"")).replace(/\{\{s-end\}\}/,""),i=i.toLowerCase().trim();let a="! "+Ti[i].join(" !! "),n=be("{|\n"+a+"\n"+t+"\n|}");return n=n.map((e=>(Object.keys(e).forEach((t=>{e[t]=e[t].text()})),e))),e.templates.push({template:"NBA "+i+" statistics",data:n}),""}))}(i),i.templates=i.templates.map((e=>new qi(e))),i},Ri={tables:!0,references:!0,paragraphs:!0,templates:!0,infoboxes:!0};class Fi{constructor(e,t){let i={doc:t,title:e.title||"",depth:e.depth,wiki:e.wiki||"",templates:[],tables:[],infoboxes:[],references:[],paragraphs:[]};Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})}));const a=Mi(this,t);this._wiki=a.text,this._templates=this._templates.concat(a.templates),Pi(this),Ci(this,t),function(e){let t=[],i=e._wiki,a=i.split("\n"),n=[];for(let e=0;e0&&(n[n.length-1]+="\n"+a[e]);else{n[n.length-1]+="\n"+a[e];let i=n.pop();t.push(i)}else n.push(a[e]);let r=[];t.forEach((e=>{if(e){i=i.replace(e+"\n",""),i=i.replace(e,"");let t=be(e);t&&t.length>0&&r.push(new we(t,e))}})),r.length>0&&(e._tables=r),e._wiki=i}(this),Xe(this,t)}title(){return this._title||""}index(){if(!this._doc)return null;let e=this._doc.sections().indexOf(this);return-1===e?null:e}depth(){return this._depth}indentation(){return this.depth()}sentences(){return this.paragraphs().reduce(((e,t)=>e.concat(t.sentences())),[])}paragraphs(){return this._paragraphs||[]}links(e){let t=[];if(this.infoboxes().forEach((e=>{t.push(e.links())})),this.sentences().forEach((e=>{t.push(e.links())})),this.tables().forEach((e=>{t.push(e.links())})),this.lists().forEach((e=>{t.push(e.links())})),t=t.reduce(((e,t)=>e.concat(t)),[]).filter((e=>void 0!==e)),"string"==typeof e){let i=t.find((t=>t.page().toLowerCase()===e.toLowerCase()));return void 0===i?[]:[i]}return t}tables(){return this._tables||[]}templates(e){let t=this._templates||[];return"string"==typeof e?(e=e.toLowerCase(),t.filter((t=>t.data.template===e||t.data.name===e))):t}infoboxes(e){let t=this._infoboxes||[];return"string"==typeof e?(e=(e=e.replace(/^infobox /i,"")).trim().toLowerCase(),t.filter((t=>t._type===e))):t}coordinates(){return[...this.templates("coord"),...this.templates("coor")].map((e=>e.json()))}lists(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.lists())})),e}interwiki(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.interwiki())})),e}images(){let e=[];return this.paragraphs().forEach((t=>{e=e.concat(t.images())})),e}references(){return this._references||[]}remove(){if(!this._doc)return null;let e={};e[this.title()]=!0,this.children().forEach((t=>e[t.title()]=!0));let t=this._doc.sections();return t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),t=t.filter((t=>!0!==e.hasOwnProperty(t.title()))),this._doc._sections=t,this._doc}nextSibling(){if(!this._doc)return null;let e=this._doc.sections();for(let t=(this.index()||0)+1;tthis.depth())for(let e=i+1;ethis.depth();e+=1)a.push(t[e]);return"string"==typeof e?a.find((t=>t.title().toLowerCase()===e.toLowerCase())):a}sections(e){return this.children(e)}parent(){if(!this._doc)return null;let e=this._doc.sections();for(let t=this.index()||0;t>=0;t-=1)if(e[t]&&e[t].depth()t.text(e))).join("\n\n")}wikitext(){return this._wiki}json(e){return function(e,t){let i={};if(!0===(t=d(t,H)).headers&&(i.title=e.title()),!0===t.depth&&(i.depth=e.depth()),!0===t.paragraphs){let a=e.paragraphs().map((e=>e.json(t)));a.length>0&&(i.paragraphs=a)}if(!0===t.images){let a=e.images().map((e=>e.json(t)));a.length>0&&(i.images=a)}if(!0===t.tables){let a=e.tables().map((e=>e.json(t)));a.length>0&&(i.tables=a)}if(!0===t.templates){let a=e.templates().map((e=>e.json()));a.length>0&&(i.templates=a,!0===t.encode&&i.templates.forEach((e=>W(e))))}if(!0===t.infoboxes){let a=e.infoboxes().map((e=>e.json(t)));a.length>0&&(i.infoboxes=a)}if(!0===t.lists){let a=e.lists().map((e=>e.json(t)));a.length>0&&(i.lists=a)}if(!0===t.references||!0===t.citations){let a=e.references().map((e=>e.json(t)));a.length>0&&(i.references=a)}return!0===t.sentences&&(i.sentences=e.sentences().map((e=>e.json(t)))),i}(this,e=d(e,Ri))}}Fi.prototype.citations=Fi.prototype.references;const Ui={sentences:"sentence",paragraphs:"paragraph",links:"link",tables:"table",templates:"template",infoboxes:"infobox",coordinates:"coordinate",lists:"list",images:"image",references:"reference",citations:"citation"};Object.keys(Ui).forEach((e=>{let t=Ui[e];Fi.prototype[t]=function(t){let i=this[e](t);return"number"==typeof t?i[t]:i[0]||null}}));const Bi=/^(={1,6})(.{1,200}?)={1,6}$/,Ki=/\{\{.+?\}\}/,Wi=function(e,t,i){let a=t.match(Bi);if(!a)return e.title="",e.depth=0,e;let n=a[2]||"";n=se(n).text(),Ki.test(n)&&(n=function(e,t){return rt(e).forEach((i=>{let[a]=xi(i,t);e=e.replace(i.body,a)})),e}(n,i));let o={_wiki:n};Pi(o),n=o._wiki,n=r(n);let s=0;return a[1]&&(s=a[1].length-2),e.title=n,e.depth=s,e},Hi=new RegExp("^("+["references","reference","einzelnachweise","referencias","références","notes et références","脚注","referenser","bronnen","примечания"].join("|")+"):?","i"),Yi=/(?:\n|^)(={2,6}.{1,200}?={2,6})/g,Gi=function(e){let t=[],i=e._wiki.split(Yi);for(let a=0;a!0!==Hi.test(t.title())||t.paragraphs().length>0||t.templates().length>0||(e[i+1]&&e[i+1].depth()>t.depth()&&(e[i+1]._depth-=1),!1)))}(t)},Zi=new RegExp("\\[\\[("+h.join("|")+"):(.{2,178}?)]](w{0,10})","gi"),Vi=new RegExp("^\\[\\[:?("+h.join("|")+"):","gi"),Ji=function(e){const t=[];let i=e.match(Zi);i&&i.forEach((function(e){(e=(e=(e=e.replace(Vi,"")).replace(/\|?[ *]?\]\]$/,"")).replace(/\|.*/,""))&&!e.match(/[[\]]/)&&t.push(e.trim())}));const a=e.replace(Zi,"");return[t,a]},Xi={tables:!0,lists:!0,paragraphs:!0};class Qi{constructor(e,t){t=t||{},this._options=t;let i={pageID:t.pageID||t.id||null,namespace:t.namespace||t.ns||null,lang:t.lang||t.language||null,domain:t.domain||null,title:t.title||null,type:"page",redirectTo:null,wikidata:t.wikidata||null,wiki:e||"",categories:[],sections:[],coordinates:[],userAgent:t.userAgent||t["User-Agent"]||t["Api-User-Agent"]||"User of the wtf_wikipedia library",templateFallbackFn:t.templateFallbackFn||null,revisionID:t.revisionID||null};if(Object.keys(i).forEach((e=>{Object.defineProperty(this,"_"+e,{enumerable:!1,writable:!0,value:i[e]})})),!0===function(e){return!!e&&T.test(e)}(this._wiki)){this._type="redirect",this._redirectTo=function(e){let t=e.match(T);if(t&&t[2])return(P(t[2])||[])[0];return{}}(this._wiki);const[e,t]=Ji(this._wiki);return this._categories=e,void(this._wiki=t)}this._wiki=U(this._wiki);const[a,n]=Ji(this._wiki);this._categories=a,this._wiki=n,this._sections=Gi(this)}title(e){if(void 0!==e)return this._title=e,e;if(this._title)return this._title;let t=null,i=this.sentences()[0];return i&&(t=i.bold()),t}pageID(e){return void 0!==e&&(this._pageID=e),this._pageID||null}wikidata(e){return void 0!==e&&(this._wikidata=e),this._wikidata||null}domain(e){return void 0!==e&&(this._domain=e),this._domain||null}language(e){return void 0!==e&&(this._lang=e),this._lang||null}url(){let e=this.title();if(!e)return null;let t=this.language()||"en",i=this.domain()||"wikipedia.org";return e=e.replace(/ /g,"_"),e=encodeURIComponent(e),`https://${t}.${i}/wiki/${e}`}namespace(e){return void 0!==e&&(this._namespace=e),this._namespace||null}isRedirect(){return"redirect"===this._type}redirectTo(){return this._redirectTo}isDisambiguation(){return function(e){let t=e.templates().map((e=>e.json()));if(t.find((e=>k.hasOwnProperty(e.template)||x.hasOwnProperty(e.template))))return!0;let i=e.title();return!(!i||!0!==$.test(i))||!t.find((e=>y.hasOwnProperty(e.template)))&&(!0===v(e.sentence(0))||!0===v(e.sentence(1)))}(this)}categories(e){let t=this._categories||[];return"number"==typeof e?[t[e]]:t}sections(e){let t=this._sections||[];if(t.forEach((e=>{e._doc=this})),"string"==typeof e){let i=e.toLowerCase().trim();return t.filter((e=>e.title().toLowerCase()===i))}return"number"==typeof e?[t[e]]:t}paragraphs(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.paragraphs())})),"number"==typeof e?[t[e]]:t}sentences(e){let t=[];return this.sections().forEach((e=>{t=t.concat(e.sentences())})),"number"==typeof e?[t[e]]:t}images(e){let t=m(this,"images",null);return this.infoboxes().forEach((e=>{let i=e.image();i&&t.unshift(i)})),this.templates().forEach((e=>{"gallery"===e.data.template&&(e.data.images=e.data.images||[],e.data.images.forEach((e=>{e instanceof _||(e.language=this.language(),e.domain=this.domain(),e=new _(e)),t.push(e)})))})),"number"==typeof e?[t[e]]:t}links(e){return m(this,"links",e)}interwiki(e){return m(this,"interwiki",e)}lists(e){return m(this,"lists",e)}tables(e){return m(this,"tables",e)}templates(e){return m(this,"templates",e)}references(e){return m(this,"references",e)}citations(e){return this.references(e)}coordinates(e){return m(this,"coordinates",e)}infoboxes(e){let t=m(this,"infoboxes",e);return t=t.sort(((e,t)=>Object.keys(e.data).length>Object.keys(t.data).length?-1:1)),t}text(e){if(e=d(e,Xi),!0===this.isRedirect())return"";return this.sections().map((t=>t.text(e))).join("\n\n")}json(e){return function(e,t){let i={};return(t=d(t,p)).title&&(i.title=e.title()),t.pageID&&(i.pageID=e.pageID()),t.categories&&(i.categories=e.categories()),t.sections&&(i.sections=e.sections().map((e=>e.json(t)))),!0===e.isRedirect()&&(i.isRedirect=!0,i.redirectTo=e.redirectTo(),i.sections=[]),t.coordinates&&(i.coordinates=e.coordinates()),t.infoboxes&&(i.infoboxes=e.infoboxes().map((e=>e.json(t)))),t.images&&(i.images=e.images().map((e=>e.json(t)))),t.plaintext&&(i.plaintext=e.text(t)),(t.citations||t.references)&&(i.references=e.references()),i}(this,e=d(e,Xi))}wikitext(){return this._wiki||""}debug(){return console.log("\n"),this.sections().forEach((e=>{let t=" - ";for(let i=0;i{let t=ea[e];Qi.prototype[t]=function(t){return this[e](t)[0]||null}})),Qi.prototype.lang=Qi.prototype.language,Qi.prototype.ns=Qi.prototype.namespace,Qi.prototype.plaintext=Qi.prototype.text,Qi.prototype.isDisambig=Qi.prototype.isDisambiguation,Qi.prototype.citations=Qi.prototype.references,Qi.prototype.redirectsTo=Qi.prototype.redirectTo,Qi.prototype.redirect=Qi.prototype.redirectTo,Qi.prototype.redirects=Qi.prototype.redirectTo;const ta=/^https?:\/\//,ia={lang:"en",wiki:"wikipedia",domain:void 0,follow_redirects:!0,path:"api.php"},aa=function(e,t,i){"string"==typeof t&&(t={lang:t}),(t={...ia,...t}).title=e,"string"==typeof e&&ta.test(e)&&(t={...t,...n(e)});const r=u(t),s=function(e){let t,i=e.userAgent||e["User-Agent"]||e["Api-User-Agent"]||"User of the wtf_wikipedia library";return t=e.noOrigin?"":e.origin||e.Origin||"*",{method:"GET",headers:{"Content-Type":"application/json","Api-User-Agent":i,"User-Agent":i,Origin:t,"Accept-Encoding":"gzip"},redirect:"follow"}}(t);return a(r,s).then((e=>e.json())).then((a=>{if(!a)throw new Error(`No JSON Data Found For ${r}`);let n=function(e,t={}){return e?.query?.pages&&e?.query&&e?Object.keys(e.query.pages).map((i=>{let a=e.query.pages[i]||{};if(a.hasOwnProperty("missing")||a.hasOwnProperty("invalid"))return null;let n=a.revisions[0]["*"];!n&&a.revisions[0].slots&&(n=a.revisions[0].slots.main["*"]),a.pageprops=a.pageprops||{};let r=t.domain;return!r&&t.wiki&&(r=`${t.wiki}.org`),{wiki:n,meta:Object.assign({},t,{title:a.title,pageID:a.pageid,namespace:a.ns,domain:r,wikidata:a.pageprops.wikibase_item,description:a.pageprops["wikibase-shortdesc"]})}})):null}(a,t);return n=function(e,t){let i=(e=e.filter((e=>e))).map((e=>new Qi(e.wiki,e.meta)));return 0===i.length?null:o(t)||1!==i.length?i:i[0]}(n,e),i&&i(null,n),n})).catch((e=>(console.error(e),i&&i(e,null),null)))};const na=function(e,t){return new Qi(e,t)},ra={Doc:Qi,Section:Fi,Paragraph:_e,Sentence:X,Image:_,Infobox:ji,Link:G,List:Be,Reference:zi,Table:we,Template:qi,http:function(e,t){return a(e,t).then((function(e){return e.json()})).catch((t=>(console.error("\n\n=-=- http response error =-=-=-"),console.error(e),console.error(t),{})))},wtf:na};na.fetch=function(e,t,i){return aa(e,t,i)},na.plugin=na.extend=function(e){return e(ra,yi,st),this},na.version="10.2.1";export{na as default}; diff --git a/builds/wtf_wikipedia.cjs b/builds/wtf_wikipedia.cjs index fe5254b4..0e55b6da 100644 --- a/builds/wtf_wikipedia.cjs +++ b/builds/wtf_wikipedia.cjs @@ -858,7 +858,7 @@ //alt disambig-templates en-wikipedia uses let d = ' disambiguation'; - const templates$c = [ + const templates$d = [ 'dab', 'dab', 'disamb', @@ -944,7 +944,7 @@ // check for a {{disambig}} template let templates = doc.templates().map((tmpl) => tmpl.json()); let found = templates.find((obj) => { - return templates$c.hasOwnProperty(obj.template) || i18n_templates.hasOwnProperty(obj.template) + return templates$d.hasOwnProperty(obj.template) || i18n_templates.hasOwnProperty(obj.template) }); if (found) { return true @@ -4168,20 +4168,23 @@ redir: 'redirect', sisterlinks: 'sister project links', 'main article': 'main', - 'by': 'baseball year', - 'aldsy': 'alds year', - 'nldsy': 'nlds year', + by: 'baseball year', + aldsy: 'alds year', + nldsy: 'nlds year', //not perfect.. 'str rep': 'replace', - 'ushr2': 'ushr', - 'stn': 'station', - 'metrod': 'metro', - 'fw': 'ferry', - 'rws': 'stnlnk', + ushr2: 'ushr', + stn: 'station', + metrod: 'metro', + fw: 'ferry', + rws: 'stnlnk', sclass2: 'sclass', under: 'underline', brackets: 'bracket', - raise: 'lower' + raise: 'lower', + 'born-in': 'born in', + 'c.': 'circa', + 'r.': 'reign', }; //multiple aliases @@ -4232,7 +4235,7 @@ 'unbulleted list', 'unbulleted', 'unbulletedlist', - 'vunblist' + 'vunblist', ], 'election box begin': [ @@ -4395,7 +4398,7 @@ 'user-blocked', 'notabug', 'notfixed', - 'won\'t fix', + "won't fix", 'withdraw', 'nojoy', 'unrelated', @@ -4403,30 +4406,75 @@ 'nayc', 'nayg', ], - checked: [ - 'already done', - 'resolved1', - 'check mark-n', - 'checked box', - ], + checked: ['already done', 'resolved1', 'check mark-n', 'checked box'], // https://en.wikipedia.org/wiki/Template:Ferry - 'station link': [ - 'amtk', - 'cta', - 'bts', - 'mnrr', - 'mtams', - 'munis', - 'njts', - 'scax', - 'wmata', - 'rwsa', + 'station link': ['amtk', 'cta', 'bts', 'mnrr', 'mtams', 'munis', 'njts', 'scax', 'wmata', 'rwsa'], + 'video game release': ['vgrelease', 'video game release hlist', 'vgrtbl', 'vgrelease hlist', 'vgrh'], + aka: ['a.k.a.', 'also known as'], + 'literal translation': ['lit', 'literal', 'literally'], + 'citation needed': [ + 'are you sure?', + 'cb', + 'ciation needed', + 'cit', + 'cita requerida', + 'citaiton needed', + 'citation missing', + 'citation need', + 'citation requested', + 'citation required', + 'citation-needed', + 'citationeeded', + 'citationneeded', + 'citationrequired', + 'citazione necessaria', + 'cite missing', + 'cite needed', + 'cite source', + 'cite-needed', + 'citeneeded', + 'citesource', + 'citn', + 'cn needed', + 'cn', + 'ctn', + 'fact?', + 'fact', + 'facts', + 'fcitation needed', + 'me-fact', + 'need citation', + 'need sources', + 'need-ref', + 'needcitation', + 'needcite', + 'needs citation', + 'needs citations', + 'needs reference', + 'needs source', + 'needs-cite', + 'needsref', + 'no source given', + 'prov-statement', + 'prove it', + 'proveit', + 'ref needed', + 'ref-needed', + 'ref?', + 'reference necessary', + 'reference needed', + 'reference required', + 'refnec', + 'refneeded', + 'refplease', + 'request citation', + 'source needed', + 'source?', + 'sourceme', + 'uncited', + 'unreferenced inline', + 'unsourced-inline', ], - // 'br separated entries': [ - // 'br list', - // 'br-separated entries', - // 'br separated entries', - // ] }; // - other languages - @@ -4509,7 +4557,7 @@ }; //grab the first, second or third pipe.. - let templates$b = { + let templates$c = { p1: 0, p2: 1, p3: 2, @@ -4610,13 +4658,17 @@ 'bigdiv', 'strikethroughdiv', 'strikethrough color', - 'pbpe'//pt + 'pbpe', //pt + 'video game release/abbr', + 'nobel abbr', + 'gloss', + 'gcl', ]; zeros.forEach((k) => { - templates$b[k] = 0; + templates$c[k] = 0; }); - let templates$a = {}; + let templates$b = {}; // these templates all have a predictable pattern // {{HSC|Ship Name|ID}} -> [[HSC Name (id)]] let arr = [ @@ -4695,7 +4747,7 @@ ]; arr.forEach(word => { - templates$a[word] = (tmpl) => { + templates$b[word] = (tmpl) => { let { name, id } = parser(tmpl, ['name', 'id']); return id ? `[[${word.toUpperCase()} ${name} (${id})]]` : `[[${word.toUpperCase()} ${name}]]` }; @@ -4846,11 +4898,6 @@ return `(r. ${obj.start} – ${obj.end})` }, - circa: (tmpl) => { - let { year } = parser(tmpl, ['year']); - return year ? `c. ${year}` : 'c. ' - }, - // https://en.wikipedia.org/wiki/Template:Decade_link 'decade link': (tmpl) => { let { year } = parser(tmpl, ['year']); @@ -4911,6 +4958,12 @@ return arr.join(', ') }, + // not perfect - https://en.m.wikipedia.org/wiki/Template:Interlinear + interlinear: (tmpl) => { + let arr = parser(tmpl).list || []; + return arr.join('\n\n') + }, + //actually rendering these links removes the text. //https://en.wikipedia.org/wiki/Template:Catlist catlist: (tmpl) => { @@ -5507,9 +5560,66 @@ } return '' }, + + 'literal translation': (tmpl) => { + let arr = parser(tmpl).list || []; + arr = arr.map((str) => `'${str}'`); + return 'lit. ' + arr.join(' or ') + }, }; - let templates$9 = {}; + let shorthands = [ + // {{HWV|251d}} - handel, bach + ['bwv', 'BWV'], + ['hwv', 'HWV'], + ['d.', 'D '], //Deutsch catalogue + ['aka', 'a.k.a. '], + + // date abbreviations + ['cf.', 'cf. '], + ['fl.', 'fl. '], + ['circa', 'c. '], + ['born in', 'b. '], + ['died-in', 'd. '], + ['married-in', 'm. '], + ]; + // create a function for each one + let fns$1 = shorthands.reduce((h, a) => { + let [name, out] = a; + h[name] = (tmpl) => { + let { first } = parser(tmpl, ['first']); + if (first || first === 0) { + return out + (first || '') + } + return out + }; + return h + }, {}); + + // return only the name of the template + let justNames = [ + 'they', + 'them', + 'their', + 'theirs', + 'themself', + 'they are', + 'they were', + 'they have', + 'they do', + 'he or she', + 'him or her', + 'his or her', + 'his or hers', + 'he/she', + 'him/her', + 'his/her', + ]; + justNames.forEach((str) => { + fns$1[str] = str; + }); + + let templates$a = {}; let more = [ 'sr-latn-cyrl', //first parameter latin, second cyrillic 'sr-cyrl-latn', //first parameter cyrillic, second latin @@ -5970,12 +6080,12 @@ // more languages more.forEach((k) => { - templates$9['lang-' + k] = 0; + templates$a['lang-' + k] = 0; }); //https://en.wikipedia.org/wiki/Category:Lang-x_templates Object.keys(languages).forEach((k) => { - templates$9['lang-' + k] = 0; + templates$a['lang-' + k] = 0; }); var flags = [ @@ -6240,7 +6350,7 @@ ]; const order = ['flag', 'variant']; - let templates$8 = { + let templates$9 = { //https://en.wikipedia.org/wiki/Template:Flag // {{flag|USA}} → USA flag: (tmpl) => { @@ -6316,7 +6426,7 @@ }; //support {{can}} flags.forEach((a) => { - templates$8[a[1]] = () => { + templates$9[a[1]] = () => { return a[0] }; }); @@ -6324,7 +6434,7 @@ //random misc for inline wikipedia templates //https://en.wikipedia.org/wiki/Template:Yes - let templates$7 = {}; + let templates$8 = {}; let cells = [ 'rh', 'rh2', @@ -6392,7 +6502,7 @@ 'optional', ]; cells.forEach((str) => { - templates$7[str] = (tmpl) => { + templates$8[str] = (tmpl) => { let data = parser(tmpl, ['text']); return data.text || titlecase(data.template) }; @@ -6420,24 +6530,15 @@ ['nocontest', ''], ]; moreCells.forEach((a) => { - templates$7[a[0]] = (tmpl) => { + templates$8[a[0]] = (tmpl) => { let data = parser(tmpl, ['text']); return data.text || a[1] }; }); - var textTmpl = Object.assign( - {}, - hardcoded, - templates$b, - templates$a, - functions, - templates$9, - templates$8, - templates$7, - ); + var textTmpl = Object.assign({}, hardcoded, templates$c, templates$b, functions, templates$a, fns$1, templates$9, templates$8); - let templates$6 = {}; + let templates$7 = {}; // these all have ['id', 'name'] let idName = [ 'goodreads author', @@ -6458,10 +6559,10 @@ 'playmate', ]; idName.forEach((name) => { - templates$6[name] = ['id', 'name']; + templates$7[name] = ['id', 'name']; }); - let templates$5 = {}; + let templates$6 = {}; // these all have ['id', 'title', 'description', 'section'] let idTitle = [ 'imdb title', //https://en.wikipedia.org/wiki/Template:IMDb_title @@ -6487,7 +6588,19 @@ 'dmoz', //https://en.wikipedia.org/wiki/Template:DMOZ ]; idTitle.forEach((name) => { - templates$5[name] = ['id', 'title', 'description', 'section']; + templates$6[name] = ['id', 'title', 'description', 'section']; + }); + + // dummy templates that get parsed properly already, + // but present here for for aliases + template coverage tests + let templates$5 = {}; + let dummies = ['citation needed']; + dummies.forEach((name) => { + // just parse it and do nothing + templates$5[name] = (tmpl, list) => { + list.push(parser(tmpl)); + return '' + }; }); var fns = { @@ -6720,7 +6833,7 @@ let positionalIndex = 0; for (let i = 0; i < parameters.length; i++) { let parameter = parameters[i].trim(); - if (parameter.match(/^[a-zA-Z_]/)) { + if (parameter.match(/^[a-z_]/i)) { // Named argument let [key, value] = parameter.split('='); // At this point, the Lua code evaluates alttot1 and alttot2 values as @@ -6886,7 +6999,7 @@ return '' }, //https://en.wikipedia.org/wiki/Template:MedalCount - 'medalcount': (tmpl, list) => { + medalcount: (tmpl, list) => { let all = parser(tmpl).list || []; let lines = []; for (let i = 0; i < all.length; i += 4) { @@ -6899,11 +7012,11 @@ } let obj = { template: 'medalcount', - list: lines + list: lines, }; list.push(obj); return '' - } + }, }; let templates$4 = { @@ -6920,15 +7033,10 @@ 'taxon info': ['taxon', 'item'], //https://en.wikipedia.org/wiki/Template:Taxon_info 'portuguese name': ['first', 'second', 'suffix'], // https://en.wikipedia.org/wiki/Template:Portuguese_name geo: ['lat', 'lon', 'zoom'], //https://en.wikivoyage.org/wiki/Template:Geo - hatnote: ['text'] + hatnote: ['text'], }; - templates$4 = Object.assign( - templates$4, - templates$6, - templates$5, - fns - ); + templates$4 = Object.assign(templates$4, templates$5, templates$7, templates$6, fns); var dataTmpl = templates$4; @@ -7330,11 +7438,27 @@ txt = obj.list[0] || ''; } // replace double quotes with singles and put the text inside double quotes - let result = txt.replace(/"/g, '\''); + let result = txt.replace(/"/g, "'"); result = '"' + result + '"'; return result }, + // https://de.m.wikipedia.org/wiki/Vorlage:ReptileDatabase + ReptileDatabase: (tmpl, list) => { + let obj = parser(tmpl, ['taxon', 'genus', 'species', 'abruf', 'pure_url']); + list.push(obj); + let str = ''; + if (obj.genus || obj.species) { + str = `${obj.genus || ''} ${obj.species || ''} `; + } + return `${str}In: [[The Reptile Database]]` + }, + //https://en.m.wikipedia.org/wiki/Template:GEOnet3 + GEOnet3: (tmpl, list) => { + let obj = parser(tmpl, ['ufi', 'name']); + list.push(obj); + return `GEOnet3 can be found at [[GEOnet Names Server]], at [http://geonames.nga.mil/namesgaz/ this link]` + }, }; const codes$1 = { @@ -8435,17 +8559,12 @@ sports, ); - let templates = Object.assign( - {}, - textTmpl, - dataTmpl, - bothTmpl - ); + let templates = Object.assign({}, textTmpl, dataTmpl, bothTmpl); Object.keys(aliases).forEach((k) => { - // if (templates[aliases[k]] === undefined) { - // console.error(`Missing template: '${aliases[k]}'`) - // } + if (templates[aliases[k]] === undefined) { + console.error(`Missing template: '${aliases[k]}'`); + } templates[k] = templates[aliases[k]]; }); @@ -8866,15 +8985,23 @@ let references = []; let wiki = section._wiki; - wiki = wiki.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, tmpl) { - if (hasCitation(tmpl)) { - let obj = parseCitation(tmpl); - if (obj) { - references.push({ json: obj, wiki: all }); + wiki = wiki.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, txt) { + let found = false; + // there could be more than 1 template inside a + let arr = findFlat(txt); + arr.forEach((tmpl) => { + if (hasCitation(tmpl)) { + let obj = parseCitation(tmpl); + if (obj) { + references.push({ json: obj, wiki: all }); + found = true; + } + wiki = wiki.replace(tmpl, ''); } - wiki = wiki.replace(tmpl, ''); - } else { - references.push({ json: parseInline(tmpl), wiki: all }); + }); + // parse as an inline reference + if (!found) { + references.push({ json: parseInline(txt), wiki: all }); } return ' ' }); @@ -8882,16 +9009,24 @@ // wiki = wiki.replace(/ ?]{0,200}?\/> ?/gi, ' '); - // - wiki = wiki.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, tmpl) { - if (hasCitation(tmpl)) { - let obj = parseCitation(tmpl); - if (obj) { - references.push({ json: obj, wiki: tmpl }); + // (a gross copy of above parsing) + wiki = wiki.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, txt) { + let found = false; + // there could be more than 1 template inside a + let arr = findFlat(txt); + arr.forEach((tmpl) => { + if (hasCitation(tmpl)) { + let obj = parseCitation(tmpl); + if (obj) { + references.push({ json: obj, wiki: all }); + found = true; + } + wiki = wiki.replace(tmpl, ''); } - wiki = wiki.replace(tmpl, ''); - } else { - references.push({ json: parseInline(tmpl), wiki: all }); + }); + // parse as an inline reference + if (!found) { + references.push({ json: parseInline(txt), wiki: all }); } return ' ' }); @@ -9708,7 +9843,6 @@ return wiki }; - /** * @typedef fakeSection * @property {string} title @@ -9885,6 +10019,7 @@ // userAgent is used for successive calls to the API userAgent: options.userAgent || options['User-Agent'] || options['Api-User-Agent'] || 'User of the wtf_wikipedia library', templateFallbackFn: options.templateFallbackFn || null, + revisionID: options.revisionID || null, }; // this._missing_templates = {} //for stats+debugging purposes @@ -10338,6 +10473,20 @@ return this } + /** + * If a revisionID is given then it sets the revisionID and returns the given revisionID + * Else if the revisionID is already set it returns the revisionID + * + * @param {number} [id] The revisionID that will be set + * @returns {number|null} The given or found revisionID + */ + revisionID(id) { + if (id !== undefined) { + this._revisionID = id; + } + return this._revisionID || null + } + options() { return this._options } @@ -10520,7 +10669,7 @@ }) }; - var version = '10.2.0'; + var version = '10.2.1'; /** * use the native client-side fetch function diff --git a/builds/wtf_wikipedia.mjs b/builds/wtf_wikipedia.mjs index d555fa2e..2fcea789 100644 --- a/builds/wtf_wikipedia.mjs +++ b/builds/wtf_wikipedia.mjs @@ -854,7 +854,7 @@ var references = [ //alt disambig-templates en-wikipedia uses let d = ' disambiguation'; -const templates$c = [ +const templates$d = [ 'dab', 'dab', 'disamb', @@ -940,7 +940,7 @@ const isDisambig = function (doc) { // check for a {{disambig}} template let templates = doc.templates().map((tmpl) => tmpl.json()); let found = templates.find((obj) => { - return templates$c.hasOwnProperty(obj.template) || i18n_templates.hasOwnProperty(obj.template) + return templates$d.hasOwnProperty(obj.template) || i18n_templates.hasOwnProperty(obj.template) }); if (found) { return true @@ -4164,20 +4164,23 @@ let aliases = { redir: 'redirect', sisterlinks: 'sister project links', 'main article': 'main', - 'by': 'baseball year', - 'aldsy': 'alds year', - 'nldsy': 'nlds year', + by: 'baseball year', + aldsy: 'alds year', + nldsy: 'nlds year', //not perfect.. 'str rep': 'replace', - 'ushr2': 'ushr', - 'stn': 'station', - 'metrod': 'metro', - 'fw': 'ferry', - 'rws': 'stnlnk', + ushr2: 'ushr', + stn: 'station', + metrod: 'metro', + fw: 'ferry', + rws: 'stnlnk', sclass2: 'sclass', under: 'underline', brackets: 'bracket', - raise: 'lower' + raise: 'lower', + 'born-in': 'born in', + 'c.': 'circa', + 'r.': 'reign', }; //multiple aliases @@ -4228,7 +4231,7 @@ let multi = { 'unbulleted list', 'unbulleted', 'unbulletedlist', - 'vunblist' + 'vunblist', ], 'election box begin': [ @@ -4391,7 +4394,7 @@ let multi = { 'user-blocked', 'notabug', 'notfixed', - 'won\'t fix', + "won't fix", 'withdraw', 'nojoy', 'unrelated', @@ -4399,30 +4402,75 @@ let multi = { 'nayc', 'nayg', ], - checked: [ - 'already done', - 'resolved1', - 'check mark-n', - 'checked box', - ], + checked: ['already done', 'resolved1', 'check mark-n', 'checked box'], // https://en.wikipedia.org/wiki/Template:Ferry - 'station link': [ - 'amtk', - 'cta', - 'bts', - 'mnrr', - 'mtams', - 'munis', - 'njts', - 'scax', - 'wmata', - 'rwsa', + 'station link': ['amtk', 'cta', 'bts', 'mnrr', 'mtams', 'munis', 'njts', 'scax', 'wmata', 'rwsa'], + 'video game release': ['vgrelease', 'video game release hlist', 'vgrtbl', 'vgrelease hlist', 'vgrh'], + aka: ['a.k.a.', 'also known as'], + 'literal translation': ['lit', 'literal', 'literally'], + 'citation needed': [ + 'are you sure?', + 'cb', + 'ciation needed', + 'cit', + 'cita requerida', + 'citaiton needed', + 'citation missing', + 'citation need', + 'citation requested', + 'citation required', + 'citation-needed', + 'citationeeded', + 'citationneeded', + 'citationrequired', + 'citazione necessaria', + 'cite missing', + 'cite needed', + 'cite source', + 'cite-needed', + 'citeneeded', + 'citesource', + 'citn', + 'cn needed', + 'cn', + 'ctn', + 'fact?', + 'fact', + 'facts', + 'fcitation needed', + 'me-fact', + 'need citation', + 'need sources', + 'need-ref', + 'needcitation', + 'needcite', + 'needs citation', + 'needs citations', + 'needs reference', + 'needs source', + 'needs-cite', + 'needsref', + 'no source given', + 'prov-statement', + 'prove it', + 'proveit', + 'ref needed', + 'ref-needed', + 'ref?', + 'reference necessary', + 'reference needed', + 'reference required', + 'refnec', + 'refneeded', + 'refplease', + 'request citation', + 'source needed', + 'source?', + 'sourceme', + 'uncited', + 'unreferenced inline', + 'unsourced-inline', ], - // 'br separated entries': [ - // 'br list', - // 'br-separated entries', - // 'br separated entries', - // ] }; // - other languages - @@ -4505,7 +4553,7 @@ var hardcoded = { }; //grab the first, second or third pipe.. -let templates$b = { +let templates$c = { p1: 0, p2: 1, p3: 2, @@ -4606,13 +4654,17 @@ let zeros = [ 'bigdiv', 'strikethroughdiv', 'strikethrough color', - 'pbpe'//pt + 'pbpe', //pt + 'video game release/abbr', + 'nobel abbr', + 'gloss', + 'gcl', ]; zeros.forEach((k) => { - templates$b[k] = 0; + templates$c[k] = 0; }); -let templates$a = {}; +let templates$b = {}; // these templates all have a predictable pattern // {{HSC|Ship Name|ID}} -> [[HSC Name (id)]] let arr = [ @@ -4691,7 +4743,7 @@ let arr = [ ]; arr.forEach(word => { - templates$a[word] = (tmpl) => { + templates$b[word] = (tmpl) => { let { name, id } = parser(tmpl, ['name', 'id']); return id ? `[[${word.toUpperCase()} ${name} (${id})]]` : `[[${word.toUpperCase()} ${name}]]` }; @@ -4842,11 +4894,6 @@ var functions = { return `(r. ${obj.start} – ${obj.end})` }, - circa: (tmpl) => { - let { year } = parser(tmpl, ['year']); - return year ? `c. ${year}` : 'c. ' - }, - // https://en.wikipedia.org/wiki/Template:Decade_link 'decade link': (tmpl) => { let { year } = parser(tmpl, ['year']); @@ -4907,6 +4954,12 @@ var functions = { return arr.join(', ') }, + // not perfect - https://en.m.wikipedia.org/wiki/Template:Interlinear + interlinear: (tmpl) => { + let arr = parser(tmpl).list || []; + return arr.join('\n\n') + }, + //actually rendering these links removes the text. //https://en.wikipedia.org/wiki/Template:Catlist catlist: (tmpl) => { @@ -5503,9 +5556,66 @@ var functions = { } return '' }, + + 'literal translation': (tmpl) => { + let arr = parser(tmpl).list || []; + arr = arr.map((str) => `'${str}'`); + return 'lit. ' + arr.join(' or ') + }, }; -let templates$9 = {}; +let shorthands = [ + // {{HWV|251d}} - handel, bach + ['bwv', 'BWV'], + ['hwv', 'HWV'], + ['d.', 'D '], //Deutsch catalogue + ['aka', 'a.k.a. '], + + // date abbreviations + ['cf.', 'cf. '], + ['fl.', 'fl. '], + ['circa', 'c. '], + ['born in', 'b. '], + ['died-in', 'd. '], + ['married-in', 'm. '], +]; +// create a function for each one +let fns$1 = shorthands.reduce((h, a) => { + let [name, out] = a; + h[name] = (tmpl) => { + let { first } = parser(tmpl, ['first']); + if (first || first === 0) { + return out + (first || '') + } + return out + }; + return h +}, {}); + +// return only the name of the template +let justNames = [ + 'they', + 'them', + 'their', + 'theirs', + 'themself', + 'they are', + 'they were', + 'they have', + 'they do', + 'he or she', + 'him or her', + 'his or her', + 'his or hers', + 'he/she', + 'him/her', + 'his/her', +]; +justNames.forEach((str) => { + fns$1[str] = str; +}); + +let templates$a = {}; let more = [ 'sr-latn-cyrl', //first parameter latin, second cyrillic 'sr-cyrl-latn', //first parameter cyrillic, second latin @@ -5966,12 +6076,12 @@ let more = [ // more languages more.forEach((k) => { - templates$9['lang-' + k] = 0; + templates$a['lang-' + k] = 0; }); //https://en.wikipedia.org/wiki/Category:Lang-x_templates Object.keys(languages).forEach((k) => { - templates$9['lang-' + k] = 0; + templates$a['lang-' + k] = 0; }); var flags = [ @@ -6236,7 +6346,7 @@ var flags = [ ]; const order = ['flag', 'variant']; -let templates$8 = { +let templates$9 = { //https://en.wikipedia.org/wiki/Template:Flag // {{flag|USA}} → USA flag: (tmpl) => { @@ -6312,7 +6422,7 @@ let templates$8 = { }; //support {{can}} flags.forEach((a) => { - templates$8[a[1]] = () => { + templates$9[a[1]] = () => { return a[0] }; }); @@ -6320,7 +6430,7 @@ flags.forEach((a) => { //random misc for inline wikipedia templates //https://en.wikipedia.org/wiki/Template:Yes -let templates$7 = {}; +let templates$8 = {}; let cells = [ 'rh', 'rh2', @@ -6388,7 +6498,7 @@ let cells = [ 'optional', ]; cells.forEach((str) => { - templates$7[str] = (tmpl) => { + templates$8[str] = (tmpl) => { let data = parser(tmpl, ['text']); return data.text || titlecase(data.template) }; @@ -6416,24 +6526,15 @@ let moreCells = [ ['nocontest', ''], ]; moreCells.forEach((a) => { - templates$7[a[0]] = (tmpl) => { + templates$8[a[0]] = (tmpl) => { let data = parser(tmpl, ['text']); return data.text || a[1] }; }); -var textTmpl = Object.assign( - {}, - hardcoded, - templates$b, - templates$a, - functions, - templates$9, - templates$8, - templates$7, -); +var textTmpl = Object.assign({}, hardcoded, templates$c, templates$b, functions, templates$a, fns$1, templates$9, templates$8); -let templates$6 = {}; +let templates$7 = {}; // these all have ['id', 'name'] let idName = [ 'goodreads author', @@ -6454,10 +6555,10 @@ let idName = [ 'playmate', ]; idName.forEach((name) => { - templates$6[name] = ['id', 'name']; + templates$7[name] = ['id', 'name']; }); -let templates$5 = {}; +let templates$6 = {}; // these all have ['id', 'title', 'description', 'section'] let idTitle = [ 'imdb title', //https://en.wikipedia.org/wiki/Template:IMDb_title @@ -6483,7 +6584,19 @@ let idTitle = [ 'dmoz', //https://en.wikipedia.org/wiki/Template:DMOZ ]; idTitle.forEach((name) => { - templates$5[name] = ['id', 'title', 'description', 'section']; + templates$6[name] = ['id', 'title', 'description', 'section']; +}); + +// dummy templates that get parsed properly already, +// but present here for for aliases + template coverage tests +let templates$5 = {}; +let dummies = ['citation needed']; +dummies.forEach((name) => { + // just parse it and do nothing + templates$5[name] = (tmpl, list) => { + list.push(parser(tmpl)); + return '' + }; }); var fns = { @@ -6716,7 +6829,7 @@ var fns = { let positionalIndex = 0; for (let i = 0; i < parameters.length; i++) { let parameter = parameters[i].trim(); - if (parameter.match(/^[a-zA-Z_]/)) { + if (parameter.match(/^[a-z_]/i)) { // Named argument let [key, value] = parameter.split('='); // At this point, the Lua code evaluates alttot1 and alttot2 values as @@ -6882,7 +6995,7 @@ var fns = { return '' }, //https://en.wikipedia.org/wiki/Template:MedalCount - 'medalcount': (tmpl, list) => { + medalcount: (tmpl, list) => { let all = parser(tmpl).list || []; let lines = []; for (let i = 0; i < all.length; i += 4) { @@ -6895,11 +7008,11 @@ var fns = { } let obj = { template: 'medalcount', - list: lines + list: lines, }; list.push(obj); return '' - } + }, }; let templates$4 = { @@ -6916,15 +7029,10 @@ let templates$4 = { 'taxon info': ['taxon', 'item'], //https://en.wikipedia.org/wiki/Template:Taxon_info 'portuguese name': ['first', 'second', 'suffix'], // https://en.wikipedia.org/wiki/Template:Portuguese_name geo: ['lat', 'lon', 'zoom'], //https://en.wikivoyage.org/wiki/Template:Geo - hatnote: ['text'] + hatnote: ['text'], }; -templates$4 = Object.assign( - templates$4, - templates$6, - templates$5, - fns -); +templates$4 = Object.assign(templates$4, templates$5, templates$7, templates$6, fns); var dataTmpl = templates$4; @@ -7326,11 +7434,27 @@ let templates$3 = { txt = obj.list[0] || ''; } // replace double quotes with singles and put the text inside double quotes - let result = txt.replace(/"/g, '\''); + let result = txt.replace(/"/g, "'"); result = '"' + result + '"'; return result }, + // https://de.m.wikipedia.org/wiki/Vorlage:ReptileDatabase + ReptileDatabase: (tmpl, list) => { + let obj = parser(tmpl, ['taxon', 'genus', 'species', 'abruf', 'pure_url']); + list.push(obj); + let str = ''; + if (obj.genus || obj.species) { + str = `${obj.genus || ''} ${obj.species || ''} `; + } + return `${str}In: [[The Reptile Database]]` + }, + //https://en.m.wikipedia.org/wiki/Template:GEOnet3 + GEOnet3: (tmpl, list) => { + let obj = parser(tmpl, ['ufi', 'name']); + list.push(obj); + return `GEOnet3 can be found at [[GEOnet Names Server]], at [http://geonames.nga.mil/namesgaz/ this link]` + }, }; const codes$1 = { @@ -8431,17 +8555,12 @@ var bothTmpl = Object.assign( sports, ); -let templates = Object.assign( - {}, - textTmpl, - dataTmpl, - bothTmpl -); +let templates = Object.assign({}, textTmpl, dataTmpl, bothTmpl); Object.keys(aliases).forEach((k) => { - // if (templates[aliases[k]] === undefined) { - // console.error(`Missing template: '${aliases[k]}'`) - // } + if (templates[aliases[k]] === undefined) { + console.error(`Missing template: '${aliases[k]}'`); + } templates[k] = templates[aliases[k]]; }); @@ -8862,15 +8981,23 @@ const parseRefs = function (section) { let references = []; let wiki = section._wiki; - wiki = wiki.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, tmpl) { - if (hasCitation(tmpl)) { - let obj = parseCitation(tmpl); - if (obj) { - references.push({ json: obj, wiki: all }); + wiki = wiki.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, txt) { + let found = false; + // there could be more than 1 template inside a + let arr = findFlat(txt); + arr.forEach((tmpl) => { + if (hasCitation(tmpl)) { + let obj = parseCitation(tmpl); + if (obj) { + references.push({ json: obj, wiki: all }); + found = true; + } + wiki = wiki.replace(tmpl, ''); } - wiki = wiki.replace(tmpl, ''); - } else { - references.push({ json: parseInline(tmpl), wiki: all }); + }); + // parse as an inline reference + if (!found) { + references.push({ json: parseInline(txt), wiki: all }); } return ' ' }); @@ -8878,16 +9005,24 @@ const parseRefs = function (section) { // wiki = wiki.replace(/ ?]{0,200}?\/> ?/gi, ' '); - // - wiki = wiki.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, tmpl) { - if (hasCitation(tmpl)) { - let obj = parseCitation(tmpl); - if (obj) { - references.push({ json: obj, wiki: tmpl }); + // (a gross copy of above parsing) + wiki = wiki.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, txt) { + let found = false; + // there could be more than 1 template inside a + let arr = findFlat(txt); + arr.forEach((tmpl) => { + if (hasCitation(tmpl)) { + let obj = parseCitation(tmpl); + if (obj) { + references.push({ json: obj, wiki: all }); + found = true; + } + wiki = wiki.replace(tmpl, ''); } - wiki = wiki.replace(tmpl, ''); - } else { - references.push({ json: parseInline(tmpl), wiki: all }); + }); + // parse as an inline reference + if (!found) { + references.push({ json: parseInline(txt), wiki: all }); } return ' ' }); @@ -9704,7 +9839,6 @@ const doInlineTemplates = function (wiki, doc) { return wiki }; - /** * @typedef fakeSection * @property {string} title @@ -9881,6 +10015,7 @@ class Document { // userAgent is used for successive calls to the API userAgent: options.userAgent || options['User-Agent'] || options['Api-User-Agent'] || 'User of the wtf_wikipedia library', templateFallbackFn: options.templateFallbackFn || null, + revisionID: options.revisionID || null, }; // this._missing_templates = {} //for stats+debugging purposes @@ -10334,6 +10469,20 @@ class Document { return this } + /** + * If a revisionID is given then it sets the revisionID and returns the given revisionID + * Else if the revisionID is already set it returns the revisionID + * + * @param {number} [id] The revisionID that will be set + * @returns {number|null} The given or found revisionID + */ + revisionID(id) { + if (id !== undefined) { + this._revisionID = id; + } + return this._revisionID || null + } + options() { return this._options } @@ -10516,7 +10665,7 @@ const fetch = function (title, options, callback) { }) }; -var version = '10.2.0'; +var version = '10.2.1'; /** * use the native client-side fetch function diff --git a/changelog.md b/changelog.md index 23d949c1..9fa9d313 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,12 @@ --> +#### 10.2.1 [Nov 2023] + +- **[change]** - support more templates +- **[change]** - support multiple citations inside a ref tag +- **[new]** - add `revisionID()` - thanks Dag-Inge! #568 + #### 10.2.0 [Oct 2023] - **[change]** - typescript export helpers diff --git a/package-lock.json b/package-lock.json index e5d3178e..608ab40b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "wtf_wikipedia", - "version": "10.2.0", + "version": "10.2.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wtf_wikipedia", - "version": "10.2.0", + "version": "10.2.1", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -364,18 +364,18 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", - "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -402,9 +402,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -450,12 +450,12 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -477,9 +477,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { @@ -639,10 +639,13 @@ } }, "node_modules/@ljharb/through": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz", - "integrity": "sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==", + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, "engines": { "node": ">= 0.4" } @@ -1020,14 +1023,14 @@ } }, "node_modules/array.prototype.every": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.4.tgz", - "integrity": "sha512-Aui35iRZk1HHLRAyF7QP0KAnOnduaQ6fo6k1NVWfRc0xTs2AZ70ytlXvOmkC6Di4JmUs2Wv3DYzGtCQFSk5uGg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.5.tgz", + "integrity": "sha512-FfMQJ+/joFGXpRCltbzV3znaP5QxIhLFySo0fEPn3GuoYlud9LhknMCIxdYKC2qsM/6VHoSp6YGwe3EZXrEcwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "is-string": "^1.0.7" }, "engines": { @@ -1037,6 +1040,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -1169,13 +1193,14 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1367,9 +1392,9 @@ "dev": true }, "node_modules/comment-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", - "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -1523,6 +1548,20 @@ "node": ">=8" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -1593,44 +1632,50 @@ } }, "node_modules/es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -1666,14 +1711,14 @@ "dev": true }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -2256,20 +2301,23 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -2306,15 +2354,15 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2440,12 +2488,10 @@ } }, "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true, "engines": { "node": ">= 0.4.0" } @@ -2547,6 +2593,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", @@ -2660,13 +2717,13 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -2794,11 +2851,11 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3006,16 +3063,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -3748,9 +3801,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4142,9 +4195,9 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" @@ -4588,14 +4641,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -4721,6 +4774,30 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -4767,6 +4844,35 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4967,14 +5073,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -4984,28 +5090,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5160,12 +5266,12 @@ } }, "node_modules/tape/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -5309,6 +5415,57 @@ "node": ">=8" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-array-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", @@ -5492,17 +5649,16 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5950,15 +6106,15 @@ } }, "@eslint-community/regexpp": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", - "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true }, "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -5979,9 +6135,9 @@ "dev": true }, "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -6011,12 +6167,12 @@ "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" } @@ -6028,9 +6184,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "@istanbuljs/load-nyc-config": { @@ -6156,10 +6312,13 @@ } }, "@ljharb/through": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz", - "integrity": "sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==", - "dev": true + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } }, "@mdn/browser-compat-data": { "version": "5.3.14", @@ -6434,17 +6593,32 @@ } }, "array.prototype.every": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.4.tgz", - "integrity": "sha512-Aui35iRZk1HHLRAyF7QP0KAnOnduaQ6fo6k1NVWfRc0xTs2AZ70ytlXvOmkC6Di4JmUs2Wv3DYzGtCQFSk5uGg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.5.tgz", + "integrity": "sha512-FfMQJ+/joFGXpRCltbzV3znaP5QxIhLFySo0fEPn3GuoYlud9LhknMCIxdYKC2qsM/6VHoSp6YGwe3EZXrEcwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "is-string": "^1.0.7" } }, + "arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -6533,13 +6707,14 @@ } }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" } }, "callsites": { @@ -6671,9 +6846,9 @@ "dev": true }, "comment-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", - "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true }, "commondir": { @@ -6799,6 +6974,17 @@ "strip-bom": "^4.0.0" } }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -6854,44 +7040,50 @@ } }, "es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" } }, "es-get-iterator": { @@ -6920,14 +7112,14 @@ } }, "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" } }, "es-to-primitive": { @@ -7347,20 +7539,20 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, "functions-have-names": { @@ -7382,15 +7574,15 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-package-type": { @@ -7480,12 +7672,10 @@ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" }, "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true }, "has-bigints": { "version": "1.0.2", @@ -7548,6 +7738,14 @@ "type-fest": "^0.8.0" } }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, "hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", @@ -7637,13 +7835,13 @@ "dev": true }, "internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" } }, @@ -7729,11 +7927,11 @@ "dev": true }, "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "is-date-object": { @@ -7869,16 +8067,12 @@ } }, "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" } }, "is-typedarray": { @@ -8429,9 +8623,9 @@ } }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true }, "object-is": { @@ -8710,9 +8904,9 @@ } }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "queue-microtask": { @@ -9050,14 +9244,14 @@ } }, "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" } }, "release-zalgo": { @@ -9131,6 +9325,26 @@ "queue-microtask": "^1.2.2" } }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -9171,6 +9385,29 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -9340,36 +9577,36 @@ } }, "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "strip-ansi": { @@ -9481,12 +9718,12 @@ }, "dependencies": { "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "requires": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -9595,6 +9832,42 @@ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, "typed-array-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", @@ -9736,17 +10009,16 @@ "dev": true }, "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" } }, "window-size": { diff --git a/package.json b/package.json index 06af512f..509c7ee1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "wtf_wikipedia", "description": "parse wikiscript into json", - "version": "10.2.0", + "version": "10.2.1", "main": "src/index.js", "module": "builds/wtf_wikipedia.mjs", "unpkg": "builds/wtf_wikipedia-client.min.js", diff --git a/scratch.js b/scratch.js index 4024fbd2..8d0d9231 100644 --- a/scratch.js +++ b/scratch.js @@ -1,12 +1,18 @@ import wtf from './src/index.js' -console.log('start') -let str = `before {{lit|a|b}} after +let str = ` +{{cite book |last= Bushnell|first= Ian}} + {{cite book |last= Walker|first= James W. St. G.}} ` +str = ` Chapman {{Foo}} ` +// str = `{{Refplease|date=November 2023|reason=Your explanation here}} in [[Jolgeh-ye Musaabad Rural District]],` + let doc = wtf(str) -// const doc = await wtf.fetch('https://en.wikivoyage.org/wiki/Interstate_5') +// const doc = await wtf.fetch('Grand Bend') // console.log(doc.template().json()) -console.log(doc.text()) +// console.log(doc.text()) +console.log(doc.references().map((r) => r.json())) +// console.log(doc.templates().map((r) => r.json())) diff --git a/src/01-document/Document.js b/src/01-document/Document.js index d68052e7..358dc36a 100644 --- a/src/01-document/Document.js +++ b/src/01-document/Document.js @@ -48,6 +48,7 @@ class Document { // userAgent is used for successive calls to the API userAgent: options.userAgent || options['User-Agent'] || options['Api-User-Agent'] || 'User of the wtf_wikipedia library', templateFallbackFn: options.templateFallbackFn || null, + revisionID: options.revisionID || null, } // this._missing_templates = {} //for stats+debugging purposes @@ -501,6 +502,20 @@ class Document { return this } + /** + * If a revisionID is given then it sets the revisionID and returns the given revisionID + * Else if the revisionID is already set it returns the revisionID + * + * @param {number} [id] The revisionID that will be set + * @returns {number|null} The given or found revisionID + */ + revisionID(id) { + if (id !== undefined) { + this._revisionID = id + } + return this._revisionID || null + } + options() { return this._options } diff --git a/src/02-section/heading.js b/src/02-section/heading.js index 7d39269a..ab9286e2 100644 --- a/src/02-section/heading.js +++ b/src/02-section/heading.js @@ -15,7 +15,6 @@ const doInlineTemplates = function (wiki, doc) { return wiki } - /** * @typedef fakeSection * @property {string} title diff --git a/src/_version.js b/src/_version.js index 3fc8c60d..ad00ef86 100644 --- a/src/_version.js +++ b/src/_version.js @@ -1 +1 @@ -export default '10.2.0' \ No newline at end of file +export default '10.2.1' \ No newline at end of file diff --git a/src/reference/index.js b/src/reference/index.js index ffc54e75..c125dec3 100644 --- a/src/reference/index.js +++ b/src/reference/index.js @@ -1,6 +1,7 @@ import parse from '../template/parse/toJSON/index.js' import { fromText as parseSentence } from '../04-sentence/index.js' import Reference from './Reference.js' +import getTemplates from '../template/find/02-flat.js' //structured Cite templates - {{Cite.. const hasCitation = function (str) { @@ -30,15 +31,23 @@ const parseRefs = function (section) { let references = [] let wiki = section._wiki - wiki = wiki.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, tmpl) { - if (hasCitation(tmpl)) { - let obj = parseCitation(tmpl) - if (obj) { - references.push({ json: obj, wiki: all }) + wiki = wiki.replace(/ ?([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, txt) { + let found = false + // there could be more than 1 template inside a + let arr = getTemplates(txt) + arr.forEach((tmpl) => { + if (hasCitation(tmpl)) { + let obj = parseCitation(tmpl) + if (obj) { + references.push({ json: obj, wiki: all }) + found = true + } + wiki = wiki.replace(tmpl, '') } - wiki = wiki.replace(tmpl, '') - } else { - references.push({ json: parseInline(tmpl), wiki: all }) + }) + // parse as an inline reference + if (!found) { + references.push({ json: parseInline(txt), wiki: all }) } return ' ' }) @@ -46,16 +55,24 @@ const parseRefs = function (section) { // wiki = wiki.replace(/ ?]{0,200}?\/> ?/gi, ' ') - // - wiki = wiki.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, tmpl) { - if (hasCitation(tmpl)) { - let obj = parseCitation(tmpl) - if (obj) { - references.push({ json: obj, wiki: tmpl }) + // (a gross copy of above parsing) + wiki = wiki.replace(/ ?]{0,200}>([\s\S]{0,1800}?)<\/ref> ?/gi, function (all, txt) { + let found = false + // there could be more than 1 template inside a + let arr = getTemplates(txt) + arr.forEach((tmpl) => { + if (hasCitation(tmpl)) { + let obj = parseCitation(tmpl) + if (obj) { + references.push({ json: obj, wiki: all }) + found = true + } + wiki = wiki.replace(tmpl, '') } - wiki = wiki.replace(tmpl, '') - } else { - references.push({ json: parseInline(tmpl), wiki: all }) + }) + // parse as an inline reference + if (!found) { + references.push({ json: parseInline(txt), wiki: all }) } return ' ' }) diff --git a/src/template/custom/aliases.js b/src/template/custom/aliases.js index 6774c804..fe816470 100644 --- a/src/template/custom/aliases.js +++ b/src/template/custom/aliases.js @@ -261,6 +261,69 @@ let multi = { 'video game release': ['vgrelease', 'video game release hlist', 'vgrtbl', 'vgrelease hlist', 'vgrh'], aka: ['a.k.a.', 'also known as'], 'literal translation': ['lit', 'literal', 'literally'], + 'citation needed': [ + 'are you sure?', + 'cb', + 'ciation needed', + 'cit', + 'cita requerida', + 'citaiton needed', + 'citation missing', + 'citation need', + 'citation requested', + 'citation required', + 'citation-needed', + 'citationeeded', + 'citationneeded', + 'citationrequired', + 'citazione necessaria', + 'cite missing', + 'cite needed', + 'cite source', + 'cite-needed', + 'citeneeded', + 'citesource', + 'citn', + 'cn needed', + 'cn', + 'ctn', + 'fact?', + 'fact', + 'facts', + 'fcitation needed', + 'me-fact', + 'need citation', + 'need sources', + 'need-ref', + 'needcitation', + 'needcite', + 'needs citation', + 'needs citations', + 'needs reference', + 'needs source', + 'needs-cite', + 'needsref', + 'no source given', + 'prov-statement', + 'prove it', + 'proveit', + 'ref needed', + 'ref-needed', + 'ref?', + 'reference necessary', + 'reference needed', + 'reference required', + 'refnec', + 'refneeded', + 'refplease', + 'request citation', + 'source needed', + 'source?', + 'sourceme', + 'uncited', + 'unreferenced inline', + 'unsourced-inline', + ], } // - other languages - diff --git a/src/template/custom/data-only/dummy-templates.js b/src/template/custom/data-only/dummy-templates.js new file mode 100644 index 00000000..a907aea9 --- /dev/null +++ b/src/template/custom/data-only/dummy-templates.js @@ -0,0 +1,14 @@ +import parse from '../../parse/toJSON/index.js' + +// dummy templates that get parsed properly already, +// but present here for for aliases + template coverage tests +let templates = {} +let dummies = ['citation needed'] +dummies.forEach((name) => { + // just parse it and do nothing + templates[name] = (tmpl, list) => { + list.push(parse(tmpl)) + return '' + } +}) +export default templates diff --git a/src/template/custom/data-only/functions.js b/src/template/custom/data-only/functions.js index 5b8a8b7c..b3f96088 100644 --- a/src/template/custom/data-only/functions.js +++ b/src/template/custom/data-only/functions.js @@ -232,7 +232,7 @@ export default { let positionalIndex = 0 for (let i = 0; i < parameters.length; i++) { let parameter = parameters[i].trim() - if (parameter.match(/^[a-zA-Z_]/)) { + if (parameter.match(/^[a-z_]/i)) { // Named argument let [key, value] = parameter.split('=') // At this point, the Lua code evaluates alttot1 and alttot2 values as @@ -398,7 +398,7 @@ export default { return '' }, //https://en.wikipedia.org/wiki/Template:MedalCount - 'medalcount': (tmpl, list) => { + medalcount: (tmpl, list) => { let all = parse(tmpl).list || [] let lines = [] for (let i = 0; i < all.length; i += 4) { @@ -411,9 +411,9 @@ export default { } let obj = { template: 'medalcount', - list: lines + list: lines, } list.push(obj) return '' - } + }, } diff --git a/src/template/custom/data-only/index.js b/src/template/custom/data-only/index.js index 2457e3bc..6d4794ef 100644 --- a/src/template/custom/data-only/index.js +++ b/src/template/custom/data-only/index.js @@ -1,3 +1,8 @@ +import idName from './id-name.js' +import idTitle from './id-title.js' +import dummies from './dummy-templates.js' +import fns from './functions.js' + let templates = { //https://en.wikipedia.org/wiki/Category:External_link_templates 'find a grave': ['id', 'name', 'work', 'last', 'first', 'date', 'accessdate'], @@ -12,19 +17,9 @@ let templates = { 'taxon info': ['taxon', 'item'], //https://en.wikipedia.org/wiki/Template:Taxon_info 'portuguese name': ['first', 'second', 'suffix'], // https://en.wikipedia.org/wiki/Template:Portuguese_name geo: ['lat', 'lon', 'zoom'], //https://en.wikivoyage.org/wiki/Template:Geo - hatnote: ['text'] + hatnote: ['text'], } - -import idName from './id-name.js' -import idTitle from './id-title.js' -import fns from './functions.js' - -templates = Object.assign( - templates, - idName, - idTitle, - fns -) +templates = Object.assign(templates, dummies, idName, idTitle, fns) export default templates diff --git a/src/template/custom/index.js b/src/template/custom/index.js index 935df82c..03d31525 100644 --- a/src/template/custom/index.js +++ b/src/template/custom/index.js @@ -3,17 +3,12 @@ import textTmpl from './text-only/index.js' import dataTmpl from './data-only/index.js' import bothTmpl from './text-and-data/index.js' -let templates = Object.assign( - {}, - textTmpl, - dataTmpl, - bothTmpl -) +let templates = Object.assign({}, textTmpl, dataTmpl, bothTmpl) Object.keys(aliases).forEach((k) => { - // if (templates[aliases[k]] === undefined) { - // console.error(`Missing template: '${aliases[k]}'`) - // } + if (templates[aliases[k]] === undefined) { + console.error(`Missing template: '${aliases[k]}'`) + } templates[k] = templates[aliases[k]] }) export default templates diff --git a/src/template/custom/text-and-data/functions.js b/src/template/custom/text-and-data/functions.js index b315466d..268ef0cc 100644 --- a/src/template/custom/text-and-data/functions.js +++ b/src/template/custom/text-and-data/functions.js @@ -355,10 +355,26 @@ let templates = { txt = obj.list[0] || '' } // replace double quotes with singles and put the text inside double quotes - let result = txt.replace(/"/g, '\'') + let result = txt.replace(/"/g, "'") result = '"' + result + '"' return result }, + // https://de.m.wikipedia.org/wiki/Vorlage:ReptileDatabase + ReptileDatabase: (tmpl, list) => { + let obj = parse(tmpl, ['taxon', 'genus', 'species', 'abruf', 'pure_url']) + list.push(obj) + let str = '' + if (obj.genus || obj.species) { + str = `${obj.genus || ''} ${obj.species || ''} ` + } + return `${str}In: [[The Reptile Database]]` + }, + //https://en.m.wikipedia.org/wiki/Template:GEOnet3 + GEOnet3: (tmpl, list) => { + let obj = parse(tmpl, ['ufi', 'name']) + list.push(obj) + return `GEOnet3 can be found at [[GEOnet Names Server]], at [http://geonames.nga.mil/namesgaz/ this link]` + }, } export default templates diff --git a/tests/integration/Document.test.js b/tests/integration/Document.test.js index 06090b9f..ce17c4ab 100644 --- a/tests/integration/Document.test.js +++ b/tests/integration/Document.test.js @@ -56,6 +56,26 @@ test('pageID - get / set - if the pageID is set then it should return the same ' t.end() }) +//revisionID +test('revisionID - get - should initially be null', (t) => { + let doc = wtf('') + t.equal(doc.revisionID(), null, 'the revisionID equals null') + t.end() +}) + +test('revisionID - get - if the revisionID is already set than get it from internal object', (t) => { + let doc = wtf('', { revisionID: 1 }) + t.equal(doc.revisionID(), 1, 'the revisionID equals 1') + t.end() +}) + +test('revisionID - get / set - if the revisionID is set then it should return the same ', (t) => { + let doc = wtf('') + doc.revisionID(1) + t.equal(doc.revisionID(), 1, 'the revisionID equals 1') + t.end() +}) + //wikidata test('wikidata - get - should initially be null', (t) => { let doc = wtf('') diff --git a/tests/integration/Section.test.js b/tests/integration/Section.test.js index 5aaf7cf3..831e5b59 100644 --- a/tests/integration/Section.test.js +++ b/tests/integration/Section.test.js @@ -268,45 +268,6 @@ test('images - get', (t) => { t.end() }) -//references -test('references - get', (t) => { - let str = fs.readFileSync(path.join(dir, '../', 'cache', 'United-Kingdom.txt'), 'utf-8') - let sec = wtf(str).section(0) - const expected = '15,104,58,38,50,0,0,0,30,33,34,0,71,0,56,85,16,59,64,29,0,0,0,0,0,26,60,0,35,87,90,42,0,0' - t.equal( - sec - .references() - .map((s) => s.title().length) - .join(','), - expected, - 'the references should equal the expected' - ) - t.end() -}) - -test('references - get - number', (t) => { - let str = fs.readFileSync(path.join(dir, '../', 'cache', 'United-Kingdom.txt'), 'utf-8') - let sec = wtf(str).section(0) - t.equal(sec.reference().title().length, 15, 'the references should equal the expected') - t.end() -}) - -//citations -- alias of references -test('references - get', (t) => { - let str = fs.readFileSync(path.join(dir, '../', 'cache', 'United-Kingdom.txt'), 'utf-8') - let sec = wtf(str).section(0) - const expected = '15,104,58,38,50,0,0,0,30,33,34,0,71,0,56,85,16,59,64,29,0,0,0,0,0,26,60,0,35,87,90,42,0,0' - t.equal( - sec - .citations() - .map((s) => s.title().length) - .join(','), - expected, - 'the citations should equal the expected' - ) - t.end() -}) - test('citations - get - number', (t) => { let str = fs.readFileSync(path.join(dir, '../', 'cache', 'United-Kingdom.txt'), 'utf-8') let sec = wtf(str).section() diff --git a/tests/integration/reference.test.js b/tests/integration/reference.test.js index 5cc05199..41462ac0 100644 --- a/tests/integration/reference.test.js +++ b/tests/integration/reference.test.js @@ -1,12 +1,13 @@ import test from 'tape' import wtf from '../lib/index.js' +const here = ' [reference-test]' test('basic-citation', (t) => { const str = `Emery is a vegetarian,{{cite web|title=The princess of pot|url=http://thewalrus.ca/the-princess-of-pot/}}` const arr = wtf(str) .citations() .map((c) => c.json()) - t.equal(arr.length, 1, 'found-one-citation') + t.equal(arr.length, 1, 'basic- found-one-citation') t.equal(arr[0].type, 'web', 'cite web') t.equal(arr[0].title, 'The princess of pot', 'title') t.equal(arr[0].url, 'http://thewalrus.ca/the-princess-of-pot/', 'url') @@ -19,7 +20,7 @@ test('complex-citation', (t) => { const arr = wtf(str) .citations() .map((c) => c.json()) - t.equal(arr.length, 1, 'found-one-citation') + t.equal(arr.length, 1, 'complex - found-one-citation') t.equal(arr[0].type, 'web', 'cite web') t.equal(arr[0].foo, 'bar', 'foo') t.equal(arr[0].url, 'http://cool.com/?fun=cool/', 'url') @@ -71,27 +72,40 @@ test('inline-test', (t) => { t.equal(refs[1].date, 'August 2003', 'got data 2') t.end() }) -// test('inline-test', t => { -// const str = `"Through Magic Doorways".[http://www.imdb.com/name/nm3225194/ Allen Morris IMDb profile] `; -// const arr = wtf(str).citations(); -// t.equal(arr.length, 1, 'found-inline-citations'); -// t.equal(arr[0].link().site, 'http://www.imdb.com/name/nm3225194/', 'inline-url'); -// t.equal(arr[0].text(), 'Allen Morris IMDb profile', 'inline-text'); -// t.end(); -// }); -// -// test('inline-test2', t => { -// const str = `in 1826.Brake (2009) `; -// const arr = wtf(str).citations(); -// t.equal(arr.length, 1, 'found-inline-citations'); -// t.equal(arr[0].text(), 'Brake (2009)', 'inline-text'); -// t.end(); -// }); -// test('inline harder-citation', t => { -// const str = `Siobhan Chapman, {{ISBN|0-19-518767-9}}, [https://books.google.com/books?id=Vfr Google Print, p. 166] She continued her education after.`; -// const arr = wtf(str).citations(); -// t.equal(arr.length, 1, 'found-one-citation'); -// t.equal(arr[0].link().site, 'https://books.google.com/books?id=Vfr', 'fould late link'); -// t.end(); -// }); +test('inline-test', (t) => { + const str = `"Through Magic Doorways".[http://www.imdb.com/name/nm3225194/ Allen Morris IMDb profile] ` + const arr = wtf(str).citations() + t.equal(arr.length, 1, 'found-inline-citations') + // t.equal(arr[0].links()[0].site, 'http://www.imdb.com/name/nm3225194/', 'inline-url') + t.equal(arr[0].json().inline.text(), 'Allen Morris IMDb profile', 'inline-text') + t.end() +}) + +test('inline-test2', (t) => { + const str = `in 1826.Brake (2009) ` + const arr = wtf(str).citations() + t.equal(arr.length, 1, 'found-inline-citations') + t.equal(arr[0].json().inline.text(), 'Brake (2009)', 'inline-text') + t.end() +}) + +test('inline harder-citation', (t) => { + const str = `Siobhan Chapman, {{ISBN|0-19-518767-9}}, [https://books.google.com/books?id=Vfr Google Print, p. 166] She continued her education after.` + const arr = wtf(str).citations() + t.equal(arr.length, 1, 'inline found-one-citation') + // t.equal(arr[0].links()[0].site, 'https://books.google.com/books?id=Vfr', 'fould late link') + t.end() +}) + +test('double template', (t) => { + let str = `{{cite book |last= Bushnell|first= Ian}} +{{cite book |last= Walker|first= James W. St. G.}}` + let doc = wtf(str) + let arr = doc.references().map((r) => r.json()) + t.equal(arr.length, 2, here + 'got both references') + t.equal(arr[0].last, 'Bushnell', here + 'parsed prop #1') + t.equal(arr[0].first, 'Ian', here + 'parsed prop #2') + t.equal((arr[1] || {}).last, 'Walker', here + 'parsed prop #2') + t.end() +}) diff --git a/types/index.d.ts b/types/index.d.ts index 8102d49f..02376010 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -47,6 +47,7 @@ declare class Document { url(): string | null wikidata(id?: string): string | null wikitext(): string + revisionID(): string | null } declare class Section {