mw.loader.implement("jquery.client@fwvev",function($,jQuery,require,module){(function(){var profileCache={};$.client={profile:function(nav){if(nav===undefined){nav=window.navigator;}if(profileCache[nav.userAgent+'|'+nav.platform]!==undefined){return profileCache[nav.userAgent+'|'+nav.platform];}var versionNumber,key=nav.userAgent+'|'+nav.platform,uk='unknown',x='x',wildUserAgents=['Opera','Navigator','Minefield','KHTML','Chrome','PLAYSTATION 3','Iceweasel'],userAgentTranslations=[[/(Firefox|MSIE|KHTML,?\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape'],['PLAYSTATION 3','PS3']],versionPrefixes=['camino','chrome','firefox','iceweasel','netscape','netscape6','opera','version','konqueror','lynx','msie','safari','ps3','android'],versionSuffix='(\\/|\\;?\\s|)([a-z0-9\\.\\+]*?)(\\;|dev|rel|\\)|\\s|$)',names=['camino','chrome','firefox','iceweasel','netscape','konqueror','lynx','msie','opera','safari','ipod','iphone', 'blackberry','ps3','rekonq','android'],nameTranslations=[],layouts=['gecko','konqueror','msie','trident','edge','opera','webkit'],layoutTranslations=[['konqueror','khtml'],['msie','trident'],['opera','presto']],layoutVersions=['applewebkit','gecko','trident','edge'],platforms=['win','wow64','mac','linux','sunos','solaris','iphone'],platformTranslations=[['sunos','solaris'],['wow64','win']],translate=function(source,translations){var i;for(i=0;i400){version='2.0';}if(name==='opera'&&version>=9.8){match=ua.match(/\bversion\/([0-9.]*)/);if(match&&match[1]){version=match[1];}else{version='10';}}if(name==='chrome'&&(match=ua.match(/\bopr\/([0-9.]*)/))){if(match[1]){name='opera';version=match[1];}}if(layout==='trident'&&layoutversion>=7&&(match=ua.match(/\brv[ :/]([0-9.]*)/))){if(match[1]){name='msie';version=match[1];}}if(name==='chrome'&&(match=ua.match(/\bedge\/([0-9.]*)/))){name='edge';version=match[1];layout='edge';layoutversion=parseInt(match[1],10);}if((match=ua.match(/\bsilk\/([0-9.\-_]*)/))) {if(match[1]){name='silk';version=match[1];}}versionNumber=parseFloat(version,10)||0.0;profileCache[key]={name:name,layout:layout,layoutVersion:layoutversion,platform:platform,version:version,versionBase:(version!==x?Math.floor(versionNumber).toString():x),versionNumber:versionNumber};return profileCache[key];},test:function(map,profile,exactMatchOnly){var conditions,dir,i,op,val,j,pieceVersion,pieceVal,compare;profile=$.isPlainObject(profile)?profile:$.client.profile();if(map.ltr&&map.rtl){dir=$(document.body).is('.rtl')?'rtl':'ltr';map=map[dir];}if(typeof map!=='object'||map[profile.name]===undefined){return!exactMatchOnly;}conditions=map[profile.name];if(conditions===false){return false;}if(conditions===null){return true;}for(i=0;iNumber(pieceVal[j])){compare=1;break;}}if(!(eval(String(compare+op+'0')))){return false;}}else if(typeof val==='number'){if(!(eval('profile.versionNumber'+op+val))){return false;}}}return true;}};}());});mw.loader.implement("mediawiki.util@1wfoa",{"main":"util.js","files":{"util.js":function(require,module){'use strict';var util,config=require('./config.json');require('./jquery.accessKeyLabel.js');function rawurlencode(str){return encodeURIComponent(String(str)).replace(/!/g,'%21').replace(/'/g,'%27').replace(/\(/g,'%28').replace(/\)/g,'%29').replace(/\*/g,'%2A').replace(/~/g,'%7E');}function escapeIdInternal(str,mode){str=String(str);switch(mode){case'html5':return str.replace(/ /g,'_');case'legacy':return rawurlencode(str.replace(/ /g,'_')).replace(/%3A/g,':').replace(/%/g,'.');default:throw new Error('Unrecognized ID escaping mode '+mode);}}util={rawurlencode:rawurlencode,escapeIdForAttribute:function(str){return escapeIdInternal(str,config.FragmentMode[0]);},escapeIdForLink:function(str){return escapeIdInternal(str,config.FragmentMode[0]);},debounce:function(delay,callback){var timeout;return function(){clearTimeout(timeout);timeout=setTimeout(Function.prototype.apply.bind(callback ,this,arguments),delay);};},wikiUrlencode:function(str){return util.rawurlencode(str).replace(/%20/g,'_').replace(/%3B/g,';').replace(/%40/g,'@').replace(/%24/g,'$').replace(/%21/g,'!').replace(/%2A/g,'*').replace(/%28/g,'(').replace(/%29/g,')').replace(/%2C/g,',').replace(/%2F/g,'/').replace(/%7E/g,'~').replace(/%3A/g,':');},getUrl:function(pageName,params){var fragmentIdx,url,query,fragment,title=typeof pageName==='string'?pageName:mw.config.get('wgPageName');fragmentIdx=title.indexOf('#');if(fragmentIdx!==-1){fragment=title.slice(fragmentIdx+1);title=title.slice(0,fragmentIdx);}if(params){query=$.param(params);}if(query){url=title?util.wikiScript()+'?title='+util.wikiUrlencode(title)+'&'+query:util.wikiScript()+'?'+query;}else{url=mw.config.get('wgArticlePath').replace('$1',util.wikiUrlencode(title).replace(/\$/g,'$$$$'));}if(fragment&&fragment.length){url+='#'+util.escapeIdForLink(fragment);}return url;},wikiScript:function(str){if(!str||str==='index'){return mw.config.get( 'wgScript');}else if(str==='load'){return config.LoadScript;}else{return mw.config.get('wgScriptPath')+'/'+str+'.php';}},addCSS:function(text){var s=mw.loader.addStyleTag(text);return s.sheet;},getParamValue:function(param,url){var re=new RegExp('^[^#]*[&?]'+util.escapeRegExp(param)+'=([^&#]*)'),m=re.exec(url!==undefined?url:location.href);if(m){return decodeURIComponent(m[1].replace(/\+/g,'%20'));}return null;},$content:null,addPortletLink:function(portletId,href,text,id,tooltip,accesskey,nextnode){var item,link,$portlet,portlet,portletDiv,ul,next;if(!portletId){return null;}portlet=document.getElementById(portletId);if(!portlet){return null;}link=document.createElement('a');link.href=href;link.textContent=text;if(tooltip){link.title=tooltip;}if(accesskey){link.accessKey=accesskey;}$portlet=$(portlet);$portlet.removeClass('emptyPortlet');item=$('
  • ').append(link)[0];if(id){item.id=id;}ul=portlet.tagName.toLowerCase()==='ul'?portlet:portlet.querySelector('ul');if(!ul){ul=document. createElement('ul');portletDiv=portlet.querySelector('div');if(portletDiv){portletDiv.appendChild(ul);}else{portlet.appendChild(ul);}}if(nextnode&&(typeof nextnode==='string'||nextnode.nodeType||nextnode.jquery)){nextnode=$(ul).find(nextnode);if(nextnode.length===1&&nextnode[0].parentNode===ul){nextnode.before(item);next=!0;}}if(!next){ul.appendChild(item);}if(accesskey){$(link).updateTooltipAccessKeys();}mw.hook('util.addPortletLink').fire(item,{id:id});return item;},validateEmail:function(mailtxt){var rfc5322Atext,rfc1034LdhStr,html5EmailRegexp;if(mailtxt===''){return null;}rfc5322Atext='a-z0-9!#$%&\'*+\\-/=?^_`{|}~';rfc1034LdhStr='a-z0-9\\-';html5EmailRegexp=new RegExp('^'+'['+rfc5322Atext+'\\.]+'+'@'+'['+rfc1034LdhStr+']+'+'(?:\\.['+rfc1034LdhStr+']+)*'+'$','i');return(mailtxt.match(html5EmailRegexp)!==null);},isIPv4Address:function(address,allowBlock){var block,RE_IP_BYTE='(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9])',RE_IP_ADD='(?:'+RE_IP_BYTE+'\\.){3}'+RE_IP_BYTE;if( typeof address!=='string'){return false;}block=allowBlock?'(?:\\/(?:3[0-2]|[12]?\\d))?':'';return(new RegExp('^'+RE_IP_ADD+block+'$').test(address));},isIPv6Address:function(address,allowBlock){var block,RE_IPV6_ADD;if(typeof address!=='string'){return false;}block=allowBlock?'(?:\\/(?:12[0-8]|1[01][0-9]|[1-9]?\\d))?':'';RE_IPV6_ADD='(?:'+':(?::|(?::'+'[0-9A-Fa-f]{1,4}'+'){1,7})'+'|'+'[0-9A-Fa-f]{1,4}'+'(?::'+'[0-9A-Fa-f]{1,4}'+'){0,6}::'+'|'+'[0-9A-Fa-f]{1,4}'+'(?::'+'[0-9A-Fa-f]{1,4}'+'){7}'+')';if(new RegExp('^'+RE_IPV6_ADD+block+'$').test(address)){return true;}RE_IPV6_ADD='[0-9A-Fa-f]{1,4}'+'(?:::?'+'[0-9A-Fa-f]{1,4}'+'){1,6}';return(new RegExp('^'+RE_IPV6_ADD+block+'$').test(address)&&/::/.test(address)&&!/::.*::/.test(address));},isIPAddress:function(address,allowBlock){return util.isIPv4Address(address,allowBlock)||util.isIPv6Address(address,allowBlock);},parseImageUrl:function(url){var i,name,decodedName,width,match,strippedUrl,urlTemplate=null,thumbPhpRegex=/thumb\.php/, regexes=[/\/[\da-f]\/[\da-f]{2}\/([^\s/]+)\/(?:[^\s/]+-)?(\d+)px-(?:\1|thumbnail|[a-z\d]{31})(\.[^\s/]+)?$/,/\/[\da-f]\/[\da-f]{2}\/([^\s/]+)$/,/\/([^\s/]+)\/(?:[^\s/]+-)?(\d+)px-(?:\1|thumbnail|[a-z\d]{31})[^\s/]*$/,/\/([^\s/]+)$/];if(thumbPhpRegex.test(url)){decodedName=mw.util.getParamValue('f',url);name=encodeURIComponent(decodedName);width=mw.util.getParamValue('width',url)||mw.util.getParamValue('w',url);urlTemplate=url.replace(/([&?])w(?:idth)?=[^&]+/g,'')+'&width={width}';}else{for(i=0;i