mw.loader.impl(function(){return["ext.centralNotice.choiceData@1uj5x",function($,jQuery,require,module){mw.centralNotice=(mw.centralNotice||{});mw.centralNotice.choiceData=[{"name":"wle_2026_br","start":1782874800,"end":1786941000,"preferred":1,"throttle":100,"bucket_count":1,"geotargeted":true,"type":"photography","banners":[{"name":"wle_2026_br","bucket":0,"weight":25,"category":"wle_2026_br","display_anon":true,"display_account":true,"devices":["android","desktop","ipad","iphone","unknown"]}],"countries":["BR"],"mixins":{"impressionDiet":{"cookieName":"wle_2026_br","dailyLimit":0,"maximumSeen":5,"restartCycleDelay":604800,"skipInitial":0}},"regions":[]}];
}];});
mw.loader.impl(function(){return["ext.centralNotice.display@1jgtq",{"main":"index.js","files":{"index.js":function(require,module,exports){(function(){let cn,bannerLoadedDeferredObj,requestedBannerName=null;const campaignMixins={},MAX_RECORD_IMPRESSION_DELAY=250,IMPRESSION_EVENT_LOGGING_SCHEMA='CentralNoticeImpression',PREVIEW_STORAGE_KEY_PREFIX='cn-banner-preview-';const Mixin=function(name){this.name=name;};Mixin.prototype.setPreBannerHandler=function(handlerFunc){this.preBannerHandler=handlerFunc;};Mixin.prototype.setPostBannerOrFailHandler=function(handlerFunc){this.postBannerOrFailHandler=handlerFunc;};Mixin.prototype.setFinalizeChooseAndMaybeDisplayHandler=function(handlerFunc){this.finalizeChooseAndMaybeDisplayHandler=handlerFunc;};function runMixinHooks(hookPropertyName,campaign){$.each(campaign.mixins,(mixinName,mixinParams)=>{if(!(mixinName in campaignMixins)){mw.log.warn('Mixin '+mixinName+' not registered.');return;}if(!(hookPropertyName in campaignMixins[mixinName])){return;}const handler=campaignMixins[mixinName][hookPropertyName];if(typeof handler!=='function'){mw.log.warn(hookPropertyName+' for '+mixinName+' not a function.');
return;}handler(mixinParams,campaign);});}function runPreBannerHooks(){runMixinHooks('preBannerHandler',cn.internal.state.getAttemptingCampaign());}function runPostBannerOrFailHooks(){runMixinHooks('postBannerOrFailHandler',cn.internal.state.getAttemptingCampaign());}function runFinalizeChooseAndMaybeDisplayHooks(){cn.internal.state.getAttemptedCampaigns().forEach((campaign)=>{runMixinHooks('finalizeChooseAndMaybeDisplayHandler',campaign);});}function setUpDataProperty(){try{Object.defineProperty(cn,'data',{get:function(){return cn.internal.state.getData();}});return;}catch(e){}cn.data=cn.internal.state.getData();}function setUpBannerLoadedPromise(){bannerLoadedDeferredObj=$.Deferred();cn.bannerLoadedPromise=bannerLoadedDeferredObj.promise();cn.events={};cn.events.bannerLoaded=cn.bannerLoadedPromise;}function encode(s){return encodeURIComponent(s).replace(/!/g,'%21').replace(/'/g,'%27').replace(/\(/g,'%28').replace(/\)/g,'%29').replace(/\*/g,'%2A').replace(/%20/g,'+');}function fetchOrRetrieveBanner(){
const data=cn.internal.state.getData();if(data.preview){$(()=>{const previewBannerContent=cn.kvStore.getItem(PREVIEW_STORAGE_KEY_PREFIX+data.banner,cn.kvStore.contexts.GLOBAL);if(previewBannerContent===null){mw.log.warn('Could not retrieve preview banner '+data.banner);}else{injectBannerHTML(previewBannerContent);}});}else{fetchBanner();}}function getBannerUrl(dispatcherUrl,data){const urlBase=new URL(dispatcherUrl,location);const urlQuery=['banner='+encode(data.banner),'uselang='+encode(data.uselang),'debug='+(!!data.debug).toString()];if(data.campaign){urlQuery.unshift('campaign='+encode(data.campaign));}const searchTitle=urlBase.searchParams.get('title');if(searchTitle){urlQuery.unshift('title='+mw.util.wikiUrlencode(searchTitle));}urlBase.search=urlQuery.join('&');urlBase.hash='';return urlBase;}function fetchBanner(){const url=getBannerUrl(mw.config.get('wgCentralNoticeActiveBannerDispatcher'),cn.internal.state.getData());$.ajax({url:url.toString(),dataType:'script',cache:true}).fail((jqXHR,status,error)=>{
cn.handleBannerLoaderError(status+': '+error);});}function injectBannerHTML(bannerHtml){$('div#centralNotice').attr('class',mw.html.escape('cn-'+cn.internal.state.getData().bannerCategory)).prepend(bannerHtml);if(window.performance&&performance.mark){performance.mark('mwCentralNoticeBanner');}}function resolveRecordImpressionDeferred(){cn.recordImpressionDeferredObj.done(reallyRecordImpression);cn.recordImpressionDeferredObj.resolve();}function recordImpression(){let timeoutHasRun=false;if(cn.recordImpressionDelayPromises.length===0){reallyRecordImpression();return;}const timeout=setTimeout(()=>{timeoutHasRun=true;resolveRecordImpressionDeferred();},MAX_RECORD_IMPRESSION_DELAY);$.when.apply($,cn.recordImpressionDelayPromises).always(()=>{if(!timeoutHasRun){clearTimeout(timeout);resolveRecordImpressionDeferred();}});}function reallyRecordImpression(){const state=cn.internal.state,random=Math.random();let dataCopy;if(random<=state.getData().recordImpressionSampleRate){const url=new URL(mw.config.get('wgCentralBannerRecorder'),location);
dataCopy=state.getDataCopy(true);Object.keys(dataCopy).forEach((key)=>url.searchParams.append(key,dataCopy[key]));sendBeacon(url.toString());}if(random<=state.getData().impressionEventSampleRate){dataCopy=dataCopy||state.getDataCopy(true);mw.eventLog.logEvent(IMPRESSION_EVENT_LOGGING_SCHEMA,dataCopy);}}function sendBeacon(urlStr){if(navigator.sendBeacon){try{navigator.sendBeacon(urlStr);}catch(e){}}else{setTimeout(()=>{document.createElement('img').src=urlStr;},0);}}function reallyChooseAndMaybeDisplay(){const chooser=cn.internal.chooser,bucketer=cn.internal.bucketer,state=cn.internal.state,hide=cn.internal.hide;state.setUp();setUpDataProperty();if(!chooser.choiceDataSeemsFresh(cn.choiceData)){state.setChoiceDataStale();return;}state.setAvailableCampaigns(chooser.makeAvailableCampaigns(cn.choiceData,state.getData().country,state.getData().region,state.getData().anonymous,state.getData().device));const maxCampaignFallbackConfig=mw.config.get('wgCentralNoticeMaxCampaignFallback');const maxCampaignFallback=Math.min(
state.getData().availableCampaigns.length,maxCampaignFallbackConfig);let campaign;for(let i=0;i<maxCampaignFallback;i++){campaign=chooser.chooseCampaign(state.getData().availableCampaigns,state.getData().randomcampaign);if(campaign===null){break;}state.setAttemptingCampaign(campaign);bucketer.setCampaign(campaign);hide.setCategory(state.getData().campaignCategory);if(cn.kvStore){cn.kvStore.setCampaignName(state.getData().campaign);cn.kvStore.setCategory(state.getData().campaignCategory);}bucketer.process();state.setBucket(bucketer.getBucket());state.setReducedBucket(bucketer.getReducedBucket());if(!state.getData().anonymous){if(campaign.type===0||state.getData().optedOutCampaigns.includes(campaign.type)){state.failCampaign('userOptOut');runPreBannerHooks();runPostBannerOrFailHooks();fallbackLoopUpdateAvailableCampaigns(i);continue;}}hide.processCookie();if(hide.shouldHide()){state.failCampaign(hide.getReason());runPreBannerHooks();runPostBannerOrFailHooks();
fallbackLoopUpdateAvailableCampaigns(i);continue;}runPreBannerHooks();if(state.isCampaignFailed()){runPostBannerOrFailHooks();fallbackLoopUpdateAvailableCampaigns(i);continue;}break;}if(state.getAttemptingCampaign()===null){return;}if(state.isCampaignFailed()){runFinalizeChooseAndMaybeDisplayHooks();recordImpression();return;}let banner;if(requestedBannerName){banner=chooser.requestBanner(campaign,state.getData().reducedBucket,state.getData().anonymous,state.getData().device,requestedBannerName);if(!banner){state.setRequestedBannerNotAvailable(requestedBannerName);}}else{banner=chooser.chooseBanner(campaign,state.getData().reducedBucket,state.getData().anonymous,state.getData().device,state.getData().randombanner);if(!banner){state.setNoBannerAvailable();}}if(!banner){runPostBannerOrFailHooks();runFinalizeChooseAndMaybeDisplayHooks();recordImpression();return;}state.setBanner(banner);if(cn.kvStore){cn.kvStore.setBannerName(banner.name);}cn.bannerData.bannerName=banner.name;
setUpBannerLoadedPromise();fetchBanner();}function fallbackLoopUpdateAvailableCampaigns(iteration){const state=cn.internal.state;state.setAvailableCampaigns(cn.internal.chooser.updateAvailableCampaigns(state.getData().availableCampaigns,state.getAttemptingCampaign(),iteration));}function processAfterBannerFetch(){if(!cn.internal.state.getData().testingBanner){runPostBannerOrFailHooks();runFinalizeChooseAndMaybeDisplayHooks();recordImpression();}}cn={reallyInsertBanner:function(bannerJson){const state=cn.internal.state;let shownAfterLoadingBanner=true;injectBannerHTML(bannerJson.bannerHtml);bannerLoadedDeferredObj.resolve(cn.internal.state.getData());if(state.getData().bannersNotGuaranteedToDisplay){if(typeof cn.bannerData.alterImpressionData==='function'){const tmpData=state.getDataCopy();shownAfterLoadingBanner=cn.bannerData.alterImpressionData(tmpData);if(!shownAfterLoadingBanner){const bannerLoadedButHiddenReason=tmpData.reason||'';state.setBannerLoadedButHidden(
bannerLoadedButHiddenReason);}if(tmpData.banner_count){state.setBannerCount(tmpData.banner_count);}}else{state.setAlterFunctionMissing();}}if(shownAfterLoadingBanner){state.setBannerShown();}processAfterBannerFetch();},recordImpressionDelayPromises:[],recordImpressionDeferredObj:null,internal:{},setBannersNotGuaranteedToDisplay:function(){cn.internal.state.setBannersNotGuaranteedToDisplay();},failCampaign:function(reason){cn.internal.state.failCampaign(reason);},cancelBanner:function(reason){cn.failCampaign(reason);},isCampaignFailed:function(){return cn.internal.state.isCampaignFailed();},isBannerCanceled:function(){return cn.isCampaignFailed();},isBannerShown:function(){return cn.internal.state.isBannerShown();},setBannerLoadedButHidden:function(reason){cn.internal.state.setBannerLoadedButHidden(reason);},setMinRecordImpressionSampleRate:function(rate){cn.internal.state.setMinRecordImpressionSampleRate(rate);},setMinImpressionEventSampleRate:function(rate){cn.internal.state.setMinImpressionEventSampleRate(rate);
},bannerData:{},Mixin:Mixin,registerCampaignMixin:function(mixin){campaignMixins[mixin.name]=mixin;},chooseAndMaybeDisplay:function(){mw.geoIP.getPromise().fail(cn.internal.state.setInvalidGeoData).done(cn.internal.state.setGeoData).always(reallyChooseAndMaybeDisplay);},displayTestingBanner:function(){mw.geoIP.getPromise().fail(cn.internal.state.setInvalidGeoData).done(cn.internal.state.setGeoData).always(()=>{cn.internal.state.setUpForTestingBanner();setUpDataProperty();setUpBannerLoadedPromise();fetchOrRetrieveBanner();});},insertBanner:function(bannerJson){$(()=>{cn.reallyInsertBanner(bannerJson);});},handleBannerLoaderError:function(msg){cn.internal.state.setBannerLoaderError(msg);bannerLoadedDeferredObj.reject(cn.internal.state.getData());processAfterBannerFetch();},hideBannerWithCloseButton:function(){$('#centralNotice').hide();cn.internal.hide.setHideWithCloseButtonCookies();},customHideBanner:function(reason,duration){$('#centralNotice').hide();cn.internal.hide.setHideCookies(reason,duration);
},hideBanner:function(){cn.hideBannerWithCloseButton();},setBucket:function(bucket){cn.internal.bucketer.setBucket(bucket);cn.internal.state.setBucket(bucket);cn.internal.state.setReducedBucket(cn.internal.bucketer.getReducedBucket());},requestBanner:function(banner){requestedBannerName=banner;},registerTest:function(identifier){cn.internal.state.registerTest(identifier);},setDebugInfo:function(str){cn.internal.state.setDebugInfo(str);},requestRecordImpressionDelay:function(promise){cn.recordImpressionDelayPromises.push(promise);cn.recordImpressionDeferredObj=cn.recordImpressionDeferredObj||$.Deferred();return cn.recordImpressionDeferredObj.promise();},getDataProperty:function(prop){return cn.internal.state.getData()[prop];}};if(window.QUnit){cn.test={getBannerUrl};}if(mw.centralNotice===undefined){mw.centralNotice=cn;}else{Object.assign(mw.centralNotice,cn);cn=mw.centralNotice;}mw.log.deprecate(window,'insertBanner',cn.insertBanner,'Use mw.centralNotice method instead');mw.log.deprecate(
window,'hideBanner',cn.hideBanner,'Use mw.centralNotice method instead');mw.log.deprecate(window,'cancelBanner',cn.cancelBanner,'Use mw.centralNotice.failCampaign() instead');mw.log.deprecate(window,'isBannerCanceled',cn.isBannerCanceled,'Use mw.centralNotice.isCampaignFailed() instead');mw.log.deprecate(window,'toggleNotice',cn.hideBanner,'Use mw.centralNotice method instead');require('./state.js');require('./chooser.js');require('./bucketer.js');require('./hide.js');}());
},"state.js":function(require,module,exports){(function(){let state=null,status,impressionEventSampleRateOverridden=false;const config=require('./config.json'),UNKNOWN_GEO_CODE='XX',CAMPAIGN_CATEGORY_FOR_MIXED_BANNER_CATEGORIES='mixed_banner_categories',DEVICES={DESKTOP:'desktop',IPHONE:'iphone',IPAD:'ipad',ANDROID:'android',UNKNOWN:'unknown'},STATUSES={CAMPAIGN_NOT_CHOSEN:new Status('campaign_not_chosen',0),CAMPAIGN_CHOSEN:new Status('campaign_chosen',1),BANNER_CANCELED:new Status('banner_canceled',2),NO_BANNER_AVAILABLE:new Status('no_banner_available',3),BANNER_CHOSEN:new Status('banner_chosen',4),BANNER_LOADED_BUT_HIDDEN:new Status('banner_loaded_but_hidden',5),BANNER_SHOWN:new Status('banner_shown',6),BANNER_LOADER_ERROR:new Status('banner_loader_error',7),CHOICE_DATA_STALE:new Status('choice_data_stale',8)},REASONS={other:0,close:1,waitdate:2,waitimps:3,waiterr:4,belowMinEdits:5,viewLimit:6,'seen-fullscreen':7,'cookies-disabled':8,donate:9,cookies:10,seen:11,empty:12,waitnorestart:13,waitnostorage:14,namespace:15,noStorage:16,
requestedBannerNotAvailable:17,jsonParamError:18,bannerSequenceEmptyStep:19,bannerSequenceAllStepsSkipped:20,userOptOut:21,waitdaily:22};const campaignAttemptsManager=(function(){const attemptedCampaignStatusesByName={},hasOwn=Object.prototype.hasOwnProperty;return{setCampaignStatus:function(c,statusCode){let statusObj;if(!hasOwn.call(state.attemptedCampaignsByName,c.name)){statusObj={statusCode:statusCode,campaign:c.name,bannersCount:c.banners.length};state.data.campaignStatuses.push(statusObj);attemptedCampaignStatusesByName[c.name]=statusObj;state.attemptedCampaignsByName[c.name]=c;}else{attemptedCampaignStatusesByName[c.name].statusCode=statusCode;}},getAttemptedCampaigns:function(){return state.data.campaignStatuses.map((statusObj)=>state.attemptedCampaignsByName[statusObj.campaign]);}};}());function Status(key,code){this.key=key;this.code=code;}function getDeviceCode(){if(mw.config.get('skin')!=='minerva'){return DEVICES.DESKTOP;}const ua=navigator.userAgent;if(/iphone/i.test(ua)){
return DEVICES.IPHONE;}if(/ipad/i.test(ua)){return DEVICES.IPAD;}if(/android/i.test(ua)){return DEVICES.ANDROID;}return DEVICES.UNKNOWN;}function setInitialData(){const urlParams=state.urlParams;(new URL(location)).searchParams.forEach((value,key)=>{state.urlParams[key]=value;});state.data.anonymous=(!mw.user.isNamed());state.data.project=mw.config.get('wgNoticeProject');state.data.db=mw.config.get('wgDBname');state.data.optedOutCampaigns=getOptedOutCampaignsForUser();state.data.uselang=mw.config.get('wgUserLanguage');state.data.device=urlParams.device||getDeviceCode();state.data.country=urlParams.country||state.data.country||UNKNOWN_GEO_CODE;state.data.region=urlParams.region||(state.data.region!==undefined?state.data.region:false)||UNKNOWN_GEO_CODE;state.data.debug=(urlParams.debug!==undefined);state.data.randomcampaign=numericalUrlParamOrVal(urlParams.randomcampaign,Math.random());state.data.randombanner=numericalUrlParamOrVal(urlParams.randombanner,Math.random());state.data.recordImpressionSampleRate=numericalUrlParamOrVal(
urlParams.recordImpressionSampleRate,mw.config.get('wgCentralNoticeSampleRate'));const impressionEventSampleRateFromUrl=numericalUrlParamOrVal(urlParams.impressionEventSampleRate,null);if(impressionEventSampleRateFromUrl!==null){state.data.impressionEventSampleRate=impressionEventSampleRateFromUrl;impressionEventSampleRateOverridden=true;}else{state.data.impressionEventSampleRate=mw.config.get('wgCentralNoticeImpressionEventSampleRate');}state.data.getVars=urlParams;state.data.campaignStatuses=[];}function getOptedOutCampaignsForUser(){const blocked=[],regex=/^centralnotice-display-campaign-type-(.*)$/;if(mw.config.get('wgUserName')===null){return[];}const allOptions=Object.assign({},mw.user.options.values);for(const key in allOptions){if(!Object.prototype.hasOwnProperty.call(allOptions,key)){continue;}const matches=regex.exec(key);if(Array.isArray(matches)&&matches.length===2&&!allOptions[key]){blocked.push(matches[1]);}}return blocked;}function numericalUrlParamOrVal(urlParam,val){
const urlParamAsFloat=parseFloat(urlParam);return!isNaN(urlParamAsFloat)?urlParamAsFloat:val;}function setTestingBannerData(){state.data.campaign=state.urlParams.campaign;state.data.banner=state.urlParams.banner;state.data.testingBanner=true;state.data.preview=(state.urlParams.preview!==undefined);}function setStatus(s,reason){const reasonCodeStr=reason?('.'+state.lookupReasonCode(reason)):'';status=s;state.data.status=s.key;state.data.statusCode=s.code.toString()+reasonCodeStr;if(state.data.campaign){campaignAttemptsManager.setCampaignStatus(state.campaign,state.data.statusCode);}}state=mw.centralNotice.internal.state={STATUSES:STATUSES,urlParams:{},data:{},campaign:null,banner:null,attemptedCampaignsByName:{},setGeoData:function(geo){if(geo){state.data.country=geo.country;state.data.region=geo.region;}},setInvalidGeoData:function(){state.data.country=UNKNOWN_GEO_CODE;state.data.region=UNKNOWN_GEO_CODE;},setUp:function(){setInitialData();setStatus(STATUSES.CAMPAIGN_NOT_CHOSEN);},
setUpForTestingBanner:function(){setInitialData();setTestingBannerData();setStatus(STATUSES.BANNER_CHOSEN);},getData:function(){return state.data;},getDataCopy:function(prepareForLogging){const dataCopy=$.extend(true,{},state.data);if(prepareForLogging){delete dataCopy.getVars;delete dataCopy.mixins;delete dataCopy.tests;delete dataCopy.reducedBucket;delete dataCopy.availableCampaigns;delete dataCopy.optedOutCampaigns;dataCopy.campaignStatuses=JSON.stringify(dataCopy.campaignStatuses);}return dataCopy;},setAvailableCampaigns:function(availableCampaigns){state.data.availableCampaigns=availableCampaigns;},setAttemptingCampaign:function(c){let prop,i,category,campaignCategory=null;delete state.data.result;delete state.data.reason;delete state.data.bannerCanceledReason;delete state.data.bannersNotGuaranteedToDisplay;state.campaign=c;state.data.campaign=c.name;setStatus(STATUSES.CAMPAIGN_CHOSEN);state.data.mixins={};for(prop in c.mixins){if(Object.hasOwnProperty.call(c.mixins,prop)){state.data.mixins[prop]=true;
}}for(i=0;i<state.campaign.banners.length;i++){category=state.campaign.banners[i].category;if(campaignCategory===null){campaignCategory=category;}else if(campaignCategory!==category){campaignCategory=CAMPAIGN_CATEGORY_FOR_MIXED_BANNER_CATEGORIES;break;}}state.data.campaignCategory=campaignCategory;state.data.campaignCategoryUsesLegacy=config.categoriesUsingLegacy.includes(campaignCategory);},getAttemptingCampaign:function(){return state.campaign===undefined?null:state.campaign;},setBanner:function(b){state.banner=b;state.data.banner=state.banner.name;state.data.bannerCategory=state.banner.category;setStatus(STATUSES.BANNER_CHOSEN);},setBucket:function(bucket){state.data.bucket=bucket;},setReducedBucket:function(reducedBucket){state.data.reducedBucket=reducedBucket;},setBannersNotGuaranteedToDisplay:function(){state.data.bannersNotGuaranteedToDisplay=true;},cancelBanner:function(reason){state.failCampaign(reason);},failCampaign:function(reason){state.data.bannerCanceledReason=reason;
setStatus(STATUSES.BANNER_CANCELED,reason);state.data.result='hide';state.data.reason=reason;},isBannerCanceled:function(){return state.isCampaignFailed();},isCampaignFailed:function(){return status===STATUSES.BANNER_CANCELED;},isBannerShown:function(){return status===STATUSES.BANNER_SHOWN;},setNoBannerAvailable:function(){setStatus(STATUSES.NO_BANNER_AVAILABLE);state.data.result='hide';state.data.reason='empty';},setRequestedBannerNotAvailable:function(bannerName){state.data.requestedBanner=bannerName;setStatus(STATUSES.NO_BANNER_AVAILABLE,'requestedBannerNotAvailable');},setBannerLoadedButHidden:function(reason){state.data.bannerLoadedButHiddenReason=reason;setStatus(STATUSES.BANNER_LOADED_BUT_HIDDEN,reason);state.data.result='hide';state.data.reason=reason;},setAlterFunctionMissing:function(){state.data.alterFunctionMissing=true;},setBannerShown:function(){setStatus(STATUSES.BANNER_SHOWN);state.data.result='show';},setBannerCount:function(bannerCount){state.data.banner_count=bannerCount;
},setMinRecordImpressionSampleRate:function(rate){if(rate>state.data.recordImpressionSampleRate){state.data.recordImpressionSampleRate=rate;}},setMinImpressionEventSampleRate:function(rate){if(!impressionEventSampleRateOverridden&&rate>state.data.impressionEventSampleRate){state.data.impressionEventSampleRate=rate;}},setBannerLoaderError:function(msg){if(msg){state.data.errorMsg=msg;}setStatus(STATUSES.BANNER_LOADER_ERROR);},setChoiceDataStale:function(){setStatus(STATUSES.CHOICE_DATA_STALE);},registerTest:function(identifier){const tests=state.data.tests=state.data.tests||[];if(!tests.includes(identifier)){tests.push(identifier);if(tests.length===1){state.data.testIdentifiers=identifier;}else{state.data.testIdentifiers+=','+identifier;}}},setDebugInfo:function(str){if(!state.data.debugInfo){state.data.debugInfo=str;}else{state.data.debugInfo+='|'+str;}},lookupReasonCode:function(reasonName){if(reasonName in REASONS){return REASONS[reasonName];}return REASONS.other;},
countCampaignsAttempted:function(){return state.data.campaignStatuses.length;},getAttemptedCampaigns:function(){return campaignAttemptsManager.getAttemptedCampaigns();}};}());
},"chooser.js":function(require,module,exports){(function(){const cn=mw.centralNotice,CAMPAIGN_STALENESS_LEEWAY=15;function setCampaignAllocations(availableCampaigns){const campaignsByPriority=[],priorities=[];let remainingAllocation=1;if(availableCampaigns.length===1){availableCampaigns[0].allocation=availableCampaigns[0].throttle/100;return;}for(let i=0;i<availableCampaigns.length;i++){const campaign=availableCampaigns[i];const campaignPriority=campaign.preferred;if(!campaignsByPriority[campaignPriority]){campaignsByPriority[campaignPriority]=[];}campaignsByPriority[campaignPriority].push(campaign);}for(const priority in campaignsByPriority){priorities.push(priority);}priorities.sort();priorities.reverse();for(let i=0;i<priorities.length;i++){const campaignsAtThisPriority=campaignsByPriority[priorities[i]];if(remainingAllocation<0.01){for(let j=0;j<campaignsAtThisPriority.length;j++){campaignsAtThisPriority[j].allocation=0;}continue;}campaignsAtThisPriority.sort((a,b)=>{if(a.throttle<b.throttle){return-1;}if(a.throttle>b.throttle){
return 1;}return 0;});const campaignsAtThisPriorityCount=campaignsAtThisPriority.length;for(let j=0;j<campaignsAtThisPriorityCount;j++){const campaign=campaignsAtThisPriority[j];const currentFullAllocation=remainingAllocation/(campaignsAtThisPriorityCount-j);const actualAllocation=Math.min(currentFullAllocation,campaign.throttle/100);campaign.allocation=actualAllocation;remainingAllocation-=actualAllocation;}}}function makePossibleBanners(campaign,bucket,anon,device){const possibleBanners=[];const campaignName=campaign.name;for(let i=0;i<campaign.banners.length;i++){const banner=campaign.banners[i];if(bucket!==banner.bucket){continue;}if(anon&&!banner.display_anon){continue;}if(!anon&&!banner.display_account){continue;}if(!banner.devices.includes(device)){continue;}possibleBanners.push(banner);}return possibleBanners;}function setBannerAllocations(possibleBanners){let totalWeights=0;if(possibleBanners.length===1){possibleBanners[0].allocation=1;return;}for(let i=0;i<possibleBanners.length;i++){
totalWeights+=possibleBanners[i].weight;}for(let i=0;i<possibleBanners.length;i++){const banner=possibleBanners[i];banner.allocation=banner.weight/totalWeights;}}function chooseObjInAllocatedArray(random,allocatedArray){let blockStart=0;for(let i=0;i<allocatedArray.length;i++){const obj=allocatedArray[i];const blockEnd=blockStart+obj.allocation;if((random>=blockStart)&&(random<blockEnd)){return obj;}blockStart=blockEnd;}return null;}cn.internal.chooser={makeAvailableCampaigns:function(choiceData,country,region,anon,device){const availableCampaigns=[];const uniqueRegionCode=country+'_'+region;for(let i=0;i<choiceData.length;i++){const campaign=choiceData[i];let keepCampaign=false;if(campaign.geotargeted&&(!campaign.countries.includes(country)&&!campaign.regions.includes(uniqueRegionCode))){continue;}for(let j=0;j<campaign.banners.length;j++){const banner=campaign.banners[j];if(anon&&!banner.display_anon){continue;}if(!anon&&!banner.display_account){continue;}if(!banner.devices.includes(device)){
continue;}keepCampaign=true;break;}if(keepCampaign){availableCampaigns.push(campaign);}}return availableCampaigns;},updateAvailableCampaigns:function(previousAvailableCampaigns,failedCampaign,fallbackLoopIndex){const newAvailableCampaigns=previousAvailableCampaigns.slice(),cIndex=newAvailableCampaigns.map((c)=>c.name).indexOf(failedCampaign.name);if(cIndex===-1){mw.log.warn('Failed campaign was not in list of available campaigns');}else{newAvailableCampaigns.splice(cIndex,1);}return newAvailableCampaigns;},choiceDataSeemsFresh:function(choiceData){const now=new Date();for(let i=0;i<choiceData.length;i++){const campaign=choiceData[i];const campaignEndDatePlusLeeway=new Date();campaignEndDatePlusLeeway.setTime((campaign.end*1000)+(CAMPAIGN_STALENESS_LEEWAY*60000));if(campaignEndDatePlusLeeway<now){return false;}}return true;},chooseCampaign:function(availableCampaigns,random){if(availableCampaigns.length===0){return null;}setCampaignAllocations(availableCampaigns);return chooseObjInAllocatedArray(random,availableCampaigns);
},chooseBanner:function(campaign,bucket,anon,device,random){const possibleBanners=makePossibleBanners(campaign,bucket,anon,device);if(possibleBanners.length===0){return null;}setBannerAllocations(possibleBanners);return chooseObjInAllocatedArray(random,possibleBanners);},requestBanner:function(campaign,bucket,anon,device,requestedBannerName){const possibleBanners=makePossibleBanners(campaign,bucket,anon,device);for(let i=0;i<possibleBanners.length;i++){const possibleBanner=possibleBanners[i];if(possibleBanner.name===requestedBannerName){return possibleBanner;}}return null;}};}());
},"bucketer.js":function(require,module,exports){(function(){let buckets=null,campaign=null,multiStorageOption;const kvStore=mw.centralNotice.kvStore,LEGACY_COOKIE='CN',STORAGE_KEY='buckets';function escapeCampaignName(name){return name.replace(/[*!]/g,(match)=>'&#'+match.charCodeAt(0));}function decodeCampaignName(name){return name.replace(/&#(33|42)/,(match,$1)=>String.fromCharCode($1));}function parseSerializedBuckets(serialized){const parsedBuckets={};serialized.split('*').forEach((strBucket)=>{const parts=strBucket.split('!'),key=decodeCampaignName(parts[0]),start=parseInt(parts[1],10)+14e8,end=start+parseInt(parts[2],10),val=parseInt(parts[3],10);if(key&&start&&end&&!isNaN(val)){parsedBuckets[key]={start:start,end:end,val:val};}});return parsedBuckets;}function possiblyLoadAndMigrateLegacyBuckets(){const cookieVal=$.cookie(LEGACY_COOKIE);if(cookieVal){buckets=parseSerializedBuckets(cookieVal);storeBuckets();$.removeCookie(LEGACY_COOKIE,{path:'/'});return true;}return false;}function loadBuckets(){const val=kvStore.getItem(
STORAGE_KEY,kvStore.contexts.GLOBAL,multiStorageOption);buckets=(val?parseSerializedBuckets(val):{});}function storeBuckets(){let expires=Math.ceil(Date.now()/1000);const serialized=$.map(buckets,(opts,key)=>{const parts=[escapeCampaignName(key),Math.floor(opts.start-14e8),Math.ceil(opts.end-opts.start),opts.val];if(opts.end>expires){expires=Math.ceil(opts.end);}return parts.join('!');}).join('*');kvStore.setItem(STORAGE_KEY,serialized,kvStore.contexts.GLOBAL,Math.ceil((expires-(Date.now()/1000))/86400),multiStorageOption);}function getRandomBucket(){return Math.floor(Math.random()*mw.config.get('wgNoticeNumberOfControllerBuckets'));}function retrieveProcessAndGet(){let campaignName=campaign.name,bucketsModified=false;const extension=mw.config.get('wgCentralNoticePerCampaignBucketExtension'),now=new Date();const campaignStartDate=new Date();campaignStartDate.setTime(campaign.start*1000);let bucketEndDate=new Date();bucketEndDate.setTime(campaign.end*1000);bucketEndDate.setUTCDate(bucketEndDate.getUTCDate()+extension);
multiStorageOption=kvStore.getMultiStorageOption(true);if(!possiblyLoadAndMigrateLegacyBuckets()){loadBuckets();}let bucket=buckets[campaignName];if(bucket&&bucketEndDate>now){const retrievedBucketEndDate=new Date();retrievedBucketEndDate.setTime(bucket.end*1000);if(retrievedBucketEndDate.getTime()!==bucketEndDate.getTime()){bucket.end=bucketEndDate.getTime()/1000;bucketsModified=true;}}else{const val=getRandomBucket();bucket={val:val,start:campaignStartDate.getTime()/1000,end:bucketEndDate.getTime()/1000};buckets[campaignName]=bucket;bucketsModified=true;}for(campaignName in buckets){bucketEndDate=new Date();bucketEndDate.setTime(buckets[campaignName].end*1000);if(bucketEndDate<now){delete buckets[campaignName];bucketsModified=true;}}if(bucketsModified){storeBuckets();}}const bucketer=mw.centralNotice.internal.bucketer={setCampaign:function(c){campaign=c;},process:function(){retrieveProcessAndGet();},getBucket:function(){return buckets[campaign.name].val;},getReducedBucket:function(){
return bucketer.getBucket()%campaign.bucket_count;},setBucket:function(val){buckets[campaign.name].val=val;storeBuckets();}};}());
},"hide.js":function(require,module,exports){(function(){let category,cookieName,shouldHide,reason;const durations=mw.config.get('wgNoticeCookieDurations'),HIDE_COOKIE_PREFIX='centralnotice_hide_',MAX_CUSTOM_HIDE_DURATION=2592000;function removeCookie(){$.cookie(cookieName,null,{path:'/'});}const hide=mw.centralNotice.internal.hide={setCategory:function(c){shouldHide=false;reason=null;category=c;cookieName=HIDE_COOKIE_PREFIX+category;},processCookie:function(){const rawCookieVal=$.cookie(cookieName);if(!rawCookieVal){return;}if(rawCookieVal==='hide'){removeCookie();return;}let hideData;try{hideData=JSON.parse(rawCookieVal);}catch(e){removeCookie();return;}const now=Date.now()/1000;if(now<hideData.created+(durations[hideData.reason]||MAX_CUSTOM_HIDE_DURATION)){shouldHide=true;reason=hideData.reason;}},shouldHide:function(){return shouldHide;},getReason:function(){return reason;},setHideCookies:function(newReason,duration){const date=new Date(),hideData={v:1,created:Math.floor(date.getTime()/1000),reason:newReason};if(!(newReason in durations)){
duration=Math.min(MAX_CUSTOM_HIDE_DURATION,duration);}date.setSeconds(date.getSeconds()+duration);$.cookie(cookieName,JSON.stringify(hideData),{expires:date,path:'/'});this.fetchHideUrls(mw.config.get('wgNoticeHideUrls'),duration,category,newReason);},fetchHideUrls:function(hideUrls,duration,categoryName,newReason){return hideUrls.map((hideUrl)=>{const url=new URL(hideUrl,location);url.searchParams.set('duration',duration);url.searchParams.set('category',categoryName);url.searchParams.set('reason',newReason);const img=document.createElement('img');img.src=url.toString();return img;});},setHideWithCloseButtonCookies:function(){hide.setHideCookies('close',durations.close);}};}());
},"config.json":{"categoriesUsingLegacy":["Fundraising","fundraising"]}}},{"css":["@media print{#centralNotice{display:none}}.cn-closeButton{display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUBAMAAAB/pwA+AAAAElBMVEUAAAAQEBDPz88AAABAQEDv7+9oe1vvAAAABnRSTlMA3rLe3rJS22KzAAAARElEQVQI12PAAUIUQCSTK5BwFgIxFU1AhKECUFAYKAAioXwwBeZChMGCEGGQIFQYJohgIhQgtCEMQ7ECYTHCOciOxA4AADgJTXIb9s8AAAAASUVORK5CYII=) no-repeat;width:20px;height:20px;text-indent:20px;white-space:nowrap;overflow:hidden}"]}];});
mw.loader.impl(function(){return["ext.centralNotice.geoIP@1g16w",function($,jQuery,require,module){(function(){const COOKIE_NAME='GeoIP';let geoPromise;function parseCookieValue(cookieValue){let matches=cookieValue.match(/([^:]*):([^:]*):([^:]*):([^:]*):([^:]*):([^;]*)/)||cookieValue.match(/([^:]*):([^:]*):([^:]*):([^:]*):([^;]*)/);if(!matches){return null;}if(matches.length===6){matches=matches.slice(0,2).concat(['']).concat(matches.slice(2));}if((typeof matches[1]!=='string')||(matches[1].length===0)){return null;}return{country:matches[1],region:matches[2],city:matches[3],lat:matches[4]&&parseFloat(matches[4]),lon:matches[5]&&parseFloat(matches[5]),af:matches[6]};}function storeGeoInCookie(geo){const parts=[geo.country,geo.region||'',(geo.city&&geo.city.replace(/[^a-z]/i,'_'))||'',geo.lat||'',geo.lon||'',geo.af||''],cookieValue=parts.join(':');$.cookie(COOKIE_NAME,cookieValue,{path:'/'});}mw.geoIP={makeGeoWithPromise:function(){const cookieValue=$.cookie(COOKIE_NAME);if(cookieValue){const geo=parseCookieValue(cookieValue);if(geo){geoPromise=$.Deferred().resolve(geo).promise();
return;}}const lookupModule=mw.config.get('wgCentralNoticeGeoIPBackgroundLookupModule');if(lookupModule){geoPromise=mw.loader.using(lookupModule).then(()=>{const lookupCallback=require(lookupModule);return lookupCallback();});geoPromise.then((g)=>{storeGeoInCookie(g);});}else{geoPromise=$.Deferred().reject().promise();}},getPromise:function(){return geoPromise;}};mw.geoIP.makeGeoWithPromise();geoPromise.done((geo)=>{window.Geo=geo;});}());
}];});
mw.loader.impl(function(){return["ext.centralNotice.impressionDiet@2jcqc",function($,jQuery,require,module){(function(){'use strict';const cn=mw.centralNotice;const mixin=new cn.Mixin('impressionDiet');const STORAGE_KEY='impression_diet';const COUNTS_STORAGE_TTL=365;let identifier;let multiStorageOption;mixin.setPreBannerHandler(impressionDietHandler);function impressionDietHandler(mixinParams){if(mw.util.getParamValue('force')){return;}identifier=mixinParams.cookieName;multiStorageOption=cn.kvStore.getMultiStorageOption(cn.getDataProperty('campaignCategoryUsesLegacy'));if(cn.isCampaignFailed()){return;}if(multiStorageOption===cn.kvStore.multiStorageOptions.NO_STORAGE){cn.failCampaign('waitnostorage');return;}const now=Date.now();let counts;if(mw.util.getParamValue('reset')==='1'){counts=getZeroedCounts();}else{counts=getCounts();}if(mixinParams.restartCycleDelay>0&&now>counts.nextCycleStart&&counts.seenThisCycle>=mixinParams.maximumSeen){counts.skippedThisCycle=0;counts.seenThisCycle=0;}if(now>counts.nextDailyStart){counts.seenThisDay=0;counts.nextDailyStart=makeNextDailyStart(now);}let hide;
if(counts.seenThisCycle<mixinParams.maximumSeen){if(counts.skippedThisCycle<mixinParams.skipInitial){hide='waitimps';counts.skippedThisCycle+=1;}else if(mixinParams.dailyLimit>0&&counts.seenThisDay>=mixinParams.dailyLimit){hide='waitdaily';}else{hide=false;}}else{hide='waitdate';}if(hide){cn.failCampaign(hide);}else{counts.seenThisCycle+=1;counts.seenThisDay+=1;counts.seenCount+=1;counts.nextCycleStart=now+(mixinParams.restartCycleDelay*1000);}storeCounts(counts);}function makeNextDailyStart(now){const d=new Date(now);d.setMilliseconds(0);d.setSeconds(0);d.setMinutes(0);if(d.getHours()>=4){d.setDate(d.getDate()+1);}d.setHours(4);return d.getTime();}function getZeroedCounts(){return{seenCount:0,skippedThisCycle:0,nextCycleStart:0,seenThisCycle:0,nextDailyStart:0,seenThisDay:0};}function fixCountNames(kvStoreCounts){if(!kvStoreCounts||kvStoreCounts.skippedThisCycle===undefined){return undefined;}if(kvStoreCounts.seenThisDay===undefined){kvStoreCounts.nextDailyStart=0;kvStoreCounts.seenThisDay=0;
}return kvStoreCounts;}function getCounts(){let c;if(identifier){c=cn.kvStore.getItem(STORAGE_KEY+'_'+identifier,cn.kvStore.contexts.GLOBAL,multiStorageOption);}else{c=cn.kvStore.getItem(STORAGE_KEY,cn.kvStore.contexts.CATEGORY,multiStorageOption);}return fixCountNames(c)||getZeroedCounts();}function storeCounts(c){if(identifier){cn.kvStore.setItem(STORAGE_KEY+'_'+identifier,c,cn.kvStore.contexts.GLOBAL,COUNTS_STORAGE_TTL,multiStorageOption);}else{cn.kvStore.setItem(STORAGE_KEY,c,cn.kvStore.contexts.CATEGORY,COUNTS_STORAGE_TTL,multiStorageOption);}}cn.registerCampaignMixin(mixin);module.exports.private={impressionDietHandler};}());
}];});
mw.loader.impl(function(){return["ext.centralNotice.kvStore@1ggbc",{"main":"index.js","files":{"index.js":function(require,module,exports){mw.centralNotice=(mw.centralNotice||{});mw.centralNotice.kvStore=require('./kvStore.js');
},"kvStore.js":function(require,module,exports){(function(){let error=null,campaignName=null,bannerName=null,category=null,cookiesEnabled=null,localStorageAvailable=null,kvStore=null;const now=Math.round(Date.now()/1000),SEPARATOR='|',SEPARATOR_IN_COOKIES='!',FIND_KEY_REGEX=/\|([^|]*)$/,PREFIX='CentralNoticeKV',PREFIX_IN_COOKIES='CN',DEFAULT_ITEM_TTL=(365/2)*60*60*24;const KVStorageContext=function(key,keyInCookies){this.key=key;this.keyInCookies=keyInCookies;};function areCookiesEnabled(){if(cookiesEnabled===null){mw.cookie.set('cookieTest','testVal');cookiesEnabled=(mw.cookie.get('cookieTest')==='testVal');mw.cookie.set('cookieTest',null);}return cookiesEnabled;}function isLocalStorageAvailable(){if(localStorageAvailable===null){try{if(!window.localStorage){localStorageAvailable=false;}else{localStorage.setItem('localStorageTest','testVal');localStorageAvailable=(localStorage.getItem('localStorageTest')==='testVal');localStorage.removeItem('localStorageTest');}}catch(e){localStorageAvailable=false;}}return localStorageAvailable;}
function setError(message,key,value,context){error={message:message,key:key,value:value,context:context?context.key:null,time:new Date()};error.campaign=campaignName;error.banner=bannerName;mw.log('CentralNotice KV storage error: '+JSON.stringify(error));}function makeKeyForLocalStorage(key,context){const base=PREFIX+SEPARATOR+context.key+SEPARATOR;switch(context.key){case kvStore.contexts.CAMPAIGN.key:return base+campaignName+SEPARATOR+key;case kvStore.contexts.CATEGORY.key:return base+category+SEPARATOR+key;case kvStore.contexts.GLOBAL.key:return base+key;default:setError('Invalid KV storage context',key,null,context);return base+'invalidContext'+SEPARATOR+key;}}function makeKeyForCookie(key,context){const base=PREFIX_IN_COOKIES+SEPARATOR_IN_COOKIES+context.keyInCookies+SEPARATOR_IN_COOKIES;switch(context.key){case kvStore.contexts.CAMPAIGN.key:return base+campaignName+SEPARATOR_IN_COOKIES+key;case kvStore.contexts.CATEGORY.key:return base+category+SEPARATOR_IN_COOKIES+key;case kvStore.contexts.GLOBAL.key:
return base+key;default:setError('Invalid KV storage context',key,null,context);return base+'invalidContext'+SEPARATOR_IN_COOKIES+key;}}function setLocalStorageItem(key,value,context,ttl){const lsKey=makeKeyForLocalStorage(key,context);const encodedWrappedValue=JSON.stringify({expiry:ttl?(ttl*86400)+now:DEFAULT_ITEM_TTL+now,val:value});try{localStorage.setItem(lsKey,encodedWrappedValue);if(localStorage.getItem(lsKey)!==encodedWrappedValue){setError('Couldn\'t write value',key,value,context);return false;}return true;}catch(e){setError('Couldn\'t write value due to LocalStorage exception '+e.toString(),key,value,context);return false;}}function setCookieItem(key,value,context,ttl){return Boolean($.cookie(makeKeyForCookie(key,context),encodeURIComponent(JSON.stringify(value)),{expires:ttl,path:'/'}));}function getLocalStorageItem(key,context){const lsKey=makeKeyForLocalStorage(key,context);let rawValue,wrappedValue;try{rawValue=localStorage.getItem(lsKey);}catch(e){setError('Couldn\'t read value due to LocalStorage exception '+
e.toString(),key,null,context);return null;}if(rawValue===null){return null;}try{wrappedValue=JSON.parse(rawValue);}catch(e){if(e instanceof SyntaxError){setError('Couldn\'t parse value, removing. '+e.message,key,rawValue,context);try{localStorage.removeItem(lsKey);}catch(ex){setError('Couldn\'t remove value due to LocalStorage exception '+ex.toString(),key,rawValue,context);}return null;}else{setError('Couldn\'t read value '+e.message,key,rawValue,context);throw e;}}if(!wrappedValue.expiry||wrappedValue.expiry<now){return null;}return wrappedValue.val;}function getCookieItem(key,context){const storageKey=makeKeyForCookie(key,context),rawCookie=$.cookie(storageKey);try{return JSON.parse(decodeURIComponent(rawCookie));}catch(e){$.removeCookie(storageKey,{path:'/'});return null;}}function removeLocalStorageItem(key,context){try{localStorage.removeItem(makeKeyForLocalStorage(key,context));}catch(e){setError('Couldn\'t remove value due to LocalStorage exception '+e.toString(),key,null,context);
}}function removeCookieItem(key,context){$.removeCookie(makeKeyForCookie(key,context),{path:'/'});}kvStore={contexts:{CAMPAIGN:new KVStorageContext('campaign','c'),CATEGORY:new KVStorageContext('category','t'),GLOBAL:new KVStorageContext('global','g')},multiStorageOptions:{LOCAL_STORAGE:'kv_store',COOKIE:'cookie',NO_STORAGE:'no_storage'},setItem:function(key,value,context,ttl,multiStorageOption){if((key.includes(SEPARATOR))||(key.includes(SEPARATOR_IN_COOKIES))){setError('Invalid key',key,value,context);return false;}multiStorageOption=multiStorageOption||kvStore.multiStorageOptions.LOCAL_STORAGE;switch(multiStorageOption){case kvStore.multiStorageOptions.LOCAL_STORAGE:return setLocalStorageItem(key,value,context,ttl);case kvStore.multiStorageOptions.COOKIE:return setCookieItem(key,value,context,ttl);case kvStore.multiStorageOptions.NO_STORAGE:return false;default:throw new Error('Unexpected multi-storage option');}},getItem:function(key,context,multiStorageOption){multiStorageOption=
multiStorageOption||kvStore.multiStorageOptions.LOCAL_STORAGE;switch(multiStorageOption){case kvStore.multiStorageOptions.LOCAL_STORAGE:return getLocalStorageItem(key,context);case kvStore.multiStorageOptions.COOKIE:return getCookieItem(key,context);case kvStore.multiStorageOptions.NO_STORAGE:return null;default:throw new Error('Unexpected multi-storage option');}},removeItem:function(key,context,multiStorageOption){multiStorageOption=multiStorageOption||kvStore.multiStorageOptions.LOCAL_STORAGE;switch(multiStorageOption){case kvStore.multiStorageOptions.LOCAL_STORAGE:removeLocalStorageItem(key,context);return;case kvStore.multiStorageOptions.COOKIE:removeCookieItem(key,context);return;case kvStore.multiStorageOptions.NO_STORAGE:return;default:throw new Error('Unexpected multi-storage option');}},isAvailable:function(){return(kvStore.getMultiStorageOption(false)!==kvStore.multiStorageOptions.NO_STORAGE);},getMultiStorageOption:function(cookieAllowed){if(isLocalStorageAvailable()){
return kvStore.multiStorageOptions.LOCAL_STORAGE;}if(cookieAllowed&&areCookiesEnabled()){return kvStore.multiStorageOptions.COOKIE;}return kvStore.multiStorageOptions.NO_STORAGE;},getError:function(){return error;},setNotAvailableError:function(){setError('LocalStorage not available.',null,null);},setMaintenanceError:function(lsKey){const m=lsKey.match(FIND_KEY_REGEX),key=m?m[1]:null;setError('Error during KVStore maintenance.',key,null);},setCampaignName:function(cName){campaignName=cName;},setBannerName:function(bName){bannerName=bName;},setCategory:function(c){category=c;}};module.exports=kvStore;}());
}}}];});
mw.loader.impl(function(){return["ext.centralNotice.startUp@1ipzh",{"main":"index.js","files":{"index.js":function(require,module,exports){(function(){const cn=mw.centralNotice,testingBannerName=mw.util.getParamValue('banner'),kvStoreMaintenance=require('./kvStoreMaintenance.js'),NULL_BANNER_NAME='null';cn.kvStoreMaintenance=kvStoreMaintenance;$(()=>{$('#siteNotice').prepend('<div id="centralNotice" data-nosnippet=""></div>');});if(testingBannerName){if(testingBannerName===NULL_BANNER_NAME){return;}mw.loader.using('ext.centralNotice.display').done(()=>{cn.displayTestingBanner();});return;}if(cn.choiceData===undefined){mw.log.warn('No choice data set for CentralNotice campaign '+'and banner selection.');return;}mw.requestIdleCallback(kvStoreMaintenance.doMaintenance);if(cn.choiceData.length===0){return;}if(!cn.chooseAndMaybeDisplay){mw.log.warn('Possible campaign(s) received in choiceData, but '+'mw.centralNotice.chooseAndMaybeDisplay() is not available');return;}cn.chooseAndMaybeDisplay();}());
},"kvStoreMaintenance.js":function(require,module,exports){(function(){const now=Date.now()/1000,PREFIX_REGEX=/^CentralNoticeKV/,PREFIX_AND_SEPARATOR_IN_COOKIES='CN!',LEEWAY_FOR_REMOVAL=86400,MIN_WORK_TIME=3;function getKeys(){return $.Deferred((d)=>{mw.requestIdleCallback((deadline)=>{const keys=[];let index=localStorage.length;while(index-->0&&deadline.timeRemaining()>MIN_WORK_TIME){const key=localStorage.key(index);if(key!==null&&PREFIX_REGEX.test(key)){keys.push(key);}}d.resolve(keys);});}).promise();}function processKeys(queue){return $.Deferred((d)=>{mw.requestIdleCallback(function iterate(deadline){let key,rawValue,value;while(queue[0]!==undefined&&deadline.timeRemaining()>MIN_WORK_TIME){key=queue.shift();try{rawValue=localStorage.getItem(key);if(rawValue){value=JSON.parse(rawValue);if(!value.expiry||(value.expiry+LEEWAY_FOR_REMOVAL)<now){localStorage.removeItem(key);}}}catch(e){localStorage.removeItem(key);mw.log.warn('CentralNotice kvStoreMaintenance error for key '+key,e);}}if(queue[0]!==undefined){mw.requestIdleCallback(iterate);}else{
d.resolve();}});}).promise();}function purgeFallbackCookies(){const cookies=document.cookie.split(';'),r=new RegExp('^'+PREFIX_AND_SEPARATOR_IN_COOKIES+'[^=]*(?==)');for(let i=0;i<cookies.length;i++){const matches=cookies[i].trim().match(r);if(matches){document.cookie=matches[0]+'=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/';}}}const kvStoreMaintenance={doMaintenance:function(){try{if(!window.localStorage||!localStorage.length){return $.Deferred().resolve();}}catch(e){return $.Deferred().resolve();}if(document.cookie.includes(PREFIX_AND_SEPARATOR_IN_COOKIES)){purgeFallbackCookies();}return getKeys().then(processKeys);}};module.exports=kvStoreMaintenance;}());
}}}];});
mw.loader.impl(function(){return["ext.centralauth.centralautologin@gczw3",{"main":"ext.centralauth.centralautologin.js","files":{"ext.centralauth.centralautologin.js":function(require,module,exports){(function(){if(mw.config.get('wgUserName')!==null){return;}if(mw.config.get('wgCanonicalSpecialPageName')==='Userlogin'){return;}try{if(+localStorage.getItem('CentralAuthAnon')>Date.now()){return;}}catch(e){}try{if(/(^|; )CentralAuthAnon=1/.test(document.cookie)){return;}}catch(e){return;}let url=require('./data.json').startURL;if(url){if(mw.config.get('wgCanonicalSpecialPageName')==='Userlogin'){url+='&return=1';const params=location.search.slice(1).split('&');for(let i=0,len=params.length;i<len;i++){const paramParts=params[i].split('=');const param=decodeURIComponent(paramParts[0]);if(param==='returnto'||param==='returntoquery'){url+='&'+params[i];}}}mw.loader.load(url);}}());
},"data.json":{"startURL":"//ko.wikipedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop\u0026type=script\u0026usesul3=1"}}},{"css":["@keyframes centralAuthPPersonalAnimation{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.centralAuthPPersonalAnimation{animation-duration:1s;animation-fill-mode:both;animation-name:centralAuthPPersonalAnimation}"]}];});
mw.loader.impl(function(){return["ext.checkUser.clientHints@7tpv0",{"main":"index.js","files":{"index.js":function(require,module,exports){(function(){function init(navigatorData){const hasHighEntropyValuesMethod=navigatorData.userAgentData&&navigatorData.userAgentData.getHighEntropyValues;if(!hasHighEntropyValuesMethod){return false;}const wgCheckUserClientHintsHeadersJsApi=mw.config.get('wgCheckUserClientHintsHeadersJsApi');function postClientHintData(clientHintData,identifier,type,retryOnTokenMismatch){const restApi=new mw.Rest();const api=new mw.Api();const deferred=$.Deferred();api.getToken('csrf').then((token)=>{clientHintData.token=token;restApi.post('/checkuser/v0/useragent-clienthints/'+type+'/'+identifier,clientHintData).then((data)=>{deferred.resolve(data);}).catch((err,errObject)=>{mw.log.error(errObject);let errMessage=errObject.exception;if(errObject.xhr&&errObject.xhr.responseJSON&&errObject.xhr.responseJSON.messageTranslations){errMessage=errObject.xhr.responseJSON.messageTranslations.en;}if(retryOnTokenMismatch&&errObject.xhr&&errObject.xhr.responseJSON&&errObject.xhr.responseJSON.errorKey&&errObject.xhr.responseJSON.errorKey==='rest-badtoken'
){api.badToken('csrf');postClientHintData(clientHintData,identifier,type,false).then((data)=>{deferred.resolve(data);},(secondRequestErr,secondRequestErrObject)=>{deferred.reject(secondRequestErr,secondRequestErrObject);});}else{logError('Unable to submit client hints',errMessage);deferred.reject(err,errObject);}});}).catch((err,errObject)=>{mw.log.error(errObject);let errMessage=errObject.exception;if(errObject.xhr&&errObject.xhr.responseJSON&&errObject.xhr.responseJSON.messageTranslations){errMessage=errObject.xhr.responseJSON.messageTranslations.en;}logError('Unable to get token for recording client hints',errMessage);deferred.reject(err,errObject);});return deferred.promise();}function collectAndSendClientHintsData(identifier,type){return collectClientHintsData().then((userAgentHighEntropyValues)=>{postClientHintData(userAgentHighEntropyValues,identifier,type,true);});}function collectClientHintsData(){try{return navigatorData.userAgentData.getHighEntropyValues(
wgCheckUserClientHintsHeadersJsApi);}catch(err){mw.log.error(err);logError('Unable to collect high entropy client hints',err.toString());return Promise.reject(err);}}function logError(message,originalMessage){const loggedError=new Error(message);loggedError.error_context={originalMessage};mw.errorLogger.logError(loggedError,'error.checkuser');}const privateEventId=mw.config.get('wgCheckUserClientHintsPrivateEventId');if(privateEventId){collectAndSendClientHintsData(privateEventId,'privatelog');}mw.hook('postEdit').add(()=>{collectAndSendClientHintsData(mw.config.get('wgCurRevisionId'),'revision');});mw.hook('extendLogout').add((data)=>{data.promise=data.promise.then(()=>{return collectClientHintsData().then((userAgentHighEntropyValues)=>{data.params.checkuserclienthints=JSON.stringify(userAgentHighEntropyValues);});});});return true;}init(navigator);module.exports={init:init};}());
}}}];});
mw.loader.impl(function(){return["ext.cx.entrypoints.languagesearcher.init@1dplf",function($,jQuery,require,module){(function(){'use strict';mw.hook('mobileFrontend.languageSearcher.noresults').add(()=>{if(mw.config.get('mintEntrypointLanguages')){mw.loader.load('ext.cx.entrypoints.languagesearcher');}else{mw.loader.load('ext.cx.entrypoints.languagesearcher.legacy');}});}());
}];});
mw.loader.impl(function(){return["ext.cx.eventlogging.campaigns@48624",function($,jQuery,require,module){(function(){'use strict';$(()=>{mw.hook('mw.cx.cta.accept').add((campaign)=>{mw.track('counter.MediaWiki.cx.campaign.'+campaign+'.accept',1);mw.track('stats.mediawiki_cx_cta_responses_total',1,{response:'accept',campaign});});});}());
}];});
mw.loader.impl(function(){return["ext.discussionTools.init@15he9",{"main":"dt.init.js","files":{"dt.init.js":function(require,module,exports){const controller=require('./controller.js'),url=new URL(location.href),featuresEnabled=mw.config.get('wgDiscussionToolsFeaturesEnabled')||{};mw.dt={};mw.dt.initState={firstLoad:true};if(url.searchParams.get('dtrepliedto')){mw.dt.initState.repliedTo=url.searchParams.get('dtrepliedto');mw.dt.initState.tempUserCreated=url.searchParams.has('dttempusercreated');url.searchParams.delete('dtrepliedto');url.searchParams.delete('dttempusercreated');window.history.replaceState({},'',url);}mw.dt.init=function($container){function reallyInit($node){controller.init($node,mw.dt.initState);mw.dt.initState={};$(document.documentElement).addClass('ext-discussiontools-init-ready');}if($container.is('#mw-content-text')||$container.find('#mw-content-text').length){reallyInit($('#mw-content-text'));return;}if(!$container.closest('html').length){setTimeout(()=>{if($container.closest('html').length){mw.dt.init($container);}});return;}const livePreviewSelectors='#wikiPreview, .ext-WikiEditor-realtimepreview-preview';
if($container.parent().is(livePreviewSelectors)){reallyInit($container);return;}};if(url.searchParams.get('dtdebug')){mw.loader.load('ext.discussionTools.debug');}else{mw.hook('wikipage.content').add(mw.dt.init);$(()=>{const $content=$('#mw-content-text');if($content.length&&mw.dt.initState.firstLoad){mw.dt.init($content);}});}if(featuresEnabled.topicsubscription){if(mw.config.get('wgCanonicalSpecialPageName')==='TopicSubscriptions'){const topicSubscriptions=require('./topicsubscriptions.js');topicSubscriptions.initSpecialTopicSubscriptions();}if(mw.config.get('wgAction')==='history'){const topicSubscriptions=require('./topicsubscriptions.js');topicSubscriptions.initNewTopicsSubscription();}}module.exports={controller:controller,Parser:require('./commentparser/Parser.js'),parserData:require('./commentparser/data.json'),modifier:require('./commentparser/modifier.js'),ThreadItem:require('./commentparser/ThreadItem.js'),HeadingItem:require('./commentparser/HeadingItem.js'),CommentItem:require('./commentparser/CommentItem.js'),
utils:require('./commentparser/commentUtils.js'),config:require('./config.json')};
},"controller.js":function(require,module,exports){'use strict';const featuresEnabled=mw.config.get('wgDiscussionToolsFeaturesEnabled')||{},MemoryStorage=require('./MemoryStorage.js'),STORAGE_EXPIRY=60*60*24*30,Parser=require('./commentparser/Parser.js'),ThreadItemSet=require('./commentparser/ThreadItemSet.js'),CommentDetails=require('./CommentDetails.js'),HeadingItem=require('./commentparser/HeadingItem.js'),ReplyLinksController=require('./ReplyLinksController.js'),clientUtils=require('./clientUtils.js'),commentUtils=require('./commentparser/commentUtils.js'),highlighter=require('./highlighter.js'),permalinks=require('./permalinks.js'),defaultEditMode=mw.user.options.get('discussiontools-editmode')||mw.config.get('wgDiscussionToolsFallbackEditMode'),defaultVisual=defaultEditMode==='visual',enable2017Wikitext=featuresEnabled.sourcemodetoolbar,overflowMenu=require('./overflowMenu.js');let $pageContainer,linksController,pageThreads,lastControllerScrollOffset,topicSubscriptions,pageDataCache={},pageHandlersSetup=false;let mobile=null;if(OO.ui.isMobile()&&mw.config.get('skin')==='minerva'){
mobile=require('./mobile.js');}if(mw.loader.getState('ext.thanks')){require('./thanks.js');}mw.messages.set(require('./contLangMessages.json'));function getApi(){return new mw.Api({parameters:{formatversion:2,uselang:mw.config.get('wgUserLanguage')}});}function getPageData(pageName,oldId,apiParams){const api=getApi();apiParams=apiParams||{};pageDataCache[pageName]=pageDataCache[pageName]||{};if(pageDataCache[pageName][oldId]&&$.isEmptyObject(apiParams)){return pageDataCache[pageName][oldId];}let lintPromise,transcludedFromPromise;if(oldId){lintPromise=api.get({action:'query',list:'linterrors',lntcategories:'fostered',lntlimit:1,lnttitle:pageName}).then((response)=>OO.getProp(response,'query','linterrors')||[]);transcludedFromPromise=api.get({action:'discussiontoolspageinfo',page:pageName,oldid:oldId}).then((response)=>OO.getProp(response,'discussiontoolspageinfo','transcludedfrom')||{});}else{lintPromise=$.Deferred().resolve([]).promise();transcludedFromPromise=$.Deferred().resolve({}).promise();
}const veMetadataPromise=api.get(Object.assign({action:'visualeditor',paction:'metadata',page:pageName},apiParams)).then((response)=>OO.getProp(response,'visualeditor')||[]);const promise=$.when(lintPromise,transcludedFromPromise,veMetadataPromise).then((linterrors,transcludedfrom,metadata)=>({linterrors:linterrors,transcludedfrom:transcludedfrom,metadata:metadata}),(...args)=>{pageDataCache[pageName][oldId]=null;return $.Deferred().reject(...args);});if($.isEmptyObject(apiParams)){pageDataCache[pageName][oldId]=promise;}return promise;}function checkThreadItemOnPage(pageName,oldId,threadItem){const isNewTopic=threadItem.id===commentUtils.NEW_TOPIC_COMMENT_ID;const defaultMode=mw.user.options.get('discussiontools-editmode')||mw.config.get('wgDiscussionToolsFallbackEditMode');let apiParams=null;if(isNewTopic){apiParams={section:'new',editintro:threadItem.editintro,preload:threadItem.preload,preloadparams:threadItem.preloadparams,paction:defaultMode==='source'?'wikitext':'parse'};}return getPageData(pageName,oldId,apiParams)
.then((response)=>{const metadata=response.metadata,lintErrors=response.linterrors,transcludedFrom=response.transcludedfrom;if(!isNewTopic){let isTranscludedFrom=transcludedFrom[threadItem.id];if(isTranscludedFrom===undefined){isTranscludedFrom=transcludedFrom[threadItem.name];}if(isTranscludedFrom===undefined){return $.Deferred().reject('discussiontools-commentid-notfound-transcludedfrom',{errors:[{code:'discussiontools-commentid-notfound-transcludedfrom',html:mw.message('discussiontools-error-comment-disappeared').parse()+'<br>'+mw.message('discussiontools-error-comment-disappeared-reload').parse()}]}).promise();}else if(isTranscludedFrom){const mwTitle=isTranscludedFrom===true?null:mw.Title.newFromText(isTranscludedFrom);const follow=mwTitle&&mwTitle.getNamespaceId()!==mw.config.get('wgNamespaceIds').template;let transcludedErrMsg;if(follow){transcludedErrMsg=mw.message('discussiontools-error-comment-is-transcluded-title',mwTitle.getPrefixedText()).parse();}else if(metadata.canEdit){
transcludedErrMsg=mw.message('discussiontools-error-comment-is-transcluded',$('#ca-edit').text()).parse();}else{transcludedErrMsg=metadata.notices['permissions-error'];}return $.Deferred().reject('comment-is-transcluded',{errors:[{data:{transcludedFrom:isTranscludedFrom,follow:follow},code:'comment-is-transcluded',html:transcludedErrMsg}]}).promise();}if(lintErrors.length){const lintType=lintErrors[0].category;return $.Deferred().reject('lint',{errors:[{code:'lint',html:mw.message('discussiontools-error-lint','https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Lint_errors/'+lintType,'https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Lint_errors/'+lintType,mw.util.getUrl(pageName,{action:'edit',lintid:lintErrors[0].lintId})).parse()}]}).promise();}}if(!metadata.canEdit){return $.Deferred().reject('permissions-error',{errors:[{code:'permissions-error',html:metadata.notices['permissions-error']}]}).promise();}return new CommentDetails(pageName,oldId,metadata.notices,metadata.wouldautocreate,metadata.content,defaultMode);
});}function getCheckboxesPromise(pageName,oldId){return getPageData(pageName,oldId).then((pageData)=>{const data=pageData.metadata,checkboxesDef={};mw.messages.set(data.checkboxesMessages);if('wpWatchthis'in data.checkboxesDef){checkboxesDef.wpWatchthis=data.checkboxesDef.wpWatchthis;checkboxesDef.wpWatchthis['label-message']='discussiontools-replywidget-watchthis';}return mw.loader.using('ext.visualEditor.targetLoader').then(()=>mw.libs.ve.targetLoader.createCheckboxFields(checkboxesDef));});}function getReplyWidgetModules(){const modules=[];if(OO.ui.isMobile()){modules.push('ext.visualEditor.core.mobile','ext.visualEditor.mwextensions');}else{modules.push('ext.visualEditor.core.desktop','ext.visualEditor.desktopTarget','ext.visualEditor.mwextensions.desktop');}modules.push('ext.discussionTools.ReplyWidget');const veConf=mw.config.get('wgVisualEditorConfig');modules.push(...veConf.pluginModules.filter(mw.loader.getState));return modules;}function init($container,state){let
activeCommentId=null,activeController=null;const CommentController=require('./CommentController.js'),NewTopicController=require('./NewTopicController.js');pageDataCache={};mw.loader.using('mediawiki.action.view.postEdit');if(linksController){linksController.teardown();linksController=null;}$pageContainer=$container;linksController=new ReplyLinksController($pageContainer);permalinks.init($pageContainer);linksController.on('link-interact',()=>{getPageData(mw.config.get('wgRelevantPageName'),mw.config.get('wgCurRevisionId'));});const parser=new Parser(require('./commentparser/data.json'));const commentNodes=$pageContainer[0].querySelectorAll('[data-mw-thread-id]');pageThreads=ThreadItemSet.static.newFromJSON(mw.config.get('wgDiscussionToolsPageThreads')||[],$pageContainer[0],parser);if(featuresEnabled.topicsubscription){topicSubscriptions=require('./topicsubscriptions.js');topicSubscriptions.initTopicSubscriptions($container,pageThreads);}overflowMenu.init($container,pageThreads);if(mobile){
mobile.init($container,pageThreads);}if(linksController.pageHasReplyLinks()||linksController.pageHasNewTopicLink()){mw.loader.using(getReplyWidgetModules());}function setupController(comment,$link,options,storage){if(!storage){storage=new MemoryStorage(mw.storage,'mw-ext-DiscussionTools-reply/'+comment.id,STORAGE_EXPIRY);}let commentController,$addSectionLink;if(comment.id===commentUtils.NEW_TOPIC_COMMENT_ID){$addSectionLink=$('#ca-addsection').find('a');$link=$link.add($addSectionLink);commentController=new NewTopicController($pageContainer,comment,pageThreads,storage);}else{commentController=new CommentController($pageContainer,comment,pageThreads,storage);}activeCommentId=comment.id;activeController=commentController;linksController.setActiveLink($link);commentController.on('teardown',(teardownMode)=>{activeCommentId=null;activeController=null;if(teardownMode!=='refresh'){linksController.clearActiveLink();}if(teardownMode==='abandoned'){linksController.focusLink($link);}});
commentController.on('reloadPage',()=>{mw.dt.initState.newCommentIds=commentController.newComments.map((cmt)=>cmt.id);commentController.replyWidgetPromise.then((replyWidget)=>{lastControllerScrollOffset=$(commentController.newListItem).offset().top;replyWidget.teardown('refresh');refreshPageContents(commentController.oldId);});});commentController.setup(options);if(lastControllerScrollOffset){$(document.documentElement).scrollTop($(document.documentElement).scrollTop()+($(commentController.newListItem).offset().top-lastControllerScrollOffset));lastControllerScrollOffset=null;}}function newTopicComment(data){const comment=new HeadingItem({},2);comment.id=commentUtils.NEW_TOPIC_COMMENT_ID;comment.isNewTopic=true;Object.assign(comment,data);return comment;}linksController.on('link-click',(commentId,$link,data)=>{if(activeCommentId===commentId){activeController.showAndFocus();return;}let teardownPromise=$.Deferred().resolve();if(commentId===commentUtils.NEW_TOPIC_COMMENT_ID){if(activeController){
teardownPromise=activeController.tryTeardown();}else if(OO.getProp(window,'ve','init','target','tryTeardown')){teardownPromise=ve.init.target.tryTeardown()||$.Deferred().resolve();}}if(mobile){teardownPromise=teardownPromise.then(()=>mobile.closeLedeSectionDialog());}teardownPromise.then(()=>{if(activeController){return;}let comment;if(commentId!==commentUtils.NEW_TOPIC_COMMENT_ID){comment=pageThreads.findCommentById(commentId);}else{comment=newTopicComment(data);}if(comment){setupController(comment,$link);}else{mw.notify(mw.msg('discussiontools-error-comment-disappeared'));}});});const mobilePromise=OO.ui.isMobile()&&mw.loader.getState('mobile.init')?mw.loader.using('mobile.init'):$.Deferred().resolve().promise();if(mw.config.get('wgAction')==='view'){pageThreads.threadItems.every((comment,i)=>{const replyStorage=new MemoryStorage(mw.storage,'mw-ext-DiscussionTools-reply/'+comment.id,STORAGE_EXPIRY);if(replyStorage.get('saveable')){const mode=replyStorage.get('mode');const $link=$(commentNodes[i]);
mobilePromise.then(()=>{if(OO.ui.isMobile()){const urlFragment=mw.util.escapeIdForLink(comment.id);location.hash='#'+urlFragment;}setTimeout(()=>{setupController(comment,$link,{mode:mode,fromAutoSave:true,suppressNotifications:!state.firstLoad},replyStorage);});});return false;}return true;});const newTopicStorage=new MemoryStorage(mw.storage,'mw-ext-DiscussionTools-reply/'+commentUtils.NEW_TOPIC_COMMENT_ID,STORAGE_EXPIRY);if(newTopicStorage.get('saveable')||newTopicStorage.get('title')){const mode=newTopicStorage.get('mode');setupController(newTopicComment(),$([]),{mode:mode,fromAutoSave:true,suppressNotifications:!state.firstLoad},newTopicStorage);}else if(mw.config.get('wgDiscussionToolsStartNewTopicTool')){const data=linksController.parseNewTopicLink(location.href);setupController(newTopicComment(data),$([]));}}mw.dt.pageThreads=pageThreads;mobilePromise.then(()=>{if(state.repliedTo){highlighter.highlightPublishedComment(pageThreads,state.repliedTo);if(state.repliedTo===commentUtils.NEW_TOPIC_COMMENT_ID){
mw.hook('postEdit').fire({tempUserCreated:state.tempUserCreated,message:mw.msg('discussiontools-postedit-confirmation-topicadded',mw.user)});}else{mw.hook('postEdit').fire({tempUserCreated:state.tempUserCreated,message:mw.msg('discussiontools-postedit-confirmation-published',mw.user)});}}else if(state.newCommentIds){highlighter.highlightNewComments(pageThreads,true,state.newCommentIds);}if(topicSubscriptions&&featuresEnabled.autotopicsub&&mw.user.options.get('discussiontools-autotopicsub')){topicSubscriptions.updateAutoSubscriptionStates($container,pageThreads,state.repliedTo);}});let dismissableNotificationPromise=null;if(!pageHandlersSetup){$(window).on('popstate',()=>{setTimeout(()=>{highlighter.highlightTargetComment(pageThreads,true);});});$('body').on('click',(e)=>{if(clientUtils.isUnmodifiedLeftClick(e)&&!e.target.closest('a')){highlighter.clearHighlightTargetComment(pageThreads);}if(dismissableNotificationPromise){dismissableNotificationPromise.then((notif)=>{notif.close();});
dismissableNotificationPromise=null;}});pageHandlersSetup=true;}if(state.firstLoad){mobilePromise.then(()=>{let findCommentQuery;let isHeading=false;const highlightResult=highlighter.highlightTargetComment(pageThreads);if(location.hash&&!mw.util.getTargetFromFragment()&&location.hash.includes('%20')){const fixedHash=location.hash.slice(1).replace(/%20/g,'_');if(mw.util.getTargetFromFragment(fixedHash)){location.hash=fixedHash;}}if(location.hash&&!mw.util.getTargetFromFragment()){for(const punctuation of['?','!',':','.','"','\'']){const fixedHash=location.hash.slice(1)+punctuation;if(mw.util.getTargetFromFragment(fixedHash)){location.hash=fixedHash;break;}}}if(location.hash&&!mw.util.getTargetFromFragment()&&highlightResult.highlighted.length===0&&highlightResult.requested.length===0){const fragment=location.hash.slice(1);const ignorePatterns=[/^!?\//,/^top$/i,/^\d{12}_/,/^noticeApplied-/];if(ignorePatterns.every((pattern)=>!pattern.test(fragment))){findCommentQuery={heading:mw.util.percentDecodeFragment(fragment).replace(/ /g,'_'),
page:mw.config.get('wgRelevantPageName')};isHeading=true;}}else if(highlightResult.highlighted.length===0&&highlightResult.requested.length===1){findCommentQuery={idorname:mw.util.percentDecodeFragment(highlightResult.requested[0])};isHeading=highlightResult.requested[0].startsWith('h');}if(findCommentQuery){const findCommentRequest=getApi().get(Object.assign({action:'discussiontoolsfindcomment'},findCommentQuery));dismissableNotificationPromise=$.when(findCommentRequest,mw.loader.using('mediawiki.notification')).then((results)=>{const result=results[0];let titles=[];if(result.discussiontoolsfindcomment){titles=result.discussiontoolsfindcomment.map((threadItemData)=>{if(threadItemData.couldredirect){const title=mw.Title.newFromText(threadItemData.title+'#'+mw.util.escapeIdForLink(threadItemData.id));return title;}return null;}).filter((url)=>url);}if(titles.length){const $list=$('<ul>');const $notification=$('<div>').append($('<p>').text(mw.message(isHeading?
'discussiontools-target-heading-found-moved':'discussiontools-target-comment-found-moved',titles.length).text()),$list);titles.forEach((title)=>{$list.append($('<li>').append($('<a>').attr('href',title.getUrl()).text(title.getPrefixedText())));});mw.notification.notify($notification,{type:'warn',autoHide:false});return $.Deferred().reject().promise();}else{return mw.notification.notify(mw.message(isHeading?'discussiontools-target-heading-missing':'discussiontools-target-comment-missing').text(),{type:'warn',autoHide:false});}});}if(highlightResult.highlighted.length===0&&(highlightResult.requested.length>1||highlightResult.requestedSince)){dismissableNotificationPromise=mw.loader.using('mediawiki.notification').then(()=>mw.notification.notify(mw.message('discussiontools-target-comments-missing').text(),{type:'warn',autoHide:false}));}});}}function updatePageContents($container,data){$container.find('> .mw-parser-output').first().replaceWith(data.parse.text);mw.util.clearSubtitle();mw.util.addSubtitle(data.parse.subtitle);
if($('#catlinks').length){const $categories=$($.parseHTML(data.parse.categorieshtml));mw.hook('wikipage.categories').fire($categories);$('#catlinks').replaceWith($categories);}mw.config.set(data.parse.jsconfigvars);mw.loader.load(data.parse.modulestyles);mw.loader.load(data.parse.modules);mw.config.set({wgCurRevisionId:data.parse.revid,wgRevisionId:data.parse.revid});mw.hook('wikipage.content').remove(mw.dt.init);mw.hook('wikipage.content').fire($container);mw.hook('wikipage.content').add(mw.dt.init);mw.hook('wikipage.tableOfContents').fire(data.parse.showtoc?data.parse.sections:[]);$('#t-permalink').add('#coll-download-as-rl').find('a').each((i,link)=>{const permalinkUrl=new URL(link.href);permalinkUrl.searchParams.set('oldid',data.parse.revid);$(link).attr('href',permalinkUrl.toString());});const url=new URL(location.href);url.searchParams.delete('oldid');const keys=[];url.searchParams.forEach((val,key)=>{keys.push(key);});if(!keys.length||(keys.length===1&&keys[0]==='title')){const viewUrl=new URL(mw.util.getUrl(mw.config.get('wgRelevantPageName')),document.baseURI);
viewUrl.hash=location.hash;history.pushState(null,'',viewUrl);}else{history.pushState(null,'',url);}}function refreshPageContents(oldId){return getApi().get({action:'parse',useskin:mw.config.get('skin'),mobileformat:OO.ui.isMobile(),uselang:mw.config.get('wgUserLanguage'),dtenable:new URLSearchParams(location.search).get('dtenable')?'1':undefined,prop:['text','revid','categorieshtml','sections','displaytitle','subtitle','modules','jsconfigvars'],page:!oldId?mw.config.get('wgRelevantPageName'):undefined,oldid:oldId||undefined}).then((parseResp)=>{updatePageContents($pageContainer,parseResp);});}function update(data,threadItem,pageName,replyWidget){function logSaveSuccess(){mw.track('editAttemptStep',{action:'saveSuccess',timing:mw.now()-replyWidget.commentController.saveInitiated,revision_id:data.newrevid});}if((pageName===mw.config.get('wgRelevantPageName')&&data.nocontent)||data.tempusercreated){replyWidget.unbindBeforeUnloadHandler();replyWidget.clearStorage();replyWidget.setPending(true);
const params={dtrepliedto:threadItem.id};if(data.tempusercreated){params.dttempusercreated='1';}window.location=data.tempusercreatedredirect||mw.util.getUrl(pageName,params);logSaveSuccess();return;}replyWidget.teardown();mw.dt.initState.repliedTo=threadItem.id;mw.dt.initState.tempUserCreated=data.tempusercreated;const pageUpdated=$.Deferred();if(pageName===mw.config.get('wgRelevantPageName')){updatePageContents($pageContainer,{parse:{text:data.content,subtitle:data.contentSub,categorieshtml:data.categorieshtml,jsconfigvars:data.jsconfigvars,revid:data.newrevid,modules:data.modules,modulestyles:[],showtoc:true,sections:data.sections}});mw.config.set({wgCurRevisionId:data.newrevid,wgRevisionId:data.newrevid});pageUpdated.resolve();}else{const api=getApi();api.post({action:'purge',titles:mw.config.get('wgRelevantPageName')}).then(()=>refreshPageContents()).then(()=>{pageUpdated.resolve();}).catch(()=>{window.location=mw.util.getUrl(pageName,{dtrepliedto:threadItem.id});logSaveSuccess();});
}if(mw.loader.getState('mediawiki.page.watch.ajax')==='ready'){const watch=require('mediawiki.page.watch.ajax');watch.updateWatchLink(mw.Title.newFromText(pageName),data.watched?'unwatch':'watch','idle',data.watchlistexpiry);}pageUpdated.then(logSaveSuccess);}module.exports={init:init,update:update,updatePageContents:updatePageContents,refreshPageContents:refreshPageContents,checkThreadItemOnPage:checkThreadItemOnPage,getCheckboxesPromise:getCheckboxesPromise,getApi:getApi,getReplyWidgetModules:getReplyWidgetModules,defaultVisual:defaultVisual,enable2017Wikitext:enable2017Wikitext};
},"highlighter.js":function(require,module,exports){const featuresEnabled=mw.config.get('wgDiscussionToolsFeaturesEnabled')||{},CommentItem=require('./commentparser/CommentItem.js'),HeadingItem=require('./commentparser/HeadingItem.js'),utils=require('./commentparser/commentUtils.js');let lastHighlightedPublishedComment=null;function Highlight(items){const highlightNodes=[];const ranges=[];this.topmostElement=null;items=Array.isArray(items)?items:[items];this.rootNode=items[0]?items[0].rootNode:null;items.forEach((item)=>{const $highlight=$('<div>').addClass('ext-discussiontools-init-highlight');const range=item.getRange();range.insertNode($highlight[0]);if(item.level===1){const coveredSiblings=utils.getFullyCoveredSiblings(item,item.rootNode);if(coveredSiblings){range.setStartBefore(coveredSiblings[0]);range.setEndAfter(coveredSiblings[coveredSiblings.length-1]);}}if(item instanceof HeadingItem&&!item.placeholderHeading){range.selectNode($highlight.closest('.mw-heading')[0]||$highlight.closest('h1, h2, h3, h4, h5, h6')[0]);}ranges.push(range);
highlightNodes.push($highlight[0]);});this.ranges=ranges;this.$element=$(highlightNodes);this.updateDebounced=OO.ui.debounce(this.update.bind(this),500);window.addEventListener('resize',this.updateDebounced);if(OO.ui.isMobile()){this.$element.parents('.collapsible-block').prev('.collapsible-heading:not( .open-block )').trigger('click');this.$element.parents('.mf-collapsible-content[hidden]').prev('.mf-collapsible-heading').trigger('click');}this.update();}OO.initClass(Highlight);Highlight.prototype.update=function(){this.$element.css({'margin-top':'','margin-left':'','margin-right':'',width:'',height:''});const rootRect=this.rootNode.getBoundingClientRect();this.topmostElement=null;let topmostTop=Infinity;this.ranges.forEach((range,i)=>{const $element=this.$element.eq(i);const baseRect=$element[0].getBoundingClientRect();const rect=RangeFix.getBoundingClientRect(range);if(rect){const useFullWidth=rect.width>rootRect.width/3;let headingTopAdj=0;if(featuresEnabled.visualenhancements&&
$element.closest('.ext-discussiontools-init-section').length){headingTopAdj=10;}const top=rect.top-baseRect.top;let width=rect.width;const height=rect.height;let left,right;if($element.css('direction')==='ltr'){left=rect.left-baseRect.left;if(useFullWidth){width=rootRect.width-(rect.left-rootRect.left);}}else{right=(baseRect.left+baseRect.width)-(rect.left+rect.width);if(useFullWidth){width=rootRect.width-((rootRect.left+rootRect.width)-(rect.left+rect.width));}}const padding=5;$element.css({'margin-top':top-padding+headingTopAdj,'margin-left':left!==undefined?left-padding:'','margin-right':right!==undefined?right-padding:'',width:width+(padding*2),height:height+(padding*2)});if(rect.top<topmostTop){this.topmostElement=$element[0];topmostTop=rect.top;}}});};Highlight.prototype.scrollIntoView=function(){if(this.topmostElement){this.topmostElement.scrollIntoView();}};Highlight.prototype.destroy=function(){this.$element.remove();window.removeEventListener('resize',this.updateDebounced);};
let highlightedTarget=null;function highlightTargetComment(threadItemSet,noScroll){if(highlightedTarget){highlightedTarget.destroy();highlightedTarget=null;}const targetElement=mw.util.getTargetFromFragment();if(targetElement&&targetElement.hasAttribute('data-mw-comment-start')){const threadItemId=targetElement.getAttribute('id');const threadItem=threadItemSet.findCommentById(targetElement.getAttribute('id'));if(threadItem){highlightedTarget=new Highlight(threadItem);highlightedTarget.$element.addClass('ext-discussiontools-init-targetcomment');highlightedTarget.$element.addClass('ext-discussiontools-init-highlight-fadein');}return{requested:[threadItemId],highlighted:[threadItemId]};}if(location.hash.match(/^#(c|h)-/)){return{requested:[location.hash.slice(1)],highlighted:[]};}const url=new URL(location.href);return highlightNewComments(threadItemSet,noScroll,url.searchParams.get('dtnewcomments')&&url.searchParams.get('dtnewcomments').split('|'),{newCommentsSinceId:url.searchParams.get('dtnewcommentssince'),
inThread:url.searchParams.get('dtinthread'),sinceThread:url.searchParams.get('dtsincethread')});}function highlightPublishedComment(threadItemSet,threadItemId){const highlightComments=[];if(threadItemId===utils.NEW_TOPIC_COMMENT_ID){const lastComment=threadItemSet.threadItems[threadItemSet.threadItems.length-1];lastHighlightedPublishedComment=lastComment;highlightComments.push(lastComment);if(lastComment.parent&&lastComment.parent.type==='heading'&&lastComment.parent.replies.length===1){highlightComments.push(lastComment.parent);lastHighlightedPublishedComment=lastComment.parent;const sectionTitle=lastHighlightedPublishedComment.getLinkableTitle();const urlFragment=mw.util.escapeIdForLink(sectionTitle);location.hash='#'+urlFragment+'-DoesNotExist-DiscussionToolsHack';history.replaceState(null,'','#'+urlFragment);}}else{const repliedToComment=threadItemSet.threadItemsById[threadItemId];highlightComments.push(repliedToComment.replies[repliedToComment.replies.length-1]);
lastHighlightedPublishedComment=highlightComments[0];}setTimeout(()=>{const highlight=new Highlight(highlightComments);highlight.$element.addClass('ext-discussiontools-init-publishedcomment');OO.ui.Element.static.scrollIntoView(highlight.topmostElement,{padding:{top:OO.ui.isMobile()?10:60,bottom:OO.ui.isMobile()?85:10},scrollContainer:OO.ui.Element.static.getRootScrollableElement(highlight.topmostElement)}).then(()=>{highlight.$element.addClass('ext-discussiontools-init-highlight-fadein');setTimeout(()=>{highlight.$element.addClass('ext-discussiontools-init-highlight-fadeout');setTimeout(()=>{highlight.destroy();},250);},3000);});});}function highlightNewComments(threadItemSet,noScroll,newCommentIds,options){if(highlightedTarget){highlightedTarget.destroy();highlightedTarget=null;}newCommentIds=newCommentIds||[];options=options||{};if(options.newCommentsSinceId){const newCommentsSince=threadItemSet.findCommentById(options.newCommentsSinceId);if(newCommentsSince&&newCommentsSince instanceof CommentItem){
const sinceTimestamp=newCommentsSince.timestamp;let threadItems;if(options.inThread){const heading=newCommentsSince.getSubscribableHeading()||newCommentsSince.getHeading();threadItems=heading.getThreadItemsBelow();}else{threadItems=threadItemSet.getCommentItems();}threadItems.forEach((threadItem)=>{if(threadItem instanceof CommentItem&&threadItem.timestamp>=sinceTimestamp){if(options.sinceThread){const itemHeading=threadItem.getSubscribableHeading()||threadItem.getHeading();const oldestReply=itemHeading.getOldestReply();if(!(oldestReply&&oldestReply.timestamp>=sinceTimestamp)){return;}}newCommentIds.push(threadItem.id);}});}}let comments;if(newCommentIds.length){comments=newCommentIds.map((id)=>threadItemSet.findCommentById(id)).filter((cmt)=>!!cmt);if(comments.length){highlightedTarget=new Highlight(comments);highlightedTarget.$element.addClass('ext-discussiontools-init-targetcomment');highlightedTarget.$element.addClass('ext-discussiontools-init-highlight-fadein');if(!noScroll){
highlightedTarget.scrollIntoView();}}}return{requested:newCommentIds,requestedSince:options.newCommentsSinceId,highlighted:comments||[]};}function clearHighlightTargetComment(threadItemSet){const url=new URL(location.href);const targetElement=mw.util.getTargetFromFragment();if(targetElement&&targetElement.hasAttribute('data-mw-comment-start')){location.hash+='-DoesNotExist-DiscussionToolsHack';url.hash='';history.replaceState(null,'',url);}else if(url.searchParams.has('dtnewcomments')||url.searchParams.has('dtnewcommentssince')){url.searchParams.delete('dtnewcomments');url.searchParams.delete('dtnewcommentssince');url.searchParams.delete('dtinthread');url.searchParams.delete('dtsincethread');history.pushState(null,'',url);highlightTargetComment(threadItemSet);}else if(highlightedTarget){highlightedTarget.destroy();highlightedTarget=null;}}function getLastHighlightedPublishedComment(){return lastHighlightedPublishedComment;}module.exports={highlightTargetComment:highlightTargetComment,
highlightPublishedComment:highlightPublishedComment,highlightNewComments:highlightNewComments,clearHighlightTargetComment:clearHighlightTargetComment,getLastHighlightedPublishedComment:getLastHighlightedPublishedComment};
},"permalinks.js":function(require,module,exports){const clientUtils=require('./clientUtils.js');function init($pageContainer){$pageContainer.find('.ext-discussiontools-init-timestamplink').on('click',(e)=>{if(!clientUtils.isUnmodifiedLeftClick(e)){return;}const link=safeDecode(e.currentTarget.href);copyLink(link);location.hash=new URL(link).hash;return false;}).attr('data-event-name','discussiontools.permalink-copied');}function copyLink(link){const $win=$(window);const scrollTop=$win.scrollTop();const $tmpInput=$('<input>').val(link).addClass('noime').css({position:'fixed',top:0}).appendTo('body').trigger('focus');$tmpInput[0].setSelectionRange(0,link.length);let copied;try{copied=document.execCommand('copy');}catch(err){copied=false;}if(copied){mw.notify(mw.msg('discussiontools-permalink-comment-copied'));}$tmpInput.remove();function afterNextScroll(){$win.scrollTop(scrollTop);setTimeout(()=>{$win.scrollTop(scrollTop);});}$win.one('scroll',afterNextScroll);setTimeout(()=>{$win.off('scroll',afterNextScroll);},1000);}function safeDecode(link){
try{const decodedLink=decodeURI(link);if(new URL(decodedLink).toString()===link){link=decodedLink;}}catch(err){}return link;}mw.hook('discussionToolsOverflowMenuOnChoose').add((id,menuItem,threadItem)=>{if(id==='permalink'){setTimeout(()=>{let link;const canonical=document.querySelector('link[rel="canonical"]');if(canonical){link=new URL(canonical.href);}else{link=new URL(mw.util.getUrl(mw.config.get('wgRelevantPageName')),location.href);}link.hash=threadItem.id;copyLink(safeDecode(link.toString()));location.hash=link.hash;});}});module.exports={init:init};
},"overflowMenu.js":function(require,module,exports){function init($container,pageThreads){if(!$container.find('.ext-discussiontools-init-section-overflowMenuButton').length){return;}const oouiPromise=mw.loader.using(['oojs-ui-widgets','oojs-ui.styles.icons-editing-core']);$container.off('.dt-overflowMenu');$container.on('click.dt-overflowMenu keypress.dt-overflowMenu','.ext-discussiontools-init-section-overflowMenuButton',(e)=>{if(e.type==='keypress'&&e.which!==OO.ui.Keys.ENTER&&e.which!==OO.ui.Keys.SPACE){return;}const button=e.currentTarget;if($.data(button,'dt-infused')){return;}$.data(button,'dt-infused',true);e.preventDefault();let $threadMarker=$(button).closest('[data-mw-thread-id]');if(!$threadMarker.length){$threadMarker=$(button).closest('.ext-discussiontools-init-section').find('[data-mw-thread-id]');}const threadItem=pageThreads.findCommentById($threadMarker.data('mw-thread-id'));oouiPromise.then(()=>{const buttonMenu=OO.ui.infuse(button,{$overlay:true,menu:{classes:['ext-discussiontools-init-section-overflowMenu'],
horizontalPosition:threadItem.type==='heading'?'end':'start'}});buttonMenu.getMenu().on('choose',(menuItem)=>{mw.hook('discussionToolsOverflowMenuOnChoose').fire(menuItem.getData().id,menuItem,threadItem);});mw.loader.using(buttonMenu.getData().resourceLoaderModules||[]).then(()=>{const itemConfigs=buttonMenu.getData().itemConfigs;if(!itemConfigs){buttonMenu.toggle(false);return;}const overflowMenuItemWidgets=itemConfigs.map((itemConfig)=>new OO.ui.MenuOptionWidget(itemConfig));buttonMenu.getMenu().addItems(overflowMenuItemWidgets);buttonMenu.getMenu().items.forEach((menuItem)=>{mw.hook('discussionToolsOverflowMenuOnAddItem').fire(menuItem.getData().id,menuItem,threadItem);});buttonMenu.focus();buttonMenu.getMenu().toggle(true);});});});}module.exports={init:init};
},"LedeSectionDialog.js":function(require,module,exports){function LedeSectionDialog(){LedeSectionDialog.super.apply(this,arguments);}OO.inheritClass(LedeSectionDialog,OO.ui.ProcessDialog);LedeSectionDialog.static.name='ledeSection';LedeSectionDialog.static.size='larger';LedeSectionDialog.static.title=OO.ui.deferMsg('discussiontools-ledesection-title');LedeSectionDialog.static.actions=[{label:OO.ui.deferMsg('visualeditor-dialog-action-done'),flags:['safe','close']}];LedeSectionDialog.prototype.initialize=function(){LedeSectionDialog.super.prototype.initialize.call(this);this.contentLayout=new OO.ui.PanelLayout({padded:true,expanded:false,classes:['ext-discussiontools-ui-ledeSectionDialog-content','mw-parser-output','content']});this.$body.append(this.contentLayout.$element);};LedeSectionDialog.prototype.getSetupProcess=function(data){return LedeSectionDialog.super.prototype.getSetupProcess.call(this,data).next(()=>{this.contentLayout.$element.empty().append(data.$content);this.contentLayout.$element.on('afterExpand.mw-collapsible afterCollapse.mw-collapsible',()=>{
this.updateSize();});});};module.exports=LedeSectionDialog;
},"contLangMessages.json":{"newsectionsummary":"/* $1 */ 새 문단"},"config.json":{"replyIndentation":"invisible","switchTime":"2022-07-12","showFeedbackLinks":true},"ReplyLinksController.js":function(require,module,exports){const clientUtils=require('./clientUtils.js'),parserData=require('./commentparser/data.json'),commentUtils=require('./commentparser/commentUtils.js');const featuresEnabled=mw.config.get('wgDiscussionToolsFeaturesEnabled')||{};function tryInfuse($element){if($element.length){let element=null;try{element=OO.ui.infuse($element);}catch(e){}return element;}return null;}function ReplyLinksController($pageContainer){OO.EventEmitter.call(this);this.$pageContainer=$pageContainer;this.$body=$(document.body);this.onReplyLinkClickHandler=this.onReplyLinkClick.bind(this);this.onReplyButtonClickHandler=this.onReplyButtonClick.bind(this);this.onReplyLinkInteractHandler=this.onReplyLinkInteract.bind(this);this.onAddSectionLinkMouseDownHandler=this.onAddSectionLinkMouseDown.bind(this);this.onAnyLinkClickHandler=this.onAnyLinkClick.bind(this);this.$replyLinkSets=$pageContainer.find('.ext-discussiontools-init-replylink-buttons[ data-mw-thread-id ]:not( :empty )');$pageContainer.on('click.dt-replylinks keypress.dt-replylinks',
'.ext-discussiontools-init-replylink-buttons[ data-mw-thread-id ] .ext-discussiontools-init-replylink-reply',this.onReplyLinkClickHandler);$pageContainer.on('click.dt-replylinks keypress.dt-replylinks','.ext-discussiontools-init-replylink-buttons[ data-mw-thread-id ] .ext-discussiontools-init-replybutton',this.onReplyButtonClickHandler);$pageContainer.on('focusin.dt-replylinks mouseover.dt-replylinks touchstart.dt-replylinks','.ext-discussiontools-init-replylink-buttons[ data-mw-thread-id ]:not( :empty )',this.onReplyLinkInteractHandler);if(featuresEnabled.newtopictool){const $addSectionLink=$('#ca-addsection a, a#ca-addsection');if($addSectionLink.length){this.$addSectionLink=$addSectionLink;this.$addSectionLink.on('mousedown keydown',this.onAddSectionLinkMouseDownHandler);this.$addSectionLink.on('focusin mouseover touchstart',()=>{this.emit('link-interact');});}this.$body.on('click keypress','a',this.onAnyLinkClickHandler);}}OO.initClass(ReplyLinksController);OO.mixinClass(ReplyLinksController,OO.EventEmitter);
ReplyLinksController.prototype.onReplyLinkClick=function(e){if(!this.isActivationEvent(e)){return;}e.preventDefault();const $linkSet=$(e.target).closest('[data-mw-thread-id]');if(!$linkSet.length){return;}this.emit('link-click',$linkSet.data('mw-thread-id'),$linkSet);};ReplyLinksController.prototype.onReplyButtonClick=function(e){if(!this.isActivationEvent(e)){return;}e.preventDefault();const $linkSet=$(e.target).closest('[data-mw-thread-id]');if(!$linkSet.length){return;}this.emit('link-click',$linkSet.data('mw-thread-id'),$linkSet);};ReplyLinksController.prototype.onReplyLinkInteract=function(){this.emit('link-interact');};ReplyLinksController.prototype.onAddSectionLinkMouseDown=function(e){if(!this.isActivationEvent(e)){return;}$(e.target).closest('#ca-addsection').off('.ve-target');};ReplyLinksController.prototype.onAnyLinkClick=function(e){if($(e.currentTarget).closest('[data-mw-thread-id]').length){return;}const href=e.currentTarget.href;if(!href){return;}const data=this.parseNewTopicLink(href);
if(!data){return;}if(!this.isActivationEvent(e)){return;}e.preventDefault();this.emit('link-click',commentUtils.NEW_TOPIC_COMMENT_ID,$(e.currentTarget),data);};ReplyLinksController.prototype.parseNewTopicLink=function(href){const searchParams=new URL(href).searchParams;let title=mw.Title.newFromText(commentUtils.getTitleFromUrl(href)||'');if(!title){return null;}if(title.getNamespaceId()===mw.config.get('wgNamespaceIds').special&&title.getMainText().split('/')[0]===parserData.specialNewSectionName){const param=title.getMainText().slice(parserData.specialNewSectionName.length+1);title=mw.Title.newFromText(param);if(!title){return null;}}else if((searchParams.get('action')==='edit'||searchParams.get('veaction')==='editsource')&&searchParams.get('section')==='new'&&searchParams.get('dtenable')!=='0'){}else{return null;}if(title.getPrefixedDb()!==mw.config.get('wgRelevantPageName')){return null;}const data={};if(searchParams.get('editintro')){data.editintro=searchParams.get('editintro');}
if(searchParams.get('preload')){data.preload=searchParams.get('preload');}if(mw.util.getArrayParam('preloadparams',searchParams)){data.preloadparams=mw.util.getArrayParam('preloadparams',searchParams);}if(searchParams.get('preloadtitle')){data.preloadtitle=searchParams.get('preloadtitle');}if(!searchParams.get('dtpreload')&&!$.isEmptyObject(data)){return null;}return data;};ReplyLinksController.prototype.isActivationEvent=function(e){if(mw.config.get('wgAction')!=='view'){return false;}if(e.type==='keypress'&&e.which!==OO.ui.Keys.ENTER&&e.which!==OO.ui.Keys.SPACE){return false;}if(e.type==='click'&&!clientUtils.isUnmodifiedLeftClick(e)){return false;}return true;};ReplyLinksController.prototype.focusLink=function($linkSet){if($linkSet.is(this.$replyLinkSets)){const button=tryInfuse($linkSet.find('.ext-discussiontools-init-replybutton'));if(button){button.focus();}$linkSet.find('.ext-discussiontools-init-replylink-reply').trigger('focus');}};ReplyLinksController.prototype.setActiveLink=function($linkSet){
this.$activeLink=$linkSet;let isNewTopic=false;let activeButton;if(this.$activeLink.is(this.$replyLinkSets)){this.$activeLink.addClass('ext-discussiontools-init-replylink-active');activeButton=tryInfuse(this.$activeLink.find('.ext-discussiontools-init-replybutton'));}else if(this.$addSectionLink&&this.$activeLink.is(this.$addSectionLink)){isNewTopic=true;$('#ca-addsection').addClass('selected');$('#ca-addsection-sticky-header').addClass('ext-discussiontools-fake-disabled');$('#ca-view').removeClass('selected');}const title=mw.Title.newFromText(mw.config.get('wgRelevantPageName'));const pageTitleMsg=mw.message('pagetitle',mw.msg(isNewTopic?'discussiontools-pagetitle-newtopic':'discussiontools-pagetitle-reply',title.getPrefixedText()));if(pageTitleMsg.isParseable()){this.originalDocumentTitle=document.title;document.title=pageTitleMsg.text();}else{mw.log.warn('DiscussionTools: MediaWiki:Pagetitle contains unsupported syntax. '+
'https://www.mediawiki.org/wiki/Manual:Messages_API#Feature_support_in_JavaScript');}$(document.body).addClass('ext-discussiontools-init-replylink-open');this.$replyLinkSets.each((i,replyLinkContainer)=>{const replyButton=tryInfuse($(replyLinkContainer).find('.ext-discussiontools-init-replybutton'));const $replyLink=$(replyLinkContainer).find('.ext-discussiontools-init-replylink-reply');$replyLink.attr('tabindex',-1);if(!replyButton){return;}if(replyButton===activeButton){replyButton.setFlags({progressive:false});}else{replyButton.setDisabled(true);}});$('#ca-edit, #ca-ve-edit, .mw-editsection a, #ca-addsection').off('.ve-target');};ReplyLinksController.prototype.clearActiveLink=function(){let activeButton;if(this.$activeLink.is(this.$replyLinkSets)){this.$activeLink.removeClass('ext-discussiontools-init-replylink-active');activeButton=tryInfuse(this.$activeLink.find('.ext-discussiontools-init-replybutton'));}else if(this.$addSectionLink&&this.$activeLink.is(this.$addSectionLink)){$('#ca-addsection').removeClass('selected');
$('#ca-addsection-sticky-header').removeClass('ext-discussiontools-fake-disabled');$('#ca-view').addClass('selected');}if(this.originalDocumentTitle){document.title=this.originalDocumentTitle;}$(document.body).removeClass('ext-discussiontools-init-replylink-open');this.$replyLinkSets.each((i,replyLinkContainer)=>{const $replyLink=$(replyLinkContainer).find('.ext-discussiontools-init-replylink-reply');$replyLink.attr('tabindex',0);const replyButton=tryInfuse($(replyLinkContainer).find('.ext-discussiontools-init-replybutton'));if(!replyButton){return;}if(replyButton===activeButton){replyButton.setFlags({progressive:true});}else{replyButton.setDisabled(false);}});if(mw.libs.ve&&mw.libs.ve.setupEditLinks){mw.libs.ve.setupEditLinks();}this.$activeLink=null;};ReplyLinksController.prototype.teardown=function(){if(this.$activeLink){this.clearActiveLink();}this.$pageContainer.off('.dt-replylinks');if(featuresEnabled.newtopictool){if(this.$addSectionLink){this.$addSectionLink.off('mousedown keydown',this.onAddSectionLinkMouseDownHandler);
}this.$body.off('click keypress','a',this.onAnyLinkClickHandler);}};ReplyLinksController.prototype.pageHasReplyLinks=function(){return this.$replyLinkSets.length>0;};ReplyLinksController.prototype.pageHasNewTopicLink=function(){return featuresEnabled.newtopictool&&document.getElementById('ca-addsection');};module.exports=ReplyLinksController;
},"Poller.js":function(require,module,exports){function Poller(getApiRequest,onSuccess,config){config=config||{};this.getApiRequest=getApiRequest;this.onSuccess=onSuccess;this.interval=config.interval||5000;this.maxInterval=config.maxInterval||1000*60*60;this.inactivityTimeout=config.inactivityTimeout||1000*60*5;this.apiRequest=null;this.started=false;this.paused=false;this.isInactive=false;this.pollTimeoutId=null;this.inactivityTimeoutId=null;this.onVisibilityChangeHandler=this.onVisibilityChange.bind(this);this.onUserActivityHandler=OO.ui.throttle(this.onUserActivity.bind(this),1000);}Poller.prototype.start=function(){if(this.started){return;}this.started=true;$(document).on('mousemove mousedown keydown touchstart',this.onUserActivityHandler).on('visibilitychange',this.onVisibilityChangeHandler);this.onUserActivity();this.poll(this.interval);};Poller.prototype.stop=function(){this.started=false;$(document).off('mousemove mousedown keydown touchstart',this.onUserActivityHandler).off('visibilitychange',this.onVisibilityChangeHandler);
this.clearInactivityTimer();this.clearPollTimer();if(this.apiRequest){this.apiRequest.abort();this.apiRequest=null;}};Poller.prototype.updatePaused=function(){this.paused=document.hidden||this.isInactive;};Poller.prototype.onVisibilityChange=function(){if(!document.hidden){this.onUserActivity();}this.updatePaused();};Poller.prototype.clearInactivityTimer=function(){if(this.inactivityTimeoutId){clearTimeout(this.inactivityTimeoutId);this.inactivityTimeoutId=null;}};Poller.prototype.clearPollTimer=function(){if(this.pollTimeoutId){clearTimeout(this.pollTimeoutId);this.pollTimeoutId=null;}};Poller.prototype.resetInactivityTimer=function(){this.clearInactivityTimer();this.inactivityTimeoutId=setTimeout(this.onUserInactivity.bind(this),this.inactivityTimeout);};Poller.prototype.onUserActivity=function(){if(!this.started){return;}this.isInactive=false;this.updatePaused();this.resetInactivityTimer();};Poller.prototype.onUserInactivity=function(){this.clearInactivityTimer();this.isInactive=true;
this.updatePaused();};Poller.prototype.schedule=function(nextInterval){if(!this.started){return;}this.clearPollTimer();this.pollTimeoutId=setTimeout(this.poll.bind(this,nextInterval),nextInterval);};Poller.prototype.poll=function(nextInterval){this.clearPollTimer();if(!this.started){return;}if(this.paused){this.schedule(nextInterval);return;}let aborted=false;this.apiRequest=this.getApiRequest();this.apiRequest.then((...args)=>{this.onSuccess(...args);nextInterval=this.interval;},(code,data)=>{if(code==='http'&&data&&data.textStatus==='abort'){aborted=true;}else{nextInterval=nextInterval*1.5;}}).always(()=>{this.apiRequest=null;if(!this.started||aborted){return;}if(nextInterval<this.maxInterval){this.schedule(nextInterval);}});};module.exports=Poller;
},"CommentController.js":function(require,module,exports){const controller=require('./controller.js'),modifier=require('./commentparser/modifier.js'),dtConf=require('./config.json'),Poller=require('./Poller.js'),CommentDetails=require('./CommentDetails.js'),CommentItem=require('./commentparser/CommentItem.js'),defaultVisual=controller.defaultVisual,enable2017Wikitext=controller.enable2017Wikitext;function CommentController($pageContainer,threadItem,threadItemSet,storage){OO.EventEmitter.call(this);this.isTornDown=false;this.$pageContainer=$pageContainer;this.threadItem=threadItem;this.threadItemSet=threadItemSet;this.storage=storage;this.newListItem=null;this.replyWidgetPromise=null;this.oldReplyWidgetPromise=null;this.newComments=[];this.parentRemoved=false;this.oldId=mw.config.get('wgRevisionId');this.poller=null;if(threadItem instanceof CommentItem&&threadItem.getSubscribableHeading()){this.poller=new Poller(this.getPollRequest.bind(this),this.onPollSuccess.bind(this),{interval:5000});}}OO.initClass(CommentController);OO.mixinClass(CommentController,OO.EventEmitter);
function getLatestPageInfo(pageName){return controller.getApi().get({action:'query',prop:'revisions',rvprop:'ids',rvlimit:1,titles:pageName,converttitles:true,redirects:true}).then((resp)=>{const q=resp.query,revId=q.pages[0].revisions[0].revid,variantTitle=q.converted&&q.converted[0]&&q.converted[0].to,redirectTitle=q.redirects&&q.redirects[0]&&q.redirects[0].to;return{revId,variantTitle,redirectTitle};});}function getScrollPadding(){const scrollPaddingTopString=getComputedStyle(document.documentElement).getPropertyValue('scroll-padding-top')||'';const scrollPaddingTopValue=scrollPaddingTopString!=='auto'&&scrollPaddingTopString!==''?parseFloat(scrollPaddingTopString):0;return{top:50+scrollPaddingTopValue,bottom:10};}CommentController.prototype.getTranscludedFromSource=function(){const pageName=mw.config.get('wgRelevantPageName'),oldId=mw.config.get('wgCurRevisionId'),threadItem=this.getThreadItem();function followTransclusion(recursionLimit,code,data){let errorData,transclusionTitle;
if(recursionLimit>0&&code==='comment-is-transcluded'){errorData=data.errors[0].data;transclusionTitle=errorData.transcludedFrom;if(errorData.follow&&typeof transclusionTitle==='string'){return getLatestPageInfo(transclusionTitle).then(({revId,variantTitle,redirectTitle})=>{const pageName2=variantTitle||redirectTitle||transclusionTitle;return controller.checkThreadItemOnPage(pageName2,revId,threadItem).catch(followTransclusion.bind(null,recursionLimit-1));});}}return $.Deferred().reject(code,data);}const promise=controller.checkThreadItemOnPage(pageName,oldId,threadItem).catch(followTransclusion.bind(null,10));return promise;};CommentController.static.initType='page';CommentController.prototype.setup=function(options){const threadItem=this.getThreadItem();options=options||{};if(options.mode===undefined){options.mode=mw.user.options.get('discussiontools-editmode')||(defaultVisual?'visual':'source');}mw.track('editAttemptStep',{action:'init',type:this.constructor.static.initType||'page',
mechanism:'click',integration:'discussiontools',editor_interface:options.mode==='visual'?'visualeditor':(enable2017Wikitext?'wikitext-2017':'wikitext')});if(!this.replyWidgetPromise){this.replyWidgetPromise=this.getTranscludedFromSource().then((commentDetails)=>this.createReplyWidget(commentDetails,{mode:options.mode}),(code,data)=>{if(options.fromAutoSave){const commentDetails=new CommentDetails(mw.config.get('wgRelevantPageName'),mw.config.get('wgCurRevisionId'),{},false,'',options.mode);const replyWidgetPromise=this.createReplyWidget(commentDetails,{mode:options.mode});replyWidgetPromise.then((replyWidget)=>{replyWidget.setLoadingError(code,data);});return $.Deferred().resolve(replyWidgetPromise);}this.onReplyWidgetTeardown();OO.ui.alert(code instanceof Error?code.toString():controller.getApi().getErrorMessage(data),{size:'medium'});mw.track('dt.commentSetupError',code);mw.track('editAttemptStep',{action:'abort',type:'preinit'});return $.Deferred().reject();});this.newListItem=modifier.addListItem(threadItem,dtConf.replyIndentation);
if(this.newListItem.tagName.toLowerCase()==='li'){$(this.newListItem).addClass('ext-discussiontools-init-noMarker');}$(this.newListItem).append($('<span>').text(mw.msg('discussiontools-replywidget-loading')));const scrollPaddingCollapsed=getScrollPadding();scrollPaddingCollapsed.bottom+=270;OO.ui.Element.static.scrollIntoView(this.newListItem,{padding:scrollPaddingCollapsed});$(this.newListItem).parents('.collapsible-block').prev().addClass('collapsible-heading-disabled');}if(this.poller){this.poller.start();}this.replyWidgetPromise.then((replyWidget)=>{if(!this.newListItem){this.newListItem=modifier.addListItem(threadItem,dtConf.replyIndentation);if(this.newListItem.tagName.toLowerCase()==='li'){$(this.newListItem).addClass('ext-discussiontools-init-noMarker');}}$(this.newListItem).empty().append(replyWidget.$element);this.setupReplyWidget(replyWidget,{},options.suppressNotifications);this.showAndFocus();mw.track('editAttemptStep',{action:'ready'});mw.track('editAttemptStep',{action:'loaded'});
});};CommentController.prototype.getPollRequest=function(){return controller.getApi().get({action:'discussiontoolscompare',fromrev:this.oldId,totitle:mw.config.get('wgRelevantPageName')});};CommentController.prototype.onPollSuccess=function(response){const threadItemId=this.threadItem.id;const subscribableHeadingId=this.threadItem.getSubscribableHeading().id;function relevantCommentFilter(cmt){return cmt.subscribableHeadingId===subscribableHeadingId&&cmt.author!==mw.user.getName();}const result=OO.getProp(response,'discussiontoolscompare')||{};const addedComments=result.addedcomments.filter(relevantCommentFilter);const removedComments=result.removedcomments.filter(relevantCommentFilter);if(addedComments.length||removedComments.length){this.updateNewCommentsWarning(addedComments,removedComments);}const isParentRemoved=result.removedcomments.some((cmt)=>cmt.id===threadItemId);const isParentAdded=result.addedcomments.some((cmt)=>cmt.id===threadItemId);if(isParentAdded){this.setParentRemoved(false);
}else if(isParentRemoved){this.setParentRemoved(true);}this.oldId=result.torevid;};CommentController.prototype.getThreadItem=function(){return this.threadItem;};CommentController.prototype.getReplyWidgetClass=function(visual){visual=visual||enable2017Wikitext;return mw.loader.using(controller.getReplyWidgetModules()).then(()=>require('ext.discussionTools.ReplyWidget')[visual?'ReplyWidgetVisual':'ReplyWidgetPlain']);};CommentController.prototype.createReplyWidget=function(commentDetails,config){return this.getReplyWidgetClass(config.mode==='visual').then((ReplyWidget)=>new ReplyWidget(this,commentDetails,config));};CommentController.prototype.setupReplyWidget=function(replyWidget,data,suppressNotifications){replyWidget.connect(this,{teardown:'onReplyWidgetTeardown',reloadPage:this.emit.bind(this,'reloadPage')});replyWidget.setup(data,suppressNotifications);replyWidget.updateNewCommentsWarning(this.newComments);replyWidget.updateParentRemovedError(this.parentRemoved);replyWidget.connect(this,{submit:['onReplySubmit',replyWidget]});
};CommentController.prototype.storeEditSummary=function(){this.replyWidgetPromise.then((replyWidget)=>{replyWidget.storage.set('summary',replyWidget.getEditSummary());});};CommentController.prototype.focus=function(){this.replyWidgetPromise.then((replyWidget)=>{replyWidget.focus();});};CommentController.prototype.showAndFocus=function(){this.replyWidgetPromise.then((replyWidget)=>{replyWidget.scrollElementIntoView({padding:getScrollPadding()}).then(()=>{this.focus();});});};CommentController.prototype.tryTeardown=function(){return this.replyWidgetPromise.then((replyWidget)=>replyWidget.tryTeardown());};CommentController.prototype.onReplyWidgetTeardown=function(mode){$(this.newListItem).parents('.collapsible-block').prev().removeClass('collapsible-heading-disabled');if(mode==='refresh'){$(this.newListItem).empty().append($('<span>').text(mw.msg('discussiontools-replywidget-loading')));}else{modifier.removeAddedListItem(this.newListItem);this.newListItem=null;}if(this.poller){this.poller.stop();
}this.isTornDown=true;this.emit('teardown',mode);};CommentController.prototype.getApiQuery=function(replyWidget,pageName,checkboxes,extraParams){const threadItem=this.getThreadItem();const sameNameComments=this.threadItemSet.findCommentsByName(threadItem.name);const mode=replyWidget.getMode();const tags=['discussiontools','discussiontools-reply','discussiontools-'+mode];if(mode==='source'&&enable2017Wikitext){tags.push('discussiontools-source-enhanced');}const data=Object.assign({action:'discussiontoolsedit',paction:'addcomment',page:pageName,commentname:threadItem.name,commentid:sameNameComments.length>1?threadItem.id:undefined,summary:replyWidget.getEditSummary(),formtoken:replyWidget.getFormToken(),assert:mw.user.isAnon()?'anon':'user',assertuser:mw.user.getName()||undefined,uselang:mw.config.get('wgUserLanguage'),dtenable:new URLSearchParams(location.search).get('dtenable')?'1':undefined,dttags:tags.join(',')},extraParams);if(replyWidget.getMode()==='source'){data.wikitext=replyWidget.getValue();
}else{data.html=replyWidget.getValue();}if(checkboxes.checkboxesByName.wpWatchthis){data.watchlist=checkboxes.checkboxesByName.wpWatchthis.isSelected()?'watch':'unwatch';}const captchaWidget=replyWidget.captchaWidget;if(captchaWidget){return $.when(captchaWidget.getCaptchaDataForSubmission()).then((captchaData)=>Object.assign(data,captchaData)).catch((error)=>$.Deferred().reject(error,{error:{info:error}}));}else{return $.Deferred().resolve(data).promise();}};CommentController.prototype.onReplySubmit=function(replyWidget,extraParams){replyWidget.clearSaveErrorMessage();this.saveInitiated=mw.now();replyWidget.setPending(true);mw.track('editAttemptStep',{action:'saveIntent'});mw.track('editAttemptStep',{action:'saveAttempt'});this.save(replyWidget,replyWidget.pageName,extraParams).then(null,(code,data)=>{this.saveFail(replyWidget,code,data);}).always(()=>{replyWidget.setPending(false);});};CommentController.prototype.saveFail=function(replyWidget,code,data){if(this.poller){this.poller.start();
}const captchaData=OO.getProp(data,'discussiontoolsedit','edit','captcha');replyWidget.updateCaptchaForFailure(captchaData);if(captchaData){code='captcha';}else{replyWidget.setSaveErrorMessage(code,data);}if(code instanceof Error){code='exception';}if(data){if(data.textStatus==='timeout'||data.textStatus==='abort'||data.textStatus==='parsererror'){code=data.textStatus;}else if(data.xhr){code='http-'+(data.xhr.status||0);}}const typeMap={badtoken:'userBadToken',assertanonfailed:'userNewUser',assertuserfailed:'userNewUser',assertnameduserfailed:'userNewUser','abusefilter-disallowed':'extensionAbuseFilter','abusefilter-warning':'extensionAbuseFilter',captcha:'extensionCaptcha',spamblacklist:'extensionSpamBlacklist','titleblacklist-forbidden':'extensionTitleBlacklist',pagedeleted:'editPageDeleted',editconflict:'editConflict'};mw.track('editAttemptStep',{action:'saveFailure',timing:mw.now()-this.saveInitiated,message:code,type:typeMap[code]||'responseUnknown'});};CommentController.prototype.save=function(replyWidget,pageName,extraParams){
if(this.poller){this.poller.stop();}const threadItem=this.getThreadItem();return replyWidget.checkboxesPromise.then((checkboxes)=>this.getApiQuery(replyWidget,pageName,checkboxes,extraParams).then((data)=>{if(!mw.config.get('wgRelevantArticleId')||pageName!==mw.config.get('wgRelevantPageName')){data.nocontent=true;}if(replyWidget.commentDetails.wouldAutoCreate){data.returnto=pageName;const params=new URLSearchParams();params.set('dtrepliedto',this.getThreadItem().id);params.set('dttempusercreated','1');data.returntoquery=params.toString();}const defaults=OO.copy(controller.getApi().defaults);defaults.ajax.timeout=0;const noTimeoutApi=new mw.Api(defaults);return mw.libs.ve.targetSaver.postContent(data,{api:noTimeoutApi}).catch((code,responseData)=>{if(code==='assertanonfailed'){return controller.getApi().get({meta:'userinfo'}).then((resp)=>{if(!resp.query.userinfo.temp){return $.Deferred().reject(code,responseData).promise();}data.assert='user';data.assertuser=resp.query.userinfo.name;
return mw.libs.ve.targetSaver.postContent(data,{api:noTimeoutApi});});}return $.Deferred().reject(code,responseData).promise();}).catch((code,responseData)=>{if(code==='editconflict'){return $.Deferred().reject(code,{errors:[{code:code,html:mw.message('discussiontools-error-comment-conflict').parse()}]}).promise();}if(code==='discussiontools-commentid-notfound'||code==='discussiontools-commentname-ambiguous'||code==='discussiontools-commentname-notfound'){return $.Deferred().reject(code,{errors:[{code:code,html:mw.message('discussiontools-error-comment-disappeared').parse()}]}).promise();}return $.Deferred().reject(code,responseData).promise();}).then((responseData)=>{controller.update(responseData,threadItem,pageName,replyWidget);});}));};CommentController.prototype.updateNewCommentsWarning=function(addedComments,removedComments){this.newComments.push(...addedComments);const removedCommentIds=new Set(removedComments.map((cmt)=>cmt.id));this.newComments=this.newComments.filter((cmt)=>!removedCommentIds.has(cmt.id)
);this.replyWidgetPromise.then((replyWidget)=>{replyWidget.updateNewCommentsWarning(this.newComments);});};CommentController.prototype.setParentRemoved=function(parentRemoved){this.parentRemoved=parentRemoved;this.replyWidgetPromise.then((replyWidget)=>{replyWidget.updateParentRemovedError(this.parentRemoved);});};CommentController.prototype.switchToWikitext=function(){return this.replyWidgetPromise.then((oldWidget)=>{const target=oldWidget.replyBodyWidget.target,oldShowAdvanced=oldWidget.showAdvanced,oldEditSummary=oldWidget.getEditSummary(),previewDeferred=$.Deferred();const wikitextPromise=target.getWikitextFragment(target.getSurface().getModel().getDocument());this.oldReplyWidgetPromise=this.replyWidgetPromise;this.replyWidgetPromise=this.createReplyWidget(oldWidget.commentDetails,{mode:'source'});return $.when(wikitextPromise,this.replyWidgetPromise).then((wikitext,newWidget)=>{newWidget.preparePreview(wikitext).then(previewDeferred.resolve);setTimeout(previewDeferred.resolve,500);
return previewDeferred.then(()=>{oldWidget.disconnect(this);oldWidget.teardown();oldWidget.$element.replaceWith(newWidget.$element);this.setupReplyWidget(newWidget,{value:wikitext,showAdvanced:oldShowAdvanced,editSummary:oldEditSummary});newWidget.focus();});}).then(null,this.switchFailed.bind(this));});};CommentController.prototype.doIndentReplacements=function(wikitext,indent){wikitext=modifier.sanitizeWikitextLinebreaks(wikitext);wikitext=wikitext.split('\n').map((line)=>indent+line).join('\n');return wikitext;};CommentController.prototype.undoIndentReplacements=function(rootNode){const children=Array.prototype.slice.call(rootNode.childNodes);children.forEach((child)=>{if(child.nodeType===Node.ELEMENT_NODE){modifier.unwrapList(child);}});};CommentController.prototype.getUnsupportedNodeSelectors=function(){return{table:'table',template:'[typeof*="mw:Transclusion"]',extension:'[typeof*="mw:Extension"]'};};CommentController.prototype.switchToVisual=function(){return this.replyWidgetPromise.then((oldWidget)=>{
const oldShowAdvanced=oldWidget.showAdvanced,oldEditSummary=oldWidget.getEditSummary();let wikitext=oldWidget.getValue();wikitext=wikitext.replace(/([^~]|^)~~~~([^~]|$)/g,'$1<span data-dtsignatureforswitching="1"></span>$2');let parsePromise;if(wikitext){wikitext=this.doIndentReplacements(wikitext,dtConf.replyIndentation==='invisible'?':':'*');parsePromise=controller.getApi().post({action:'visualeditor',paction:'parsefragment',page:oldWidget.pageName,wikitext:wikitext,pst:true}).then((response)=>response&&response.visualeditor.content);}else{parsePromise=$.Deferred().resolve('').promise();}this.oldReplyWidgetPromise=this.replyWidgetPromise;this.replyWidgetPromise=this.createReplyWidget(oldWidget.commentDetails,{mode:'visual'});return $.when(parsePromise,this.replyWidgetPromise).then((html,newWidget)=>{const unsupportedSelectors=this.getUnsupportedNodeSelectors();let doc;if(html){doc=newWidget.replyBodyWidget.target.parseDocument(html);mw.libs.ve.stripRestbaseIds(doc);for(const type in unsupportedSelectors){
if(doc.querySelector(unsupportedSelectors[type])){const $msg=$('<div>').html(mw.message('discussiontools-error-noswitchtove',mw.msg('discussiontools-error-noswitchtove-'+type)).parse());$msg.find('a').attr({target:'_blank',rel:'noopener'});OO.ui.alert($msg.contents(),{title:mw.msg('discussiontools-error-noswitchtove-title'),size:'medium'});mw.track('visualEditorFeatureUse',{feature:'editor-switch',action:'dialog-prevent-show'});return $.Deferred().reject().promise();}}this.undoIndentReplacements(doc.body);}oldWidget.disconnect(this);oldWidget.teardown();oldWidget.$element.replaceWith(newWidget.$element);this.setupReplyWidget(newWidget,{value:doc,showAdvanced:oldShowAdvanced,editSummary:oldEditSummary});newWidget.focus();}).then(null,this.switchFailed.bind(this));});};CommentController.prototype.switchFailed=function(){this.oldReplyWidgetPromise.then((oldWidget)=>{if(oldWidget.replyBodyWidget.target){ve.init.target=oldWidget.replyBodyWidget.target;}});this.replyWidgetPromise=this.oldReplyWidgetPromise;
this.replyWidgetPromise.then((replyWidget)=>{replyWidget.modeTabSelect.selectItemByData(replyWidget.getMode()).highlightItem(null);});};module.exports=CommentController;
},"NewTopicController.js":function(require,module,exports){const CommentController=require('./CommentController.js'),HeadingItem=require('./commentparser/HeadingItem.js');function NewTopicController($pageContainer,threadItem,threadItemSet,storage){this.container=new OO.ui.PanelLayout({classes:['ext-discussiontools-ui-newTopic'],expanded:false,padded:true,framed:true});this.$notices=$('<div>').addClass('ext-discussiontools-ui-newTopic-notices');this.sectionTitle=new OO.ui.TextInputWidget({$element:$('<h2>'),classes:['ext-discussiontools-ui-newTopic-sectionTitle'],placeholder:mw.msg('discussiontools-newtopic-placeholder-title'),spellcheck:true});this.sectionTitle.$input.attr('aria-label',mw.msg('discussiontools-newtopic-placeholder-title'));this.sectionTitleField=new OO.ui.FieldLayout(this.sectionTitle,{classes:['ext-discussiontools-ui-newTopic-sectionTitle-field'],align:'top'});this.prevTitleText='';this.container.$element.append(this.$notices,this.sectionTitleField.$element);threadItem.range.startContainer=this.sectionTitleField.$element[0];
threadItem.range.startOffset=0;threadItem.range.endContainer=this.sectionTitleField.$element[0];threadItem.range.endOffset=this.sectionTitleField.$element[0].childNodes.length;NewTopicController.super.call(this,$pageContainer,threadItem,threadItemSet,storage);}OO.inheritClass(NewTopicController,CommentController);NewTopicController.static.initType='section';NewTopicController.static.suppressedEditNotices=['anoneditwarning','talkpagetext','newarticletext','newarticletextanon'];NewTopicController.prototype.setup=function(){const rootScrollable=OO.ui.Element.static.getRootScrollableElement(document.body);const $parserOutput=this.$pageContainer.find('> .mw-parser-output').first();const $mobileAddTopicWrapper=this.$pageContainer.find('.ext-discussiontools-init-new-topic');if($parserOutput.length){$parserOutput.after(this.container.$element);}else if($mobileAddTopicWrapper.length){$mobileAddTopicWrapper.before(this.container.$element);}else{this.$pageContainer.append(this.container.$element);
}NewTopicController.super.prototype.setup.apply(this,arguments);if(this.threadItem.preloadtitle){this.sectionTitle.setValue(this.threadItem.preloadtitle);}rootScrollable.scrollTop=rootScrollable.scrollHeight;this.focus();};NewTopicController.prototype.setupReplyWidget=function(replyWidget,data){if(replyWidget.commentDetails.preloadContent&&(!data||data.value===undefined)){if(replyWidget.commentDetails.preloadContentMode!==replyWidget.getMode()){throw new Error('Preload content was loaded for wrong mode');}data=Object.assign({},data,{value:replyWidget.commentDetails.preloadContent});}NewTopicController.super.prototype.setupReplyWidget.apply(this,arguments);this.$notices.empty();for(const noticeName in replyWidget.commentDetails.notices){if(this.constructor.static.suppressedEditNotices.includes(noticeName)){continue;}const noticeItem=replyWidget.commentDetails.notices[noticeName];const $noticeElement=$('<div>').addClass('ext-discussiontools-ui-replyWidget-notice').html(typeof noticeItem==='string'?noticeItem:noticeItem.message);
this.$notices.append($noticeElement);}mw.hook('wikipage.content').fire(this.$notices);const title=replyWidget.storage.get('title');if(title&&!this.sectionTitle.getValue()){this.sectionTitle.setValue(title);this.prevTitleText=title;if(replyWidget.storage.get('summary')===null){const generatedSummary=this.generateSummary(title);replyWidget.editSummaryInput.setValue(generatedSummary);}}replyWidget.storage.set('title',this.sectionTitle.getValue());if(replyWidget.modeTabSelect){replyWidget.modeTabSelect.$element.attr({tabindex:'-1'});}this.sectionTitle.connect(this,{change:'onSectionTitleChange'});replyWidget.connect(this,{bodyFocus:'onBodyFocus'});replyWidget.connect(this,{clear:'onReplyWidgetClear',clearStorage:'onReplyWidgetClearStorage'});};NewTopicController.prototype.focus=function(){this.sectionTitle.focus();};NewTopicController.prototype.onReplyWidgetClear=function(){this.sectionTitle.setValue('');this.sectionTitleField.setWarnings([]);};NewTopicController.prototype.onReplyWidgetClearStorage=function(){
this.replyWidgetPromise.then((replyWidget)=>{replyWidget.storage.remove('title');});};NewTopicController.prototype.storeEditSummary=function(){this.replyWidgetPromise.then((replyWidget)=>{const currentSummary=replyWidget.editSummaryInput.getValue();const generatedSummary=this.generateSummary(this.sectionTitle.getValue());if(currentSummary===generatedSummary){replyWidget.storage.remove('summary');return;}NewTopicController.super.prototype.storeEditSummary.call(this);});};NewTopicController.prototype.onReplyWidgetTeardown=function(abandoned){NewTopicController.super.prototype.onReplyWidgetTeardown.call(this,abandoned);this.container.$element.detach();if(mw.config.get('wgDiscussionToolsStartNewTopicTool')){const url=new URL(location.href);url.searchParams.delete('action');url.searchParams.delete('veaction');url.searchParams.delete('section');url.searchParams.delete('dtpreload');url.searchParams.delete('editintro');url.searchParams.delete('preload');url.searchParams.delete('preloadparams[]');
url.searchParams.delete('preloadtitle');history.replaceState(null,'',url);mw.config.set('wgDiscussionToolsStartNewTopicTool',false);}};NewTopicController.prototype.doIndentReplacements=function(wikitext){return wikitext;};NewTopicController.prototype.undoIndentReplacements=function(wikitext){return wikitext;};NewTopicController.prototype.getUnsupportedNodeSelectors=function(){return{};};NewTopicController.prototype.getApiQuery=function(){return NewTopicController.super.prototype.getApiQuery.apply(this,arguments).then((data)=>{const tags=(data.dttags||'').split(',');const replyTag=tags.indexOf('discussiontools-reply');if(replyTag!==-1){tags.splice(replyTag,1);}tags.push('discussiontools-newtopic');data=Object.assign({},data,{paction:'addtopic',sectiontitle:this.sectionTitle.getValue(),dttags:tags.join(',')});if(data.summary===this.generateSummary(this.sectionTitle.getValue())){delete data.summary;}return data;});};NewTopicController.prototype.saveFail=function(replyWidget,code){if(code==='discussiontools-newtopic-missing-title'){
replyWidget.updateCaptchaForFailure();OO.ui.confirm(mw.msg('discussiontools-newtopic-missing-title-prompt')).then((confirmed)=>{if(confirmed){this.onReplySubmit(replyWidget,{allownosectiontitle:true});}else{this.sectionTitle.focus();}});return;}NewTopicController.super.prototype.saveFail.apply(this,arguments);};NewTopicController.prototype.generateSummary=function(titleText){return titleText?mw.msg('newsectionsummary',titleText):'';};NewTopicController.prototype.onSectionTitleChange=function(){this.replyWidgetPromise.then((replyWidget)=>{const titleText=this.sectionTitle.getValue();const prevTitleText=this.prevTitleText;if(prevTitleText!==titleText){replyWidget.storage.set('title',titleText);const generatedSummary=this.generateSummary(titleText);const generatedPrevSummary=this.generateSummary(prevTitleText);const currentSummary=replyWidget.editSummaryInput.getValue();if(currentSummary===generatedPrevSummary){replyWidget.editSummaryInput.setValue(generatedSummary);}}this.prevTitleText=titleText;
this.checkSectionTitleValidity();});};NewTopicController.prototype.onBodyFocus=function(){this.replyWidgetPromise.then((replyWidget)=>{const offsetBefore=replyWidget.$element.offset().top;const rootScrollable=OO.ui.Element.static.getRootScrollableElement(document.body);const scrollBefore=rootScrollable.scrollTop;this.checkSectionTitleValidity();const offsetChange=replyWidget.$element.offset().top-offsetBefore;rootScrollable.scrollTop=scrollBefore+offsetChange;if(replyWidget.modeTabSelect){replyWidget.modeTabSelect.$element.attr({tabindex:'0'});}});};NewTopicController.prototype.checkSectionTitleValidity=function(){if(!this.sectionTitle.getValue()){this.sectionTitleField.setWarnings([mw.msg('discussiontools-newtopic-missing-title')]);}else{this.sectionTitleField.setWarnings([]);}};module.exports=NewTopicController;
},"CommentDetails.js":function(require,module,exports){function CommentDetails(pageName,oldId,notices,wouldAutoCreate,preloadContent,preloadContentMode){this.pageName=pageName;this.oldId=oldId;this.notices=notices;this.wouldAutoCreate=wouldAutoCreate;this.preloadContent=preloadContent;this.preloadContentMode=preloadContentMode;}OO.initClass(CommentDetails);module.exports=CommentDetails;
},"MemoryStorage.js":function(require,module,exports){class MemoryStorage{constructor(backend,key,expiry){this.backend=backend;this.key=key;this.expiry=expiry;this.data=this.backend.getObject(this.key)||{};}get(key){if(Object.prototype.hasOwnProperty.call(this.data,key)){return this.data[key];}return null;}set(key,value){this.data[key]=value;this.backend.setObject(this.key,this.data,this.expiry);return true;}remove(key){delete this.data[key];if(Object.keys(this.data).length===0){this.backend.remove(this.key);}else{this.backend.setObject(this.key,this.data,this.expiry);}return true;}clear(){this.data={};this.backend.remove(this.key);}getObject(key){return this.get(key);}setObject(key,value){return this.set(key,value);}}module.exports=MemoryStorage;
},"lib/moment-timezone/moment-timezone-with-data-1970-2030.js":function(require,module,exports){(function(root,factory){"use strict";if(typeof module==='object'&&module.exports){module.exports=factory(require('moment'));}else if(typeof define==='function'&&define.amd){define(['moment'],factory);}else{factory(root.moment);}}(this,function(moment){"use strict";var VERSION="0.5.27",zones={},links={},names={},guesses={},cachedGuess;if(!moment||typeof moment.version!=='string'){logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');}var momentVersion=moment.version.split('.'),major=+momentVersion[0],minor=+momentVersion[1];if(major<2||(major===2&&minor<6)){logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js '+moment.version+'. See momentjs.com');}function charCodeToInt(charCode){if(charCode>96){return charCode-87;}else if(charCode>64){return charCode-29;}return charCode-48;}function unpackBase60(string){var i=0,parts=string.split('.'),whole=parts[0],fractional=parts[1]||'',multiplier=1,num,out=0,sign=1;if(string.charCodeAt(0)===45){
i=1;sign=-1;}for(i;i<whole.length;i++){num=charCodeToInt(whole.charCodeAt(i));out=60*out+num;}for(i=0;i<fractional.length;i++){multiplier=multiplier/60;num=charCodeToInt(fractional.charCodeAt(i));out+=num*multiplier;}return out*sign;}function arrayToInt(array){for(var i=0;i<array.length;i++){array[i]=unpackBase60(array[i]);}}function intToUntil(array,length){for(var i=0;i<length;i++){array[i]=Math.round((array[i-1]||0)+(array[i]*60000));}array[length-1]=Infinity;}function mapIndices(source,indices){var out=[],i;for(i=0;i<indices.length;i++){out[i]=source[indices[i]];}return out;}function unpack(string){var data=string.split('|'),offsets=data[2].split(' '),indices=data[3].split(''),untils=data[4].split(' ');arrayToInt(offsets);arrayToInt(indices);arrayToInt(untils);intToUntil(untils,indices.length);return{name:data[0],abbrs:mapIndices(data[1].split(' '),indices),offsets:mapIndices(offsets,indices),untils:untils,population:data[5]|0};}function Zone(packedString){if(packedString){this._set(unpack(packedString));
}}Zone.prototype={_set:function(unpacked){this.name=unpacked.name;this.abbrs=unpacked.abbrs;this.untils=unpacked.untils;this.offsets=unpacked.offsets;this.population=unpacked.population;},_index:function(timestamp){var target=+timestamp,untils=this.untils,i;for(i=0;i<untils.length;i++){if(target<untils[i]){return i;}}},parse:function(timestamp){var target=+timestamp,offsets=this.offsets,untils=this.untils,max=untils.length-1,offset,offsetNext,offsetPrev,i;for(i=0;i<max;i++){offset=offsets[i];offsetNext=offsets[i+1];offsetPrev=offsets[i?i-1:i];if(offset<offsetNext&&tz.moveAmbiguousForward){offset=offsetNext;}else if(offset>offsetPrev&&tz.moveInvalidForward){offset=offsetPrev;}if(target<untils[i]-(offset*60000)){return offsets[i];}}return offsets[max];},abbr:function(mom){return this.abbrs[this._index(mom)];},offset:function(mom){logError("zone.offset has been deprecated in favor of zone.utcOffset");return this.offsets[this._index(mom)];},utcOffset:function(mom){return this.offsets[this._index(mom)];
}};function OffsetAt(at){var timeString=at.toTimeString();var abbr=timeString.match(/\([a-z ]+\)/i);if(abbr&&abbr[0]){abbr=abbr[0].match(/[A-Z]/g);abbr=abbr?abbr.join(''):undefined;}else{abbr=timeString.match(/[A-Z]{3,5}/g);abbr=abbr?abbr[0]:undefined;}if(abbr==='GMT'){abbr=undefined;}this.at=+at;this.abbr=abbr;this.offset=at.getTimezoneOffset();}function ZoneScore(zone){this.zone=zone;this.offsetScore=0;this.abbrScore=0;}ZoneScore.prototype.scoreOffsetAt=function(offsetAt){this.offsetScore+=Math.abs(this.zone.utcOffset(offsetAt.at)-offsetAt.offset);if(this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g,'')!==offsetAt.abbr){this.abbrScore++;}};function findChange(low,high){var mid,diff;while((diff=((high.at-low.at)/12e4|0)*6e4)){mid=new OffsetAt(new Date(low.at+diff));if(mid.offset===low.offset){low=mid;}else{high=mid;}}return low;}function userOffsets(){var startYear=new Date().getFullYear()-2,last=new OffsetAt(new Date(startYear,0,1)),offsets=[last],change,next,i;for(i=1;i<48;i++){next=new OffsetAt(new Date(startYear,i,1));
if(next.offset!==last.offset){change=findChange(last,next);offsets.push(change);offsets.push(new OffsetAt(new Date(change.at+6e4)));}last=next;}for(i=0;i<4;i++){offsets.push(new OffsetAt(new Date(startYear+i,0,1)));offsets.push(new OffsetAt(new Date(startYear+i,6,1)));}return offsets;}function sortZoneScores(a,b){if(a.offsetScore!==b.offsetScore){return a.offsetScore-b.offsetScore;}if(a.abbrScore!==b.abbrScore){return a.abbrScore-b.abbrScore;}if(a.zone.population!==b.zone.population){return b.zone.population-a.zone.population;}return b.zone.name.localeCompare(a.zone.name);}function addToGuesses(name,offsets){var i,offset;arrayToInt(offsets);for(i=0;i<offsets.length;i++){offset=offsets[i];guesses[offset]=guesses[offset]||{};guesses[offset][name]=true;}}function guessesForUserOffsets(offsets){var offsetsLength=offsets.length,filteredGuesses={},out=[],i,j,guessesOffset;for(i=0;i<offsetsLength;i++){guessesOffset=guesses[offsets[i].offset]||{};for(j in guessesOffset){if(guessesOffset.hasOwnProperty(j)){
filteredGuesses[j]=true;}}}for(i in filteredGuesses){if(filteredGuesses.hasOwnProperty(i)){out.push(names[i]);}}return out;}function rebuildGuess(){try{var intlName=Intl.DateTimeFormat().resolvedOptions().timeZone;if(intlName&&intlName.length>3){var name=names[normalizeName(intlName)];if(name){return name;}logError("Moment Timezone found "+intlName+" from the Intl api, but did not have that data loaded.");}}catch(e){}var offsets=userOffsets(),offsetsLength=offsets.length,guesses=guessesForUserOffsets(offsets),zoneScores=[],zoneScore,i,j;for(i=0;i<guesses.length;i++){zoneScore=new ZoneScore(getZone(guesses[i]),offsetsLength);for(j=0;j<offsetsLength;j++){zoneScore.scoreOffsetAt(offsets[j]);}zoneScores.push(zoneScore);}zoneScores.sort(sortZoneScores);return zoneScores.length>0?zoneScores[0].zone.name:undefined;}function guess(ignoreCache){if(!cachedGuess||ignoreCache){cachedGuess=rebuildGuess();}return cachedGuess;}function normalizeName(name){return(name||'').toLowerCase().replace(/\//g,'_');
}function addZone(packed){var i,name,split,normalized;if(typeof packed==="string"){packed=[packed];}for(i=0;i<packed.length;i++){split=packed[i].split('|');name=split[0];normalized=normalizeName(name);zones[normalized]=packed[i];names[normalized]=name;addToGuesses(normalized,split[2].split(' '));}}function getZone(name,caller){name=normalizeName(name);var zone=zones[name];var link;if(zone instanceof Zone){return zone;}if(typeof zone==='string'){zone=new Zone(zone);zones[name]=zone;return zone;}if(links[name]&&caller!==getZone&&(link=getZone(links[name],getZone))){zone=zones[name]=new Zone();zone._set(link);zone.name=names[name];return zone;}return null;}function getNames(){var i,out=[];for(i in names){if(names.hasOwnProperty(i)&&(zones[i]||zones[links[i]])&&names[i]){out.push(names[i]);}}return out.sort();}function addLink(aliases){var i,alias,normal0,normal1;if(typeof aliases==="string"){aliases=[aliases];}for(i=0;i<aliases.length;i++){alias=aliases[i].split('|');normal0=normalizeName(alias[0]);
normal1=normalizeName(alias[1]);links[normal0]=normal1;names[normal0]=alias[0];links[normal1]=normal0;names[normal1]=alias[1];}}function loadData(data){addZone(data.zones);addLink(data.links);tz.dataVersion=data.version;}function zoneExists(name){if(!zoneExists.didShowError){zoneExists.didShowError=true;logError("moment.tz.zoneExists('"+name+"') has been deprecated in favor of !moment.tz.zone('"+name+"')");}return!!getZone(name);}function needsOffset(m){var isUnixTimestamp=(m._f==='X'||m._f==='x');return!!(m._a&&(m._tzm===undefined)&&!isUnixTimestamp);}function logError(message){if(typeof console!=='undefined'&&typeof console.error==='function'){console.error(message);}}function tz(input){var args=Array.prototype.slice.call(arguments,0,-1),name=arguments[arguments.length-1],zone=getZone(name),out=moment.utc.apply(null,args);if(zone&&!moment.isMoment(input)&&needsOffset(out)){out.add(zone.parse(out),'minutes');}out.tz(name);return out;}tz.version=VERSION;tz.dataVersion='';tz._zones=zones;
tz._links=links;tz._names=names;tz.add=addZone;tz.link=addLink;tz.load=loadData;tz.zone=getZone;tz.zoneExists=zoneExists;tz.guess=guess;tz.names=getNames;tz.Zone=Zone;tz.unpack=unpack;tz.unpackBase60=unpackBase60;tz.needsOffset=needsOffset;tz.moveInvalidForward=true;tz.moveAmbiguousForward=false;var fn=moment.fn;moment.tz=tz;moment.defaultZone=null;moment.updateOffset=function(mom,keepTime){var zone=moment.defaultZone,offset;if(mom._z===undefined){if(zone&&needsOffset(mom)&&!mom._isUTC){mom._d=moment.utc(mom._a)._d;mom.utc().add(zone.parse(mom),'minutes');}mom._z=zone;}if(mom._z){offset=mom._z.utcOffset(mom);if(Math.abs(offset)<16){offset=offset/60;}if(mom.utcOffset!==undefined){var z=mom._z;mom.utcOffset(-offset,keepTime);mom._z=z;}else{mom.zone(offset,keepTime);}}};fn.tz=function(name,keepTime){if(name){if(typeof name!=='string'){throw new Error('Time zone name must be a string, got '+name+' ['+typeof name+']');}this._z=getZone(name);if(this._z){moment.updateOffset(this,keepTime);}else{
logError("Moment Timezone has no data for "+name+". See http://momentjs.com/timezone/docs/#/data-loading/.");}return this;}if(this._z){return this._z.name;}};function abbrWrap(old){return function(){if(this._z){return this._z.abbr(this);}return old.call(this);};}function resetZoneWrap(old){return function(){this._z=null;return old.apply(this,arguments);};}function resetZoneWrap2(old){return function(){if(arguments.length>0)this._z=null;return old.apply(this,arguments);};}fn.zoneName=abbrWrap(fn.zoneName);fn.zoneAbbr=abbrWrap(fn.zoneAbbr);fn.utc=resetZoneWrap(fn.utc);fn.local=resetZoneWrap(fn.local);fn.utcOffset=resetZoneWrap2(fn.utcOffset);moment.tz.setDefault=function(name){if(major<2||(major===2&&minor<9)){logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js '+moment.version+'.');}moment.defaultZone=name?getZone(name):null;return moment;};var momentProperties=moment.momentProperties;if(Object.prototype.toString.call(momentProperties)==='[object Array]'){
momentProperties.push('_z');momentProperties.push('_a');}else if(momentProperties){momentProperties._z=null;}loadData({"version":"2019c","zones":["Africa/Abidjan|GMT|0|0||48e5","Africa/Nairobi|EAT|-30|0||47e5","Africa/Algiers|WET WEST CET CEST|0 -10 -10 -20|01012320102|3bX0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|WAT|-10|0||17e6","Africa/Bissau|-01 GMT|10 0|01|cap0|39e4","Africa/Maputo|CAT|-20|0||26e5","Africa/Cairo|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|LX0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6",
"Africa/Casablanca|+00 +01|0 -10|01010101010101010101010101010101010101010101010101010101010101010101010|aS00 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600|32e5",
"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|0101010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|aS00 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|85e3",
"Africa/El_Aaiun|-01 +00 +01|10 0 -10|01212121212121212121212121212121212121212121212121212121212121212121|fi10 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600|20e4","Africa/Johannesburg|SAST|-20|0||84e5","Africa/Juba|CAT CAST EAT|-20 -30 -30|0101010101010101010101010101010102|LW0 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|CAT CAST EAT|-20 -30 -30|01010101010101010101010101010101020|LW0 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT GMT|I.u 0|01|4SoI.u|11e5",
"Africa/Ndjamena|WAT WAST|-10 -20|010|nNb0 Wn0|13e5","Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00","Africa/Tripoli|EET CET CEST|-20 -10 -20|0121212121212121210120120|tda0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|CET CEST|-10 -20|0101010101010101010|hOn0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|SAST CAT WAT|-20 -20 -10|01212121212121212121212121212121212121212121212121|Ndy0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4",
"America/Adak|BST BDT AHST HST HDT|b0 a0 a0 a0 90|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Kd0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
"America/Anchorage|AHST AHDT YST AKST AKDT|a0 90 90 90 80|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Kc0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Puerto_Rico|AST|40|0||24e5",
"America/Araguaina|-03 -02|30 20|01010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|-03 -02|30 20|01010101010101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|-03 -02 -04|30 20 40|01010101210102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|-03 -02 -04|30 20 40|01010101210101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|-03 -02 -04|30 20 40|010101202101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|-03 -02 -04|30 20 40|010101012010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0",
"America/Argentina/Mendoza|-03 -02 -04|30 20 40|01010120202102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|-03 -02 -04|30 20 40|01010101010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|-03 -02 -04|30 20 40|010101012101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|-03 -02 -04|30 20 40|010101012010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|-03 -02 -04|30 20 40|010101202020102020|9Rf0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|-03 -02 -04|30 20 40|0101010121010201010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|-03 -02 -04|30 20 40|01010101010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0",
"America/Asuncion|-04 -03|40 30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|6FE0 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0|28e5","America/Panama|EST|50|0||15e5",
"America/Bahia_Banderas|PST MST MDT CDT CST|80 70 60 50 60|012121212121212121212121212121343434343434343434343434343434343434343434|80 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0|84e3","America/Bahia|-03 -02|30 20|010101010101010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|AST ADT|40 30|010101010|i7G0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|-03 -02|30 20|0101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|CST CDT|60 50|01010|9xG0 qn0 lxB0 mn0|57e3",
"America/Boa_Vista|-04 -03|40 30|01010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|-05 -04|50 40|010|Snh0 2en0|90e5","America/Boise|MST MDT|70 60|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4",
"America/Cambridge_Bay|MST MDT CST CDT EST|70 60 60 50 50|01010101010101010101010101010101010101012342101010101010101010101010101010101010101010101010101010101010|p7J0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2",
"America/Campo_Grande|-04 -03|40 30|010101010101010101010101010101010101010101010101010101010101010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4","America/Cancun|CST EST EDT CDT|60 50 40 50|012121230303030303030303030303030303030301|t9G0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|-04 -0430|40 4u|010|1wmv0 kqo0|29e5","America/Cayenne|-03|30|0||58e3",
"America/Chicago|CST CDT|60 50|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
"America/Chihuahua|CST CDT MDT MST|60 50 60 70|01010232323232323232323232323232323232323232323232323232323232323232323|13Vk0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0|81e4","America/Costa_Rica|CST CDT|60 50|010101010|mgS0 Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Phoenix|MST|70|0||42e5","America/Cuiaba|-04 -03|40 30|0101010101010101010101010101010101010101010101010101010101010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4",
"America/Danmarkshavn|-03 -02 GMT|30 20 0|0101010101010101010101010101010102|oXh0 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT MST|80 70 70|0101012|Ka0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST PST PDT|90 80 70|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|9ix0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2",
"America/Denver|MST MDT|70 60|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
"America/Detroit|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|85H0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5",
"America/Edmonton|MST MDT|70 60|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|5E90 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|-05 -04|50 40|01010101010|CxF0 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|CST CDT|60 50|01010|Gcu0 WL0 1qN0 WL0|11e5",
"America/Tijuana|PST PDT|80 70|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|fmy0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5",
"America/Fort_Nelson|PST PDT MST|80 70 70|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|EST EDT|50 40|01010101010101010101010101010101010101010101010101010|K70 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/Fortaleza|-03 -02|30 20|01010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|AST ADT|40 30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|5E60 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
"America/Godthab|-03 -02|30 20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXh0 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e3",
"America/Goose_Bay|AST ADT ADDT|40 30 20|010101010101010101010101010101010101020101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K60 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2",
"America/Grand_Turk|EST EDT AST|50 40 40|01010101010101010101010101010101010101010101010101010101010101010101010101210101010101010101010101010|mG70 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|CST CDT|60 50|010101010|9tG0 An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|-05 -04|50 40|010|TKR0 rz0|27e5","America/Guyana|-0345 -03 -04|3J 30 40|012|dyPJ Bxbf|80e4",
"America/Halifax|AST ADT|40 30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K60 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
"America/Havana|CST CDT|50 40|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K50 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|PST MST MDT|80 70 60|01212121|80 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4",
"America/Indiana/Knox|CST CDT EST|60 50 50|01010101010101010101010101010101010101010101210101010101010101010101010101010101010101010101010|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|EST EDT CDT|50 40 50|010101010201010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/Indiana/Petersburg|CST CDT EST EDT|60 50 50 40|0101010101010101210123232323232323232323232323232323232323232323232|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|EST EDT CDT CST|50 40 50 60|01023232323232323232323232323232323232323232323232323|K70 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/Indiana/Vevay|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|EST EDT CDT CST|50 40 50 60|01023201010101010101010101010101010101010101010101010|K70 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/Indiana/Winamac|EST EDT CDT CST|50 40 50 60|01023101010101010101010101010101010101010101010101010|K70 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|PST MST MDT|80 70 60|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|mGa0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2",
"America/Iqaluit|EST EDT CST CDT|50 40 60 50|0101010101010101010101010101010101010101230101010101010101010101010101010101010101010101010101010101010|p7H0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|EST EDT|50 40|010101010101010101010|9Kv0 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4",
"America/Juneau|PST PDT YDT YST AKST AKDT|80 70 80 90 90 80|0101010101010101010102010101345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3",
"America/Kentucky/Louisville|EST EDT CDT|50 40 50|010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/Kentucky/Monticello|CST CDT EST EDT|60 50 50 40|010101010101010101010101010101010101010101010101010101010101012323232323232323232323232323232323232323232323232323232323232|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|-04|40|0||19e5","America/Lima|-05 -04|50 40|010101010|CVF0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6",
"America/Los_Angeles|PST PDT|80 70|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|-03 -02|30 20|0101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4",
"America/Managua|CST EST CDT|60 50 50|010202010102020|86u0 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|-04 -03|40 30|010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|AST ADT|40 30|010|oXg0 19X0|39e4","America/Matamoros|CST CDT|60 50|0101010101010101010101010101010101010101010101010101010101010101010101010|IqU0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4",
"America/Mazatlan|PST MST MDT|80 70 60|012121212121212121212121212121212121212121212121212121212121212121212121|80 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0|44e4",
"America/Menominee|EST CDT CST|50 50 60|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|85H0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2",
"America/Merida|CST EST CDT|60 50 50|0102020202020202020202020202020202020202020202020202020202020202020202020|t9G0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0|11e5","America/Metlakatla|PST PDT AKST AKDT|80 70 90 80|0101010101010101010101010101023232302323232323232323232323232|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
"America/Mexico_City|CST CDT|60 50|01010101010101010101010101010101010101010101010101010101010101010101010|13Vk0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0|20e6",
"America/Miquelon|AST -03 -02|40 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|p9g0 gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
"America/Moncton|AST ADT|40 30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K60 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3",
"America/Monterrey|CST CDT|60 50|0101010101010101010101010101010101010101010101010101010101010101010101010|IqU0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0|41e5","America/Montevideo|-03 -02 -0130 -0230|30 20 1u 2u|0101023010101010101010101010101010101010101010101010|JD0 jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5",
"America/Toronto|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5",
"America/New_York|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
"America/Nipigon|EST EDT|50 40|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|avj0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2",
"America/Nome|BST BDT YST AKST AKDT|b0 a0 90 90 80|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Kd0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|-02 -01|20 10|01010101010101010|CxC0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2",
"America/North_Dakota/Beulah|MST MDT CST CDT|70 60 60 50|010101010101010101010101010101010101010101010101010101010101010101010101010101010123232323232323232323232323232323232323232|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/North_Dakota/Center|MST MDT CST CDT|70 60 60 50|010101010101010101010101010101010101010101010123232323232323232323232323232323232323232323232323232323232323232323232323232|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/North_Dakota/New_Salem|MST MDT CST CDT|70 60 60 50|010101010101010101010101010101010101010101010101010101010101010101012323232323232323232323232323232323232323232323232323232|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
"America/Ojinaga|CST CDT MDT MST|60 50 60 70|01010232323232323232323232323232323232323232323232323232323232323232323|13Vk0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
"America/Pangnirtung|AST ADT EDT EST CST CDT|40 30 40 50 60 50|0101010101010101010101010101010232323232453232323232323232323232323232323232323232323232323232323232323|p7G0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|-0330 -03|3u 30|01|zSPu|24e4",
"America/Port-au-Prince|EST EDT|50 40|01010101010101010101010101010101010101010101010101010101010101010101010|wu50 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|-05 -04|50 40|010101010|CxF0 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|-04 -03|40 30|0101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0|37e4",
"America/Punta_Arenas|-03 -04|30 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0",
"America/Rainy_River|CST CDT|60 50|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|avk0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842",
"America/Rankin_Inlet|CST CDT EST|60 50 50|0101010101010101010101010101010101010101012101010101010101010101010101010101010101010101010101010101010|p7I0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|-03 -02|30 20|01010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|CST|60|0||19e4",
"America/Resolute|CST CDT EST|60 50 50|0101010101010101010101010101010101010101012101010101012101010101010101010101010101010101010101010101010|p7I0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|-04 -03|40 30|01010101|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4",
"America/Santiago|-03 -04|30 40|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|62e5","America/Santo_Domingo|-0430 EST AST|4u 50 40|0101010101212|ksu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5",
"America/Sao_Paulo|-03 -02|30 20|010101010101010101010101010101010101010101010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
"America/Scoresbysund|-02 -01 +00|20 10 0|0102121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|oXg0 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|452",
"America/Sitka|PST PDT YST AKST AKDT|80 70 90 90 80|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2",
"America/St_Johns|NST NDT NDDT|3u 2u 1u|010101010101010101010101010101010101020101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K5u 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|MST CST|70 60|01|5E90|16e3","America/Tegucigalpa|CST CDT|60 50|0101010|Gcu0 WL0 1qN0 WL0 GRd0 AL0|11e5",
"America/Thule|AST ADT|40 30|010101010101010101010101010101010101010101010101010101010101010101010101010101010|PHG0 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656",
"America/Thunder_Bay|EST EDT|50 40|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
"America/Vancouver|PST PDT|80 70|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
"America/Whitehorse|PST PDT|80 70|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|p7K0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
"America/Winnipeg|CST CDT|60 50|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K80 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4",
"America/Yakutat|YST YDT AKST AKDT|90 80 90 80|0101010101010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|Kb0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642",
"America/Yellowknife|MST MDT|70 60|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|p7J0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|+08 +11|-80 -b0|0101010|1ARS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|+07 +05|-70 -50|01010|1ART0 VB0 3Wn0 KN0|70","Pacific/Port_Moresby|+10|-a0|0||25e4",
"Antarctica/Macquarie|AEDT AEST +11|-b0 -a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010102|qg0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|+06 +05|-60 -50|01|1ARU0|60",
"Pacific/Auckland|NZST NZDT|-c0 -d0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|bKC0 IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|14e5",
"Antarctica/Palmer|-03 -02 -04|30 20 40|01020202020202020202020202020202020202020202020202020202020202020202020|9Rf0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Asia/Riyadh|+03|-30|0||57e5","Antarctica/Troll|-00 +00 +02|0 0 -20|012121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|40","Asia/Urumqi|+06|-60|0||32e5",
"Europe/Berlin|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXd0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|41e5","Asia/Almaty|+06 +07 +05|-60 -70 -50|0101010101010101010102010101010101010101010101010|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5",
"Asia/Amman|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|8kK0 KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e5",
"Asia/Anadyr|+13 +14 +12 +11|-d0 -e0 -c0 -b0|010202020202020202023202020202020202020202020202020202020232|rmX0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|+05 +06 +04|-50 -60 -40|0101010101010101010201010120202020202020202020|sAj0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4",
"Asia/Aqtobe|+05 +06 +04|-50 -60 -40|01010101010101010102010101010101010101010101010|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|+05 +06 +04|-50 -60 -40|01010101010101010101020|rn70 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|+05 +06 +04|-50 -60 -40|010101010101010101020101010101010102020202020|sAj0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0",
"Asia/Baghdad|+03 +04|-30 -40|01010101010101010101010101010101010101010101010101010|u190 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|+04 +03|-40 -30|01|5QI0|96e4","Asia/Baku|+04 +05 +03|-40 -50 -30|010101010101010101010201010101010101010101010101010101010101010|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|+07|-70|0||15e6",
"Asia/Barnaul|+07 +08 +06|-70 -80 -60|01010101010101010101020101010102020202020202020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0",
"Asia/Beirut|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|61a0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0|22e5",
"Asia/Bishkek|+06 +07 +05|-60 -70 -50|0101010101010101010102020202020202020202020202020|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|+08|-80|0||42e4","Asia/Kolkata|IST|-5u|0||15e6","Asia/Chita|+09 +10 +08|-90 -a0 -80|0101010101010101010102010101010101010101010101010101010101010120|rn30 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4",
"Asia/Choibalsan|+07 +08 +10 +09|-70 -80 -a0 -90|012323232323232323232323232323232323232323232313131|jsF0 cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|0101010101010|DKG0 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|+0530 +0630 +06|-5u -6u -60|0120|14giu 11zu n3cu|22e5","Asia/Dhaka|+06 +07|-60 -70|010|1A5R0 1i00|16e6",
"Asia/Damascus|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|M00 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|26e5","Asia/Dili|+09 +08|-90 -80|010|fpr0 Xld0|19e4","Asia/Dubai|+04|-40|0||39e5","Asia/Dushanbe|+06 +07 +05|-60 -70 -50|0101010101010101010102|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4",
"Asia/Famagusta|EET EEST +03|-20 -30 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101012010101010101010101010101010|cPa0 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00",
"Asia/Gaza|IST IDT EET EEST|-20 -30 -20 -30|010101010101010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0|18e5",
"Asia/Hebron|IST IDT EET EEST|-20 -30 -20 -30|01010101010101010101010101010102323232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0|25e4","Asia/Ho_Chi_Minh|+08 +07|-80 -70|01|dfs0|90e5","Asia/Hong_Kong|HKT HKST|-80 -90|01010101010101010|H7u 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5",
"Asia/Hovd|+06 +07 +08|-60 -70 -80|01212121212121212121212121212121212121212121212121|jsG0 cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|+08 +09 +07|-80 -90 -70|010101010101010101010201010101010101010101010101010101010101010|rn40 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
"Europe/Istanbul|EET EEST +03 +04|-20 -30 -30 -40|01010101010123201010101010101010101010101010101010101010101010101010101010101012|8jz0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|WIB|-70|0||31e6","Asia/Jayapura|WIT|-90|0||26e4",
"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|aXa0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0|81e4","Asia/Kabul|+0430|-4u|0||46e5",
"Asia/Kamchatka|+12 +13 +11|-c0 -d0 -b0|0101010101010101010102010101010101010101010101010101010101020|rn00 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|+05 PKT PKST|-50 -50 -60|01212121|2Xv0 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Kathmandu|+0530 +0545|-5u -5J|01|CVuu|12e5","Asia/Khandyga|+09 +10 +08 +11|-90 -a0 -80 -b0|01010101010101010101020101010101010101010101010131313131313131310|rn30 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2",
"Asia/Krasnoyarsk|+07 +08 +06|-70 -80 -60|010101010101010101010201010101010101010101010101010101010101010|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|+0730 +08|-7u -80|01|td4u|71e5","Asia/Macau|CST CDT|-80 -90|01010101010101010|H7u 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4",
"Asia/Magadan|+11 +12 +10|-b0 -c0 -a0|0101010101010101010102010101010101010101010101010101010101010120|rn10 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|WITA|-80|0||15e5","Asia/Manila|PST PDT|-80 -90|010|k0E0 1db0|24e6",
"Asia/Nicosia|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|cPa0 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|32e4",
"Asia/Novokuznetsk|+07 +08 +06|-70 -80 -60|0101010101010101010102010101010101010101010101010101010101020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|+07 +08 +06|-70 -80 -60|01010101010101010101020101020202020202020202020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5",
"Asia/Omsk|+06 +07 +05|-60 -70 -50|010101010101010101010201010101010101010101010101010101010101010|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|+05 +06 +04|-50 -60 -40|010101010101010202020202020202020202020202020|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|WITA WIB|-80 -70|01|HNs0|23e4","Asia/Pyongyang|KST KST|-90 -8u|010|1P4D0 6BA0|29e5",
"Asia/Qostanay|+05 +06 +04|-50 -60 -40|0101010101010101010201010101010101010101010101|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Qyzylorda|+05 +06|-50 -60|010101010101010101010101010101010101010101010|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4","Asia/Rangoon|+0630|-6u|0||48e5",
"Asia/Sakhalin|+11 +12 +10|-b0 -c0 -a0|010101010101010101010201010101010202020202020202020202020202020|rn10 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|+05 +06|-50 -60|010101010101010101010|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|KST KDT|-90 -a0|01010|Gf50 11A0 1o00 11A0|23e6",
"Asia/Srednekolymsk|+11 +12 +10|-b0 -c0 -a0|010101010101010101010201010101010101010101010101010101010101010|rn10 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST CDT|-80 -90|0101010|akg0 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|+06 +07 +05|-60 -70 -50|0101010101010101010102|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|+04 +05 +03|-40 -50 -30|01010101010101010101020202010101010101010101020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5",
"Asia/Tehran|+0330 +04 +05 +0430|-3u -40 -50 -4u|0121030303030303030303030303030303030303030303030303030303030303030303030303030303030|j4ku TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0|14e6","Asia/Thimphu|+0530 +06|-5u -60|01|HcGu|79e3","Asia/Tokyo|JST|-90|0||38e6",
"Asia/Tomsk|+07 +08 +06|-70 -80 -60|01010101010101010101020101010101010101010101020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|+07 +08 +09|-70 -80 -90|01212121212121212121212121212121212121212121212121|jsF0 cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5",
"Asia/Ust-Nera|+09 +12 +11 +10|-90 -c0 -b0 -a0|0121212121212121212123212121212121212121212121212121212121212123|rn30 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|+10 +11 +09|-a0 -b0 -90|010101010101010101010201010101010101010101010101010101010101010|rn20 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
"Asia/Yakutsk|+09 +10 +08|-90 -a0 -80|010101010101010101010201010101010101010101010101010101010101010|rn30 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|+05 +06 +04|-50 -60 -40|010101010101010101010201010101010101010101010101010101010101010|rn70 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5",
"Asia/Yerevan|+04 +05 +03|-40 -50 -30|01010101010101010101020202020101010101010101010101010101010|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5",
"Atlantic/Azores|-01 +00 WET|10 0 0|0101010101010101010101010101010121010101010101010101010101010101010101010101010101010101010101010101010101010|hAN0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|25e4",
"Atlantic/Bermuda|AST ADT|40 30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|avi0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3",
"Atlantic/Canary|WET WEST|0 -10|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXc0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|54e4","Atlantic/Cape_Verde|-02 -01|20 10|01|elE0|50e4",
"Atlantic/Faroe|WET WEST|0 -10|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|49e3",
"Atlantic/Madeira|WET WEST|0 -10|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hAM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|27e4","Atlantic/South_Georgia|-02|20|0||30",
"Atlantic/Stanley|-04 -03 -02|40 30 20|01212101010101010101010101010101010101010101010101010101|wrg0 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2",
"Australia/Sydney|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r40 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|40e5",
"Australia/Adelaide|ACST ACDT|-9u -au|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r4u LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|010101010|4r40 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5",
"Australia/Broken_Hill|ACST ACDT|-9u -au|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r4u LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|18e3",
"Australia/Currie|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r40 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|746","Australia/Darwin|ACST|-9u|0||12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010|bHRf Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368",
"Australia/Hobart|AEDT AEST|-b0 -a0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|qg0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|21e4",
"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|01212121213131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|0101010101010|4r40 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10",
"Australia/Melbourne|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r40 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010|bHS0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5",
"Europe/Brussels|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|21e5",
"Pacific/Easter|-06 -07 -05|60 70 50|010101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|30e2",
"EET|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00",
"Europe/Dublin|IST GMT|-10 0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4re0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5","Etc/GMT-1|+01|-10|0|","Pacific/Guadalcanal|+11|-b0|0||11e4","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Indian/Maldives|+05|-50|0||35e4","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|",
"Pacific/Tahiti|-10|a0|0||18e4","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Pacific/Gambier|-09|90|0||125","Etc/UTC|UTC|0|0|","Europe/Andorra|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|B7d0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|79e3",
"Europe/Astrakhan|+04 +05 +03|-40 -50 -30|0101010101010101020202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5",
"Europe/Athens|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|cOK0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|35e5",
"Europe/London|BST GMT|-10 0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4re0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|10e6",
"Europe/Belgrade|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|wdd0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
"Europe/Prague|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|muN0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|13e5",
"Europe/Bucharest|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|mRa0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|19e5",
"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXc0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e5",
"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|38e4",
"Europe/Chisinau|MSK MSD EEST EET|-30 -40 -30 -20|010101010101010101012323232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|67e4",
"Europe/Gibraltar|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|tLB0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|30e3",
"Europe/Helsinki|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm00 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
"Europe/Kaliningrad|MSK MSD EEST EET +03|-30 -40 -30 -20 -30|010101010101010102323232323232323232323232323232323232323232343|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4",
"Europe/Kiev|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101010123232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|34e5",
"Europe/Kirov|+04 +05 +03|-40 -50 -30|010101010101010102020202020202020202020202020202020202020202|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4",
"Europe/Lisbon|CET WET WEST CEST|-10 0 -10 -20|01212121212121212121212121212121203030302121212121212121212121212121212121212121212121212121212121212121212121|go00 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|27e5",
"Europe/Madrid|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|apy0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|62e5",
"Europe/Malta|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|XX0 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|42e4",
"Europe/Minsk|MSK MSD EEST EET +03|-30 -40 -30 -20 -30|010101010101010101023232323232323232323232323232323232323234|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5",
"Europe/Paris|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|fbc0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|11e6",
"Europe/Moscow|MSK MSD EEST EET MSK|-30 -40 -30 -20 -40|0101010101010101010102301010101010101010101010101010101010101040|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6",
"Europe/Riga|MSK MSD EEST EET|-30 -40 -30 -20|010101010101010102323232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|64e4",
"Europe/Rome|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|XX0 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|39e5",
"Europe/Samara|+04 +05 +03|-40 -50 -30|01010101010101010202010101010101010101010101010101010101020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|+04 +05 +03|-40 -50 -30|0101010101010102020202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810",
"Europe/Simferopol|MSK MSD EET EEST MSK|-30 -40 -20 -30 -40|0101010101010101010232323101010323232323232323232323232323232323240|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4",
"Europe/Sofia|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|muJ0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
"Europe/Tallinn|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|41e4",
"Europe/Tirane|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|axz0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|42e4",
"Europe/Ulyanovsk|+04 +05 +03 +02|-40 -50 -30 -20|010101010101010102023202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5",
"Europe/Uzhgorod|MSK MSD CET EET EEST|-30 -40 -10 -20 -30|010101010101010101023434343434343434343434343434343434343434343434343434343434343434343434343434343|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|11e4",
"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXb0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|18e5",
"Europe/Vilnius|MSK MSD EEST EET CEST CET|-30 -40 -30 -20 -20 -10|01010101010101010232323232323232323454323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|54e4",
"Europe/Volgograd|+04 +05 +03|-40 -50 -30|0101010101010102020202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0|10e5",
"Europe/Warsaw|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e5",
"Europe/Zaporozhye|MSK MSD EEST EET|-30 -40 -30 -20|01010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|77e4","Pacific/Honolulu|HST|a0|0||37e4","Indian/Chagos|+05 +06|-50 -60|01|13ij0|30e2","Indian/Mauritius|+04 +05|-40 -50|01010|v5U0 14L0 12kr0 11z0|15e4","Pacific/Kwajalein|-12 +12|c0 -c0|01|Vxo0|14e3",
"MET|MET MEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00",
"Pacific/Chatham|+1245 +1345|-cJ -dJ|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|bKC0 IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|600",
"Pacific/Apia|-11 -10 +14 +13|b0 a0 -e0 -d0|0101232323232323232323232323232323232323232|1Dbn0 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|37e3","Pacific/Bougainville|+10 +11|-a0 -b0|01|1NwE0|18e4","Pacific/Efate|+11 +12|-b0 -c0|010101010101010101010|xpN0 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|+12 +13|-c0 -d0|010101010101010101010101010101010101010101010101|1ace0 LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0|88e4","Pacific/Galapagos|-05 -06|50 60|0101|CVF0 gNd0 rz0|25e3",
"Pacific/Guam|GST GDT ChST|-a0 -b0 -a0|010101010102|JQ0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+12 +11|-c0 -b0|01|1aAA0|66e2","Pacific/Marquesas|-0930|9u|0||86e2","Pacific/Pago_Pago|SST|b0|0||37e2","Pacific/Nauru|+1130 +12|-bu -c0|01|maCu|10e3","Pacific/Niue|-1130 -11|bu b0|01|libu|12e2","Pacific/Norfolk|+1130 +1230 +11 +12|-bu -cu -b0 -c0|010232323232323232323232323|bHOu Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|25e4","Pacific/Noumea|+11 +12|-b0 -c0|0101010|jhp0 xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3",
"Pacific/Tongatapu|+13 +14|-d0 -e0|010101010|1csd0 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","WET|WET WEST|0 -10|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00"],"links":["Africa/Abidjan|Africa/Accra","Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome",
"Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/Reykjavik","Africa/Abidjan|Atlantic/St_Helena","Africa/Abidjan|Etc/GMT","Africa/Abidjan|Etc/GMT+0","Africa/Abidjan|Etc/GMT-0","Africa/Abidjan|Etc/GMT0","Africa/Abidjan|Etc/Greenwich","Africa/Abidjan|GMT","Africa/Abidjan|GMT+0","Africa/Abidjan|GMT-0","Africa/Abidjan|GMT0","Africa/Abidjan|Greenwich","Africa/Abidjan|Iceland","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali",
"Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Cayenne|Etc/GMT+3","America/Chicago|CST6CDT","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|MST7MDT",
"America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/La_Paz|Etc/GMT+4","America/Los_Angeles|PST8PDT","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|EST5EDT","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Atikokan","America/Panama|America/Cayman","America/Panama|America/Coral_Harbour","America/Panama|EST","America/Phoenix|America/Creston","America/Phoenix|MST","America/Phoenix|US/Arizona",
"America/Puerto_Rico|America/Anguilla","America/Puerto_Rico|America/Antigua","America/Puerto_Rico|America/Aruba","America/Puerto_Rico|America/Blanc-Sablon","America/Puerto_Rico|America/Curacao","America/Puerto_Rico|America/Dominica","America/Puerto_Rico|America/Grenada","America/Puerto_Rico|America/Guadeloupe","America/Puerto_Rico|America/Kralendijk","America/Puerto_Rico|America/Lower_Princes","America/Puerto_Rico|America/Marigot","America/Puerto_Rico|America/Montserrat","America/Puerto_Rico|America/Port_of_Spain","America/Puerto_Rico|America/St_Barthelemy","America/Puerto_Rico|America/St_Kitts","America/Puerto_Rico|America/St_Lucia","America/Puerto_Rico|America/St_Thomas","America/Puerto_Rico|America/St_Vincent","America/Puerto_Rico|America/Tortola","America/Puerto_Rico|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East",
"America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|America/Nassau","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Bangkok|Etc/GMT-7","Asia/Bangkok|Indian/Christmas","Asia/Brunei|Asia/Kuching","Asia/Brunei|Etc/GMT-8","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Dubai|Etc/GMT-4","Asia/Dubai|Indian/Mahe","Asia/Dubai|Indian/Reunion","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang",
"Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Rangoon|Indian/Cocos","Asia/Riyadh|Antarctica/Syowa","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Riyadh|Etc/GMT-3","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Antarctica/Vostok","Asia/Urumqi|Asia/Kashgar","Asia/Urumqi|Etc/GMT-6","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra",
"Australia/Sydney|Australia/NSW","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Berlin|Arctic/Longyearbyen","Europe/Berlin|Atlantic/Jan_Mayen","Europe/Berlin|Europe/Copenhagen","Europe/Berlin|Europe/Oslo","Europe/Berlin|Europe/Stockholm","Europe/Brussels|CET","Europe/Brussels|Europe/Amsterdam","Europe/Brussels|Europe/Luxembourg","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Paris|Europe/Monaco",
"Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Maldives|Etc/GMT-5","Indian/Maldives|Indian/Kerguelen","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Gambier|Etc/GMT+9","Pacific/Guadalcanal|Etc/GMT-11","Pacific/Guadalcanal|Pacific/Pohnpei","Pacific/Guadalcanal|Pacific/Ponape","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|HST","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Port_Moresby|Antarctica/DumontDUrville","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk",
"Pacific/Port_Moresby|Pacific/Yap","Pacific/Tahiti|Etc/GMT+10","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Majuro","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]});return moment;}));
},"clientUtils.js":function(require,module,exports){function isUnmodifiedLeftClick(e){return e.which===OO.ui.MouseButtons.LEFT&&!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);}module.exports={isUnmodifiedLeftClick:isUnmodifiedLeftClick};
},"commentparser/commentUtils.js":function(require,module,exports){'use strict';const NEW_TOPIC_COMMENT_ID='new|'+mw.config.get('wgRelevantPageName');function isBlockElement(node){return node instanceof HTMLElement&&ve.isBlockElement(node);}const solTransparentLinkRegexp=/(?:^|\s)mw:PageProp\/(?:Category|redirect|Language)(?=$|\s)/;function isRenderingTransparentNode(node){const nextSibling=node.nextSibling;return(node.nodeType===Node.COMMENT_NODE||node.nodeType===Node.ELEMENT_NODE&&(node.tagName.toLowerCase()==='meta'||(node.tagName.toLowerCase()==='link'&&solTransparentLinkRegexp.test(node.getAttribute('rel')||''))||(node.tagName.toLowerCase()==='span'&&(node.getAttribute('typeof')||'').split(' ').includes('mw:Transclusion')&&!htmlTrim(node.innerHTML)&&(!nextSibling||nextSibling.nodeType!==Node.ELEMENT_NODE||nextSibling.getAttribute('about')!==node.getAttribute('about')))));}function isOurGeneratedNode(node){return node.nodeType===Node.ELEMENT_NODE&&(node.classList.contains('ext-discussiontools-init-replylink-buttons')||node.hasAttribute('data-mw-comment-start')||
node.hasAttribute('data-mw-comment-end'));}const noElementChildrenElementTypes=['area','base','br','col','embed','hr','img','input','link','meta','param','source','track','wbr','script','style','textarea','title','math','svg','noscript','audio','canvas','iframe','object','video'];function cantHaveElementChildren(node){return(node.nodeType===Node.COMMENT_NODE||node.nodeType===Node.ELEMENT_NODE&&(noElementChildrenElementTypes.includes(node.tagName.toLowerCase())||(['a','span'].includes(node.tagName.toLowerCase())&&node.firstChild&&cantHaveElementChildren(node.firstChild))||node.tagName.toLowerCase()==='figure'));}function isCommentSeparator(node){if(node.nodeType!==Node.ELEMENT_NODE){return false;}const tagName=node.tagName.toLowerCase();if(tagName==='br'||tagName==='hr'){return true;}if(node.nextSibling&&(tagName==='link'||tagName==='style')&&isCommentSeparator(node.nextSibling)){return true;}const classList=node.classList;if(classList.contains('mw-notalk')||classList.contains('outdent-template')||
classList.contains('mw-trackedTemplate')){return true;}if(tagName==='dl'&&node.childNodes.length===1&&node.firstChild.nodeType===Node.ELEMENT_NODE&&node.firstChild.nodeName.toLowerCase()==='dt'){return true;}return false;}function isCommentContent(node){return((node.nodeType===Node.TEXT_NODE&&htmlTrim(node.textContent)!=='')||(cantHaveElementChildren(node)));}function childIndexOf(child){let i=0;while((child=child.previousSibling)){i++;}return i;}function closestElement(node,tagNames){do{if(node.nodeType===Node.ELEMENT_NODE&&tagNames.includes(node.tagName.toLowerCase())){return node;}node=node.parentNode;}while(node);return null;}function getTranscludedFromElement(node){while(node){if(node.nodeType===Node.ELEMENT_NODE&&node.getAttribute('about')&&/^#mwt\d+$/.test(node.getAttribute('about'))){const about=node.getAttribute('about');while(node.previousSibling&&node.previousSibling.nodeType===Node.ELEMENT_NODE&&node.previousSibling.getAttribute('about')===about){node=node.previousSibling;}
if(node.getAttribute('typeof')&&node.getAttribute('typeof').split(' ').includes('mw:Transclusion')){break;}}node=node.parentNode;}return node;}function getHeadlineNode(heading){let headline=heading;if(headline.hasAttribute('data-mw-comment-start')){headline=headline.parentNode;}if(!headline.getAttribute('id')){headline=headline.querySelector('.mw-headline');if(!headline){headline=heading;}}return headline;}function htmlTrim(str){return str.replace(/^[\t\n\f\r ]+/,'').replace(/[\t\n\f\r ]+$/,'');}function getIndentLevel(node,rootNode){let indent=0;while(node){if(node===rootNode){break;}const tagName=node instanceof HTMLElement?node.tagName.toLowerCase():null;if(tagName==='li'||tagName==='dd'){indent++;}node=node.parentNode;}return indent;}function getCoveredSiblings(range){const ancestor=range.commonAncestorContainer;const siblings=ancestor.childNodes;let start=0;let end=siblings.length-1;if(ancestor===range.startContainer){start=range.startOffset;}else{while(!siblings[start].contains(range.startContainer)){
start++;}}if(ancestor===range.endContainer){end=range.endOffset-1;}else{while(!siblings[end].contains(range.endContainer)){end--;}}return Array.prototype.slice.call(siblings,start,end+1);}function getFullyCoveredSiblings(item,excludedAncestorNode){let siblings=getCoveredSiblings(item.getRange());function makeRange(sibs){const range=sibs[0].ownerDocument.createRange();range.setStartBefore(sibs[0]);range.setEndAfter(sibs[sibs.length-1]);return range;}const matches=compareRanges(makeRange(siblings),item.getRange())==='equal';if(matches){let parent;while((parent=siblings[0].parentNode)&&parent!==excludedAncestorNode&&compareRanges(makeRange([parent]),item.getRange())==='equal'){siblings=[parent];}return siblings;}return null;}function getTitleFromUrl(url){if(!url){return null;}const parsedUrl=new URL(url);if(parsedUrl.searchParams.get('title')){return parsedUrl.searchParams.get('title');}const articlePathRegexp=new RegExp(mw.util.escapeRegExp(mw.config.get('wgArticlePath')).replace('\\$1','(.*)')
);let match;if((match=parsedUrl.pathname.match(articlePathRegexp))){return decodeURIComponent(match[1]);}return null;}function linearWalk(node,callback){let result=null,withinNode=node.parentNode,beforeNode=node;while(beforeNode||withinNode){if(beforeNode){result=callback('enter',beforeNode);withinNode=beforeNode;beforeNode=beforeNode.firstChild;}else{result=callback('leave',withinNode);beforeNode=withinNode.nextSibling;withinNode=withinNode.parentNode;}if(result){return result;}}return result;}function linearWalkBackwards(node,callback){let result=null,withinNode=node.parentNode,beforeNode=node;while(beforeNode||withinNode){if(beforeNode){result=callback('enter',beforeNode);withinNode=beforeNode;beforeNode=beforeNode.lastChild;}else{result=callback('leave',withinNode);beforeNode=withinNode.previousSibling;withinNode=withinNode.parentNode;}if(result){return result;}}return result;}function getRangeFirstNode(range){return range.startContainer.childNodes.length?range.startContainer.childNodes[range.startOffset]:
range.startContainer;}function getRangeLastNode(range){return range.endContainer.childNodes.length?range.endContainer.childNodes[range.endOffset-1]:range.endContainer;}function compareRanges(a,b){let startToStart=a.compareBoundaryPoints(Range.START_TO_START,b);const startToEnd=a.compareBoundaryPoints(Range.END_TO_START,b);const endToStart=a.compareBoundaryPoints(Range.START_TO_END,b);let endToEnd=a.compareBoundaryPoints(Range.END_TO_END,b);if((startToStart<0&&compareRangesAlmostEqualBoundaries(a,b,'start'))||(startToStart>0&&compareRangesAlmostEqualBoundaries(b,a,'start'))){startToStart=0;}if((endToEnd<0&&compareRangesAlmostEqualBoundaries(a,b,'end'))||(endToEnd>0&&compareRangesAlmostEqualBoundaries(b,a,'end'))){endToEnd=0;}if(startToStart===0&&endToEnd===0){return'equal';}if(startToStart<=0&&endToEnd>=0){return'contains';}if(startToStart>=0&&endToEnd<=0){return'contained';}if(startToEnd>=0){return'after';}if(endToStart<=0){return'before';}if(startToStart>0&&startToEnd<0&&endToEnd>=0){
return'overlapstart';}if(endToEnd<0&&endToStart>0&&startToStart<=0){return'overlapend';}throw new Error('Unreachable');}function compareRangesAlmostEqualBoundaries(a,b,boundary){const from=boundary==='end'?getRangeLastNode(a):getRangeFirstNode(a);const to=boundary==='end'?getRangeLastNode(b):getRangeFirstNode(b);let skipNode=null;if(boundary==='end'){skipNode=from;}let foundContent=false;linearWalk(from,(event,n)=>{if(n===to&&event===(boundary==='end'?'leave':'enter')){return true;}if(skipNode){if(n===skipNode&&event==='leave'){skipNode=null;}return;}if(event==='enter'){if(isCommentSeparator(n)||isRenderingTransparentNode(n)||isOurGeneratedNode(n)){skipNode=n;}else if(isCommentContent(n)){foundContent=true;return true;}}});return!foundContent;}function getNewTopicsSubscriptionId(title){return'p-topics-'+title.getNamespaceId()+':'+title.getMain();}module.exports={NEW_TOPIC_COMMENT_ID:NEW_TOPIC_COMMENT_ID,isBlockElement:isBlockElement,isRenderingTransparentNode:isRenderingTransparentNode,
isCommentSeparator:isCommentSeparator,isCommentContent:isCommentContent,cantHaveElementChildren:cantHaveElementChildren,childIndexOf:childIndexOf,closestElement:closestElement,getIndentLevel:getIndentLevel,getCoveredSiblings:getCoveredSiblings,getFullyCoveredSiblings:getFullyCoveredSiblings,getTranscludedFromElement:getTranscludedFromElement,getHeadlineNode:getHeadlineNode,htmlTrim:htmlTrim,getTitleFromUrl:getTitleFromUrl,linearWalk:linearWalk,linearWalkBackwards:linearWalkBackwards,compareRanges:compareRanges,getNewTopicsSubscriptionId:getNewTopicsSubscriptionId};
},"commentparser/modifier.js":function(require,module,exports){'use strict';const commentUtils=require('./commentUtils.js');function sanitizeWikitextLinebreaks(wikitext){return commentUtils.htmlTrim(wikitext).replace(/\r/g,'\n').replace(/\n+/g,'\n');}function addReplyLink(comment,linkNode){const target=comment.range.endContainer;if(target.nodeType===Node.TEXT_NODE){target.splitText(target.textContent.match(/\s*$/).index);}target.parentNode.insertBefore(linkNode,target.nextSibling);}function addListItem(comment,replyIndentation){const listTypeMap={li:'ul',dd:'dl'};let curComment=comment;while(curComment.replies.length){curComment=curComment.replies[curComment.replies.length-1];}let itemType;if(replyIndentation==='invisible'){itemType='dd';}else if(replyIndentation==='bullet'){itemType='li';}else{throw new Error("Invalid reply indentation syntax '"+replyIndentation+"'");}const listType=listTypeMap[itemType];const desiredLevel=comment.level+1;let target=curComment.range.endContainer;let parent=commentUtils.closestElement(target,['li','dd','p'])||target.parentNode;
while(target.parentNode!==parent){target=target.parentNode;}const excludedWrapper=commentUtils.closestElement(target,['section'])||curComment.rootNode;const covered=commentUtils.getFullyCoveredSiblings(curComment,excludedWrapper);if(curComment.level===1&&covered){target=covered[covered.length-1];parent=target.parentNode;}let transclusionNode=commentUtils.getTranscludedFromElement(target);if(transclusionNode){while(transclusionNode.nextSibling&&transclusionNode.nextSibling.nodeType===Node.ELEMENT_NODE&&transclusionNode.nextSibling.getAttribute('about')===transclusionNode.getAttribute('about')){transclusionNode=transclusionNode.nextSibling;}target=transclusionNode;parent=target.parentNode;}if(parent.tagName.toLowerCase()==='p'||parent.tagName.toLowerCase()==='pre'||parent.tagName.toLowerCase()==='ul'||parent.tagName.toLowerCase()==='dl'){parent=parent.parentNode;target=target.parentNode;}if(target.nextSibling&&target.nextSibling.nodeType===Node.ELEMENT_NODE&&target.nextSibling.classList.contains('ext-discussiontools-init-replylink-buttons')){
target=target.nextSibling;}let curLevel=commentUtils.getIndentLevel(target,curComment.rootNode)+1;let item,list;if(desiredLevel===1){item=target.ownerDocument.createElement('div');item.discussionToolsModified='new';parent.insertBefore(item,target.nextSibling);}else if(curLevel<desiredLevel){let pointer=target;while(pointer.nextSibling&&(commentUtils.isRenderingTransparentNode(pointer.nextSibling)||(pointer.nextSibling.nodeType===Node.TEXT_NODE&&commentUtils.htmlTrim(pointer.nextSibling.textContent)===''&&!/\n[^\n]*\n/.test(pointer.nextSibling.textContent)))){pointer=pointer.nextSibling;if(commentUtils.isRenderingTransparentNode(pointer)){target=pointer;}}while(curLevel<desiredLevel){list=target.ownerDocument.createElement(listType);list.discussionToolsModified='new';item=target.ownerDocument.createElement(itemType);item.discussionToolsModified='new';parent.insertBefore(list,target.nextSibling);list.appendChild(item);target=item;parent=list;curLevel++;}}else{let newNode;do{if(!target||!parent){
throw new Error('Can not decrease nesting any more');}if(target.nextSibling){newNode=parent.cloneNode(false);parent.discussionToolsModified='split';parent.parentNode.insertBefore(newNode,parent.nextSibling);while(target.nextSibling){newNode.appendChild(target.nextSibling);}}target=parent;parent=parent.parentNode;if(listTypeMap[target.tagName.toLowerCase()]){curLevel--;}}while(curLevel>=desiredLevel);if(itemType===target.tagName.toLowerCase()){item=target.ownerDocument.createElement(itemType);item.discussionToolsModified='new';parent.insertBefore(item,target.nextSibling);}else{if(target.nextSibling){newNode=parent.cloneNode(false);parent.discussionToolsModified='split';parent.parentNode.insertBefore(newNode,parent.nextSibling);while(target.nextSibling){newNode.appendChild(target.nextSibling);}}target=parent;parent=parent.parentNode;list=target.ownerDocument.createElement(listType);list.discussionToolsModified='new';item=target.ownerDocument.createElement(itemType);item.discussionToolsModified='new';
parent.insertBefore(list,target.nextSibling);list.appendChild(item);}}return item;}function removeAddedListItem(node){while(node&&node.discussionToolsModified){let nextNode;if(node.discussionToolsModified==='new'){nextNode=node.previousSibling||node.parentNode;delete node.discussionToolsModified;node.parentNode.removeChild(node);}else if(node.discussionToolsModified==='split'){if(node.lastChild&&node.lastChild.discussionToolsModified==='split'){node.discussionToolsModified='done';nextNode=node.lastChild;}else{delete node.discussionToolsModified;nextNode=node.parentNode;}while(node.nextSibling.firstChild){node.appendChild(node.nextSibling.firstChild);}node.parentNode.removeChild(node.nextSibling);}else{nextNode=node.parentNode;}node=nextNode;}}function unwrapList(list,fragment){if(!(list.nodeType===Node.ELEMENT_NODE&&(list.tagName.toLowerCase()==='dl'||list.tagName.toLowerCase()==='ol'||list.tagName.toLowerCase()==='ul'))){return;}if(commentUtils.getTranscludedFromElement(list)){return;
}const doc=list.ownerDocument;const container=fragment||list.parentNode;let referenceNode=list;while(list.firstChild){if(list.firstChild.nodeType===Node.ELEMENT_NODE){let p=doc.createElement('p');while(list.firstChild.firstChild){if(commentUtils.isBlockElement(list.firstChild.firstChild)){if(p.firstChild){const insertBefore2=referenceNode.nextSibling;referenceNode=p;container.insertBefore(p,insertBefore2);}const insertBefore=referenceNode.nextSibling;referenceNode=list.firstChild.firstChild;container.insertBefore(list.firstChild.firstChild,insertBefore);p=doc.createElement('p');}else{p.appendChild(list.firstChild.firstChild);}}if(p.firstChild){const insertBefore=referenceNode.nextSibling;referenceNode=p;container.insertBefore(p,insertBefore);}list.removeChild(list.firstChild);}else{const insertBefore=referenceNode.nextSibling;referenceNode=list.firstChild;container.insertBefore(list.firstChild,insertBefore);}}container.removeChild(list);}function addSiblingListItem(previousItem){const listItem=previousItem.ownerDocument.createElement(previousItem.tagName);
previousItem.parentNode.insertBefore(listItem,previousItem.nextSibling);return listItem;}module.exports={addReplyLink:addReplyLink,addListItem:addListItem,removeAddedListItem:removeAddedListItem,addSiblingListItem:addSiblingListItem,unwrapList:unwrapList,sanitizeWikitextLinebreaks:sanitizeWikitextLinebreaks};
},"commentparser/Parser.js":function(require,module,exports){'use strict';const commentUtils=require('./commentUtils.js'),charAt=require('mediawiki.String').charAt,codePointLength=require('mediawiki.String').codePointLength,trimByteLength=require('mediawiki.String').trimByteLength,CommentItem=require('./CommentItem.js'),HeadingItem=require('./HeadingItem.js'),ThreadItem=require('./ThreadItem.js'),ThreadItemSet=require('./ThreadItemSet.js'),moment=require('../lib/moment-timezone/moment-timezone-with-data-1970-2030.js');function Parser(data){this.data=data;}const SIGNATURE_SCAN_LIMIT=100;Parser.prototype.parse=function(rootNode,title){this.rootNode=rootNode;this.title=title;const result=this.buildThreadItems();this.buildThreads(result);this.computeIdsAndNames(result);return result;};OO.initClass(Parser);Parser.prototype.getMessages=function(contLangVariant,messages){return messages.map((code)=>this.data.contLangMessages[contLangVariant][code]);};Parser.prototype.getTimestampRegexp=function(contLangVariant,format,digitsRegexp,tzAbbrs){function regexpGroup(r){
return'('+r+')';}function regexpAlternateGroup(array){return'('+array.map(mw.util.escapeRegExp).join('|')+')';}let s='';let raw=false;for(let p=0;p<format.length;p++){let num=false;let code=format[p];if(code==='x'&&p<format.length-1){code+=format[++p];}if(code==='xk'&&p<format.length-1){code+=format[++p];}switch(code){case'xx':s+='x';break;case'xg':s+=regexpAlternateGroup(this.getMessages(contLangVariant,['january-gen','february-gen','march-gen','april-gen','may-gen','june-gen','july-gen','august-gen','september-gen','october-gen','november-gen','december-gen']));break;case'xn':raw=true;break;case'd':num='2';break;case'D':s+=regexpAlternateGroup(this.getMessages(contLangVariant,['sun','mon','tue','wed','thu','fri','sat']));break;case'j':num='1,2';break;case'l':s+=regexpAlternateGroup(this.getMessages(contLangVariant,['sunday','monday','tuesday','wednesday','thursday','friday','saturday']));break;case'F':s+=regexpAlternateGroup(this.getMessages(contLangVariant,['january','february','march','april','may_long','june',
'july','august','september','october','november','december']));break;case'M':s+=regexpAlternateGroup(this.getMessages(contLangVariant,['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']));break;case'm':num='2';break;case'n':num='1,2';break;case'Y':num='4';break;case'xkY':num='4';break;case'G':num='1,2';break;case'H':num='2';break;case'i':num='2';break;case's':num='2';break;case'\\':if(p<format.length-1){s+=mw.util.escapeRegExp(format[++p]);}else{s+=mw.util.escapeRegExp('\\');}break;case'"':if(p<format.length-1){const endQuote=format.indexOf('"',p+1);if(endQuote===-1){s+='"';}else{s+=mw.util.escapeRegExp(format.slice(p+1,endQuote));p=endQuote;}}else{s+='"';}break;default:{const char=charAt(format,p);s+=mw.util.escapeRegExp(char);p+=char.length-1;}}if(num!==false){if(raw){s+=regexpGroup('[0-9]{'+num+'}');raw=false;}else{s+=regexpGroup(digitsRegexp+'{'+num+'}');}}s+='[\\u200E\\u200F]?';}const tzRegexp=regexpAlternateGroup(Object.keys(tzAbbrs));const regexp=s+' [\\u200E\\u200F]?\\('+tzRegexp+'\\)';
return regexp;};Parser.prototype.getTimestampParser=function(contLangVariant,format,digits,localTimezone,tzAbbrs){const matchingGroups=[];for(let p=0;p<format.length;p++){let code=format[p];if(code==='x'&&p<format.length-1){code+=format[++p];}if(code==='xk'&&p<format.length-1){code+=format[++p];}switch(code){case'xx':case'xn':break;case'xg':case'd':case'j':case'D':case'l':case'F':case'M':case'm':case'n':case'Y':case'xkY':case'G':case'H':case'i':case's':matchingGroups.push(code);break;case'\\':if(p<format.length-1){++p;}break;case'"':if(p<format.length-1){const endQuote=format.indexOf('"',p+1);if(endQuote!==-1){p=endQuote;}}break;default:break;}}function untransformDigits(text){return Number(digits?text.replace(new RegExp('['+digits.join('')+']','g'),(m)=>digits.indexOf(m)):text);}return(match)=>{let year=0,monthIdx=0,day=0,hour=0,minute=0;for(let i=0;i<matchingGroups.length;i++){const code2=matchingGroups[i];const text=match[i+1];switch(code2){case'xg':monthIdx=this.getMessages(contLangVariant,[
'january-gen','february-gen','march-gen','april-gen','may-gen','june-gen','july-gen','august-gen','september-gen','october-gen','november-gen','december-gen']).indexOf(text);break;case'd':case'j':day=untransformDigits(text);break;case'D':case'l':break;case'F':monthIdx=this.getMessages(contLangVariant,['january','february','march','april','may_long','june','july','august','september','october','november','december']).indexOf(text);break;case'M':monthIdx=this.getMessages(contLangVariant,['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']).indexOf(text);break;case'm':case'n':monthIdx=untransformDigits(text)-1;break;case'Y':year=untransformDigits(text);break;case'xkY':year=untransformDigits(text)-543;break;case'G':case'H':hour=untransformDigits(text);break;case'i':minute=untransformDigits(text);break;case's':break;default:throw new Error('Not implemented');}}const tzAbbr=tzAbbrs[match[match.length-1]];let date=moment.tz([year,monthIdx,day,hour,minute],localTimezone);
let dateWarning=null;if(date.zoneAbbr()!==tzAbbr){moment.tz.moveAmbiguousForward=true;date=moment.tz([year,monthIdx,day,hour,minute],localTimezone);moment.tz.moveAmbiguousForward=false;if(date.zoneAbbr()!==tzAbbr){dateWarning='Timestamp has timezone abbreviation for the wrong time';}else{dateWarning='Ambiguous time at DST switchover was parsed';}}if(!date.isValid()){return null;}return{date:date,warning:dateWarning};};};Parser.prototype.getLocalTimestampRegexps=function(){return Object.keys(this.data.dateFormat).map((contLangVariant)=>this.getTimestampRegexp(contLangVariant,this.data.dateFormat[contLangVariant],'['+this.data.digits[contLangVariant].join('')+']',this.data.timezones[contLangVariant]));};Parser.prototype.getLocalTimestampParsers=function(){return Object.keys(this.data.dateFormat).map((contLangVariant)=>this.getTimestampParser(contLangVariant,this.data.dateFormat[contLangVariant],this.data.digits[contLangVariant],this.data.localTimezone,this.data.timezones[contLangVariant]
));};function acceptOnlyNodesAllowingComments(node){if(node instanceof HTMLElement){const tagName=node.tagName.toLowerCase();if(node.id==='toc'){return NodeFilter.FILTER_REJECT;}if(tagName==='blockquote'||tagName==='cite'||tagName==='q'){return NodeFilter.FILTER_REJECT;}if(node.classList.contains('mw-notalk')){return NodeFilter.FILTER_REJECT;}if(tagName==='ol'&&node.classList.contains('references')){return NodeFilter.FILTER_REJECT;}}const parentNode=node.parentNode;if(parentNode instanceof HTMLElement&&parentNode.tagName.match(/^h([1-6])$/i)){return NodeFilter.FILTER_REJECT;}return NodeFilter.FILTER_ACCEPT;}Parser.prototype.findTimestamp=function(node,timestampRegexps){let nodeText='';let offset=0;const nodes=[];while(node){nodeText=node.nodeValue+nodeText;nodes.push(node);if(node.previousSibling&&node.previousSibling.nodeType===Node.ELEMENT_NODE&&node.previousSibling.getAttribute('typeof')==='mw:Entity'){nodeText=node.previousSibling.firstChild.nodeValue+nodeText;offset+=node.previousSibling.firstChild.nodeValue.length;
nodes.push(node.previousSibling.firstChild);if(node.previousSibling.previousSibling&&node.previousSibling.previousSibling.nodeType===Node.TEXT_NODE){offset+=node.previousSibling.previousSibling.nodeValue.length;node=node.previousSibling.previousSibling;}else{node=null;}}else{node=null;}}for(let i=0;i<timestampRegexps.length;i++){const matchData=nodeText.match(timestampRegexps[i]);if(matchData){const timestampLength=matchData[0].length;const tailLength=nodeText.length-timestampLength-matchData.index;let count=-tailLength;const endContainer=nodes[0];const endOffset=endContainer.nodeValue.length-tailLength;let startContainer,startOffset;nodes.some((n)=>{count+=n.nodeValue.length;if(count>=timestampLength){startContainer=n;startOffset=count-timestampLength;return true;}return false;});const range={startContainer:startContainer,startOffset:startOffset,endContainer:endContainer,endOffset:endOffset};return{matchData:matchData,offset:offset,range:range,parserIndex:i};}}return null;};Parser.prototype.getUsernameFromLink=function(link){
let title;if(link.classList.contains('mw-selflink')){title=this.title;}else{const titleString=commentUtils.getTitleFromUrl(link.href)||'';if(!titleString||!titleString.includes(':')){return null;}title=mw.Title.newFromText(titleString);}if(!title){return null;}let username;let displayName=null;const namespaceId=title.getNamespaceId();const mainText=title.getMainText();const namespaceIds=mw.config.get('wgNamespaceIds');if(namespaceId===namespaceIds.user||namespaceId===namespaceIds.user_talk){username=mainText;if(username.includes('/')){return null;}if(namespaceId===namespaceIds.user){const text=link.textContent.replace(/^[\s]+/,'').replace(/[\s]+$/,'');if(text&&text.toLowerCase()!==username.toLowerCase()){displayName=text;}}}else if(namespaceId===namespaceIds.special){const parts=mainText.split('/');if(parts.length===2&&parts[0]===this.data.specialContributionsName){const userpage=mw.Title.makeTitle(namespaceIds.user,parts[1]);if(!userpage){return null;}username=userpage.getMainText();}
}if(!username){return null;}if(mw.util.isIPv6Address(username)){username=username.toUpperCase();}return{username:username,displayName:displayName};};Parser.prototype.findSignature=function(timestampNode,until){let sigUsername=null;let sigDisplayName=null;let length=0;let lastLinkNode=timestampNode;commentUtils.linearWalkBackwards(timestampNode,(event,node)=>{if(event==='enter'&&node===until){return true;}if(length>=SIGNATURE_SCAN_LIMIT){return true;}if(commentUtils.isBlockElement(node)){return true;}if(event==='leave'&&node!==timestampNode){length+=node.nodeType===Node.TEXT_NODE?codePointLength(commentUtils.htmlTrim(node.textContent)):0;}if(event==='leave'&&node.nodeType===Node.ELEMENT_NODE&&node.tagName.toLowerCase()==='a'){if(!node.classList.contains('ext-discussiontools-init-timestamplink')){const user=this.getUsernameFromLink(node);if(user){if(sigUsername===null){sigUsername=user.username;}if(user.username===sigUsername){lastLinkNode=node;if(user.displayName){sigDisplayName=user.displayName;
}}}}}});const range={startContainer:lastLinkNode.parentNode,startOffset:commentUtils.childIndexOf(lastLinkNode),endContainer:timestampNode.parentNode,endOffset:commentUtils.childIndexOf(timestampNode)+1};const nativeRange=ThreadItem.prototype.getRange.call({range:range});const sigNodes=commentUtils.getCoveredSiblings(nativeRange).reverse();return{nodes:sigNodes,username:sigUsername,displayName:sigDisplayName};};Parser.prototype.nextInterestingLeafNode=function(node){const rootNode=this.rootNode;const treeWalker=rootNode.ownerDocument.createTreeWalker(rootNode,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,(n)=>{if(n===node||n.parentNode===node){return NodeFilter.FILTER_REJECT;}if(commentUtils.isCommentSeparator(n)){return NodeFilter.FILTER_REJECT;}if(commentUtils.isRenderingTransparentNode(n)){return NodeFilter.FILTER_REJECT;}if(commentUtils.isCommentContent(n)){return NodeFilter.FILTER_ACCEPT;}return NodeFilter.FILTER_SKIP;},false);if(node){treeWalker.currentNode=node;}treeWalker.nextNode();
if(!treeWalker.currentNode){throw new Error('nextInterestingLeafNode not found');}return treeWalker.currentNode;};function adjustSigRange(sigNodes,match,node){const firstSigNode=sigNodes[sigNodes.length-1];const lastSigNode=sigNodes[0];const lastSigNodeOffset=lastSigNode===node?match.matchData.index+match.matchData[0].length-match.offset:commentUtils.childIndexOf(lastSigNode)+1;const sigRange={startContainer:firstSigNode.parentNode,startOffset:commentUtils.childIndexOf(firstSigNode),endContainer:lastSigNode===node?node:lastSigNode.parentNode,endOffset:lastSigNodeOffset};return sigRange;}Parser.prototype.buildThreadItems=function(){const result=new ThreadItemSet();const dfParsers=this.getLocalTimestampParsers(),timestampRegexps=this.getLocalTimestampRegexps();const treeWalker=this.rootNode.ownerDocument.createTreeWalker(this.rootNode,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,acceptOnlyNodesAllowingComments,false);let curComment,range;let curCommentEnd=null;let node;while((node=treeWalker.nextNode())){
let match;if(node.tagName&&(match=node.tagName.match(/^h([1-6])$/i))){const headingNode=commentUtils.getHeadlineNode(node);range={startContainer:headingNode,startOffset:0,endContainer:headingNode,endOffset:headingNode.childNodes.length};curComment=new HeadingItem(range,+match[1]);curComment.rootNode=this.rootNode;result.addThreadItem(curComment);curCommentEnd=node;}else if(node.nodeType===Node.TEXT_NODE&&(match=this.findTimestamp(node,timestampRegexps))){const warnings=[];const foundSignature=this.findSignature(node,curCommentEnd);const author=foundSignature.username;if(!author){continue;}const sigRanges=[];const timestampRanges=[];sigRanges.push(adjustSigRange(foundSignature.nodes,match,node));timestampRanges.push(match.range);const startNode=this.nextInterestingLeafNode(curCommentEnd);let endNode=foundSignature.nodes[0];commentUtils.linearWalk(endNode,(event,n)=>{let match2,foundSignature2;if(commentUtils.isBlockElement(n)||commentUtils.isCommentSeparator(n)){return true;}if(event==='leave'&&
n.nodeType===Node.TEXT_NODE&&n!==node&&(match2=this.findTimestamp(n,timestampRegexps))){treeWalker.currentNode=n;foundSignature2=this.findSignature(n,node);if(foundSignature2.username){sigRanges.push(adjustSigRange(foundSignature2.nodes,match2,n));timestampRanges.push(match2.range);}}if(event==='leave'){endNode=n;}});const length=endNode.nodeType===Node.TEXT_NODE?endNode.textContent.replace(/[\t\n\f\r ]+$/,'').length:endNode.childNodes.length;range={startContainer:startNode.parentNode,startOffset:commentUtils.childIndexOf(startNode),endContainer:endNode,endOffset:length};const startLevel=commentUtils.getIndentLevel(startNode,this.rootNode)+1;const endLevel=commentUtils.getIndentLevel(node,this.rootNode)+1;if(startLevel!==endLevel){warnings.push('Comment starts and ends with different indentation');}const level=Math.min(startLevel,endLevel);const parserResult=dfParsers[match.parserIndex](match.matchData);if(!parserResult){continue;}const dateTime=parserResult.date;if(parserResult.warning){
warnings.push(parserResult.warning);}curComment=new CommentItem(level,range,sigRanges,timestampRanges,dateTime,author,foundSignature.displayName);curComment.rootNode=this.rootNode;if(warnings.length){curComment.warnings=warnings;}if(result.isEmpty()){range={startContainer:this.rootNode,startOffset:0,endContainer:this.rootNode,endOffset:0};const fakeHeading=new HeadingItem(range,null);fakeHeading.rootNode=this.rootNode;result.addThreadItem(fakeHeading);}result.addThreadItem(curComment);curCommentEnd=curComment.range.endContainer;}}return result;};Parser.prototype.truncateForId=function(text){return trimByteLength('',text,80).newVal.replace(/^_+|_+$/g,'');};Parser.prototype.computeId=function(threadItem,previousItems){let id,headline;if(threadItem instanceof HeadingItem&&threadItem.placeholderHeading){id='h-';}else if(threadItem instanceof HeadingItem){headline=threadItem.range.startContainer;id='h-'+this.truncateForId(headline.getAttribute('id')||'');}else if(threadItem instanceof CommentItem){
id='c-'+this.truncateForId(threadItem.author||'').replace(/ /g,'_')+'-'+threadItem.getTimestampString();}else{throw new Error('Unknown ThreadItem type');}const threadItemParent=threadItem.parent;if(threadItemParent instanceof HeadingItem&&!threadItemParent.placeholderHeading){headline=threadItemParent.range.startContainer;id+='-'+this.truncateForId(headline.getAttribute('id')||'');}else if(threadItemParent instanceof CommentItem){id+='-'+this.truncateForId(threadItemParent.author||'').replace(/ /g,'_')+'-'+threadItemParent.getTimestampString();}if(threadItem instanceof HeadingItem){const oldestComment=threadItem.getOldestReply();if(oldestComment){id+='-'+oldestComment.getTimestampString();}}if(previousItems.findCommentById(id)){threadItem.warnings.push('Duplicate comment ID');let number=1;while(previousItems.findCommentById(id+'-'+number)){number++;}id=id+'-'+number;}return id;};Parser.prototype.computeName=function(threadItem){let name,mainComment;if(threadItem instanceof HeadingItem){
name='h-';mainComment=threadItem.getOldestReply();}else if(threadItem instanceof CommentItem){name='c-';mainComment=threadItem;}else{throw new Error('Unknown ThreadItem type');}if(mainComment){name+=this.truncateForId(mainComment.author||'').replace(/ /g,'_')+'-'+mainComment.getTimestampString();}return name;};Parser.prototype.buildThreads=function(result){let lastHeading=null;const replies=[];for(let i=0;i<result.threadItems.length;i++){const threadItem=result.threadItems[i];if(replies.length<threadItem.level){threadItem.warnings.push('Comment skips indentation level');while(replies.length<threadItem.level){replies[replies.length]=replies[replies.length-1];}}if(threadItem instanceof HeadingItem){let maybeParent=lastHeading;while(maybeParent&&maybeParent.headingLevel>=threadItem.headingLevel){maybeParent=maybeParent.parent;}if(maybeParent){threadItem.parent=maybeParent;maybeParent.replies.push(threadItem);}lastHeading=threadItem;}else if(replies[threadItem.level-1]){threadItem.parent=replies[threadItem.level-1];
threadItem.parent.replies.push(threadItem);}else{threadItem.warnings.push('Comment could not be connected to a thread');}replies[threadItem.level]=threadItem;replies.length=threadItem.level+1;}};Parser.prototype.computeIdsAndNames=function(result){let i,threadItem;for(i=0;i<result.threadItems.length;i++){threadItem=result.threadItems[i];const name=this.computeName(threadItem);threadItem.name=name;const id=this.computeId(threadItem,result);threadItem.id=id;result.updateIdAndNameMaps(threadItem);}};Parser.prototype.getThreadStartComment=function(threadItem){let oldest=null;if(threadItem instanceof CommentItem){oldest=threadItem;}for(let i=0;i<threadItem.replies.length;i++){const comment=threadItem.replies[i];if(comment instanceof CommentItem){const oldestInReplies=this.getThreadStartComment(comment);if(!oldest||oldestInReplies.timestamp.isBefore(oldest.timestamp)){oldest=oldestInReplies;}}}return oldest;};module.exports=Parser;
},"commentparser/ThreadItemSet.js":function(require,module,exports){const CommentItem=require('./CommentItem.js');const HeadingItem=require('./HeadingItem.js');const ThreadItem=require('./ThreadItem.js');function ThreadItemSet(){this.threadItems=[];this.commentItems=[];this.threadItemsByName={};this.threadItemsById={};this.threads=[];}OO.initClass(ThreadItemSet);ThreadItemSet.static.newFromJSON=function(threads,rootNode,parser){const result=new ThreadItemSet();ThreadItem.static.clearMarkerCache();function infuse(itemHash,parent){const item=ThreadItem.static.newFromJSON(itemHash,rootNode);result.addThreadItem(item);item.replies=itemHash.replies.map((replyHash)=>infuse(replyHash,item));item.parent=parent;return item;}threads.forEach((itemHash)=>{infuse(itemHash,null);});parser.computeIdsAndNames(result);return result;};ThreadItemSet.prototype.addThreadItem=function(item){this.threadItems.push(item);if(item instanceof CommentItem){this.commentItems.push(item);}if(item instanceof HeadingItem){this.threads.push(item);}};ThreadItemSet.prototype.isEmpty=function(){
return this.threadItems.length===0;};ThreadItemSet.prototype.updateIdAndNameMaps=function(item){if(!this.threadItemsByName[item.name]){this.threadItemsByName[item.name]=[];}this.threadItemsByName[item.name].push(item);this.threadItemsById[item.id]=item;};ThreadItemSet.prototype.getThreadItems=function(){return this.threadItems;};ThreadItemSet.prototype.getCommentItems=function(){return this.commentItems;};ThreadItemSet.prototype.findCommentsByName=function(name){return this.threadItemsByName[name]||[];};ThreadItemSet.prototype.findCommentById=function(id){return this.threadItemsById[id]||null;};ThreadItemSet.prototype.getThreads=function(){return this.threads;};module.exports=ThreadItemSet;
},"commentparser/ThreadItem.js":function(require,module,exports){const commentUtils=require('./commentUtils.js');function ThreadItem(type,level,range){this.type=type;this.level=level;this.range=range;this.name=null;this.id=null;this.replies=[];this.warnings=[];this.rootNode=null;this.authors=null;this.commentCount=null;this.oldestReply=null;this.latestReply=null;}OO.initClass(ThreadItem);let markerCache=null;ThreadItem.static.getMarkers=function(){if(!markerCache){const ends={},sigs={};const endNodes=document.querySelectorAll('[data-mw-comment-end]');for(let i=0;i<endNodes.length;i++){ends[endNodes[i].getAttribute('data-mw-comment-end')]=endNodes[i];}const sigNodes=document.querySelectorAll('[data-mw-comment-sig]');for(let i=0;i<sigNodes.length;i++){sigs[sigNodes[i].getAttribute('data-mw-comment-sig')]=sigNodes[i];}markerCache={ends:ends,sigs:sigs};}return markerCache;};ThreadItem.static.clearMarkerCache=function(){markerCache=null;};ThreadItem.static.newFromJSON=function(json,rootNode){const hash=typeof json==='string'?JSON.parse(json):json;let item;
switch(hash.type){case'comment':{const CommentItem=require('./CommentItem.js');item=new CommentItem(hash.level,hash.range,hash.signatureRanges,hash.timestampRanges,moment.utc(hash.timestamp,['YYYYMMDDHHmmss',moment.ISO_8601],true),hash.author,hash.displayName);break;}case'heading':{const HeadingItem=require('./HeadingItem.js');if(hash.headingLevel===99){hash.headingLevel=null;}item=new HeadingItem(hash.range,hash.headingLevel);break;}default:throw new Error('Unknown ThreadItem type '+hash.name);}item.name=hash.name;item.id=hash.id;item.rootNode=rootNode;const markers=ThreadItem.static.getMarkers();const startMarker=document.getElementById(item.id);const endMarker=markers.ends[item.id];item.range={startContainer:startMarker.parentNode,startOffset:commentUtils.childIndexOf(startMarker)+1,endContainer:endMarker,endOffset:0};if(item.type==='comment'){const sigMarker=markers.sigs[item.id];if(sigMarker){item.signatureRanges=[{startContainer:sigMarker.parentNode,startOffset:commentUtils.childIndexOf(sigMarker)+1,
endContainer:item.range.endContainer,endOffset:item.range.endOffset}];}}return item;};ThreadItem.prototype.calculateThreadSummary=function(){if(this.authors){return;}const authors={};let commentCount=0;let oldestReply=null;let latestReply=null;function threadScan(comment){if(comment.type==='comment'){authors[comment.author]=authors[comment.author]||{username:comment.author,displayNames:[]};if(comment.displayName&&!authors[comment.author].displayNames.includes(comment.displayName)){authors[comment.author].displayNames.push(comment.displayName);}if(!oldestReply||(comment.timestamp<oldestReply.timestamp)){oldestReply=comment;}if(!latestReply||(latestReply.timestamp<comment.timestamp)){latestReply=comment;}commentCount++;}comment.replies.forEach(threadScan);}this.replies.forEach(threadScan);this.authors=Object.keys(authors).sort().map((author)=>authors[author]);this.commentCount=commentCount;this.oldestReply=oldestReply;this.latestReply=latestReply;};ThreadItem.prototype.getAuthorsBelow=function(){
this.calculateThreadSummary();return this.authors;};ThreadItem.prototype.getCommentCount=function(){this.calculateThreadSummary();return this.commentCount;};ThreadItem.prototype.getLatestReply=function(){this.calculateThreadSummary();return this.latestReply;};ThreadItem.prototype.getOldestReply=function(){this.calculateThreadSummary();return this.oldestReply;};ThreadItem.prototype.getThreadItemsBelow=function(){const threadItems=[];function getReplies(comment){threadItems.push(comment);comment.replies.forEach(getReplies);}this.replies.forEach(getReplies);return threadItems;};ThreadItem.prototype.getRange=function(){const doc=this.range.startContainer.ownerDocument;const nativeRange=doc.createRange();nativeRange.setStart(this.range.startContainer,this.range.startOffset);nativeRange.setEnd(this.range.endContainer,this.range.endOffset);return nativeRange;};ThreadItem.prototype.getNativeRange=ThreadItem.prototype.getRange;module.exports=ThreadItem;
},"commentparser/CommentItem.js":function(require,module,exports){const ThreadItem=require('./ThreadItem.js'),moment=require('../lib/moment-timezone/moment-timezone-with-data-1970-2030.js');function CommentItem(level,range,signatureRanges,timestampRanges,timestamp,author,displayName){CommentItem.super.call(this,'comment',level,range);this.signatureRanges=signatureRanges||[];this.timestampRanges=timestampRanges||[];this.timestamp=timestamp||null;this.author=author||null;this.displayName=displayName||null;this.parent=null;}OO.inheritClass(CommentItem,ThreadItem);CommentItem.prototype.getTimestampString=function(){const dtConfig=require('../config.json');const switchTime=moment.utc(dtConfig.switchTime);if(this.timestamp<switchTime){return this.timestamp.utc().toISOString();}else{return this.timestamp.utc().locale('en').format('YYYYMMDDHHmmss');}};CommentItem.prototype.getBodyRange=function(){if(!this.signatureRanges.length){return this.getRange();}const lastSignature=this.signatureRanges[this.signatureRanges.length-1];const doc=this.range.startContainer.ownerDocument;
const nativeRange=doc.createRange();nativeRange.setStart(this.range.startContainer,this.range.startOffset);nativeRange.setEnd(lastSignature.startContainer,lastSignature.startOffset-1);return nativeRange;};CommentItem.prototype.getHeading=function(){let parent=this;while(parent&&parent.type!=='heading'){parent=parent.parent;}return parent;};CommentItem.prototype.getSubscribableHeading=function(){let heading=this.getHeading();while(heading&&heading.type==='heading'&&!heading.isSubscribable()){heading=heading.parent;}return(heading&&heading.type==='heading')?heading:null;};module.exports=CommentItem;
},"commentparser/HeadingItem.js":function(require,module,exports){const ThreadItem=require('./ThreadItem.js');const PLACEHOLDER_HEADING_LEVEL=99;function HeadingItem(range,headingLevel){HeadingItem.super.call(this,'heading',0,range);this.placeholderHeading=headingLevel===null;this.headingLevel=this.placeholderHeading?PLACEHOLDER_HEADING_LEVEL:headingLevel;}OO.inheritClass(HeadingItem,ThreadItem);HeadingItem.prototype.getLinkableTitle=function(){let title='';if(!this.placeholderHeading){const headline=this.range.startContainer;const id=headline.getAttribute('id');if(id){title=id.replace(/_/g,' ');}}return title;};HeadingItem.prototype.isSubscribable=function(){return(!this.placeholderHeading&&this.headingLevel===2&&this.name!=='h-');};module.exports=HeadingItem;
},"commentparser/data.json":{"dateFormat":{"ko":"Y년 M월 j일 (D) H:i"},"digits":{"ko":["0","1","2","3","4","5","6","7","8","9"]},"localTimezone":"Asia/Seoul","specialContributionsName":"기여","specialNewSectionName":"새문단","timezones":{"ko":{"LMT":"LMT","KST":"KST","JST":"JST","KDT":"KDT"}},"contLangMessages":{"ko":{"sunday":"일요일","monday":"월요일","tuesday":"화요일","wednesday":"수요일","thursday":"목요일","friday":"금요일","saturday":"토요일","sun":"일","mon":"월","tue":"화","wed":"수","thu":"목","fri":"금","sat":"토","january":"1월","february":"2월","march":"3월","april":"4월","may_long":"5월","june":"6월","july":"7월","august":"8월","september":"9월","october":"10월","november":"11월","december":"12월","january-gen":"1월","february-gen":"2월","march-gen":"3월","april-gen":"4월","may-gen":"5월","june-gen":"6월","july-gen":"7월","august-gen":"8월","september-gen":"9월","october-gen":"10월","november-gen":"11월","december-gen":"12월","jan":"1",
"feb":"2","mar":"3","apr":"4","may":"5","jun":"6","jul":"7","aug":"8","sep":"9","oct":"10","nov":"11","dec":"12"}}},"thanks.js":function(require,module,exports){const cacheKey='dt-thanks';function thankComment(commentItem){const recipientGender='unknown';return OO.ui.confirm(mw.msg('thanks-confirmation2',mw.user),{actions:[{action:'accept',label:mw.msg('thanks-button-thank',mw.user,recipientGender),flags:['primary','progressive']},{action:'cancel',label:mw.msg('cancel'),flags:'safe'}]}).then((confirmed)=>{if(!confirmed){return $.Deferred().reject().promise();}const api=require('./controller.js').getApi();return api.postWithToken('csrf',{action:'discussiontoolsthank',page:mw.config.get('wgRelevantPageName'),commentid:commentItem.id}).then(()=>{mw.notify(mw.msg('thanks-thanked-notice',commentItem.author,recipientGender,mw.user),{type:'success'});cacheThanked(commentItem);},(code,data)=>{mw.notify(api.getErrorMessage(data),{type:'error'});return $.Deferred().reject().promise();});});}function isThanked(threadItem){const cache=mw.storage.getObject(cacheKey)||{};return cache[threadItem.id];}function cacheThanked(threadItem){const cache=mw.storage.getObject(cacheKey)||{};
cache[threadItem.id]=true;mw.storage.setObject(cacheKey,cache);}mw.hook('discussionToolsOverflowMenuOnChoose').add((id,menuItem,threadItem)=>{const recipientGender='unknown';if(id==='thank'){thankComment(threadItem).then(()=>{menuItem.setLabel(mw.msg('thanks-button-thanked',mw.user,recipientGender));menuItem.setDisabled(true);});}});mw.hook('discussionToolsOverflowMenuOnAddItem').add((id,menuItem,threadItem)=>{const recipientGender='unknown';if(id==='thank'&&isThanked(threadItem)){menuItem.setLabel(mw.msg('thanks-button-thanked',mw.user,recipientGender));menuItem.setDisabled(true);}});
},"topicsubscriptions.js":function(require,module,exports){const STATE_UNSUBSCRIBED=0,STATE_SUBSCRIBED=1,STATE_AUTOSUBSCRIBED=2,clientUtils=require('./clientUtils.js'),commentUtils=require('./commentparser/commentUtils.js'),CommentItem=require('./commentparser/CommentItem.js'),HeadingItem=require('./commentparser/HeadingItem.js');let api,seenAutoTopicSubPopup=!!+mw.user.options.get('discussiontools-seenautotopicsubpopup'),linksByName={},buttonsByName={};function updateSubscribeLink(element,state,labelElement,isNewTopics){labelElement=labelElement||element;if(state!==null){element.setAttribute('data-mw-subscribed',String(state));}if(state){labelElement.textContent=mw.msg(isNewTopics?'discussiontools-newtopicssubscription-button-unsubscribe-label':'discussiontools-topicsubscription-button-unsubscribe');element.setAttribute('title',mw.msg(isNewTopics?'discussiontools-newtopicssubscription-button-unsubscribe-tooltip':'discussiontools-topicsubscription-button-unsubscribe-tooltip'));}else{labelElement.textContent=mw.msg(isNewTopics?
'discussiontools-newtopicssubscription-button-subscribe-label':'discussiontools-topicsubscription-button-subscribe');element.setAttribute('title',mw.msg(isNewTopics?'discussiontools-newtopicssubscription-button-subscribe-tooltip':'discussiontools-topicsubscription-button-subscribe-tooltip'));}}function updateSubscribeButton(button,state){if(state!==null){button.$element[0].setAttribute('data-mw-subscribed',String(state));}if(state){button.setIcon('bell');button.setLabel(mw.msg('discussiontools-topicsubscription-button-unsubscribe-label'));button.setTitle(mw.msg('discussiontools-topicsubscription-button-unsubscribe-tooltip'));}else{button.setIcon('bellOutline');button.setLabel(mw.msg('discussiontools-topicsubscription-button-subscribe-label'));button.setTitle(mw.msg('discussiontools-topicsubscription-button-subscribe-tooltip'));}}function changeSubscription(title,commentName,subscribe,isNewTopics){const promise=api.postWithToken('csrf',{action:'discussiontoolssubscribe',page:title,
commentname:commentName,subscribe:subscribe}).then((response)=>OO.getProp(response,'discussiontoolssubscribe')||{});promise.then((result)=>{mw.notify(mw.msg(result.subscribe?(isNewTopics?'discussiontools-newtopicssubscription-notify-subscribed-body':'discussiontools-topicsubscription-notify-subscribed-body'):(isNewTopics?'discussiontools-newtopicssubscription-notify-unsubscribed-body':'discussiontools-topicsubscription-notify-unsubscribed-body')),{title:mw.msg(result.subscribe?(isNewTopics?'discussiontools-newtopicssubscription-notify-subscribed-title':'discussiontools-topicsubscription-notify-subscribed-title'):(isNewTopics?'discussiontools-newtopicssubscription-notify-unsubscribed-title':'discussiontools-topicsubscription-notify-unsubscribed-title'))});},(code,data)=>{mw.notify(api.getErrorMessage(data),{type:'error'});});return promise;}function getSubscribedStateFromElement(element){return element.hasAttribute('data-mw-subscribed')?Number(element.getAttribute('data-mw-subscribed')):null;
}function initApi(){if(!api){api=require('./controller.js').getApi();}}function initTopicSubscriptions($container,threadItemSet){linksByName={};buttonsByName={};initApi();$container.find('.ext-discussiontools-init-section-subscribeButton').each((i,element)=>{const subscribedStateTemp=getSubscribedStateFromElement(element);const id=$(element).closest('.ext-discussiontools-init-section').find('[data-mw-comment-start]').attr('id');const headingItem=threadItemSet.findCommentById(id);if(!(headingItem instanceof HeadingItem)){return;}const name=headingItem.name;const button=OO.ui.infuse(element);buttonsByName[name]=button;if(subscribedStateTemp!==null){button.$element[0].setAttribute('data-mw-subscribed',String(subscribedStateTemp));}const title=mw.config.get('wgRelevantPageName')+'#'+headingItem.getLinkableTitle();button.on('click',()=>{const subscribedState=getSubscribedStateFromElement(button.$element[0]);button.setDisabled(true);changeSubscription(title,name,!subscribedState).then((result)=>{
updateSubscribeButton(button,result.subscribe?STATE_SUBSCRIBED:STATE_UNSUBSCRIBED);}).always(()=>{button.setDisabled(false);});});});$container.find('.ext-discussiontools-init-section-subscribe-link').each((i,link)=>{const $link=$(link);const id=$link.closest('.ext-discussiontools-init-section').find('[data-mw-comment-start]').attr('id');const headingItem=threadItemSet.findCommentById(id);if(!(headingItem instanceof HeadingItem)){return;}const itemName=headingItem.name;const title=mw.config.get('wgRelevantPageName')+'#'+headingItem.getLinkableTitle();linksByName[itemName]=link;$link.on('click keypress',(e)=>{if(e.type==='keypress'&&e.which!==OO.ui.Keys.ENTER&&e.which!==OO.ui.Keys.SPACE){return;}if(e.type==='click'&&!clientUtils.isUnmodifiedLeftClick(e)){return;}e.preventDefault();const subscribedState=getSubscribedStateFromElement($link[0]);$link.addClass('ext-discussiontools-init-section-subscribe-link-pending');changeSubscription(title,itemName,!subscribedState).then((result)=>{
updateSubscribeLink($link[0],result.subscribe?STATE_SUBSCRIBED:STATE_UNSUBSCRIBED);}).always(()=>{$link.removeClass('ext-discussiontools-init-section-subscribe-link-pending');});});});initNewTopicsSubscription();}function initNewTopicsSubscription(){let $button,$label,$icon;initApi();if(mw.config.get('skin')==='minerva'){$button=$('.menu__item--page-actions-overflow-t-page-subscribe');$label=$button.find('.toggle-list-item__label');$icon=$button.find('.minerva-icon');const initialState=$icon.hasClass('minerva-icon--bell')?STATE_SUBSCRIBED:STATE_UNSUBSCRIBED;$button.attr('data-mw-subscribed',String(initialState));}else{$button=$('#ca-dt-page-subscribe > a');$label=$button.find('span');$icon=$([]);}const titleObj=mw.Title.newFromText(mw.config.get('wgRelevantPageName'));const name=commentUtils.getNewTopicsSubscriptionId(titleObj);$button.off('.mw-dt-topicsubscriptions').on('click.mw-dt-topicsubscriptions',(e)=>{e.preventDefault();const subscribedState=getSubscribedStateFromElement($button[0]);
changeSubscription(titleObj.getPrefixedText(),name,!subscribedState,true).then((result)=>{updateSubscribeLink($button[0],result.subscribe?STATE_SUBSCRIBED:STATE_UNSUBSCRIBED,$label[0],true);$icon.toggleClass('minerva-icon--bell',!!result.subscribe);$icon.toggleClass('minerva-icon--bellOutline',!result.subscribe);});});}function initSpecialTopicSubscriptions(){api=require('./controller.js').getApi();$('.ext-discussiontools-special-unsubscribe-button').each((i,element)=>{const button=OO.ui.infuse(element);const data=button.getData();let subscribedState=STATE_SUBSCRIBED;button.on('click',(ev)=>{button.setDisabled(true);mw.hook('ext.wikimediaEvents.webUIClick.event').fire(ev);changeSubscription(data.title,data.item,!subscribedState).then((result)=>{button.setLabel(mw.msg(result.subscribe?'discussiontools-topicsubscription-button-unsubscribe-label':'discussiontools-topicsubscription-button-subscribe-label'));button.clearFlags();button.setFlags([result.subscribe?'destructive':'progressive']);
subscribedState=result.subscribe?STATE_SUBSCRIBED:STATE_UNSUBSCRIBED;}).always(()=>{button.setDisabled(false);});});});}function maybeShowFirstTimeAutoTopicSubPopup(){const lastHighlightComment=require('./highlighter.js').getLastHighlightedPublishedComment();if(!lastHighlightComment||seenAutoTopicSubPopup){return;}seenAutoTopicSubPopup=true;mw.user.options.set('discussiontools-seenautotopicsubpopup','1');api.saveOption('discussiontools-seenautotopicsubpopup','1');let popup=null;function close(){popup.$element.removeClass('ext-discussiontools-autotopicsubpopup-fadein');setTimeout(()=>{popup.$element.detach();},1000);}const $popupContent=$('<div>').append($('<strong>').addClass('ext-discussiontools-autotopicsubpopup-title').text(mw.msg('discussiontools-autotopicsubpopup-title')),$('<div>').addClass('ext-discussiontools-autotopicsubpopup-image'),$('<div>').addClass('ext-discussiontools-autotopicsubpopup-body').text(mw.msg('discussiontools-autotopicsubpopup-body')),$('<div>').addClass('ext-discussiontools-autotopicsubpopup-actions')
.append(new OO.ui.ButtonWidget({label:mw.msg('discussiontools-autotopicsubpopup-dismiss'),flags:['primary','progressive']}).on('click',close).$element).append(new OO.ui.ButtonWidget({label:mw.msg('discussiontools-autotopicsubpopup-preferences'),href:mw.util.getUrl('Special:Preferences#mw-prefsection-editing-discussion'),flags:['progressive'],framed:false}).$element));popup=new OO.ui.PopupWidget({width:'',height:'',anchor:false,autoClose:false,head:false,padded:false,classes:['ext-discussiontools-autotopicsubpopup'],hideWhenOutOfView:false,$content:$popupContent.contents()});lastHighlightComment.getRange().insertNode(popup.$element[0]);if(popup.$element.closest('h1, h2, h3, h4, h5, h6').length){popup.$element.closest('h1, h2, h3, h4, h5, h6').after(popup.$element);}if(popup.$element.closest('.mw-heading').length){popup.$element.closest('.mw-heading').after(popup.$element);}popup.toggle(true).toggleClipping(false).togglePositioning(false);if(popup.$popup[0].getBoundingClientRect().top<$('.mw-body')[0].getBoundingClientRect().top){
popup.$popup.addClass('ext-discussiontools-autotopicsubpopup-overlap');}OO.ui.Element.static.scrollIntoView(popup.$popup[0],{padding:{top:OO.ui.isMobile()?10:60,bottom:OO.ui.isMobile()?85:10},scrollContainer:OO.ui.Element.static.getRootScrollableElement(popup.$popup[0])});popup.$element.addClass('ext-discussiontools-autotopicsubpopup-fadein');}function updateSubscriptionStates($container,headingsToUpdate){const topicsToCheck=[];const pendingLinks=[];const pendingButtons=[];for(const headingName in headingsToUpdate){const link=linksByName[headingName];const button=buttonsByName[headingName];const subscribedState=getSubscribedStateFromElement(link||button.$element[0]);if(subscribedState===STATE_AUTOSUBSCRIBED){maybeShowFirstTimeAutoTopicSubPopup();}else if(subscribedState===null||subscribedState===STATE_UNSUBSCRIBED){topicsToCheck.push(headingName);if(link){pendingLinks.push(link);}if(button){pendingButtons.push(button);}}}$(pendingLinks).addClass('ext-discussiontools-init-section-subscribe-link-pending');
pendingButtons.forEach((b)=>{b.setDisabled(true);});if(!topicsToCheck.length){return;}api.get({action:'discussiontoolsgetsubscriptions',commentname:topicsToCheck}).then((response)=>{if($.isEmptyObject(response.subscriptions)){const wait=$.Deferred();setTimeout(wait.resolve,5000);return wait.then(()=>api.get({action:'discussiontoolsgetsubscriptions',commentname:topicsToCheck}));}return response;}).then((response)=>{for(const subItemName in response.subscriptions){const state=response.subscriptions[subItemName];if(linksByName[subItemName]){updateSubscribeLink(linksByName[subItemName],state);}if(buttonsByName[subItemName]){updateSubscribeButton(buttonsByName[subItemName],state);}if(state===STATE_AUTOSUBSCRIBED){maybeShowFirstTimeAutoTopicSubPopup();}}}).always(()=>{$(pendingLinks).removeClass('ext-discussiontools-init-section-subscribe-link-pending');pendingButtons.forEach((b)=>{b.setDisabled(false);});});}function updateAutoSubscriptionStates($container,threadItemSet,threadItemId){const recentComments=[];
const headingsToUpdate={};if(threadItemId){if(threadItemId===commentUtils.NEW_TOPIC_COMMENT_ID){recentComments.push(threadItemSet.threadItems[threadItemSet.threadItems.length-1]);}else{recentComments.push(threadItemSet.threadItemsById[threadItemId]);}}else if(mw.config.get('wgPostEdit')){for(let i=0;i<threadItemSet.threadItems.length;i++){if(threadItemSet.threadItems[i]instanceof CommentItem&&threadItemSet.threadItems[i].author===mw.user.getName()&&threadItemSet.threadItems[i].timestamp.isSameOrAfter(moment().subtract(1,'minute'),'minute')){recentComments.push(threadItemSet.threadItems[i]);}}}recentComments.forEach((recentComment)=>{const headingItem=recentComment.getSubscribableHeading();if(headingItem){headingsToUpdate[headingItem.name]=headingItem;}});updateSubscriptionStates($container,headingsToUpdate);}module.exports={initTopicSubscriptions:initTopicSubscriptions,initSpecialTopicSubscriptions:initSpecialTopicSubscriptions,initNewTopicsSubscription:initNewTopicsSubscription,
updateAutoSubscriptionStates:updateAutoSubscriptionStates};
},"mobile.js":function(require,module,exports){let newTopicButton,ledeSectionDialog;let viewportScrollContainer=null;let wasKeyboardOpen=null;let initialClientHeight=null;const isIos=/ipad|iphone|ipod/i.test(navigator.userAgent);$(document.body).toggleClass('ext-discussiontools-init-ios',isIos);function onViewportChange(){let isKeyboardOpen;if(isIos){isKeyboardOpen=visualViewport.height<viewportScrollContainer.clientHeight;}else{isKeyboardOpen=viewportScrollContainer.clientHeight<initialClientHeight;}if(isKeyboardOpen!==wasKeyboardOpen){$(document.body).toggleClass('ext-discussiontools-init-virtual-keyboard-open',isKeyboardOpen);}wasKeyboardOpen=isKeyboardOpen;}function init($container){$container.find('.section-heading').attr('data-event-name','talkpage.section');if(!viewportScrollContainer&&window.visualViewport){viewportScrollContainer=OO.ui.Element.static.getClosestScrollableContainer(document.body);initialClientHeight=viewportScrollContainer.clientHeight;const onViewportChangeThrottled=OO.ui.throttle(onViewportChange,100);$(visualViewport).on('resize',onViewportChangeThrottled);
}const $ledeContent=$container.find('.mf-section-0, [data-mw-section-id="0"]').children(':not( .ext-discussiontools-emptystate )').add($container.find('.mw-talkpageheader'));const $ledeButton=$container.find('.ext-discussiontools-init-lede-button');if($ledeButton.length){const windowManager=OO.ui.getWindowManager();if(!ledeSectionDialog){const LedeSectionDialog=require('./LedeSectionDialog.js');ledeSectionDialog=new LedeSectionDialog();windowManager.addWindows([ledeSectionDialog]);}OO.ui.infuse($ledeButton).on('click',()=>{mw.loader.using('oojs-ui-windows').then(()=>{windowManager.openWindow('ledeSection',{$content:$ledeContent});mw.track('webuiactions_log.click','lede-button');});});mw.track('webuiactions_log.show','lede-button');}const $newTopicWrapper=$('.ext-discussiontools-init-new-topic');if(!newTopicButton&&$('.ext-discussiontools-init-new-topic-button').length){newTopicButton=OO.ui.infuse($('.ext-discussiontools-init-new-topic-button'));newTopicButton.$element.attr('data-event-name','talkpage.add-topic');
const $scrollContainer=$(OO.ui.Element.static.getClosestScrollableContainer(document.body));const $scrollListener=$scrollContainer.is('html, body')?$(OO.ui.Element.static.getWindow($scrollContainer[0])):$scrollContainer;let lastScrollTop=$scrollContainer.scrollTop();let wasScrollDown=null;const $body=$(document.body);$scrollListener.on('scroll',OO.ui.throttle(()=>{const scrollTop=Math.max($scrollContainer.scrollTop(),0);const isScrollDown=scrollTop>lastScrollTop;if(isScrollDown!==wasScrollDown){if(!isScrollDown){$newTopicWrapper.css('transition','none');}$body.removeClass(['ext-discussiontools-init-new-topic-closed','ext-discussiontools-init-new-topic-opened']);requestAnimationFrame(()=>{$newTopicWrapper.css('transition','');$body.addClass(isScrollDown?'ext-discussiontools-init-new-topic-close':'ext-discussiontools-init-new-topic-open');setTimeout(()=>{$body.removeClass(['ext-discussiontools-init-new-topic-close','ext-discussiontools-init-new-topic-open']);$body.addClass(isScrollDown?'ext-discussiontools-init-new-topic-closed':'ext-discussiontools-init-new-topic-opened');
},250);});}lastScrollTop=scrollTop;wasScrollDown=isScrollDown;},200));const observer=new IntersectionObserver(((entries)=>{$newTopicWrapper.toggleClass('ext-discussiontools-init-new-topic-pinned',entries[0].intersectionRatio===1);}),{threshold:[1]});observer.observe($newTopicWrapper[0]);}if($('.catlinks').filter('[data-mw-interface]').length||$('#page-secondary-actions').children().length||$('.return-link').length){$newTopicWrapper.addClass('ext-discussiontools-init-button-notFlush');}}mw.hook('discussionToolsOverflowMenuOnChoose').add((id,menuItem,threadItem)=>{if(id==='edit'){$(threadItem.getRange().commonAncestorContainer).closest('.ext-discussiontools-init-section').find('.mw-editsection > a').trigger('click');}});function closeLedeSectionDialog(){if(ledeSectionDialog&&ledeSectionDialog.isOpened()){return ledeSectionDialog.close().closed;}return $.Deferred().resolve();}module.exports={init:init,closeLedeSectionDialog:closeLedeSectionDialog};
}}},{"css":[".ext-discussiontools-ui-newTopic{clear:both}.ext-discussiontools-ui-newTopic.oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{margin-top:2em}.ext-discussiontools-ui-newTopic .ext-discussiontools-ui-newTopic-notices{max-height:75vh;overflow:auto}.ext-discussiontools-ui-newTopic .ext-discussiontools-ui-newTopic-notices + .oo-ui-fieldLayout{margin-top:0}h2.ext-discussiontools-ui-newTopic-sectionTitle{max-width:none;padding:0;border:0;margin-top:4px}h2.ext-discussiontools-ui-newTopic-sectionTitle .oo-ui-inputWidget-input{line-height:3}.ext-discussiontools-ui-newTopic .ext-discussiontools-ui-replyWidget{margin-bottom:0}.ext-discussiontools-ui-newTopic .oo-ui-fieldLayout-messages{max-width:none}        .ext-discussiontools-init-highlight{position:absolute;pointer-events:none;opacity:0;mix-blend-mode:darken; transform:translateZ(0)}@media screen{html.skin-theme-clientpref-night .ext-discussiontools-init-highlight{mix-blend-mode:lighten}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .ext-discussiontools-init-highlight{mix-blend-mode:lighten}}.ext-discussiontools-init-highlight-fadein{opacity:1}.ext-discussiontools-init-highlight-fadeout{opacity:0;transition:opacity 250ms}.ext-discussiontools-init-publishedcomment{background-color:var(--background-color-success-subtle,#dff2eb)}.ext-discussiontools-init-targetcomment{background-color:var(--background-color-progressive-subtle,#e8eeff)}"]},{"cancel":"\ucde8\uc18c","discussiontools-autotopicsubpopup-body":"\ub204\uad70\uac00\uac00 \uc774 \ud1a0\ub860\uc5d0 \uc0c8\ub85c\uc6b4 \uc758\uacac\uc744 \ub0a8\uae30\uba74, {{GENDER:|\ub2f9\uc2e0}}\uc740 \uc54c\ub9bc\uc744 \ubc1b\uac8c \ub429\ub2c8\ub2e4. \ud658\uacbd \uc124\uc815\uc5d0\uc11c \uc54c\ub9bc \uc124\uc815\uc744 \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.","discussiontools-autotopicsubpopup-dismiss":"\uc54c\uaca0\uc2b5\ub2c8\ub2e4","discussiontools-autotopicsubpopup-preferences":"\ud658\uacbd \uc124\uc815 \ud3b8\uc9d1","discussiontools-autotopicsubpopup-title":"\uad6c\ub3c5\ud558\uc600\uc2b5\ub2c8\ub2e4","discussiontools-error-comment-conflict":"\ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 {{GENDER:|\ub2f9\uc2e0}}\uacfc \ub3d9\uc2dc\uc5d0 \uc758\uacac\uc744 \ub0a8\uacbc\uae30 \ub54c\ubb38\uc5d0 \ub2f9\uc2e0\uc758 \uc758\uacac\uc774 \uc800\uc7a5\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uac70\ub098, \ud398\uc774\uc9c0\ub97c \uc0c8\ub85c\uace0\uce68\ud558\uc5ec \uc0c8 \uc758\uacac\uc744 \ud655\uc778\ud574 \uc8fc\uc138\uc694.","discussiontools-error-comment-disappeared":"{{GENDER:|\ub2f5\ubcc0\ud560}} \uc758\uacac\uc744 \ubb38\uc11c\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \uc758\uacac\uc774 \uc0ad\uc81c\ub418\uc5c8\uac70\ub098 \ub2e4\ub978 \ubb38\uc11c\ub85c \uc62e\uaca8\uc84c\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.","discussiontools-error-comment-disappeared-reload":"\ubb38\uc11c\ub97c {{GENDER:|\uc0c8\ub85c \uace0\uce68}}\ud55c \ub2e4\uc74c \ub2e4\uc2dc \uc2dc\ub3c4\ud574 \uc8fc\uc2ed\uc2dc\uc624.","discussiontools-error-comment-is-transcluded":"\uc774 \uc758\uacac\uc5d0 \ub2f5\ubcc0\ud558\ub294 \ub370\uc5d0 \"{{int:discussiontools-replylink}}\" \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2f5\ubcc0\uc744 \ud558\uace0\uc790 \ud558\uc2e0\ub2e4\uba74 \"$1\"\uc744 \ud074\ub9ad\ud558\uc5ec \uc804\uccb4 \uc704\ud0a4\ud14d\uc2a4\ud2b8 \ud3b8\uc9d1\uae30\ub97c {{GENDER:|\uc774\uc6a9\ud574}} \uc8fc\uc138\uc694.","discussiontools-error-comment-is-transcluded-title":"\uc774 \uc758\uacac\uc5d0 \ub2f5\ubcc0\ud558\ub294 \ub370\uc5d0 \"{{int:discussiontools-replylink}}\" \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc758\uacac\uc774 \ub2e4\ub978 \ubb38\uc11c\uc5d0\uc11c \ub85c\ub4dc\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub2f5\ubcc0\uc744 \ud558\ub824\uba74 [[$1]] \ubb38\uc11c\ub85c {{GENDER:|\uc774\ub3d9\ud574}} \uc8fc\uc138\uc694.","discussiontools-error-lint":"\uc704\ud0a4\ud14d\uc2a4\ud2b8\uc5d0 \uc624\ub958\uac00 \uc874\uc7ac\ud558\uc5ec \uc774 \ubb38\uc11c\uc5d0 \ub2f5\ubcc0\uc744 \ub0a8\uae38 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 {{GENDER:|\uc624\ub958}}\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\ub824\uba74 [$1 \ubbf8\ub514\uc5b4\uc704\ud0a4 \uc124\uba85\ubb38\uc11c]\ub97c \uc77d\uc5b4\ubcf4\uc2dc\uac70\ub098, [$2 \uc774\uacf3]\uc5d0 \ub3c4\uc6c0\uc744 \uc694\uccad\ud558\uc2dc\uac70\ub098, \ub610\ub294 [$3 \uc804\uccb4 \ubb38\uc11c \ud3b8\uc9d1\uae30]\ub97c \uc5f4\uc5b4 \uc704\ud0a4\ud14d\uc2a4\ud2b8 \uc624\ub958\ub97c \uace0\uccd0 \uc8fc\uc138\uc694.","discussiontools-error-noswitchtove":"\uc791\uc131\ud558\uc2e0 {{GENDER:|\uc758\uacac}}\uc5d0\uc11c <b>$1<\/b> \ucf54\ub4dc\uac00 \uac80\ucd9c\ub418\uc5b4 \uc2dc\uac01 \ubaa8\ub4dc\ub85c \uc804\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \uc0ac\ud56d\uc740 [https:\/\/www.mediawiki.org\/wiki\/Special:MyLanguage\/Help:DiscussionTools\/Reply_tool_visual_mode_limitations \ubbf8\ub514\uc5b4\uc704\ud0a4 \ud648\ud398\uc774\uc9c0]\uc5d0\uc11c \ud655\uc778\ud574 \uc8fc\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.","discussiontools-error-noswitchtove-extension":"\ud655\uc7a5\uae30\ub2a5 \ub610\ub294 \uac01\uc8fc \uad6c\ubb38","discussiontools-error-noswitchtove-table":"\ud45c \ubb38\ubc95","discussiontools-error-noswitchtove-template":"\ud2c0 \ubb38\ubc95","discussiontools-error-noswitchtove-title":"\uc2dc\uac01 \ubaa8\ub4dc \ube44\ud65c\uc131\ud654\ub428","discussiontools-ledesection-title":"\uc774 \ud1a0\ub860 \ubb38\uc11c \uc815\ubcf4","discussiontools-newtopic-missing-title":"\ud1a0\ub860 \uc8fc\uc81c\uc5d0 \ub300\ud55c \uc81c\ubaa9\uc744 \uc815\ud574\uc8fc\uc138\uc694.","discussiontools-newtopic-missing-title-prompt":"\ud1a0\ub860 \uc8fc\uc81c\uc5d0 \ub300\ud55c \uc81c\ubaa9\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc81c\ubaa9 \uc5c6\uc774 \uc8fc\uc81c\ub97c \ucd94\uac00\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?","discussiontools-newtopic-placeholder-title":"\uc8fc\uc81c","discussiontools-newtopicssubscription-button-subscribe-label":"\uad6c\ub3c5","discussiontools-newtopicssubscription-button-subscribe-tooltip":"\uc774 \ubb38\uc11c\uc5d0\uc11c \uc0c8 \uc8fc\uc81c\uac00 \uc2dc\uc791\ub420 \ub54c \uc54c\ub9bc\uc744 \ubc1b\uae30 \uc704\ud574 \uad6c\ub3c5\ud569\ub2c8\ub2e4.","discussiontools-newtopicssubscription-button-unsubscribe-label":"\uad6c\ub3c5 \ud574\uc9c0","discussiontools-newtopicssubscription-button-unsubscribe-tooltip":"\uc774 \ubb38\uc11c\uc5d0\uc11c \uc0c8 \uc8fc\uc81c\uac00 \uc2dc\uc791\ub420 \ub54c \uc54c\ub9bc \ubc1b\uae30\ub97c \uc911\ub2e8\ud558\uae30 \uc704\ud574 \uad6c\ub3c5\uc744 \ud574\uc9c0\ud569\ub2c8\ub2e4.","discussiontools-newtopicssubscription-notify-subscribed-body":"\uc774 \ubb38\uc11c\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \uc8fc\uc81c\uac00 \uc2dc\uc791\ub420 \ub54c \uc54c\ub9bc\uc744 \ubc1b\uac8c \ub429\ub2c8\ub2e4.","discussiontools-newtopicssubscription-notify-subscribed-title":"\uad6c\ub3c5\ud558\uc600\uc2b5\ub2c8\ub2e4!","discussiontools-newtopicssubscription-notify-unsubscribed-body":"\uc774 \ubb38\uc11c\uc5d0 \uc0c8\ub85c\uc6b4 \uc8fc\uc81c\uac00 \uc2dc\uc791\ub420 \ub54c \uc54c\ub9bc\uc744 \ub354 \uc774\uc0c1 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.","discussiontools-newtopicssubscription-notify-unsubscribed-title":"\uad6c\ub3c5\uc744 \ud574\uc9c0\ud588\uc2b5\ub2c8\ub2e4.","discussiontools-pagetitle-newtopic":"$1\uc5d0\uc11c \uc0c8 \uc8fc\uc81c \uc2dc\uc791","discussiontools-pagetitle-reply":"$1\uc5d0 \ub2f5\ubcc0","discussiontools-permalink-button":"\ub9c1\ud06c \ubcf5\uc0ac","discussiontools-permalink-comment-copied":"\ub313\uae00\uc758 \ub9c1\ud06c\uac00 \ud074\ub9bd\ubcf4\ub4dc\uc5d0 \ubcf5\uc0ac\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","discussiontools-postedit-confirmation-published":"\ub313\uae00\uc774 \uac8c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","discussiontools-postedit-confirmation-topicadded":"\uc8fc\uc81c\uac00 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","discussiontools-replylink":"{{GENDER:|\ub2f5\ubcc0}}","discussiontools-replywidget-loading":"\ubd88\ub7ec\uc624\ub294 \uc911...","discussiontools-replywidget-watchthis":"\uc774 \ubb38\uc11c\ub97c \ub0b4 [[Special:Watchlist|\uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d]]\uc5d0 \ucd94\uac00","discussiontools-target-comment-found-moved":"\uc774 \uc758\uacac\uc740 \uc774 \ubb38\uc11c\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc5c6\uc73c\ub098 \ub2e4\uc74c {{PLURAL:$1|\ubb38\uc11c}}\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4:","discussiontools-target-comment-missing":"\uc774 \ub313\uae00\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc0ad\uc81c\ub418\uac70\ub098 \uc774\ub3d9\ub418\uc5c8\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.","discussiontools-target-comments-missing":"\uc0c8 \ub313\uae00\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc0ad\uc81c\ub418\uac70\ub098 \uc774\ub3d9\ub418\uc5c8\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.","discussiontools-target-heading-found-moved":"\uc774 \uc8fc\uc81c\ub294 \uc774 \ubb38\uc11c\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc5c6\uc73c\ub098 \ub2e4\uc74c {{PLURAL:$1|\ubb38\uc11c}}\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4:","discussiontools-target-heading-missing":"\uc774 \uc8fc\uc81c\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc0ad\uc81c\ub418\uac70\ub098 \uc774\ub3d9\ub418\uc5c8\uac70\ub098 \uc774\ub984\uc774 \ubcc0\uacbd\ub418\uc5c8\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.","discussiontools-topicsubscription-button-subscribe":"\uad6c\ub3c5","discussiontools-topicsubscription-button-subscribe-label":"\uad6c\ub3c5","discussiontools-topicsubscription-button-subscribe-tooltip":"\uc0c8 \uc758\uacac\uc5d0 \uad00\ud55c \uc54c\ub9bc\uc744 \ubc1b\uae30 \uc704\ud574 {{GENDER:|\uad6c\ub3c5\ud569\ub2c8\ub2e4}}.","discussiontools-topicsubscription-button-unsubscribe":"\uad6c\ub3c5 \ud574\uc9c0","discussiontools-topicsubscription-button-unsubscribe-label":"\uad6c\ub3c5 \ud574\uc9c0","discussiontools-topicsubscription-button-unsubscribe-tooltip":"\uc54c\ub9bc \ubc1b\uae30\ub97c \uc911\ub2e8\ud558\uae30 \uc704\ud574 \uad6c\ub3c5\uc744 {{GENDER:|\ud574\uc9c0\ud569\ub2c8\ub2e4}}.","discussiontools-topicsubscription-notify-subscribed-body":"\uc774 \uc8fc\uc81c\uc758 \uc0c8 \ub313\uae00\uc5d0 \uad00\ud55c \uc54c\ub9bc\uc744 \ubc1b\uac8c \ub429\ub2c8\ub2e4.","discussiontools-topicsubscription-notify-subscribed-title":"\uad6c\ub3c5\ud558\uc600\uc2b5\ub2c8\ub2e4!","discussiontools-topicsubscription-notify-unsubscribed-body":"\uc774 \uc8fc\uc81c\uc758 \uc0c8 \ub313\uae00\uc5d0 \uad00\ud55c \uc54c\ub9bc\uc744 \ub354 \uc774\uc0c1 \ubc1b\uc9c0 \uc54a\uac8c \ub429\ub2c8\ub2e4.","discussiontools-topicsubscription-notify-unsubscribed-title":"\uad6c\ub3c5\uc744 \ud574\uc9c0\ud588\uc2b5\ub2c8\ub2e4.","pagetitle":"$1 - {{SITENAME}}, \uc6b0\ub9ac \ubaa8\ub450\uc758 \ubc31\uacfc\uc0ac\uc804","thanks-button-thank":"{{GENDER:$1|{{GENDER:$2|\uac10\uc0ac \ud45c\ud604}}}}","thanks-button-thanked":"{{GENDER:$1|{{GENDER:$2|\uac10\uc0ac\ub97c \ud45c\ud588\uc2b5\ub2c8\ub2e4}}}}","thanks-confirmation2":"\uac10\uc0ac\ub97c \uacf5\uac1c\uc801\uc73c\ub85c {{GENDER:$1|\ud45c\ud604\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c}}?","thanks-thanked-notice":"{{GENDER:$3|\ub0b4\uac00}} {{GENDER:$2|$1}}\ub2d8\uaed8 \uac10\uc0ac\ub97c \ud45c\ud588\uc2b5\ub2c8\ub2e4."}];});
mw.loader.impl(function(){return["ext.discussionTools.minervaicons@1sjyn",null,{"css":[".minerva-icon--bell{background-image:url(https://ko.wikipedia.org/w/load.php?modules=ext.discussionTools.minervaicons\u0026image=bell\u0026format=original\u0026lang=ko\u0026skin=minerva\u0026version=1o051)}.oo-ui-image-invert.oo-ui-icon-bell,.mw-ui-icon-bell-invert:before{background-image:url(https://ko.wikipedia.org/w/load.php?modules=ext.discussionTools.minervaicons\u0026image=bell\u0026variant=invert\u0026format=original\u0026lang=ko\u0026skin=minerva\u0026version=1o051)}.oo-ui-image-progressive.oo-ui-icon-bell,.mw-ui-icon-bell-progressive:before{background-image:url(https://ko.wikipedia.org/w/load.php?modules=ext.discussionTools.minervaicons\u0026image=bell\u0026variant=progressive\u0026format=original\u0026lang=ko\u0026skin=minerva\u0026version=1o051)}"]}];});
mw.loader.impl(function(){return["ext.echo.centralauth@19vyg",{"main":"ext.echo.centralauth.js","files":{"ext.echo.centralauth.js":function(require,module,exports){mw.hook('centralauth-p-personal-reset').add(()=>{mw.loader.using(['ext.echo.init','ext.echo.styles.badge','oojs-ui.styles.icons-alerts','ext.echo.styles.alert',]);});
}}}];});
mw.loader.impl(function(){return["ext.eventLogging@1iv3w",{"main":"ext.eventLogging/subscriber.js","files":{"ext.eventLogging/subscriber.js":function(require,module,exports){'use strict';mw.eventLog=require('./core.js');mw.eventLog.Schema=require('./Schema.js');function titleCase(word){return word[0].toUpperCase()+word.slice(1);}function handleTrackedEvent(topic,event){const schema=titleCase(topic.slice(topic.indexOf('.')+1));mw.eventLog.logEvent(schema,event);}function init(){mw.trackSubscribe('event.',handleTrackedEvent);}if(document.readyState==='complete'){mw.requestIdleCallback(init);}else{$(window).one('load',init);}
},"ext.eventLogging/core.js":function(require,module,exports){'use strict';let config=require('./data.json');const BackgroundQueue=require('./BackgroundQueue.js');const queue=(new BackgroundQueue(config.queueLingerSeconds));const debugMode=Number(mw.user.options.get('eventlogging-display-console'))===1;function makeLegacyStreamName(schemaName){return'eventlogging_'+schemaName;}const core={maxUrlSize:2000,getRevisionOrSchemaUri:function(schemaName){return config.schemasInfo[schemaName]||-1;},prepare:function(schemaName,eventData){const event={event:eventData,schema:schemaName,webHost:mw.config.get('wgServerName'),wiki:mw.config.get('wgDBname')},revisionOrSchemaUri=core.getRevisionOrSchemaUri(schemaName);if(typeof revisionOrSchemaUri==='string'){event.$schema=revisionOrSchemaUri;event.client_dt=new Date().toISOString();}else{event.revision=revisionOrSchemaUri;}return event;},makeBeaconUrl:function(data){const queryString=encodeURIComponent(JSON.stringify(data));return config.baseUrl+'?'+queryString+';';},checkUrlSize:function(schemaName,url){let message;
if(url.length>core.maxUrlSize){message='Url exceeds maximum length';core.logFailure(schemaName,'urlSize');mw.track('eventlogging.error',mw.format('[$1] $2',schemaName,message));return message;}},sendBeacon:function(url){if(navigator.sendBeacon){try{navigator.sendBeacon(url);}catch(e){}}else{document.createElement('img').src=url;}},enqueue:queue.add,logEvent:function(schemaName,eventData){const event=core.prepare(schemaName,eventData);const deferred=$.Deferred();if(event.$schema){core.submit(makeLegacyStreamName(schemaName),event);deferred.resolveWith(event,[event]);}else{const url=core.makeBeaconUrl(event);const sizeError=core.checkUrlSize(schemaName,url);if(!sizeError){if(config.baseUrl||debugMode){core.enqueue(()=>{core.sendBeacon(url);});}deferred.resolveWith(event,[event]);}else{deferred.rejectWith(event,[event,sizeError]);}}return deferred.promise();},logFailure:function(schemaName,errorCode){mw.track('counter.eventlogging.client_errors.'+schemaName+'.'+errorCode);mw.track('stats.mediawiki_eventlogging_client_errors_total',{schemaName,errorCode});
},randomTokenMatch:function(populationSize,explicitToken){const token=explicitToken||mw.user.generateRandomSessionId(),rand=parseInt(token.slice(0,8),16);return rand%populationSize===0;},sessionInSample:function(populationSize){return this.randomTokenMatch(populationSize,mw.user.sessionId());},pageviewInSample:function(populationSize){return this.randomTokenMatch(populationSize,mw.user.getPageviewToken());}};const EventSubmitter=require('./EventSubmitter.js');const metricsPlatform=require('ext.eventLogging.metricsPlatform');function initMetricsClient(){const eventSubmitter=new EventSubmitter(config.serviceUri,core.enqueue.bind(core),debugMode);const metricsClient=metricsPlatform.newMetricsClient(config.streamConfigs,eventSubmitter);core.submit=metricsClient.submit.bind(metricsClient);core.submitInteraction=metricsClient.submitInteraction.bind(metricsClient);}initMetricsClient();core.storage={get:function(name){return mw.cookie.get('el-'+name);},set:function(name,value){mw.cookie.set('el-'+name,value);
},unset:function(name){mw.cookie.set('el-'+name,null);}};core.id=(function(){const UINT32_MAX=4294967295;let pageviewId=null,sessionId=null;mw.trackSubscribe('sessionReset',()=>{core.id.resetSessionId();});return{resetPageviewId:function(){pageviewId=null;},resetSessionId:function(){sessionId=null;core.storage.unset('sessionId');},generateId:function(){return mw.user.generateRandomSessionId();},normalizeId:function(id){return parseInt(id.slice(0,8),16)/UINT32_MAX;},getPageviewId:function(){if(!pageviewId){pageviewId=core.id.generateId();}return pageviewId;},getSessionId:function(){if(!sessionId){sessionId=core.storage.get('sessionId');if(!sessionId){sessionId=core.id.generateId();core.storage.set('sessionId',sessionId);}}return sessionId;}};}());function getUserEditCountBucket(editCount){if(editCount===null){return null;}if(editCount===0){return'0 edits';}if(editCount<5){return'1-4 edits';}if(editCount<100){return'5-99 edits';}if(editCount<1000){return'100-999 edits';}return'1000+ edits';
}mw.config.set('wgUserEditCountBucket',getUserEditCountBucket(mw.config.get('wgUserEditCount')));if(window.QUnit){core.setOptionsForTest=function(opts){const originalOptions=config;config=opts;initMetricsClient();return originalOptions;};core.BackgroundQueue=BackgroundQueue;core.makeLegacyStreamName=makeLegacyStreamName;core.getUserEditCountBucket=getUserEditCountBucket;core.getQueue=function(){return queue;};}module.exports=core;
},"ext.eventLogging/Schema.js":function(require,module,exports){'use strict';function Schema(name,samplingRate,defaults){if(!name){throw new Error('name is required');}this.name=name;this.populationSize=samplingRate!==undefined?(1/samplingRate):1;this.defaults=defaults||{};}Schema.prototype.log=function(data,samplingRate){const pop=samplingRate!==undefined?(1/samplingRate):this.populationSize;if(mw.eventLog.pageviewInSample(pop)){mw.track('event.'+this.name,Object.assign({},this.defaults,data));}};module.exports=Schema;
},"ext.eventLogging/BackgroundQueue.js":function(require,module,exports){'use strict';module.exports=function BackgroundQueue(intervalSecs){let timer=null;const pendingCallbacks=[];let discardingPage;const queue=this;intervalSecs=intervalSecs||30;queue.add=function(fn){if(discardingPage){fn();return;}pendingCallbacks.push(fn);if(!timer){timer=setTimeout(queue.flush,intervalSecs*1000);}};queue.flush=function(){if(timer){clearTimeout(timer);timer=null;}while(pendingCallbacks.length){pendingCallbacks.shift()();}};window.addEventListener('pagehide',()=>{discardingPage=true;queue.flush();});window.addEventListener('pageshow',()=>{discardingPage=false;});document.addEventListener('visibilitychange',()=>{if(document.hidden){queue.flush();}});if(window.QUnit){queue.getTimer=function(){return timer;};queue.getCallbacks=function(){return pendingCallbacks;};}};
},"ext.eventLogging/data.json":{"baseUrl":"https://ko.wikipedia.org/beacon/event","schemasInfo":{"CentralNoticeBannerHistory":"/analytics/legacy/centralnoticebannerhistory/1.0.0","CentralNoticeImpression":"/analytics/legacy/centralnoticeimpression/1.0.0","VirtualPageView":"/analytics/legacy/virtualpageview/1.0.0","VisualEditorTemplateDialogUse":"/analytics/legacy/visualeditortemplatedialoguse/1.0.0","TemplateWizard":"/analytics/legacy/templatewizard/1.2.0","ServerSideAccountCreation":"/analytics/legacy/serversideaccountcreation/1.3.0","EditAttemptStep":"/analytics/legacy/editattemptstep/2.2.0","VisualEditorFeatureUse":"/analytics/legacy/visualeditorfeatureuse/1.3.0","SearchSatisfaction":"/analytics/legacy/searchsatisfaction/1.5.0","WMDEBannerEvents":"/analytics/legacy/wmdebannerevents/1.0.0","WMDEBannerInteractions":"/analytics/legacy/wmdebannerinteractions/1.0.0","WMDEBannerSizeIssue":"/analytics/legacy/wmdebannersizeissue/1.0.0","WikidataCompletionSearchClicks":"/analytics/legacy/wikidatacompletionsearchclicks/1.0.0",
"Test":"/analytics/legacy/test/1.2.0","UniversalLanguageSelector":"/analytics/legacy/universallanguageselector/1.4.0","CpuBenchmark":"/analytics/legacy/cpubenchmark/1.1.0","FirstInputDelay":"/analytics/legacy/firstinputdelay/1.0.0","NavigationTiming":"/analytics/legacy/navigationtiming/1.6.0","SaveTiming":"/analytics/legacy/savetiming/1.0.0","ContentTranslationAbuseFilter":"/analytics/legacy/contenttranslationabusefilter/1.0.0","QuickSurveysResponses":"/analytics/legacy/quicksurveysresponses/1.1.0","QuickSurveyInitiation":"/analytics/legacy/quicksurveyinitiation/1.1.0","HelpPanel":"/analytics/legacy/helppanel/1.4.1","HomepageModule":"/analytics/legacy/homepagemodule/1.6.7","NewcomerTask":"/analytics/legacy/newcomertask/1.2.0","HomepageVisit":"/analytics/legacy/homepagevisit/1.6.2"},"serviceUri":"https://intake-analytics.wikimedia.org/v1/events?hasty=true","queueLingerSeconds":30,"streamConfigs":{"eventlogging_CentralNoticeBannerHistory":{"producers":{"eventgate":{
"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_CentralNoticeImpression":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_ContentTranslationAbuseFilter":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_CodeMirrorUsage":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_CpuBenchmark":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_EditAttemptStep":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id",
"http.request_headers.user-agent":"user-agent"}}}},"eventlogging_HelpPanel":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_HomepageVisit":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_LandingPageImpression":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_NavigationTiming":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_NewcomerTask":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_PaintTiming":{"producers":{"eventgate":{
"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_PrefUpdate":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_QuickSurveyInitiation":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_QuickSurveysResponses":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_ReferencePreviewsBaseline":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_ReferencePreviewsCite":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id",
"http.request_headers.user-agent":"user-agent"}}}},"eventlogging_ReferencePreviewsPopups":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_SaveTiming":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_ServerSideAccountCreation":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_SpecialInvestigate":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_SearchSatisfaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_TemplateDataApi":{"producers":{
"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_TemplateDataEditor":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_TemplateWizard":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_Test":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_UniversalLanguageSelector":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_VirtualPageView":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"
}}}},"eventlogging_VisualEditorFeatureUse":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_VisualEditorTemplateDialogUse":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_WikibaseTermboxInteraction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_WikidataCompletionSearchClicks":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_WMDEBannerEvents":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_WMDEBannerInteractions":{"producers":{
"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"eventlogging_WMDEBannerSizeIssue":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.client.session_tick":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}},"sample":{"unit":"session","rate":0.1}},"mediawiki.content_translation_event":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.talk_page_edit":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.mediasearch_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{
"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.searchpreview":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.structured_task.article.link_suggestion_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.structured_task.article.image_suggestion_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.pref_diff":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.skin_diff":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"
}}}},"mediawiki.reading_depth":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.web_ui_scroll":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.welcomesurvey.interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"test.instrumentation":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"test.instrumentation.sampled":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}},"sample":{"rate":0.5,"unit":"session"}},"wd_propertysuggester.client_side_property_request":{"producers":{"eventgate":{
"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"wd_propertysuggester.server_side_property_request":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.mentor_dashboard.visit":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.mentor_dashboard.personalized_praise":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.mentor_dashboard.interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.ipinfo_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id",
"http.request_headers.user-agent":"user-agent"}}}},"mediawiki.ip_reputation.score":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.hcaptcha.edit":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}}}},"mediawiki.hcaptcha.risk_score":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}}}},"mediawiki.editgrowthconfig":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.accountcreation_block":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.editattempt_block":{"producers":{"eventgate":{
"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.maps_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}}}},"development.network.probe":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"mediawiki.web_ui_actions":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"metrics_platform_client":{"provide_values":["page_namespace_id","performer_is_logged_in","performer_session_id","performer_pageview_id","performer_edit_count_bucket","performer_groups","performer_is_bot","mediawiki_skin","mediawiki_database"]}},"sample":{"unit":"session","rate":0.2}},"mediawiki.web_ui_scroll_migrated":{"producers":{"eventgate":{
"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"metrics_platform_client":{"provide_values":["performer_is_bot","mediawiki_database","mediawiki_skin","performer_session_id","page_id","performer_is_logged_in"]}}},"mediawiki.product_metrics.checkuser_ip_auto_reveal_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"metrics_platform_client":{"provide_values":["performer_id","performer_name","performer_session_id","agent_client_platform_family"]}}},"mediawiki.product_metrics.suggested_investigations_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"mediawiki_eventbus":{"event_service_name":"eventgate-analytics-external"},"metrics_platform_client":{"provide_values":["agent_client_platform_family","mediawiki_database",
"performer_id","performer_groups","performer_name","performer_pageview_id","performer_edit_count","performer_edit_count_bucket","performer_registration_dt"]}}},"mediawiki.product_metrics.incident_reporting_system_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"mediawiki_eventbus":{"event_service_name":"eventgate-analytics-external"},"metrics_platform_client":{"provide_values":["page_id","page_title","page_namespace_id","performer_language","performer_language_variant","performer_session_id","performer_name"]}}},"mediawiki.product_metrics.wikifunctions_ui":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"metrics_platform_client":{"provide_values":["agent_client_platform_family","page_id","page_title","page_revision_id","performer_is_logged_in","performer_id","performer_name",
"performer_session_id","performer_pageview_id","performer_language","performer_language_variant","performer_edit_count","performer_edit_count_bucket","performer_groups","performer_is_bot"]}},"sample":{"unit":"pageview","rate":1}},"mediawiki.product_metrics.suggested_investigations_interaction.v2":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"metrics_platform_client":{"provide_values":["mediawiki_database"]}}},"mediawiki.product_metrics.translate_extension":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"metrics_platform_client":{"provide_values":["mediawiki_database","mediawiki_site_content_language","mediawiki_site_content_language_variant","page_content_language","agent_client_platform","agent_client_platform_family","performer_session_id","performer_name","performer_is_bot",
"performer_is_logged_in","performer_edit_count_bucket","performer_groups","performer_registration_dt","performer_is_temp","performer_language","performer_language_variant","performer_pageview_id"]}},"sample":{"unit":"pageview","rate":1}},"mediawiki.product_metrics.translation_mint_for_readers":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"metrics_platform_client":{"provide_values":["mediawiki_database","mediawiki_site_content_language","mediawiki_site_content_language_variant","page_content_language","agent_client_platform","agent_client_platform_family","performer_session_id","performer_name","performer_is_bot","performer_is_logged_in","performer_edit_count_bucket","performer_groups","performer_registration_dt","performer_is_temp","performer_language","performer_language_variant","performer_pageview_id"]}},"sample":{"unit":"pageview","rate":1}},
"mediawiki.product_metrics.translation_mint_for_readers.experiments":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false},"use_edge_uniques":true},"metrics_platform_client":{"provide_values":["mediawiki_database","mediawiki_skin","mediawiki_site_content_language","mediawiki_site_content_language_variant","page_content_language","agent_client_platform","agent_client_platform_family","performer_session_id","performer_is_logged_in","performer_is_temp","performer_language","performer_language_variant","performer_pageview_id"]}}},"mediawiki.product_metrics.growth_product_interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}}}},"mediawiki.product_metrics.ext_massdelete":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},
"metrics_platform_client":{"provide_values":["mediawiki_database","performer_session_id"]}}},"mediawiki.product_metrics.special_create_account":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"mediawiki_eventbus":{"event_service_name":"eventgate-analytics-external"},"metrics_platform_client":{"provide_values":["agent_client_platform_family","mediawiki_database","performer_language","performer_language_variant","performer_pageview_id","performer_session_id"]}}},"mediawiki.product_metrics.special_user_login":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"mediawiki_eventbus":{"event_service_name":"eventgate-analytics-external"},"metrics_platform_client":{"provide_values":["mediawiki_database"]}}},"mediawiki.product_metrics.user_info_card_interaction":{"producers":{"eventgate":{
"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"metrics_platform_client":{"provide_values":["agent_client_platform_family","page_namespace","page_namespace_id","performer_session_id","performer_edit_count_bucket","performer_groups","performer_language","performer_language_variant","performer_name","performer_registration_dt","performer_session_id","mediawiki_skin","mediawiki_database"]}}},"mediawiki.product_metrics.WatchlistClickTracker":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"metrics_platform_client":{"provide_values":["mediawiki_database","performer_name","performer_pageview_id"]}},"sample":{"unit":"pageview","rate":1}},"mediawiki.accountcreation.account_conversion":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},
"mediawiki.accountcreation.login":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}}}},"product_metrics.app_base":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"metrics_platform_client":{"provide_values":[]}}},"product_metrics.web_base":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false},"use_edge_uniques":true},"metrics_platform_client":{"provide_values":[]}}},"product_metrics.web_base_with_ip":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false,"http.request_headers.x-ja3n":"x-ja3n","http.request_headers.x-ja4h":"x-ja4h","http.request_headers.x-is-browser":"x-is-browser"},"use_edge_uniques":true}}},
"product_metrics.web_base.attribution_research":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false},"use_edge_uniques":true}}},"product_metrics.web_base.active_reader_baseline":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}}}},"wikibase.client.interaction":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":"user-agent"}},"metrics_platform_client":{"provide_values":["mediawiki_database","mediawiki_skin","performer_is_logged_in"]}}},"mediawiki.product_metrics.reading_list":{"producers":{"eventgate":{"enrich_fields_from_http_headers":{"meta.request_id":"x-request-id","http.request_headers.user-agent":false}},"metrics_platform_client":{"provide_values":["mediawiki_database","mediawiki_skin","page_content_language","page_namespace_id",
"performer_edit_count_bucket","performer_is_bot","performer_is_logged_in","performer_is_temp","performer_session_id"]}}}}},"ext.eventLogging/EventSubmitter.js":function(require,module,exports){function EventSubmitter(eventGateUri,enqueue,isDebugMode){this.eventGateUri=eventGateUri;this.enqueue=enqueue;this.isDebugMode=isDebugMode;}EventSubmitter.prototype.submitEvent=function(eventData){const eventGateUri=this.eventGateUri;if(eventGateUri){mw.eventLog.enqueue(()=>{try{navigator.sendBeacon(eventGateUri,JSON.stringify(eventData));}catch(e){}});this.onSubmitEvent(eventData);}};EventSubmitter.prototype.onSubmitEvent=function(eventData){if(this.isDebugMode){mw.track('eventlogging.eventSubmitDebug',{streamName:eventData.meta.stream,eventData:eventData});}};module.exports=EventSubmitter;
}}}];});
mw.loader.impl(function(){return["ext.navigationTiming@18ja5",{"main":"ext.navigationTiming.js","files":{"ext.navigationTiming.js":function(require,module,exports){(function(){'use strict';var perf=window.performance;var navigator=window.navigator;var Geo=window.Geo;var config=require('./config.json');var visibilityChanged=false;var mediaWikiLoadEnd;var cpuBenchmarkDone;function getNavTimingSharedEvent(){var event={pageviewToken:mw.user.getPageviewToken(),isAnon:mw.config.get('wgUserId')===null,isOversample:false};var mobileMode=mw.config.get('wgMFMode');if(mobileMode){event.mobileMode=mobileMode;}if(Geo&&typeof Geo.country==='string'){event.originCountry=Geo.country;}return event;}function emitFirstInputDelay(entry,observer){var event={inputDelay:Math.round(entry.processingStart-entry.startTime),skin:mw.config.get('skin'),pageviewToken:mw.user.getPageviewToken(),isOversample:false};if(Geo&&typeof Geo.country==='string'){event.originCountry=Geo.country;}mw.eventLog.logEvent('FirstInputDelay',event);observer.disconnect();}function setUpFirstInputDelayObserver(){var performanceObserver;if(window.PerformanceObserver){performanceObserver=new PerformanceObserver((list,observer)=>{
var entries=list.getEntries();if(entries[0]){var firstEntry=entries[0];emitFirstInputDelay(firstEntry,observer);}});try{performanceObserver.observe({type:'first-input',buffered:true});}catch(e){}}}function getNavTimingLevel1(){var timing=perf&&perf.timing;if(!timing){return{};}function validate(value){return(typeof value==='number'&&value>=0)?value:undefined;}var navStart=timing.navigationStart;return{connectEnd:validate(timing.connectEnd-navStart),connectStart:validate(timing.connectStart-navStart),domComplete:validate(timing.domComplete-navStart),domInteractive:validate(timing.domInteractive-navStart),fetchStart:validate(timing.fetchStart-navStart),loadEventEnd:validate(timing.loadEventEnd-navStart),loadEventStart:validate(timing.loadEventStart-navStart),requestStart:validate(timing.requestStart-navStart),responseEnd:validate(timing.responseEnd-navStart),responseStart:validate(timing.responseStart-navStart),secureConnectionStart:timing.secureConnectionStart===0?0:validate(timing.secureConnectionStart-navStart),
dnsLookup:timing.domainLookupEnd-timing.domainLookupStart,redirecting:timing.redirectStart?timing.redirectEnd-timing.redirectStart:0,unload:timing.unloadEventStart?timing.unloadEventEnd-timing.unloadEventStart:0,gaps:(timing.domainLookupStart-timing.fetchStart)+(timing.connectStart-timing.domainLookupEnd)+(timing.requestStart-timing.connectEnd)+(timing.loadEventStart-timing.domComplete)};}function getCumulativeLayoutShift(){var perfObserver=new PerformanceObserver(()=>{});perfObserver.observe({type:'layout-shift',buffered:true});var entries=perfObserver.takeRecords();var max=0;var curr=0;var firstTs=Number.NEGATIVE_INFINITY;var prevTs=Number.NEGATIVE_INFINITY;entries.forEach((entry)=>{if(entry.hadRecentInput){return;}if(entry.startTime-firstTs>5000||entry.startTime-prevTs>1000){firstTs=entry.startTime;curr=0;}prevTs=entry.startTime;curr+=entry.value;max=Math.max(max,curr);});perfObserver.disconnect();return max>0.01?Number(max.toFixed(3)):0;}function getLargestContentfulPaint(){var element,value,perfObserver=new PerformanceObserver(()=>{
});perfObserver.observe({type:'largest-contentful-paint',buffered:true});var entries=perfObserver.takeRecords();if(entries.length>0){var largestEntry=entries[entries.length-1];value=Number(Math.max(largestEntry.renderTime,largestEntry.loadTime).toFixed(0));element=largestEntry.element?largestEntry.element.tagName:undefined;}perfObserver.disconnect();return{value:value,element:element};}function getLongTask(firstContentfulPaint){var perfObserver=new PerformanceObserver(()=>{});perfObserver.observe({type:'longtask',buffered:true});var entries=perfObserver.takeRecords();var totalDuration=0;var totalEntries=entries.length;var longTasksBeforeFcp=0;var longTasksDurationBeforeFcp=0;entries.forEach((entry)=>{totalDuration+=entry.duration;if(entry.startTime<firstContentfulPaint){longTasksBeforeFcp++;longTasksDurationBeforeFcp+=entry.duration;}});perfObserver.disconnect();return{totalEntries:totalEntries,totalDuration:totalDuration,longTasksBeforeFcp:longTasksBeforeFcp,longTasksDurationBeforeFcp:longTasksDurationBeforeFcp
};}function getPaintTiming(){var firstPaint,firstContentfulPaint;var entries=perf.getEntriesByType('paint');entries.forEach((entry)=>{if(entry.name==='first-paint'){firstPaint=Math.round(entry.startTime);}else if(entry.name==='first-contentful-paint'){firstContentfulPaint=Math.round(entry.startTime);}});return{firstPaint:firstPaint,firstContentfulPaint:firstContentfulPaint};}function emitCpuBenchmark(){var deferred=$.Deferred();if(cpuBenchmarkDone||!window.Blob||!window.URL||!window.URL.createObjectURL||!window.Worker||!window.performance){return deferred.resolve();}cpuBenchmarkDone=true;function onMessage(){if(!self.performance){postMessage(false);return;}var amount=100000000;var startTime=performance.now();for(var i=amount;i>0;i--){}postMessage(Math.round(performance.now()-startTime));}var work='onmessage = '+String(onMessage);var blob=new Blob([work],{type:'application/javascript'});var worker=new Worker(URL.createObjectURL(blob));worker.onmessage=function(e){deferred.resolve(e.data);
worker.terminate();};worker.postMessage(false);return deferred.then((result)=>{if(!result){return;}var event=getNavTimingSharedEvent();event.score=result;var batteryPromise=navigator.getBattery?navigator.getBattery():$.Deferred().reject();return batteryPromise.then((battery)=>{event.batteryLevel=battery.level;mw.eventLog.logEvent('CpuBenchmark',event);},()=>{mw.eventLog.logEvent('CpuBenchmark',event);});});}function isRegularNavigation(){var TYPE_NAVIGATE=0;return!!(perf&&perf.timing&&perf.navigation&&perf.navigation.type===TYPE_NAVIGATE);}function emitNavigationTiming(){var event=getNavTimingSharedEvent();event.mediaWikiVersion=mw.config.get('wgVersion');event.skin=mw.config.get('skin');if(mw.config.get('wgCanonicalSpecialPageName')){event.mwSpecialPageName=mw.config.get('wgCanonicalSpecialPageName');}else{event.namespaceId=mw.config.get('wgNamespaceNumber');event.revId=mw.config.get('wgCurRevisionId');event.action=mw.config.get('wgAction');}var veaction=mw.util.getParamValue('veaction');
if(veaction!==null){event.veaction=veaction;}if(mediaWikiLoadEnd){event.mediaWikiLoadEnd=mediaWikiLoadEnd;}if(navigator.connection){if(typeof navigator.connection.effectiveType==='string'){event.netinfoEffectiveConnectionType=navigator.connection.effectiveType;}if(typeof navigator.connection.type==='string'){event.netinfoConnectionType=navigator.connection.type;}if(navigator.connection.rtt!==undefined){event.netinfoRtt=navigator.connection.rtt;}if(navigator.connection.downlink!==undefined){event.netinfoDownlink=navigator.connection.downlink;}}if(navigator.deviceMemory){event.deviceMemory=navigator.deviceMemory;}if(navigator.hardwareConcurrency){event.hardwareConcurrency=navigator.hardwareConcurrency;}if(window.PerformanceObserver&&window.PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes('layout-shift')){event.cumulativeLayoutShift=getCumulativeLayoutShift();}if(window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes('largest-contentful-paint')){
var lcpInfo=getLargestContentfulPaint();event.largestContentfulPaint=lcpInfo.value;event.largestContentfulPaintElement=lcpInfo.element;}if(perf.timing&&perf.timing.msFirstPaint>perf.timing.navigationStart){event.firstPaint=Math.round(perf.timing.msFirstPaint-perf.timing.navigationStart);}else if(perf.getEntriesByType){var ptInfo=getPaintTiming();if(ptInfo.firstPaint){event.firstPaint=ptInfo.firstPaint;}if(ptInfo.firstContentfulPaint){event.firstContentfulPaint=ptInfo.firstContentfulPaint;}}if(window.PerformanceObserver&&window.PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes('longtask')){var ltInfo=getLongTask(event.firstContentfulPaint);event.longTaskTotalDuration=ltInfo.totalDuration;event.longTaskTotalTasks=ltInfo.totalEntries;event.longTasksBeforeFcp=ltInfo.longTasksBeforeFcp;event.longTasksDurationBeforeFcp=ltInfo.longTasksDurationBeforeFcp;}var navigationEntry;try{navigationEntry=perf.getEntriesByType('navigation')[0];}catch(e){}if(navigationEntry&&navigationEntry.serverTiming){
navigationEntry.serverTiming.forEach((entry)=>{if(entry.name==='cache'){event.cacheResponseType=entry.description;}else if(entry.name==='host'){event.cacheHost=entry.description;}});}Object.assign(event,getNavTimingLevel1());mw.eventLog.logEvent('NavigationTiming',event);}function emitSaveTiming(){var timing=perf&&perf.timing;if(!mw.config.get('wgPostEdit')||!timing){return;}var responseStart=timing.responseStart-timing.navigationStart;if(!responseStart){return;}mw.eventLog.logEvent('SaveTiming',{mediaWikiVersion:mw.config.get('wgVersion'),saveTiming:responseStart});}function setMwLoadEnd(){if(perf&&perf.now){mediaWikiLoadEnd=Math.round(perf.now());}}function onMwLoadEnd(){var deferred=$.Deferred();var modules=window.RLPAGEMODULES;if(!modules){mw.log.warn('Fallback RLPAGEMODULES');modules=mw.loader.getModuleNames().filter((module)=>mw.loader.getState(module)==='loading');}mw.loader.using(modules).done(()=>{setMwLoadEnd();deferred.resolve();}).fail(()=>{var count=modules.length;function decrement(){
count--;if(count===0){setMwLoadEnd();deferred.resolve();}}for(var i=0;i<modules.length;i++){mw.loader.using(modules[i]).always(decrement);}});return deferred;}function onLoadComplete(callback){onMwLoadEnd().then(()=>{if(document.readyState==='complete'){setTimeout(callback);}else{window.addEventListener('load',()=>{setTimeout(callback);});}});}function setVisibilityChanged(){visibilityChanged=true;}function loadCallback(){mw.hook('postEdit').add(emitSaveTiming);$(document).off('visibilitychange',setVisibilityChanged);if(visibilityChanged){return;}if(!isRegularNavigation()){return;}var isInSample=mw.eventLog.pageviewInSample(config.samplingFactor||0);if(!isInSample){return;}setUpFirstInputDelayObserver();if(mw.eventLog.randomTokenMatch(config.cpuBenchmarkSamplingFactor||0)){emitCpuBenchmark();}if(isInSample){emitNavigationTiming();}}function main(){visibilityChanged=typeof document.hidden!=='undefined'?document.hidden:false;if(!visibilityChanged){$(document).one('visibilitychange',setVisibilityChanged);
}onLoadComplete(loadCallback);}if(!window.QUnit){main();}else{module.exports={isRegularNavigation:isRegularNavigation,emitNavigationTiming:emitNavigationTiming,emitFirstInputDelay:emitFirstInputDelay,onMwLoadEnd:onMwLoadEnd,emitCpuBenchmark:emitCpuBenchmark,reinit:function(mocks){perf=mocks&&mocks.performance||undefined;navigator=mocks&&mocks.navigator||window.navigator;Geo=mocks&&mocks.Geo||window.Geo;visibilityChanged=false;setMwLoadEnd();}};config={samplingFactor:1};}}());
},"config.json":{"samplingFactor":1000,"cpuBenchmarkSamplingFactor":2}}}];});
mw.loader.impl(function(){return["ext.popups@1ayph",{"main":"resources/ext.popups/index.js","files":{"resources/ext.popups/types.json":["ext.cite.referencePreviews","ext.math.popup"],"resources/ext.popups/index.js":function(require,module,exports){const types=require('./types.json');const isTouchDevice='ontouchstart'in document.documentElement;let supportNotQueries;try{supportNotQueries=document.body.matches('div:not(.foo,.bar)');supportNotQueries=true;}catch(e){supportNotQueries=false;}if(!isTouchDevice&&supportNotQueries){mw.loader.using(types.concat(['ext.popups.main'])).then(()=>{types.forEach((moduleName)=>{const module=require(moduleName);if(module){mw.popups.register(module);}});delete mw.popups.register;});}
}}}];});
mw.loader.impl(function(){return["ext.wikimediaEvents@119kk",{"main":"index.js","files":{"index.js":function(require,module,exports){require('./statsd.js');require('./deprecate.js');require('./clientError.js');require('./sessionTick.js');require('./readingDepth.js');require('./phpEngine.js');require('./blockedEdit.js');require('./clickTracking/webUIClick.js');const skin=mw.config.get('skin');if(skin==='vector-2022'||skin==='vector'){require('./universalLanguageSelector.js');}if(skin==='vector-2022'||skin==='minerva'){if(mw.user.isNamed()){require('./readingListBaseline.js');}}if(skin==='minerva'&&mw.user.isAnon()){require('./donorDelightBadgeExperiment.js');require('./readingListAccountCreationCTA.js');}require('./editAttemptStep.js');require('./mobileSectionSwitch.js');require('./hCaptcha.js')();require('./networkProbe.js');require('./editSaves.js');require('./accountCreation.js')();require('./testKitchen/activeReaderBaseline.js');require('./testKitchen/attribution.js');require('./testKitchen/pageVisitBotDetection.js');require('./specialCreateAccount/init.js');require('./testKitchen/loggedInReaderRetention.js');
require('./testKitchen/loggedOutReaderRetention.js');require('./testKitchen/detectHoistingErrors.js');require('./externalLinks.js')();require('./suggestionMode.js');if(!window.QUnit){require('./searchSatisfaction/index.js')();require('./searchSatisfaction/searchQuality.js');}
},"statsd.js":function(require,module,exports){const config=require('./config.json');const BATCH_SIZE=5000;let statsdBuffer='';let statsdFlushPending=false;function statsdFlush(){mw.eventLog.sendBeacon(config.WMEStatsdBaseUri+'?'+statsdBuffer);statsdBuffer='';}function statsdAdd(line){if(config.WMEStatsdBaseUri){if(statsdBuffer&&(statsdBuffer.length+line.length)>BATCH_SIZE){statsdFlush();}statsdBuffer+=(statsdBuffer?'&':'')+line;if(!statsdFlushPending){statsdFlushPending=true;mw.eventLog.enqueue(()=>{statsdFlushPending=false;statsdFlush();});}}}mw.trackSubscribe('timing.',(topic,time)=>{statsdAdd(topic.slice('timing.'.length)+'='+Math.round(time)+'ms');});mw.trackSubscribe('counter.',(topic,count)=>{count=isNaN(count)?1:Math.round(count);statsdAdd(topic.slice('counter.'.length)+'='+count+'c');});let statsBuffer='';let statsFlushPending=false;function statsFlush(){mw.eventLog.sendBeacon(config.WMEStatsBeaconUri+'?'+statsBuffer);statsBuffer='';}function statsAdd(line){if(config.WMEStatsBeaconUri){if(statsBuffer&&(statsBuffer.length+line.length)>BATCH_SIZE){
statsFlush();}statsBuffer+=(statsBuffer?'%0A':'')+line;if(!statsFlushPending){statsFlushPending=true;mw.eventLog.enqueue(()=>{statsFlushPending=false;statsFlush();});}}}function error(err,invalidValue=null){mw.log.error(err);if(invalidValue!==null){err.error_context={invalidValue};}mw.errorLogger.logError(err);}function formatDogstatsd(name,value,labels={}){const rLegalKey=/^[A-Za-z0-9_]+$/;const rLegalValue=/^[A-Za-z0-9_.+-]+$/;let labelStr='';for(const labelKey in labels){if(!rLegalKey.test(labelKey)){return error(new TypeError(`Invalid stat label "${labelKey}"`));}let val=labels[labelKey];if(!rLegalValue.test(val)){mw.log.warn(`Invalid label value for ${name} ${labelKey} "${val}"`);val='_invalid_value';}labelStr+=`${!labelStr?encodeURIComponent('|#'):','}${labelKey}:${val}`;}return`${name}:${value}${labelStr}`;}function trackHistogram(name,value,labels){if(Number.isNaN(value)||typeof value!=='number'){return error(new TypeError(`Invalid histogram value for ${name}`),value);}if(labels.le){
return error(new Error(`Reserved label "le" used for ${name}. Buckets must be set as an array of numbers for the "buckets" label.`));}const buckets=labels.buckets;const labelsWithoutBuckets=Object.assign({},labels);delete labelsWithoutBuckets.buckets;if(!Array.isArray(buckets)){return error(new TypeError(`Invalid "buckets" label for ${name}: it MUST be an array of numbers.`));}const maxBuckets=10;const bucketCount=buckets.length;if(bucketCount>maxBuckets){return error(new RangeError(`Too many buckets defined for ${name}. Got: ${bucketCount}, Max: ${maxBuckets}`));}for(const b of buckets){if(typeof b!=='number'||Number.isNaN(b)||!Number.isFinite(b)){return error(new TypeError(`Invalid bucket value for ${name}`),b);}}const uniqueBuckets=[...new Set(buckets)].sort((a,b)=>a-b);for(let i=0;i<buckets.length;i++){if(uniqueBuckets[i]!==buckets[i]){return error(new Error(`Buckets must be unique and sorted for ${name}`));}}const bucketName=`${name}_bucket`;for(const bucket of buckets){const valueToSend=value<=bucket?1:0;
const labelsWithBucket=Object.assign({},labelsWithoutBuckets,{le:bucket});statsAdd(formatDogstatsd(bucketName,valueToSend+'|c',labelsWithBucket));}const labelsWithInfBucket=Object.assign({},labelsWithoutBuckets,{le:'+Inf'});statsAdd(formatDogstatsd(bucketName,'1|c',labelsWithInfBucket));const countName=`${name}_count`;statsAdd(formatDogstatsd(countName,1+'|c',labelsWithoutBuckets));const sumName=`${name}_sum`;statsAdd(formatDogstatsd(sumName,value+'|c',labelsWithoutBuckets));}mw.trackSubscribe('stats.',(topic,value,labels={})=>{const name=topic.slice('stats.'.length);let line;if(/^mediawiki_[A-Za-z0-9_]+_total$/.test(name)){if(value===undefined){value=1;}if(isNaN(value)||Math.round(value)!==value||value<1){return error(new TypeError(`Invalid counter value for ${name}`),value);}line=formatDogstatsd(name,value+'|c',labels);}else if(/^mediawiki_[A-Za-z0-9_]+_seconds$/.test(name)){if(isNaN(value)||typeof value!=='number'||value<0){return error(new TypeError(`Invalid timing value for ${name}`),value);
}line=formatDogstatsd(name,Math.round(value)+'|ms',labels);}else if(/^mediawiki_[A-Za-z0-9_]+_distribution$/.test(name)){trackHistogram(name,value,labels);return;}else{return error(new TypeError(`Invalid stat name ${name}`));}if(line){statsAdd(line);}});
},"deprecate.js":function(require,module,exports){if(mw.config.get('wgUserName')&&mw.eventLog.pageviewInSample(100)){mw.trackSubscribe('mw.deprecate',(_,feature)=>{feature=feature.replace(/\W+/g,'_');mw.track('counter.mw.js.deprecate.'+feature,1);mw.track('stats.mediawiki_deprecated_js_calls_total',1,{feature});});}
},"clientError.js":function(require,module,exports){const moduleConfig=require(('./config.json'));const errorLimit=5;let errorCount=0;const regexWebKit=/^\s*at (?:(.*?)\()?(.*?:\d+:\d+)\)?\s*$/i;const regexGecko=/^\s*(?:(.*?)(?:\(.*?\))?@)?(.*:\d+:\d+)\s*$/i;function getNormalizedStackTraceLines(str){const result=[];const lines=str.split('\n');let parts;let i;for(i=0;i<lines.length;i++){parts=regexWebKit.exec(lines[i])||regexGecko.exec(lines[i]);if(parts){if(parts[1]){result.push('at '+parts[1]+' '+parts[2]);}else{result.push('at '+parts[2]);}}}return result;}function shouldIgnoreMessage(message){return!!(message)&&['module already implemented: ext.gadget','Permission denied to access property','Permission denied to access object'].some((m)=>message.includes(m));}function shouldIgnoreFileUrl(fileUrl){return fileUrl.split('#')[0]===location.href.split('#')[0]||fileUrl.startsWith('javascript:')||fileUrl.includes('/inj_js/')||fileUrl.startsWith('blob:')||fileUrl.startsWith('jar:')||fileUrl.startsWith('C:\\')||fileUrl.startsWith('chrome://')||
fileUrl.startsWith('chrome-extension://')||fileUrl.startsWith('safari-extension://')||fileUrl.startsWith('moz-extension://');}function processErrorInstance(error){if(!error||!(error instanceof Error)||!error.stack){return null;}const stackTraceLines=getNormalizedStackTraceLines(String(error.stack));if(!stackTraceLines.length){return null;}const firstLine=stackTraceLines[0];const parts=firstLine.split(' ');const fileUrlParts=parts[parts.length-1].split(':');const fileUrl=fileUrlParts.slice(0,-2).join(':');return{errorClass:error.constructor.name,errorMessage:error.message,fileUrl:fileUrl,stackTrace:stackTraceLines.join('\n'),errorObject:error,customErrorContext:(error).error_context};}function normalizeErrorMessage(message){return message.replace(/^Uncaught /,'');}function processErrorLoggerObject(errorLoggerObject){if(!errorLoggerObject){return null;}const errorObject=errorLoggerObject.errorObject;const stackTrace=errorObject&&errorObject.stack?getNormalizedStackTraceLines(errorObject.stack).join('\n'):
'';return{errorClass:(errorObject&&errorObject.constructor.name)||'',errorMessage:normalizeErrorMessage(errorLoggerObject.errorMessage),fileUrl:errorLoggerObject.url||'undefined',stackTrace:stackTrace,errorObject:errorObject};}function shouldLog(descriptor){if(descriptor.fileUrl==='undefined'&&descriptor.errorMessage==='Script error.'){return false;}try{if(window.self!==window.top){return false;}}catch(e){return false;}if(mw.storage.session.get('client-error-opt-out')){return false;}if(shouldIgnoreFileUrl(descriptor.fileUrl)){return false;}if(errorCount>=errorLimit){return false;}errorCount++;if(shouldIgnoreMessage(descriptor.errorMessage)){return false;}return true;}function log(intakeURL,descriptor,component){let gadgets='';const host=location.host;const protocol=location.protocol;const search=location.search;const hash=location.hash;const canonicalName=mw.config.get('wgCanonicalSpecialPageName');const url=canonicalName?protocol+'//'+host+mw.util.getUrl('Special:'+canonicalName)+search+hash:
location.href;const centralNotice=(mw.centralNotice);const errorContext={component:component||'unknown',wiki:mw.config.get('wgWikiID',''),version:mw.config.get('wgVersion',''),skin:mw.config.get('skin',''),action:mw.config.get('wgAction',''),is_mobile_frontend_enabled:String(!(mw.config.get('wgMFMode')===null)),is_logged_in:String(!mw.user.isAnon()),namespace:mw.config.get('wgCanonicalNamespace',''),debug:String(!!mw.config.get('debug',0)),banner_shown:String((centralNotice&&centralNotice.isBannerShown&&centralNotice.isBannerShown())||false)};if(canonicalName){errorContext.special_page=canonicalName;}gadgets=mw.loader.getModuleNames().filter((module)=>module.match(/^ext\.gadget\./)&&mw.loader.getState(module)!=='registered').map((module)=>module.replace(/^ext\.gadget\./,'')).join(',');if(gadgets){errorContext.gadgets=gadgets;}const testKitchen=(mw.testKitchen);const experimentAssignments=(testKitchen&&testKitchen.getAssignments&&testKitchen.getAssignments())||{};const experimentNames=Object.keys(experimentAssignments);
if(experimentNames.length){errorContext.experiment_assignments=experimentNames.map((experimentName)=>`${experimentName}=${experimentAssignments[experimentName]}`).join(';');}const customErrorContext=descriptor.customErrorContext?descriptor.customErrorContext:{};navigator.sendBeacon(intakeURL,JSON.stringify({meta:{stream:'mediawiki.client.error',domain:location.hostname},$schema:'/mediawiki/client/error/2.0.0',error_class:descriptor.errorClass,message:descriptor.errorMessage,file_url:descriptor.fileUrl,url:url,stack_trace:descriptor.stackTrace||'undefined',error_context:Object.assign({},errorContext,customErrorContext)}));}function install(intakeURL){mw.trackSubscribe('error.',(topic,error)=>{if(topic==='error.uncaught'){return;}const component=topic.replace(/^error\./,'');const descriptor=processErrorInstance((error));if(descriptor&&shouldLog(descriptor)){log(intakeURL,descriptor,component);}});mw.trackSubscribe('global.error',(_,obj)=>{const descriptor=processErrorLoggerObject((obj));
if(descriptor&&shouldLog(descriptor)){log(intakeURL,descriptor);}});}module.exports={getNormalizedStackTraceLines,processErrorInstance,processErrorLoggerObject,log};if(!window.QUnit&&navigator.sendBeacon!==undefined&&moduleConfig.WMEClientErrorIntakeURL){install(moduleConfig.WMEClientErrorIntakeURL);}
},"sessionTick.js":function(require,module,exports){const moduleConfig=require('./config.json');const enabled=moduleConfig.WMESessionTick;const TICK_MS=60000;const IDLE_MS=100000;const RESET_MS=1800000;const DEBOUNCE_MS=5000;const TICK_LIMIT=Math.ceil(RESET_MS/TICK_MS);const KEY_LAST_TIME='wmE-sessionTickLastTickTime';const KEY_COUNT='wmE-sessionTickTickCount';const FEATURE_NOT_AVAILABLE_INSTRUMENT_NAME='session-tick-feature-availability';const FEATURE_NOT_AVAILABLE_ACTION='feature_not_available';const featureNotAvailableInstrument=mw.testKitchen.getInstrument(FEATURE_NOT_AVAILABLE_INSTRUMENT_NAME);function detectPassiveEventListenerSupport(){let supportsPassive=false;const noop=function(){};try{const options=Object.defineProperty({},'passive',{get:function(){supportsPassive=true;return false;}});window.addEventListener('testPassiveOption',noop,options);window.removeEventListener('testPassiveOption',noop,options);}catch(e){logFeatureNotAvailableEvent('passiveEventListener');}return supportsPassive;}function sessionReset(){mw.storage.set(KEY_COUNT,0);
mw.track('sessionReset',1);}function sessionTick(incr){if(incr>TICK_LIMIT){throw new Error('Session ticks exceed limit');}const count=(Number(mw.storage.get(KEY_COUNT))||0);mw.storage.set(KEY_COUNT,count+incr);while(incr-->0){mw.eventLog.submit('mediawiki.client.session_tick',{$schema:'/analytics/session_tick/2.0.0',tick:count+incr});}}function detectLocalStorageSupport(){try{const testItem='__localStorage_test__';localStorage.setItem(testItem,testItem);localStorage.removeItem(testItem);return true;}catch(error){let context='localStorage';if(error instanceof DOMException&&error.name==='QuotaExceededError'){context='localStorage full';}logFeatureNotAvailableEvent(context);return false;}}function logFeatureNotAvailableEvent(context){featureNotAvailableInstrument.send(FEATURE_NOT_AVAILABLE_ACTION,{action_context:context});}function regulator(){let tickTimeout=null;let idleTimeout=null;let debounceTimeout=null;function run(){const now=Date.now();const gap=now-(Number(mw.storage.get(KEY_LAST_TIME))||0);
if(gap>RESET_MS){mw.storage.set(KEY_LAST_TIME,now);sessionReset();sessionTick(1);}else if(gap>TICK_MS){mw.storage.set(KEY_LAST_TIME,now-(gap%TICK_MS));sessionTick(Math.floor(gap/TICK_MS));}tickTimeout=setTimeout(run,TICK_MS);}function setInactive(){clearTimeout(idleTimeout);clearTimeout(tickTimeout);clearTimeout(debounceTimeout);tickTimeout=null;debounceTimeout=null;}function setActive(){if(tickTimeout===null){run();}clearTimeout(idleTimeout);idleTimeout=setTimeout(setInactive,IDLE_MS);}function setActiveDebounce(){if(!debounceTimeout){debounceTimeout=setTimeout(()=>{clearTimeout(debounceTimeout);debounceTimeout=null;},DEBOUNCE_MS);mw.requestIdleCallback(setActive);}}function onVisibilitychange(){if(document.hidden){setInactive();}else{setActive();}}document.addEventListener('visibilitychange',onVisibilitychange,false);window.addEventListener('click',setActiveDebounce,false);window.addEventListener('keyup',setActiveDebounce,false);window.addEventListener('scroll',setActiveDebounce,{
passive:true,capture:false});onVisibilitychange();}if(enabled&&document.hidden!==undefined&&detectPassiveEventListenerSupport()&&detectLocalStorageSupport()){mw.requestIdleCallback(regulator);}
},"editingSessionService.js":function(require,module,exports){'use strict';let lastSessionId;function getEditingSessionId(existingSessionId=null,useLastSessionId=false){const configId=mw.config.get('wgWMESchemaEditAttemptStepSessionId');if(configId){return configId;}const urlParam=new URL(location.href).searchParams.get('editingStatsId');if(urlParam){return urlParam;}const formField=$('#editingStatsId').val();if(formField){return formField;}if(existingSessionId){return existingSessionId;}if(!useLastSessionId||!lastSessionId){lastSessionId=mw.user.generateRandomSessionId();}return lastSessionId;}module.exports={getEditingSessionId};
},"webCommon.js":function(require,module,exports){'use strict';function isUserBot(){const userGroups=mw.config.get('wgUserGroups')||[];return userGroups.includes('bot');}function getWikiName(){return mw.config.get('wgDBname','');}function getSkin(){return mw.config.get('skin','');}module.exports=()=>({wiki:getWikiName(),skin:getSkin(),is_bot:isUserBot()});
},"webAccessibilitySettings.js":function(require,module,exports){'use strict';function getFont(){const size=mw.user.clientPrefs.get('vector-feature-custom-font-size')||mw.user.clientPrefs.get('mf-font-size')||'0';switch(size){case'large':return'3';case'regular':return'2';case'small':return'1';default:return size;}}function getInterfaceWidth(){return mw.user.clientPrefs.get('vector-feature-limited-width')==='0';}function getPagePreviewSettings(){return mw.popups?mw.popups.isEnabled():false;}function getMediaViewerSettings(){const isUserAnon=mw.user.isAnon();const isMediaViewerEnabled=mw.config.get('wgMediaViewer')===true;const isMediaViewerEnabledByDefault=mw.config.get('wgMediaViewerEnabledByDefault')===true;const isMediaViewerOnClickEnabled=mw.config.get('wgMediaViewerOnClick')===true;const anonDisabledMV=isUserAnon&&mw.storage.get('wgMediaViewerOnClick')!=='0';return(isMediaViewerEnabled&&isMediaViewerEnabledByDefault&&isMediaViewerOnClickEnabled&&(!isUserAnon||anonDisabledMV));}function getDarkModeSettings(){const theme=mw.user.clientPrefs.get('skin-theme');
if(theme===false){return mw.user.clientPrefs.get('skin-night-mode')||'0';}switch(theme){case'night':return'1';case'os':return'2';case'day':return'0';default:return'0';}}function getDarkModeBrowserMedia(){return window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches;}module.exports=()=>({font:getFont(),is_full_width:getInterfaceWidth(),is_page_preview_on:getPagePreviewSettings(),is_media_viewer_enabled:getMediaViewerSettings(),is_dark_mode_prepared_by_os:getDarkModeBrowserMedia(),dark_mode_setting:getDarkModeSettings(),is_dark_mode_on:getDarkModeSettings()==='1'||(getDarkModeBrowserMedia()&&getDarkModeSettings()==='2')});
},"readingDepth.js":function(require,module,exports){const moduleConfig=require('./config.json');const skin=mw.config.get('skin');const allowedSkins=['vector','vector-2022','minerva'];const eventData={};let msPaused=0;const SCHEMA_NAME='ReadingDepth';const DEFAULT_SAMPLE_GROUP='default_sample';let trackingIsEnabled;let pausedAt;let sessionId;let visibilityListenersAdded;let EVENT;function supportsPerformanceAPI(){return!!(window.performance&&window.performance.now&&window.performance.getEntriesByType);}function checkCapability(){return supportsPerformanceAPI();}if(!checkCapability()){return;}function isInSample(samplingRate){const bucket=mw.experiments.getBucket({name:'WME.'+SCHEMA_NAME,enabled:true,buckets:{control:1-samplingRate,A:samplingRate}},sessionId);return bucket==='A';}function getDomInteractive(){const navigationEntries=performance.getEntriesByType('navigation');if(navigationEntries.length){return navigationEntries[0].domInteractive;}return undefined;}function getFirstPaint(){const paintEntries=performance.getEntriesByType('paint');
if(paintEntries.length){return paintEntries[0].startTime;}return undefined;}function pause(at){if(!pausedAt){pausedAt=at||performance.now();}}function resume(){if(pausedAt){msPaused+=performance.now()-pausedAt;pausedAt=null;}}function logEvent(action){const domInteractive=getDomInteractive();const firstPaint=getFirstPaint();const pageLength=mw.config.get('wgWMEPageLength',-1);const isMobile=mw.config.get('wgMFMode');const data=Object.assign({},EVENT,{action:action,dom_interactive_time:domInteractive?Math.round(domInteractive):undefined,first_paint_time:firstPaint?Math.round(firstPaint):undefined,visibility_listeners_time:Math.round(visibilityListenersAdded),page_length:pageLength,access_method:isMobile?'mobile web':'desktop'},eventData);if(action==='pageUnloaded'){data.total_length=Math.round(performance.now()-visibilityListenersAdded);data.visible_length=Math.round(data.total_length-msPaused);}mw.eventLog.submit('mediawiki.reading_depth',data);}function onBeforeUnload(){logEvent('pageUnloaded');
}function isHidden(){return document.visibilityState==='hidden';}function onLoad(){visibilityListenersAdded=performance.now();if(isHidden()){pause(visibilityListenersAdded);}$(document).on('visibilitychange',()=>{if(isHidden()){pause();}else{resume();}});logEvent('pageLoaded');}function enableTracking(){if(!trackingIsEnabled){trackingIsEnabled=true;EVENT={$schema:'/analytics/mediawiki/web_ui_reading_depth/1.0.0',page_namespace:mw.config.get('wgNamespaceNumber'),skin:mw.config.get('skin'),is_anon:mw.user.isAnon(),session_token:sessionId};window.addEventListener('beforeunload',onBeforeUnload);onLoad();}}mw.requestIdleCallback(()=>{if(allowedSkins.includes(skin)){sessionId=mw.user.sessionId();if(isInSample(moduleConfig.WMEReadingDepthSamplingRate)){eventData[DEFAULT_SAMPLE_GROUP]=true;}if(Object.keys(eventData).length){enableTracking();}}});
},"readingListAccountCreationCTA.js":function(require,module,exports){const EXPERIMENT_NAME='account-creation-reading-list-cta';const accountCreationExperiment=mw.testKitchen.compat.getExperiment(EXPERIMENT_NAME);const setupControlInstrumentation=(experiment)=>{const watchstar=document.querySelector('#ca-watch');if(watchstar){watchstar.addEventListener('click',()=>{experiment.send('click',{action_subtype:'save_article_to_watchlist'});});}mw.hook('skin.minerva.watchstarCtaDrawer.open').add(()=>{experiment.send('init',{action_subtype:'init_sign_up'});const login=document.querySelector('.drawer a[type="button"]');const signUp=document.querySelector('.drawer .cta-drawer__anchors a');if(login){login.addEventListener('click',()=>{experiment.send('click',{action_subtype:'login'});});}if(signUp){signUp.addEventListener('click',()=>{experiment.send('click',{action_subtype:'sign_up'});});}});};$(()=>{if(!accountCreationExperiment.isAssignedGroup('control','treatment')){return;}accountCreationExperiment.sendExposure();if(accountCreationExperiment.isAssignedGroup('control')){
setupControlInstrumentation(accountCreationExperiment);}});module.exports={test:{setupControlInstrumentation}};
},"donorDelightBadgeExperiment.js":function(require,module,exports){const EXPERIMENT_NAME='donor-delight-badge';const ASSIGNED_GROUPS=['control','treatment-b-simple','treatment-c-delightful'];function setupDonorDelightBadgeExperimentInstrumentation(experiment){if(!experiment||!experiment.isAssignedGroup(...ASSIGNED_GROUPS)){return;}mw.hook('wikimediaCustomizations.donor.recentDonor').add((wasBadgeDisabledByUser)=>{experiment.send('page_visit');if(!wasBadgeDisabledByUser){experiment.sendExposure();}});mw.hook('wikimediaCustomizations.donorDelightBadge.click').add(()=>{experiment.send('click',{action_context:'heart_badge'});});mw.hook('wikimediaCustomizations.donorDelightBadge.hide').add(()=>{experiment.send('click',{action_context:'hide_badge',action_source:'thank_msg'});});}mw.testKitchen.getExperiment(EXPERIMENT_NAME).then(setupDonorDelightBadgeExperimentInstrumentation);module.exports={test:{setupDonorDelightBadgeExperimentInstrumentation}};
},"readingListBaseline.js":function(require,module,exports){const INSTRUMENT_NAME='reading-list-engagement';const ACTION_SAVE='save_article_to_reading_list';const ACTION_REMOVE='remove_article_from_reading_list';const instrumentPromise=Promise.resolve(mw.testKitchen.getInstrument(INSTRUMENT_NAME));function trackBookmarkIconButtonClicks($bookmarkButton,instrument){$bookmarkButton.on('click',(event)=>{const isToolbarButton=event.target.closest('#pt-readinglists-2')!==null;instrument.send('click',{action_subtype:'view_reading_list',action_source:isToolbarButton?'top_right':'user_menu'});});}function trackNotificationClicks(instrument){document.addEventListener('click',(event)=>{const $link=$(event.target).closest('a');if($link.length&&$link.attr('href')&&$link.attr('href').includes('Special:ReadingLists')&&$link.closest('.mw-notification').length){instrument.send('click',{action_subtype:'view_reading_list',action_source:'article_saved_popup'});}},true);}function trackReadingListLinkClicks(instrument){document.addEventListener('click',(event)=>{
const $link=$(event.target).closest('a');const $grid=$link.closest('.reading-lists-grid');if($link.length&&$grid.length){instrument.send('click',{action_subtype:'view_article',action_source:'reading_list'});}});}function recordInstrumentEvent(instrument,subtype,source){instrument.send('click',{action_subtype:subtype,action_source:source});}$(()=>{instrumentPromise.then((instrument)=>{if(!instrument){return;}const $bookmarkButton=$(document).find('.mw-ui-icon-bookmarkList, .menu__item--readinglists, #pt-readinglists a');if(mw.config.get('wgCanonicalSpecialPageName')==='ReadingLists'){trackReadingListLinkClicks(instrument);}if($bookmarkButton.length){trackBookmarkIconButtonClicks($bookmarkButton,instrument);trackNotificationClicks(instrument);}mw.hook('readingLists.bookmark.change').add((isSaved,source)=>{const action=isSaved?ACTION_SAVE:ACTION_REMOVE;recordInstrumentEvent(instrument,action,source);});});});
},"phpEngine.js":function(require,module,exports){function phpEngine(){const moduleConfig=require('./config.json');const version=moduleConfig.WMENewPHPVersion;if(!version){return;}const hasCookie=$.cookie('PHP_ENGINE')!==null;const inSample=mw.eventLog.sessionInSample(moduleConfig.WMENewPHPSamplingRate);if(inSample&&!hasCookie){$.cookie('PHP_ENGINE',version,{expires:7,path:'/'});}else if(!inSample&&hasCookie&&!$.cookie('PHP_ENGINE_STICKY')){$.removeCookie('PHP_ENGINE',{path:'/'});}}mw.requestIdleCallback(phpEngine);
},"blockedEdit.js":function(require,module,exports){mw.hook('ve.activationComplete').add(()=>{if(!ve.init.target.canEdit){let platform=ve.init.target.constructor.static.platformType||'other';if(platform==='phone'){platform='mobile';}(new mw.Api()).post({formatversion:2,action:'wikimediaeventsblockededit',page:mw.config.get('wgPageName'),interface:'visualeditor',platform});}});mw.trackSubscribe('counter.MediaWiki.BlockNotices.'+mw.config.get('wgDBname')+'.MobileFrontend.shown',()=>{(new mw.Api()).post({formatversion:2,action:'wikimediaeventsblockededit',page:mw.config.get('wgPageName'),interface:'mobilefrontend',platform:'mobile'});});mw.trackSubscribe('dt.commentSetupError',(topic,code)=>{if(code==='permissions-error'){(new mw.Api()).post({formatversion:2,action:'wikimediaeventsblockededit',page:mw.config.get('wgPageName'),interface:'discussiontools',platform:mw.config.get('wgMFMode')!==null?'mobile':'desktop'});}});
},"networkProbe.js":function(require,module,exports){function networkProbeInit(){const preventProbe=mw.cookie.get('PreventProbe');if(preventProbe!=='1'){const networkProbeRandom=Math.random();const networkProbeLimitDefault=0.00010;let networkProbeLimit=mw.cookie.get('NetworkProbeLimit','',networkProbeLimitDefault);if(isNaN(networkProbeLimit)){networkProbeLimit=networkProbeLimitDefault;}if(networkProbeRandom<=networkProbeLimit){mw.loader.load('ext.wikimediaEvents.networkprobe');}}}mw.requestIdleCallback(networkProbeInit);
},"clickTracking/utils.js":function(require,module,exports){function isVectorFeatureEnabled(name){const className='vector-feature-'+name+'-enabled';return document.documentElement.classList.contains(className);}function getMenuLinkEventName($target){const $closestLink=$target.closest('.vector-menu a');const closestLink=$closestLink[0];if(!closestLink){return null;}const linkListItem=closestLink.parentNode;if(!linkListItem){return;}let id=linkListItem.id;if(id.includes('toc')){id=id.slice(0,id.indexOf('toc-'))+'toc-heading';}const pinnableElement=$closestLink.closest('.vector-pinnable-element')[0];const pinnableElementHeader=pinnableElement?pinnableElement.querySelector('.vector-pinnable-header'):null;if(id&&pinnableElement&&pinnableElementHeader){const featureName=pinnableElementHeader.dataset.name||pinnableElementHeader.dataset.featureName||'unknown';const pinnedState=isVectorFeatureEnabled(featureName)?'-enabled':'-disabled';return id+'.'+featureName+pinnedState;}else{return id;}}const onClickTrack=function(logEvent){return(event)=>{const $target=$(event.target);
const $closest=$target.closest('[data-event-name]');if($closest.length){if(['A','BUTTON','INPUT'].includes($closest[0].tagName)){const destination=$closest.attr('href');logEvent('click',$closest.attr('data-event-name'),destination);}}else{const eventName=getMenuLinkEventName($target);if(eventName){logEvent('click',eventName);}}};};module.exports={onClickTrack};
},"searchSatisfaction/index.js":function(require,module,exports){const searchSatisfaction=require('./searchSatisfaction.js');const searchSli=require('./searchSli.js');module.exports=()=>{if(typeof searchSli==='function'){searchSli();}$(searchSatisfaction);};
},"searchSatisfaction/searchSatisfaction.js":function(require,module,exports){
},"searchSatisfaction/searchSli.js":function(require,module,exports){
},"searchSatisfaction/searchQuality.js":function(require,module,exports){'use strict';const INSTRUMENT_NAME='search-quality-2026-06';const instrument=mw.testKitchen.getInstrument(INSTRUMENT_NAME);function whenReady(fn){if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',fn);}else{fn();}}function send(token,action,source,context){if(token){context.search_token=token;}instrument.send(action,{action_source:source,action_context:JSON.stringify(context)});}function click(token,source,position,nResults){send(token,'click',source,{position:position,n_results:nResults||0});}function serp(token,source,nResults){send(token,'search_result_page',source,{n_results:nResults||0});}function trackFullTextResults(){const searchToken=mw.config.get('wgCirrusSearchRequestSetToken');const resultsInfo=document.querySelector('.results-info');const totalAttr=resultsInfo&&resultsInfo.getAttribute('data-mw-num-results-total');const total=parseInt(totalAttr,10);serp(searchToken,'fulltext',total);const content=document.getElementById('mw-content-text');if(!content){
return;}content.addEventListener('click',(event)=>{const link=event.target.closest('a');if(!link){return;}const result=link.closest('.mw-search-result');const posEl=result&&result.querySelector('[data-serp-pos]');const pos=parseInt(posEl&&posEl.getAttribute('data-serp-pos'),10);if(isNaN(pos)){return;}click(searchToken,'fulltext',pos+1,total);});}function trackAutocomplete(){let lastSearchToken=null;function onTrack(topic,data){if(!data){return;}switch(data.action){case'impression-results':lastSearchToken=data.searchId||null;serp(lastSearchToken,'autocomplete',data.numberOfResults);break;case'click-result':case'submit-form':click(lastSearchToken,'autocomplete',typeof data.index==='number'?data.index:-1,data.numberOfResults);break;}}mw.trackSubscribe('mediawiki.searchSuggest',onTrack);mw.trackSubscribe('mw.widgets.SearchInputWidget',onTrack);}trackAutocomplete();if(mw.config.get('wgIsSearchResultPage')){whenReady(trackFullTextResults);}
},"clickTracking/webUIClick.js":function(require,module,exports){const util=require('./utils.js');const webA11ySettings=require('../webAccessibilitySettings.js');const VIEWPORT_BUCKETS={below320:'<320px',between320and719:'320px-719px',between720and999:'720px-999px',between1000and1199:'1000px-1199px',between1200and2000:'1200px-2000px',over2000:'>2000px'};function getUserViewportBucket(){if(window.innerWidth>2000){return VIEWPORT_BUCKETS.over2000;}if(window.innerWidth>=1200){return VIEWPORT_BUCKETS.between1200and2000;}if(window.innerWidth>=1000){return VIEWPORT_BUCKETS.between1000and1199;}if(window.innerWidth>=720){return VIEWPORT_BUCKETS.between720and999;}if(window.innerWidth>=320){return VIEWPORT_BUCKETS.between320and719;}if(window.innerWidth<320){return VIEWPORT_BUCKETS.below320;}}function getModes(){const mode=mw.config.get('wgMFMode')||'desktop';const modes=[mode];if(mode!=='desktop'&&mw.config.get('wgMFAmc')){modes.push('amc');}return modes;}function logEvent(action,name,destination){if(name||action==='init'){const modes=getModes().join(',');
const data={action,name,destination:destination||null,isAnon:mw.user.isAnon(),isTemp:mw.user.isTemp(),userGroups:mw.config.get('wgUserGroups').join(','),skin:mw.config.get('skin'),editCountBucket:mw.config.get('wgUserEditCountBucket')||'0 edits',viewportSizeBucket:getUserViewportBucket(),pageNamespace:mw.config.get('wgNamespaceNumber'),pageToken:mw.user.getPageviewToken(),token:mw.user.sessionId()};const eventData=webA11ySettings();eventData.$schema='/analytics/mediawiki/product_metrics/web_ui_actions/1.0.2';eventData.action=action;eventData.action_context=modes;eventData.viewport_size_bucket=data.viewportSizeBucket;eventData.action_source=name;eventData.is_temp=data.isTemp;const userGroups=mw.config.get('wgUserGroups')||[];const isMobileFrontendActive=mw.config.get('wgMFMode')!==null;eventData.agent={client_platform:'mediawiki_js',client_platform_family:isMobileFrontendActive?'mobile_browser':'desktop_browser'};eventData.page={namespace_id:data.pageNamespace};eventData.performer={
is_logged_in:!data.isAnon,session_id:data.token,pageview_id:data.pageToken,edit_count_bucket:data.editCountBucket,groups:userGroups,is_bot:userGroups.includes('bot')};eventData.mediawiki={skin:data.skin,database:mw.config.get('wgDBname')};mw.eventLog.submit('mediawiki.web_ui_actions',eventData);}}function getSkinDependencies(){const skin=mw.config.get('skin');if(skin==='vector-2022'){return['skins.vector.js'];}else{return[];}}function getInstrumentationDependencies(){const dependencies=getSkinDependencies();const popupsState=mw.loader.getState('ext.popups.main');if(popupsState&&popupsState!=='registered'&&popupsState!=='error'){return dependencies.concat(['ext.popups.main']);}return dependencies;}mw.trackSubscribe('webuiactions_log.',(topic,value)=>{logEvent(topic.slice('webuiactions_log.'.length),value);});$(()=>{mw.loader.using(getInstrumentationDependencies()).then(()=>{logEvent('init','ns='+mw.config.get('wgNamespaceNumber'));const clickTracker=util.onClickTrack(logEvent);document.addEventListener('click',clickTracker,true);
mw.hook('ext.wikimediaEvents.webUIClick.event').add(clickTracker);});});
},"universalLanguageSelector.js":function(require,module,exports){
},"editAttemptStep.js":function(require,module,exports){'use strict';const config=require('./config.json');const webCommon=require('./webCommon.js');const editingSessionService=require('./editingSessionService.js');let session;let easSampleRate=config.WMESchemaEditAttemptStepSamplingRate;let easOversample=mw.config.get('wgWMESchemaEditAttemptStepOversample');let vefuSampleRate=config.WMESchemaVisualEditorFeatureUseSamplingRate;let vefuOversample=easOversample;function handleFirstEvent(event){session={editing_session_id:editingSessionService.getEditingSessionId(),editor_interface:event.editor_interface||null,integration:event.integration||null,platform:mw.config.get('wgMFMode')!==null?'phone':'desktop'};mw.trackSubscribe('visualEditorFeatureUse',visualEditorFeatureUseHandler);}let firstInitDone=false;function handleInitEvent(event){if(firstInitDone){session.editing_session_id=mw.user.generateRandomSessionId();}firstInitDone=true;if(event.editor_interface){session.editor_interface=event.editor_interface;}if(event.integration){session.integration=event.integration;
}if(session.integration==='discussiontools'){easSampleRate=config.DTSchemaEditAttemptStepSamplingRate||config.WMESchemaEditAttemptStepSamplingRate;easOversample=config.DTSchemaEditAttemptStepOversample||mw.config.get('wgWMESchemaEditAttemptStepOversample');vefuSampleRate=config.WMESchemaVisualEditorFeatureUseSamplingRate||easSampleRate;vefuOversample=easOversample;}else if(session.platform==='phone'&&session.integration==='page'){easSampleRate=config.WMESchemaEditAttemptStepSamplingRate;easOversample=mw.config.get('wgWMESchemaEditAttemptStepOversample')||config.MFSchemaEditAttemptStepOversample==='all'||session.editor_interface===config.MFSchemaEditAttemptStepOversample;vefuSampleRate=config.WMESchemaEditAttemptStepSamplingRate;vefuOversample=mw.config.get('wgWMESchemaEditAttemptStepOversample')||config.MFSchemaEditAttemptStepOversample==='visualeditor'||config.MFSchemaEditAttemptStepOversample==='all';}else{easSampleRate=config.WMESchemaEditAttemptStepSamplingRate;easOversample=mw.config.get('wgWMESchemaEditAttemptStepOversample');
vefuSampleRate=config.WMESchemaVisualEditorFeatureUseSamplingRate;vefuOversample=easOversample;}}$.ajaxPrefilter((options)=>{if(options.trackEditAttemptStepSessionId&&session&&session.editing_session_id){if(options.data instanceof window.FormData){options.data.append('editingStatsId',session.editing_session_id);}else if(typeof options.data==='string'){options.data+='&editingStatsId='+encodeURIComponent(session.editing_session_id);}else if(options.url.includes('?')){options.url+='&editingStatsId='+encodeURIComponent(session.editing_session_id);}else{mw.errorLogger.logError(new Error('editAttemptStep: Unable to add editingStatsId'),'error.wikimediaevents');}}});const trackdebug=new URL(location.href).searchParams.has('trackdebug');function log(){console.log.apply(console,arguments);}let timing={};function computeDuration(action,event,timeStamp){if(event.timing!==undefined){return event.timing;}switch(action){case'ready':return timeStamp-timing.init;case'loaded':return timeStamp-timing.init;
case'firstChange':return timeStamp-timing.ready;case'saveIntent':return timeStamp-timing.ready;case'saveAttempt':return timeStamp-timing.saveIntent;case'saveSuccess':case'saveFailure':mw.log.warn('editAttemptStep: Do not rely on default timing value for saveSuccess/saveFailure');return-1;case'abort':switch(event.type){case'preinit':return timeStamp-timing.init;case'nochange':case'switchwith':case'switchwithout':case'switchnochange':case'abandon':case'pageupdate':return timeStamp-timing.ready;case'abandonMidsave':return timeStamp-timing.saveAttempt;}mw.log.warn('editAttemptStep: Unrecognized abort type',event.type);return-1;}mw.log.warn('editAttemptStep: Unrecognized action',action);return-1;}function addABTestData(data,addToken){if((mw.config.get('wgVisualEditorConfig')||{}).editCheckABTest){const bucket=mw.config.get('wgVisualEditorEditCheckABTestBucket');if(bucket){data.bucket=bucket;if(mw.user.isAnon()&&addToken){const token=mw.cookie.get('VEECid','');if(token){data.anonymous_user_token=token;
}}}}}function inSample(samplingRate){return mw.eventLog.randomTokenMatch(1/samplingRate,session.editing_session_id);}const schemaEditAttemptStep=new mw.eventLog.Schema('EditAttemptStep',0,{page_id:mw.config.get('wgArticleId'),page_title:mw.config.get('wgPageName'),page_ns:mw.config.get('wgNamespaceNumber'),revision_id:mw.config.get('wgRevisionId')||+$('input[name=parentRevId]').val()||0,user_id:mw.user.getId(),user_is_temp:mw.user.isTemp(),user_class:mw.user.isAnon()?'IP':undefined,user_editcount:mw.config.get('wgUserEditCount',0),user_groups:mw.config.get('wgUserGroups'),mw_version:mw.config.get('wgVersion'),page_token:mw.user.getPageviewToken(),session_token:mw.user.sessionId(),version:1});function editAttemptStepHandler(topic,data){if(data&&data.mode){data.editor_interface=data.mode==='source'?'wikitext-2017':'visualeditor';delete data.mode;}if(!session){handleFirstEvent(data);}if(data.action==='init'){handleInitEvent(data);}const actionPrefixMap={firstChange:'first_change',
saveIntent:'save_intent',saveAttempt:'save_attempt',saveSuccess:'save_success',saveFailure:'save_failure'};const actionPrefix=actionPrefixMap[data.action]||data.action;const timeStamp=mw.now();if(data.action==='abort'&&(data.type==='unknown'||data.type==='unknown-edited')){if(timing.saveAttempt&&timing.saveSuccess===undefined&&timing.saveFailure===undefined){data.type='abandonMidsave';}else if(timing.init&&timing.ready===undefined){data.type='preinit';}else if(data.type==='unknown'){data.type='nochange';}else{data.type='abandon';}}if(data.action==='init'||data.action==='abort'||data.action==='saveFailure'){data[actionPrefix+'_type']=data.type;}if(data.action==='init'||data.action==='abort'){data[actionPrefix+'_mechanism']=data.mechanism;}let duration=0;if(data.action!=='init'){duration=Math.round(computeDuration(data.action,data,timeStamp));data[actionPrefix+'_timing']=isNaN(duration)?-1:duration;}if(data.action==='saveFailure'){data[actionPrefix+'_message']=data.message;}delete data.type;
delete data.mechanism;delete data.timing;delete data.message;data.is_oversample=!inSample(easSampleRate);if(data.action==='abort'&&data.abort_type!=='switchnochange'){timing={};}else{timing[data.action]=timeStamp;}if(data.abort_type==='switchnochange'){return;}if(timing.abort){if(data.action==='ready'){return;}if(data.action==='loaded'){delete timing.abort;return;}}addABTestData(data,true);data=Object.assign({},webCommon(),session,data);if(trackdebug){log(topic+'.'+data.action,duration+'ms',data,schemaEditAttemptStep.defaults);}else{schemaEditAttemptStep.log(data,easOversample?1:easSampleRate);}}const schemaVisualEditorFeatureUse=new mw.eventLog.Schema('VisualEditorFeatureUse',0,{user_id:mw.user.getId(),user_is_temp:mw.user.isTemp(),user_editcount:mw.config.get('wgUserEditCount',0)});function visualEditorFeatureUseHandler(topic,data){const event=Object.assign({},webCommon(),{feature:data.feature,action:data.action,editor_interface:data.editor_interface||session.editor_interface,
integration:data.integration||session.integration,platform:data.platform||session.platform,editingSessionId:session.editing_session_id,is_oversample:!inSample(vefuSampleRate)});addABTestData(event);if(trackdebug){log(topic,event,schemaVisualEditorFeatureUse.defaults);}else{schemaVisualEditorFeatureUse.log(event,vefuOversample?1:vefuSampleRate);}if(data.feature==='editor-switch'){const editorSwitchMap={'visual-desktop':'visualeditor','source-nwe-desktop':'wikitext-2017','source-desktop':'wikitext','visual-mobile':'visualeditor','source-mobile':'wikitext'};const changedEditorInterface=editorSwitchMap[data.action];if(changedEditorInterface){session.editor_interface=changedEditorInterface;}}}mw.trackSubscribe('editAttemptStep',editAttemptStepHandler);
},"mobileSectionSwitch.js":function(require,module,exports){const editingSessionService=require('./editingSessionService.js');const EXPERIMENT_NAME='fy25-26-we-1-1-19-mobile-section-dead-end-phase-2';const experimentPromise=mw.testKitchen.getExperiment(EXPERIMENT_NAME);experimentPromise.then((experiment)=>{if(!(experiment&&experiment.isAssignedGroup('control','treatment'))){return;}const config=mw.config.get('wgVisualEditorConfig')||{};config.enableSectionEditingFullPageButtons=experiment.isAssignedGroup('treatment');});mw.hook('ve.newTarget').add((target)=>{if(target.constructor.static.trackingName!=='mobile'){return;}experimentPromise.then((exp)=>{if(!(exp&&exp.isAssignedGroup('control','treatment'))){return;}const send=(action,data)=>{data.funnel_entry_token=editingSessionService.getEditingSessionId(null,true);data.action_context=data.action_context||{};data.action_context.interface=target.getDefaultMode()==='source'?'wikitext-2017':'visualeditor';data.action_context=JSON.stringify(data.action_context);exp.send(action,data);};const timings={
init:mw.now()};send('init',{action_subtype:target.section!==null?'section':'page',page:{namespace_id:mw.config.get('wgNamespaceNumber')}});target.once('surfaceReady',()=>{timings.ready=mw.now();send('ready',{action_subtype:target.section!==null?'section':'page',action_context:{timing_ms:timings.ready-timings.init}});});target.on('surfaceReady',()=>{target.surface.getModel().getDocument().once('transact',()=>{timings.firstChange=mw.now();send('firstChange',{action_context:{timing_ms:timings.firstChange-timings.ready}});});});target.once('save',(data)=>{send('edit_saved',{page:{namespace_id:mw.config.get('wgNamespaceNumber'),revision_id:data.newrevid}});});if(target.section){let sectionLabel=target.section==='new'?'new':'middle';const section=Number(target.section);if(section===0){sectionLabel='lead';}else if(section===target.$editableContent.find('.mw-editsection').length){sectionLabel='last';}target.switchToFullPageButtonTop.on('click',()=>{send('section_switch',{action_subtype:sectionLabel+'-top'});
});target.switchToFullPageButtonBottom.on('click',()=>{send('section_switch',{action_subtype:sectionLabel+'-bottom'});});}});});
},"suggestionMode.js":function(require,module,exports){const editingSessionService=require('./editingSessionService.js');const EXPERIMENT_NAME='fy25-26-we-1-7-8-suggestion-mode-beta';const ACCEPT_ACTIONS=['remove','accept','edit','fix','convert','useTarget','useLabel','recheck','add'];const DECLINE_ACTIONS=['dismiss','keep','reject'];const experimentPromise=mw.testKitchen.getExperiment(EXPERIMENT_NAME).then((exp)=>{const isUserExcluded=(mw.user.options.get('visualeditor-editcheck-suggestions')||(mw.user.isNamed()&&mw.config.get('wgUserEditCount')>100));return{exp,isUserExcluded};});experimentPromise.then(({exp,isUserExcluded})=>{if(!(exp&&exp.isAssignedGroup('control','treatment'))){return;}if(isUserExcluded){return;}mw.user.options.set('visualeditor-editcheck-suggestions',exp.isAssignedGroup('treatment'));});mw.hook('ve.newTarget').add((target)=>{experimentPromise.then(({exp,isUserExcluded})=>{if(!(exp&&exp.isAssignedGroup('control','treatment'))){return;}if(isUserExcluded){return;}const send=(action,data)=>{data.funnel_entry_token=editingSessionService.getEditingSessionId(null,true);
data.action_context=data.action_context||{};data.action_context.interface=target.getDefaultMode()==='source'?'wikitext-2017':'visualeditor';data.action_context=JSON.stringify(data.action_context);exp.send(action,data);};let abandoned=false;let qualifiedTimeout=null;let saved=false;let changed=false;const timings={};function clearSession(){saved=false;abandoned=false;changed=false;if(qualifiedTimeout!==null){clearTimeout(qualifiedTimeout);qualifiedTimeout=null;}}function onSessionStart(){exp.sendExposure();clearSession();timings.ready=mw.now();qualifiedTimeout=setTimeout(()=>{if(!abandoned){send('session_qualified',{page:{namespace_id:mw.config.get('wgNamespaceNumber')}});}},2000);}if(target.enableVisualSectionEditing){target.once('surfaceReady',onSessionStart);}else{target.on('surfaceReady',onSessionStart);}target.on('surfaceReady',()=>{target.surface.getModel().getDocument().once('transact',()=>{if(!changed){timings.firstChange=mw.now();changed=true;send('first_change',{action_context:{timing_ms:timings.firstChange-timings.ready}
});}});});target.on('save',(data)=>{saved=true;send('edit_saved',{page:{namespace_id:mw.config.get('wgNamespaceNumber'),revision_id:data.newrevid}});});target.on('teardown',()=>{if(target.activating||target.saving||saved){return;}const abortType=changed?'abandon':'nochange';timings.abandon=mw.now();abandoned=true;send('abort',{action_subtype:abortType,action_context:{timing_ms:timings.abandon-timings.ready}});});mw.trackSubscribe('visualEditorFeatureUse',(_,data)=>{if(data&&data.feature.startsWith('editCheck-')){if(data.action.startsWith('suggestion-seen-')){const moment=data.action.replace('suggestion-seen-','');send('suggestion_seen',{action_subtype:moment});}if(data.action.startsWith('suggestion-shown-')){const moment=data.action.replace('suggestion-shown-','');send('suggestion_shown',{action_subtype:moment});}if(data.action.startsWith('suggestion-action-')){const choice=data.action.replace('suggestion-action-','');if(ACCEPT_ACTIONS.includes(choice)){send('suggestion_accept',{
action_subtype:choice});}else if(DECLINE_ACTIONS.includes(choice)){send('suggestion_decline',{action_subtype:choice});}}}});});});
},"hCaptcha.js":function(require,module,exports){const editingSessionService=require('./editingSessionService.js');function setupInstrumentation(){const editingInterfaces={edit:'wikitext',mobilefrontendeditor:'mobilefrontend',visualeditor:'visualeditor'};mw.trackSubscribe('confirmEdit.hCaptchaRenderCallback',(_,event,interfaceName,error)=>{if(Object.keys(editingInterfaces).includes(interfaceName)){if(event==='open'){mw.track('editAttemptStep',{action:'saveFailure',message:'hcaptcha',type:'captchaExtension',editor_interface:editingInterfaces[interfaceName]});const textArea=document.querySelector(interfaceName==='mobilefrontendeditor'?'textarea[id="wikitext-editor"]':'textarea[name="wpTextbox1"]');let revisionId=mw.config.get('wgRevisionId',0);if(revisionId===0){revisionId=mw.config.get('wgCurRevisionId',0);}(new mw.Api()).post({formatversion:2,action:'wikimediaeventshcaptchaeditattempt',proposed_content:textArea?textArea.value:null,title:mw.config.get('wgPageName'),revision_id:revisionId,editing_session_id:editingSessionService.getEditingSessionId()
});}mw.track('visualEditorFeatureUse',{feature:'hcaptcha',action:event});if(error){mw.track('visualEditorFeatureUse',{feature:'hcaptcha_error',action:error});}}});mw.trackSubscribe('stats.mediawiki_confirmedit_hcaptcha_execute_total',(_,count,data)=>{if(Object.keys(editingInterfaces).includes(data.interfaceName)){mw.track('visualEditorFeatureUse',{feature:'hcaptcha',action:'execute',editor_interface:editingInterfaces[data.interfaceName]});}});}module.exports=setupInstrumentation;
},"editSaves.js":function(require,module,exports){const{EXPERIMENTS}=require('./accountCreation/experiments.js');function submitEditInteraction(configuredExperiments,newRevId){configuredExperiments.forEach((experimentPromise)=>{experimentPromise.then((experiment)=>experiment.send('edit_saved',{page:{namespace_id:mw.config.get('wgNamespaceNumber'),revision_id:newRevId}}));});}mw.loader.using(['ext.wikimediaEvents.testKitchen']).then(()=>{if(!mw.config.get('wgMFMode')){return;}const configuredExperiments=EXPERIMENTS.map((experimentName)=>mw.testKitchen.getExperiment(experimentName));mw.hook('mobileFrontend.sourceEditor.saveComplete').add((newRevId)=>submitEditInteraction(configuredExperiments,newRevId));mw.hook('ve.newTarget').add((target)=>{target.once('save',(data)=>submitEditInteraction(configuredExperiments,data.newrevid));});});
},"externalLinks.js":function(require,module,exports){const config=require('./config.json');function getTrackingPrefix(host){host='.'+host;for(const prefix of config.WikimediaEventsExternalLinkTrackedDomains){if(host.endsWith('.'+prefix)){return prefix;}}return null;}function setupInstrumentation(){if(mw.config.get('wgUserId')||!config.WikimediaEventsExternalLinkInstrumentation||!config.WMEStatsBeaconUri){return;}const $links=$('.mw-parser-output a.external');$links.on('mousedown',function(){if(!this.host){return;}const trackingPrefix=getTrackingPrefix(this.host);if(trackingPrefix===null){return;}const domain=trackingPrefix.replace(/\./g,'_');const wiki=mw.config.get('wgDBname');const serializedData=`mediawiki_WikimediaEvents_extLinkClick_total:1|c%7C%23wiki:${wiki},domain:`+domain;mw.eventLog.sendBeacon(config.WMEStatsBeaconUri+'?'+serializedData);});}module.exports=setupInstrumentation;
},"config.json":{"WMEClientErrorIntakeURL":"https://intake-logging.wikimedia.org/v1/events?hasty=true","WMEStatsdBaseUri":"/beacon/statsv","WMEStatsBeaconUri":"/beacon/statsv","WMEWikidataCompletionSearchClicks":[],"WMESessionTick":true,"WMEReadingDepthSamplingRate":0.01,"WMENewPHPSamplingRate":0,"WMENewPHPVersion":"","WMESchemaEditAttemptStepSamplingRate":1,"WMESchemaVisualEditorFeatureUseSamplingRate":1,"DTSchemaEditAttemptStepSamplingRate":0,"DTSchemaEditAttemptStepOversample":true,"MFSchemaEditAttemptStepOversample":"visualeditor","WikimediaEventsExternalLinkInstrumentation":false,"WikimediaEventsExternalLinkTrackedDomains":[]},"testKitchen/pageVisitBotDetection.js":function(require,module,exports){const INSTRUMENT_NAME='bot-detection-2026-03';const SCHEMA_ID='/analytics/product_metrics/web/base_with_ip/2.0.0';const instrument=mw.testKitchen.getInstrument(INSTRUMENT_NAME);instrument.setSchema(SCHEMA_ID);let botScore=0;if(navigator.webdriver===true){botScore|=1;}if(navigator.hardwareConcurrency>70){botScore|=2;}const coId=getCoId();const interactionData={action_context:'bot='+botScore+(coId?';co_id='+coId:''),action_source:cyrb53(location.pathname+location.search,0)};instrument.send('page_load',interactionData);function getCoId(){if(!window.performance||!performance.getEntriesByType){return'';}const navigationEntry=performance.getEntriesByType('navigation')[0];if(!navigationEntry||!navigationEntry.serverTiming){return'';}const coIdTiming=navigationEntry.serverTiming.find((entry)=>entry.name==='co_id');return coIdTiming?coIdTiming.description:'';}function cyrb53(str,seed){let h1=0xdeadbeef^seed;let h2=0x41c6ce57^seed;for(let i=0,ch;i<str.length;i++){ch=str.charCodeAt(i);h1=Math.imul(h1^ch,2654435761);
h2=Math.imul(h2^ch,1597334677);}h1=Math.imul(h1^(h1>>>16),2246822507);h1^=Math.imul(h2^(h2>>>13),3266489909);h2=Math.imul(h2^(h2>>>16),2246822507);h2^=Math.imul(h1^(h1>>>13),3266489909);return String(4294967296*(2097151&h2)+(h1>>>0));}
},"testKitchen/activeReaderBaseline.js":function(require,module,exports){const INSTRUMENT_NAME='active-reader-baseline-2026-04';if(mw.user.isNamed()&&mw.config.get('wgUserEditCount')===0){hashString(String(mw.user.getId())).then((userIdHash)=>{const instrument=mw.testKitchen.getInstrument(INSTRUMENT_NAME);const interactionData={action_context:userIdHash};instrument.send('page_load',interactionData);});}async function hashString(message){const msgBuffer=new TextEncoder().encode(message);const hashBuffer=await crypto.subtle.digest('SHA-256',msgBuffer);const hashArray=Array.from(new Uint8Array(hashBuffer));return hashArray.map((b)=>b.toString(16).padStart(2,'0')).join('');}
},"testKitchen/attribution.js":function(require,module,exports){const EXPERIMENT_NAME='attribution-research-2026-06-run';const DONE='mw-tk-ae-done';const ERASED='mw-tk-ae-erase';const EXPIRE_REMEMBER=3110400;const DEPENDENCIES=['mediawiki.storage'];function remember(key){mw.storage.set(key,'1',EXPIRE_REMEMBER);}function was(key){return mw.storage.get(key)==='1';}function interval(checkinTimes,fn){let checkin=checkinTimes.shift();let timeout=checkin;function action(){const current=checkin;fn(current);checkin=checkinTimes.shift();if(checkin){timeout=checkin-current;setTimeout(action,1000*timeout);}}setTimeout(action,1000*timeout);}function main(exp){if(was(DONE)||was(ERASED)){return;}if(!(exp&&exp.isAssignedGroup('control','treatment'))){return;}const tickTimes=[5,64,166];interval(tickTimes,(tick)=>exp.send('tick',{action_context:String(tick)}));if(mw.config.get('wgUserId')===null){const interactionData={action_context:document.referrer.slice(0,300)};const contextualAttributes=['page_id','page_namespace_id','mediawiki_database'];exp.send('page_load',interactionData,contextualAttributes);
mw.trackSubscribe('editAttemptStep',(_,data)=>{let action=null;if(data&&data.action==='firstChange'){action='edit_first_change_'+data.editor_interface;}if(data&&data.action==='saveAttempt'){action='edit_attempt_'+data.editor_interface;}if(action!==null){exp.send(action,{},contextualAttributes);}});mw.hook('donate.attempt').add((source)=>{exp.send('donate_attempt',{action_source:source},contextualAttributes);});$('a[data-mw-donate-attempt]').on('click',(event)=>{const source=(event&&event.currentTarget&&event.currentTarget.dataset)?event.currentTarget.dataset.mwDonateAttempt:'';exp.send('donate_attempt',{action_source:source},contextualAttributes);});}else{if(mw.config.get('wgTKAccountJustCreated')){const contextualAttributes=['performer_id','performer_is_temp','mediawiki_database'];exp.send('registration',{},contextualAttributes);mw.hook('postEdit').add(()=>{exp.send('edit_successful',{},contextualAttributes);});remember(DONE);}else{exp.send('erase_subject');remember(ERASED);}}}mw.loader.using(DEPENDENCIES).then(
()=>mw.testKitchen.getExperiment(EXPERIMENT_NAME).then(main));
},"testKitchen/loggedInReaderRetention.js":function(require,module,exports){const LOGGED_IN_RETENTION_EXPERIMENT_PREFIX='logged-in-retention-';if(mw.user.isNamed()){mw.testKitchen.compat.getExperimentsByPrefix(LOGGED_IN_RETENTION_EXPERIMENT_PREFIX).forEach((experiment)=>{experiment.sendExposure();experiment.send('page_visit');});}
},"testKitchen/loggedOutReaderRetention.js":function(require,module,exports){const EXPERIMENT_NAME_PREFIX='logged-out-retention-';mw.testKitchen.getExperimentsByPrefix(EXPERIMENT_NAME_PREFIX).then((experiments)=>{experiments.forEach((experiment)=>{experiment.sendExposure();experiment.send('page_visit');});});
},"testKitchen/detectHoistingErrors.js":function(require,module,exports){const EXPERIMENT_NAME='synth-aa-detect-hoisting-errors-1';mw.testKitchen.getExperiment(EXPERIMENT_NAME).then((e)=>{e.send('page_visit');});
},"specialCreateAccount/init.js":function(require,module,exports){const setupInstrumentation=require('./instrumentation.js');const setupWe18NoDesktopBenefitsExperimentInstrumentation=require('./experimentInstrumentation.js');const decorateCreateAccountLinks=require('./experimentDecorateCreateAccountLinks.js');decorateCreateAccountLinks();if(mw.config.get('wgCanonicalSpecialPageName')==='CreateAccount'){mw.loader.using('ext.wikimediaEvents.testKitchen').then(()=>{$(setupInstrumentation);$(setupWe18NoDesktopBenefitsExperimentInstrumentation);});}
},"specialCreateAccount/instrumentation.js":function(require,module,exports){const instrument=require('./useInstrument.js');function setupInstrumentation(){const submitInteraction=instrument.useInstrument();const contextsByFieldName={wpName:'user_name',wpPassword:'password',retype:'confirm_password',captchaWord:'captcha',email:'email',realname:'real_name',reason:'reason'};const errorPageMessageKey=mw.config.get('wgErrorPageMessageKey');if(errorPageMessageKey){submitInteraction('form_error',{source:'form',context:errorPageMessageKey});}const formReady=Date.now();let interactionStart=null;const $form=$('#userlogin2');const $inputs=$form.find('input');$form.find('a[href="https://www.hcaptcha.com/privacy"]').on('click',()=>{submitInteraction('click',{source:'form',context:'hcaptcha-privacy-policy'});});$form.find('a[href="https://www.hcaptcha.com/terms"]').on('click',()=>{submitInteraction('click',{source:'form',context:'hcaptcha-terms-of-use'});});$inputs.on('focus',function(){if(!interactionStart){interactionStart=Date.now();const query=new URLSearchParams(window.location.search);
const timeToInteractionStart=interactionStart-formReady;submitInteraction('view',{source:'form',context:timeToInteractionStart/1000});submitInteraction('click',{source:'form',context:JSON.stringify({return_to:query.get('returnto')||''})});submitInteraction('captcha_class_clientside',{source:'form',context:mw.config.get('wgWikimediaEventsCaptchaClassType')});}const $field=$(this);const fieldName=$field.attr('name');if(contextsByFieldName[fieldName]){const inputInteractionStart=Date.now();$field.one('blur',()=>{const elapsed=Date.now()-inputInteractionStart;submitInteraction('blur',{source:'form',elementId:contextsByFieldName[fieldName],context:elapsed/1000});});}});$inputs.on('change',function(){const fieldName=$(this).attr('name');if(contextsByFieldName[fieldName]){submitInteraction('type',{source:'form',elementId:contextsByFieldName[fieldName]});}});$form.on('submit',()=>{if(interactionStart){submitInteraction('click',{source:'form',subType:'presubmit',context:$form.find('input[name=wpName]').val().trim()
});const elapsed=Date.now()-interactionStart;submitInteraction('click',{source:'form',subType:'submit',context:elapsed/1000});}});mw.trackSubscribe('specialCreateAccount.validationErrors',(topic,errorCodes)=>{for(const code of errorCodes){submitInteraction('view',{source:'form',subType:'validation_error',context:code.replace(/-/g,'_')});}});mw.trackSubscribe('specialCreateAccount.performanceTiming',(_,measurementName,durationSeconds)=>{submitInteraction(measurementName,{source:'form',context:durationSeconds});});mw.trackSubscribe('confirmEdit.hCaptchaRenderCallback',(_,event,interfaceName,error)=>{if(interfaceName!=='createaccount'){return;}submitInteraction('hcaptcha_render',{context:event});if(error){submitInteraction('hcaptcha_error',{context:error});}});}module.exports=setupInstrumentation;
},"specialCreateAccount/useInstrument.js":function(require,module,exports){'use strict';let instrument;let funnelEntryToken;const INSTRUMENT_NAME='special-create-account';const useInstrument=()=>{if(!instrument){instrument=mw.testKitchen.getInstrument(INSTRUMENT_NAME);}return(action,data={})=>{if(!funnelEntryToken){const funnelEntryTokenSessionStorageKey='SpecialCreateAccountFunnelToken-'+mw.user.getId();funnelEntryToken=mw.storage.session.get(funnelEntryTokenSessionStorageKey)||mw.user.generateRandomSessionId();mw.storage.session.set(funnelEntryTokenSessionStorageKey,funnelEntryToken);}const interactionData={funnel_entry_token:funnelEntryToken};if(data.subType){interactionData.action_subtype=data.subType;}if(data.source){interactionData.action_source=data.source;}if(data.elementId){interactionData.element_id=data.elementId;}if(data.context){interactionData.action_context=String(data.context).slice(0,64);}interactionData.funnel_name='create_account';instrument.send(action,interactionData);};};module.exports={useInstrument};
},"specialCreateAccount/experimentDecorateCreateAccountLinks.js":function(require,module,exports){function decorateCreateAccountLinks(){if(mw.config.get('wgDBname')!=='enwiki'){return;}if(mw.config.get('skin')==='minerva'){return;}if(!mw.user.isAnon()){return;}const ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT='we-1-8-account-creation-no-desktop-benefits';async function getExperimentParamValue(){const isUserLogin=mw.config.get('wgCanonicalSpecialPageName')==='Userlogin';if(isUserLogin){const experimentsParam=mw.util.getParamValue('experiments')||(mw.util.getArrayParam('experiments')&&mw.util.getArrayParam('experiments')[0]);if(experimentsParam){return experimentsParam;}return ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT+':unknown';}const exp=await mw.testKitchen.getExperiment(ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT);const assignedGroup=exp.getAssignedGroup()===null?'unsampled':exp.getAssignedGroup();const isOverriddenExperiment=exp.name&&exp.assigned;return ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT+':'+assignedGroup+(isOverriddenExperiment?':overridden':'');}
function decorateLinksToAuthWikimediaOrg(experimentValue){document.querySelectorAll('[href*="Special:UserLogin"],[href*="Special:CreateAccount"]').forEach((element)=>{const hrefUrl=new URL(element.href);hrefUrl.searchParams.set('experiments[0]',experimentValue);element.href=hrefUrl.toString();});}mw.loader.using('ext.wikimediaEvents.testKitchen').then(async()=>{const experimentValue=await getExperimentParamValue();decorateLinksToAuthWikimediaOrg(experimentValue);});}module.exports=decorateCreateAccountLinks;
},"specialCreateAccount/experimentInstrumentation.js":function(require,module,exports){const ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT='we-1-8-account-creation-no-desktop-benefits';function setupWe18NoDesktopBenefitsExperimentInstrumentation(){if(mw.config.get('wgMFMode')){return;}if(mw.config.get('wgDBname')!=='enwiki'){return;}if(!mw.user.isAnon()){return;}if(!mw.testKitchen){return;}const{ClickThroughRateInstrument,UrlEnrolledExperiment}=require('ext.wikimediaEvents.testKitchen');const experiment=UrlEnrolledExperiment.getExperimentFromQuery(ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT);if(!document.querySelector('form#userlogin2')){experiment.send('page_visit_without_form',{action_source:'Special:CreateAccount'});return;}experiment.sendExposure();experiment.send('page_visit',{action_source:'Special:CreateAccount'});if(document.querySelectorAll('.cdx-message--error').length>0){experiment.send('page_visit_with_error',{action_source:'Special:CreateAccount'});}const treatmentGroupSelector='#userlogin2 .mw-userlogin-username a.mw-createaccount-username-policy-choose-carefully';
const controlGroupSelector='#userlogin2 .mw-userlogin-username label a';ClickThroughRateInstrument.start(`${treatmentGroupSelector}, ${controlGroupSelector}`,'username policy link',experiment);const createAccountButtonSelector='#wpCreateaccount';ClickThroughRateInstrument.start(createAccountButtonSelector,'create account button',experiment);$('#userlogin2').on('submit',(event)=>{experiment.send('creation_attempt',{action_source:'Special:CreateAccount'});const email=$(event.currentTarget).find('#wpEmail').val();if(email){experiment.send('creation_attempt_with_email',{action_source:'Special:CreateAccount'});}});}module.exports=setupWe18NoDesktopBenefitsExperimentInstrumentation;
},"accountCreation.js":function(require,module,exports){const useAccountCreationInstrument=require('./accountCreation/useAccountCreationInstrument.js');const{EXPERIMENTS}=require('./accountCreation/experiments.js');const READING_LISTS_EXPERIMENT_NAME='account-creation-reading-list-cta';module.exports=function init(){if(mw.config.get('wgTKAccountJustCreated')){EXPERIMENTS.forEach((expName)=>useAccountCreationInstrument(expName));}if(mw.config.get('wgReadingListsAccountJustCreated')){useAccountCreationInstrument(READING_LISTS_EXPERIMENT_NAME);}};
},"accountCreation/useAccountCreationInstrument.js":function(require,module,exports){const removeQueryParam=require('./removeQueryParam.js');const useAccountCreationInstrument=(experimentName,schemaId=null)=>{if(!experimentName){throw new Error('Experiment name is required');}return mw.testKitchen.getExperiment(experimentName).then((experiment)=>{if(schemaId){experiment.setSchema(schemaId);}experiment.send('account_created');removeQueryParam(new URL(window.location.href),['accountJustCreated','readingListsAccountJustCreated']);return experiment;});};module.exports=useAccountCreationInstrument;
},"accountCreation/removeQueryParam.js":function(require,module,exports){function removeQueryParam(url,queryParam){let queryParams;if(Array.isArray(queryParam)){queryParams=queryParam;}else{queryParams=[queryParam];}if(!queryParams.length){return;}queryParams.forEach((param)=>{url.searchParams.delete(param);});let newUrl;if(url.searchParams.size===1&&url.searchParams.has('title')){const hash=url.hash;newUrl=mw.util.getUrl((url.searchParams.get('title')+hash));}else{newUrl=url;}history.replaceState(history.state,document.title,newUrl.toString());}module.exports=removeQueryParam;
},"accountCreation/experiments.js":function(require,module,exports){const CREATE_ACCOUNT_FORM_V2_EXPERIMENT_NAME='we-1-8-account-creation-form-v2';const TEMP_ACCOUNT_POST_EDIT_EXPERIMENT_NAME='we-1-8-tempuser-post-edit';const ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT='we-1-8-account-creation-no-desktop-benefits';const EXPERIMENTS=[CREATE_ACCOUNT_FORM_V2_EXPERIMENT_NAME,TEMP_ACCOUNT_POST_EDIT_EXPERIMENT_NAME,ACCOUNT_CREATION_NO_BENEFITS_DESKTOP_EXPERIMENT];module.exports={EXPERIMENTS};
}}}];});
mw.loader.impl(function(){return["ext.eventLogging.metricsPlatform@adrwj",{"main":"ext.eventLogging.metricsPlatform/index.js","files":{"ext.eventLogging.metricsPlatform/index.js":function(require,module,exports){const MediaWikiMetricsClientIntegration=require('./MediaWikiMetricsClientIntegration.js');const MediaWikiMetricsClientLogger=require('./MediaWikiMetricsClientLogger.js');const MetricsClient=require('../lib/metrics-platform/MetricsClient.js');const DefaultEventSubmitter=require('../lib/metrics-platform/DefaultEventSubmitter.js');let integration;let logger;function newMetricsClient(streamConfigs,eventSubmitter){if(!integration){integration=new MediaWikiMetricsClientIntegration();}if(!logger){logger=new MediaWikiMetricsClientLogger();}return new MetricsClient(integration,logger,streamConfigs,eventSubmitter);}module.exports={DefaultEventSubmitter,newMetricsClient};
},"ext.eventLogging.metricsPlatform/MediaWikiMetricsClientIntegration.js":function(require,module,exports){const c=mw.config.get.bind(mw.config);let contextAttributes=null;function MediaWikiMetricsClientIntegration(){}MediaWikiMetricsClientIntegration.prototype.getHostname=function(){return String(c('wgServerName'));};MediaWikiMetricsClientIntegration.prototype.clone=function(obj){return $.extend(true,{},obj);};MediaWikiMetricsClientIntegration.prototype.getContextAttributes=function(){if(contextAttributes){return contextAttributes;}const isMobileFrontendActive=c('wgMFMode')!==null;const version=String(c('wgVersion'));const userIsLoggedIn=!mw.user.isAnon();const userGroups=c('wgUserGroups',[]);const result={agent:{client_platform:'mediawiki_js',client_platform_family:isMobileFrontendActive?'mobile_browser':'desktop_browser',ua_string:navigator.userAgent},page:{id:c('wgArticleId'),title:c('wgTitle'),namespace_id:c('wgNamespaceNumber'),namespace_name:c('wgCanonicalNamespace'),revision_id:c('wgRevisionId'),wikidata_qid:c('wgWikibaseItemId'),content_language:c('wgPageContentLanguage'),
is_redirect:c('wgIsRedirect'),user_groups_allowed_to_move:c('wgRestrictionMove'),user_groups_allowed_to_edit:c('wgRestrictionEdit')},mediawiki:{skin:c('skin'),version:version,is_production:version.includes('wmf'),is_debug_mode:c('debug'),database:c('wgDBname'),site_content_language:c('wgContentLanguage')},performer:{is_logged_in:userIsLoggedIn,id:mw.user.getId(),name:mw.user.getName(),groups:userGroups,is_bot:userGroups.includes('bot'),is_temp:c('wgUserIsTemp'),language:c('wgUserLanguage'),language_variant:c('wgUserVariant'),can_probably_edit_page:c('wgIsProbablyEditable')}};if(userIsLoggedIn){result.performer.edit_count=c('wgUserEditCount');result.performer.edit_count_bucket=c('wgUserEditCountBucket');result.performer.registration_dt=new Date(c('wgUserRegistration')).toISOString();}Object.defineProperty(result.performer,'session_id',{get:function(){return mw.user.sessionId();}});Object.defineProperty(result.performer,'pageview_id',{get:function(){return mw.user.getPageviewToken();}});
contextAttributes=result;return result;};module.exports=MediaWikiMetricsClientIntegration;
},"ext.eventLogging.metricsPlatform/MediaWikiMetricsClientLogger.js":function(require,module,exports){function MediaWikiMetricsClientLogger(){}MediaWikiMetricsClientLogger.prototype.logWarning=function(string){};module.exports=MediaWikiMetricsClientLogger;
},"lib/metrics-platform/Context.js":function(require,module,exports){const VALID_ATTRIBUTE_NAMES=['agent_client_platform','agent_client_platform_family','agent_ua_string','page_id','page_title','page_namespace_id','page_namespace_name','page_revision_id','page_wikidata_id','page_wikidata_qid','page_content_language','page_is_redirect','page_user_groups_allowed_to_move','page_user_groups_allowed_to_edit','mediawiki_skin','mediawiki_version','mediawiki_is_production','mediawiki_is_debug_mode','mediawiki_database','mediawiki_site_content_language','mediawiki_site_content_language_variant','performer_is_logged_in','performer_id','performer_name','performer_session_id','performer_pageview_id','performer_groups','performer_is_bot','performer_is_temp','performer_language','performer_language_variant','performer_can_probably_edit_page','performer_edit_count','performer_edit_count_bucket','performer_registration_dt'];function getAttributeByName(from,name){const index=name.indexOf('_');const primaryKey=name.slice(0,index);if(!from[primaryKey]){return null;}const secondaryKey=name.slice(index+1);
const value=from[primaryKey][secondaryKey];return(value===undefined||value===null)?null:value;}function copyAttributeByName(from,to,name){const index=name.indexOf('_');const primaryKey=name.slice(0,index);const secondaryKey=name.slice(index+1);const value=from[primaryKey]?from[primaryKey][secondaryKey]:null;if(value===undefined||value===null){return;}to[primaryKey]=to[primaryKey]||{};to[primaryKey][secondaryKey]=value;}function copyAttributes(from,to){VALID_ATTRIBUTE_NAMES.forEach((name)=>copyAttributeByName(from,to,name));}module.exports={getAttributeByName:getAttributeByName,copyAttributeByName:copyAttributeByName,copyAttributes:copyAttributes};
},"lib/metrics-platform/ContextController.js":function(require,module,exports){const copyAttributeByName=require('./Context.js').copyAttributeByName;const isValidSample=require('./StreamConfig.js').isValidSample;function ContextController(integration){this.integration=integration;}ContextController.prototype.addRequestedValues=function(eventData,streamConfig){let requestedValues=streamConfig&&streamConfig.producers&&streamConfig.producers.metrics_platform_client&&streamConfig.producers.metrics_platform_client.provide_values;if(!Array.isArray(requestedValues)){requestedValues=[];}const contextAttributes=this.integration.getContextAttributes();requestedValues.concat(['agent_client_platform','agent_client_platform_family']).forEach((requestedValue)=>copyAttributeByName(contextAttributes,eventData,requestedValue));if(streamConfig.sample&&isValidSample(streamConfig.sample)){eventData.sample=streamConfig.sample;}return eventData;};module.exports=ContextController;
},"lib/metrics-platform/DefaultEventSubmitter.js":function(require,module,exports){const DEFAULT_EVENT_INTAKE_URL='https://intake-analytics.wikimedia.org/v1/events?hasty=true';const DELAYED_SUBMIT_TIMEOUT=5;function DefaultEventSubmitter(eventIntakeUrl){this.eventIntakeUrl=eventIntakeUrl||DEFAULT_EVENT_INTAKE_URL;this.events=[];const eventSubmitter=this;this.isDocumentUnloading=false;window.addEventListener('pagehide',()=>{eventSubmitter.isDocumentUnloading=true;});window.addEventListener('pageshow',()=>{eventSubmitter.isDocumentUnloading=false;});document.addEventListener('visibilitychange',()=>{if(document.hidden){eventSubmitter.doSubmitEvents();}});this.delayedSubmitTimeoutID=null;}DefaultEventSubmitter.prototype.submitEvent=function(eventData){this.events.push(eventData);if(this.isDocumentUnloading){this.doSubmitEvents();}else{this.doDelayedSubmit();}this.onSubmitEvent(eventData);};DefaultEventSubmitter.prototype.doSubmitEvents=function(){if(this.events.length){try{navigator.sendBeacon(this.eventIntakeUrl,JSON.stringify(this.events));}catch(e){}}this.events=[];
this.delayedSubmitTimeoutID=null;};DefaultEventSubmitter.prototype.doDelayedSubmit=function(){if(this.delayedSubmitTimeoutID){return;}const eventSubmitter=this;this.delayedSubmitTimeoutID=setTimeout(()=>{eventSubmitter.doSubmitEvents();},DELAYED_SUBMIT_TIMEOUT*1000);};DefaultEventSubmitter.prototype.onSubmitEvent=function(eventData){console.info('Submitted the following event:',eventData);};module.exports=DefaultEventSubmitter;
},"lib/metrics-platform/MetricsClient.js":function(require,module,exports){const ContextController=require('./ContextController.js');const SamplingController=require('./SamplingController.js');const DefaultEventSubmitter=require('./DefaultEventSubmitter.js');const SCHEMA='/analytics/mediawiki/client/metrics_event/2.1.0';function MetricsClient(integration,logger,streamConfigs,eventSubmitter){this.contextController=new ContextController(integration);this.samplingController=new SamplingController(integration);this.integration=integration;this.logger=logger;this.streamConfigs=streamConfigs;this.eventSubmitter=eventSubmitter||new DefaultEventSubmitter();this.eventNameToStreamNamesMap=null;}function getStreamConfigInternal(streamConfigs,streamName){if(streamConfigs===false){return{};}if(!streamConfigs[streamName]){return undefined;}return streamConfigs[streamName];}MetricsClient.prototype.getStreamConfig=function(streamName){const streamConfig=getStreamConfigInternal(this.streamConfigs,streamName);return streamConfig?this.integration.clone(streamConfig):streamConfig;
};function getEventNameToStreamNamesMap(streamConfigs){const result={};for(const streamName in streamConfigs){const streamConfig=streamConfigs[streamName];if(!streamConfig.producers||!streamConfig.producers.metrics_platform_client||!streamConfig.producers.metrics_platform_client.events){continue;}let events=streamConfig.producers.metrics_platform_client.events;if(typeof events==='string'){events=[events];}for(let i=0;i<events.length;++i){if(!result[events[i]]){result[events[i]]=[];}result[events[i]].push(streamName);}}return result;}MetricsClient.prototype.getStreamNamesForEvent=function(eventName){if(this.streamConfigs===false){return[];}if(!this.eventNameToStreamNamesMap){this.eventNameToStreamNamesMap=getEventNameToStreamNamesMap(this.streamConfigs);}let result=[];for(const key in this.eventNameToStreamNamesMap){if(eventName.indexOf(key)===0){result=result.concat(this.eventNameToStreamNamesMap[key]);}}return result;};MetricsClient.prototype.addRequiredMetadata=function(eventData,streamName){
if(eventData.meta){eventData.meta.stream=streamName;eventData.meta.domain=this.integration.getHostname();}else{eventData.meta={stream:streamName,domain:this.integration.getHostname()};}if(eventData.client_dt){delete eventData.dt;}else{eventData.dt=eventData.dt||new Date().toISOString();}return eventData;};MetricsClient.prototype.submit=function(streamName,eventData){const result=this.validateSubmitCall(streamName,eventData);if(result){this.processSubmitCall(new Date().toISOString(),streamName,eventData);}};MetricsClient.prototype.validateSubmitCall=function(streamName,eventData){if(!eventData||!eventData.$schema){this.logger.logWarning('submit( '+streamName+', eventData ) called with eventData missing required '+'field "$schema". No event will be produced.');return false;}return true;};MetricsClient.prototype.processSubmitCall=function(timestamp,streamName,eventData){eventData.dt=timestamp;const streamConfig=getStreamConfigInternal(this.streamConfigs,streamName);if(!streamConfig){this.logger.logWarning(
'The stream '+streamName+' is not configured. No event will be sent');return;}if(!this.samplingController.isStreamInSample(streamConfig)){this.logger.logWarning('The stream '+streamName+' is out of sample. No event will be sent');return;}const targetStreamName=streamConfig&&streamConfig.producers&&streamConfig.producers.metrics_platform_client&&streamConfig.producers.metrics_platform_client.stream_name;if(targetStreamName){if(!getStreamConfigInternal(this.streamConfigs,targetStreamName)){return;}streamName=targetStreamName;}this.addRequiredMetadata(eventData,streamName);this.eventSubmitter.submitEvent(eventData);};MetricsClient.prototype.submitInteraction=function(streamName,schemaID,action,interactionData){if(!action){this.logger.logWarning('submitInteraction( '+streamName+', ..., action ) '+'called without required field "action". No event will be produced.');return;}const eventData=Object.assign({action},interactionData||{},{$schema:schemaID});const streamConfig=getStreamConfigInternal(this.streamConfigs,streamName);
if(!streamConfig){return;}this.contextController.addRequestedValues(eventData,streamConfig);this.submit(streamName,eventData);};const WEB_BASE_SCHEMA_ID='/analytics/product_metrics/web/base/1.5.0';MetricsClient.prototype.submitClick=function(streamName,interactionData){this.submitInteraction(streamName,WEB_BASE_SCHEMA_ID,'click',interactionData);};MetricsClient.prototype.isStreamInSample=function(streamName){const streamConfig=getStreamConfigInternal(this.streamConfigs,streamName);return streamConfig?this.samplingController.isStreamInSample(streamConfig):false;};module.exports=MetricsClient;module.exports.SCHEMA=SCHEMA;
},"lib/metrics-platform/SamplingController.js":function(require,module,exports){const isValidSample=require('./StreamConfig.js').isValidSample;const UINT32_MAX=4294967295;function SamplingController(integration){this.integration=integration;}SamplingController.prototype.isStreamInSample=function(streamConfig){if(!streamConfig){return false;}if(!streamConfig.sample){return true;}if(!isValidSample(streamConfig.sample)){return false;}let id;switch(streamConfig.sample.unit){case'pageview':id=this.integration.getContextAttributes().performer.pageview_id;break;case'session':id=this.integration.getContextAttributes().performer.session_id;break;default:return false;}return parseInt(id.slice(0,8),16)/UINT32_MAX<streamConfig.sample.rate;};module.exports=SamplingController;
},"lib/metrics-platform/StreamConfig.js":function(require,module,exports){const StreamProducerContextAttribute={agent_client_platform:'agent_client_platform',agent_client_platform_family:'agent_client_platform_family',agent_ua_string:'agent_ua_string',page_id:'page_id',page_title:'page_title',page_namespace_id:'page_namespace_id',page_namespace_name:'page_namespace_name',page_revision_id:'page_revision_id',page_wikidata_id:'page_wikidata_id',page_wikidata_qid:'page_wikidata_id',page_content_language:'page_content_language',page_is_redirect:'page_is_redirect',page_user_groups_allowed_to_move:'page_user_groups_allowed_to_move',page_user_groups_allowed_to_edit:'page_user_groups_allowed_to_edit',mediawiki_skin:'mediawiki_skin',mediawiki_version:'mediawiki_version',mediawiki_is_production:'mediawiki_is_production',mediawiki_is_debug_mode:'mediawiki_is_debug_mode',mediawiki_database:'mediawiki_database',mediawiki_site_content_language:'mediawiki_site_content_language',mediawiki_site_content_language_variant:'mediawiki_site_content_language_variant',
performer_is_logged_in:'performer_is_logged_in',performer_id:'performer_id',performer_name:'performer_name',performer_session_id:'performer_session_id',performer_pageview_id:'performer_pageview_id',performer_groups:'performer_groups',performer_is_bot:'performer_is_bot',performer_is_temp:'performer_is_temp',performer_language:'performer_language',performer_language_variant:'performer_language_variant',performer_can_probably_edit_page:'performer_can_probably_edit_page',performer_edit_count:'performer_edit_count',performer_edit_count_bucket:'performer_edit_count_bucket',performer_registration_dt:'performer_registration_dt'};function isValidSample(sample){return!!(sample&&sample.unit&&sample.rate&&sample.rate>=0&&sample.rate<=1);}module.exports={isValidSample:isValidSample};
}}}];});
mw.loader.impl(function(){return["ext.urlShortener.toolbar@appes",function($,jQuery,require,module){(function(){let panelPromise;const $shortenUrlLink=$('#t-urlshortener a, .menu__item--page-actions-overflow-urlshortener');const $qrCodeLink=$('#t-urlshortener-qrcode a, .menu__item--page-actions-overflow-qrcode');const filename=mw.config.get('wgPageName')+'.svg';$shortenUrlLink.attr('aria-haspopup','dialog');$shortenUrlLink.on('click',(e)=>{e.preventDefault();if(!panelPromise){const linkText=$shortenUrlLink.html();$shortenUrlLink.text(mw.msg('urlshortener-url-input-submitting'));panelPromise=mw.loader.using(['oojs-ui-windows','mediawiki.api','mediawiki.widgets']).then(()=>{const api=new mw.Api();return api.post({action:'shortenurl',url:window.location.href,qrcode:true}).then((response)=>{const data=response.shortenurl;const panel=new OO.ui.PanelLayout({expanded:false});if(data.shorturl){const widget=new mw.widgets.CopyTextLayout({align:'top',label:mw.msg('urlshortener-shortened-url-label'),classes:['ext-urlshortener-result','ext-urlshortener-result-dialog'],copyText:data.shorturl,help:mw.msg('urlshortener-shortened-url-alt'),
helpInline:true,successMessage:mw.msg('urlshortener-copy-success'),failMessage:mw.msg('urlshortener-copy-fail')});const $alt=$('<a>');widget.$help.append(' ',$alt);$alt.attr('href',data.shorturlalt).text(data.shorturlalt);$alt.off('click').on('click',(event)=>{event.preventDefault();widget.textInput.setValue(data.shorturlalt);widget.onButtonClick();widget.textInput.setValue(data.shorturl);$alt[0].focus();});panel.$element.append(widget.$element);panel.copyTextWidget=widget;}if(data.qrcode){$shortenUrlLink.html(linkText);const qrCodeUri=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(data.qrcode)}`;const download=new OO.ui.ButtonWidget({icon:'download',label:mw.msg('urlshortener-toolbox-qrcode'),href:'.'});download.$button.attr({download:filename,href:qrCodeUri});panel.$element.append($('<div>').addClass('ext-urlshortener-qrcode').append($('<img>').attr('src',qrCodeUri),download.$element));}return panel;});});}panelPromise.then((panel)=>{OO.ui.alert(panel.$element,{size:'medium'});
if(panel.copyTextWidget){setTimeout(()=>{panel.copyTextWidget.button.focus();},500);}},()=>{$shortenUrlLink.text(mw.msg('urlshortener-failed-try-again'));$shortenUrlLink.off('click').removeAttr('aria-haspopup');});return false;});$qrCodeLink.on('click',(e)=>{e.preventDefault();const updateLabel=(msg)=>{let $link=$qrCodeLink.find('.toggle-list-item__label');$link=$link.length?$link:$qrCodeLink;$link.text(msg);};mw.loader.using('mediawiki.api').then(()=>{updateLabel(mw.msg('urlshortener-url-input-submitting'));const api=new mw.Api();api.post({action:'shortenurl',url:window.location.href,qrcode:true}).then((data)=>{const downloadLink=document.createElement('a');downloadLink.download=filename;downloadLink.href='data:image/svg+xml,'+encodeURIComponent(data.shortenurl.qrcode);document.body.appendChild(downloadLink);downloadLink.click();document.body.removeChild(downloadLink);updateLabel(mw.msg('urlshortener-toolbox-qrcode'));mw.notify(mw.msg('urlshortener-qrcode-downloaded'),{type:'success'});
},()=>{updateLabel(mw.msg('urlshortener-failed-try-again'));$qrCodeLink.off('click');});});return false;});}());
},{"css":[".ext-urlshortener-result-dialog{font-size:0.90909em}.ext-urlshortener-result-dialog a{word-wrap:break-word}.ext-urlshortener-qrcode{text-align:center}.ext-urlshortener-qrcode img{width:320px}"]},{"urlshortener-copy-fail":"URL\uc744 \ud074\ub9bd\ubcf4\ub4dc\uc5d0 \ubcf5\uc0ac\ud558\ub294\ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.","urlshortener-copy-success":"URL\uc774 \ud074\ub9bd\ubcf4\ub4dc\uc5d0 \ubcf5\uc0ac\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","urlshortener-failed-try-again":"\uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?","urlshortener-qrcode-downloaded":"QR \ucf54\ub4dc\ub97c SVG \ud30c\uc77c\ub85c \ub2e4\uc6b4\ub85c\ub4dc\ud588\uc2b5\ub2c8\ub2e4","urlshortener-shortened-url-alt":"\uc774 URL\uc744 \ub300\uc2e0 \uc0ac\uc6a9\ud574\ub3c4 \ub429\ub2c8\ub2e4:","urlshortener-shortened-url-label":"\ucd95\uc57d\ub41c URL","urlshortener-toolbox-qrcode":"QR \ucf54\ub4dc \ub2e4\uc6b4\ub85c\ub4dc","urlshortener-url-input-submitting":"\ub2e8\ucd95\ud558\ub294 \uc911..."}];});
mw.loader.impl(function(){return["jquery@16rou",function($,jQuery,require,module){(function(global,factory){"use strict";if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document");}return factory(w);};}else{factory(global);}})(typeof window!=="undefined"?window:this,function(window,noGlobal){"use strict";var arr=[];var getProto=Object.getPrototypeOf;var slice=arr.slice;var flat=arr.flat?function(array){return arr.flat.call(array);}:function(array){return arr.concat.apply([],array);};var push=arr.push;var indexOf=arr.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var fnToString=hasOwn.toString;var ObjectFunctionString=fnToString.call(Object);var support={};var isFunction=function isFunction(obj){return typeof obj==="function"&&typeof obj.nodeType!=="number"&&typeof obj.item!=="function";};var isWindow=function isWindow(obj){return obj!=null&&obj===obj.window;};var document=window.document;
var preservedScriptAttributes={type:true,src:true,nonce:true,noModule:true};function DOMEval(code,node,doc){doc=doc||document;var i,val,script=doc.createElement("script");script.text=code;if(node){for(i in preservedScriptAttributes){val=node[i]||node.getAttribute&&node.getAttribute(i);if(val){script.setAttribute(i,val);}}}doc.head.appendChild(script).parentNode.removeChild(script);}function toType(obj){if(obj==null){return obj+"";}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;}var version="3.7.1",rhtmlSuffix=/HTML$/i,jQuery=function(selector,context){return new jQuery.fn.init(selector,context);};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,length:0,toArray:function(){return slice.call(this);},get:function(num){if(num==null){return slice.call(this);}return num<0?this[num+this.length]:this[num];},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;return ret;},each:function(callback){
return jQuery.each(this,callback);},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},slice:function(){return this.pushStack(slice.apply(this,arguments));},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},even:function(){return this.pushStack(jQuery.grep(this,function(_elem,i){return(i+1)%2;}));},odd:function(){return this.pushStack(jQuery.grep(this,function(_elem,i){return i%2;}));},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[]);},end:function(){return this.prevObject||this.constructor();},push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++;}if(typeof target!=="object"&&!isFunction(target)){target={};}if(i===length){target=this;i--;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){copy=options[name];if(name==="__proto__"||target===copy){continue;}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=Array.isArray(copy)))){src=target[name];if(copyIsArray&&!Array.isArray(src)){clone=[];}else if(!copyIsArray&&!jQuery.isPlainObject(src)){clone={};}else{clone=src;}copyIsArray=false;target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}}return target;};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg);},noop:function(){},isPlainObject:function(obj){var proto,Ctor;if(!obj||toString.call(obj)!=="[object Object]"){return false;}proto=getProto(obj);if(!proto){return true;}Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;},isEmptyObject:function(obj){var name;for(name in obj){return false;}return true;
},globalEval:function(code,options,doc){DOMEval(code,{nonce:options&&options.nonce},doc);},each:function(obj,callback){var length,i=0;if(isArrayLike(obj)){length=obj.length;for(;i<length;i++){if(callback.call(obj[i],i,obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i],i,obj[i])===false){break;}}}return obj;},text:function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while((node=elem[i++])){ret+=jQuery.text(node);}}if(nodeType===1||nodeType===11){return elem.textContent;}if(nodeType===9){return elem.documentElement.textContent;}if(nodeType===3||nodeType===4){return elem.nodeValue;}return ret;},makeArray:function(arr,results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr);}else{push.call(ret,arr);}}return ret;},inArray:function(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i);},isXMLDoc:function(elem){var namespace=elem&&elem.namespaceURI,docElem=elem&&(elem.ownerDocument||elem).documentElement;
return!rhtmlSuffix.test(namespace||docElem&&docElem.nodeName||"HTML");},merge:function(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++){first[i++]=second[j];}first.length=i;return first;},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}return matches;},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems)){length=elems.length;for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}}return flat(ret);},guid:1,support:support});if(typeof Symbol==="function"){jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];}jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(_i,name){class2type["[object "+name+"]"]=name.toLowerCase();
});function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=toType(obj);if(isFunction(obj)||isWindow(obj)){return false;}return type==="array"||length===0||typeof length==="number"&&length>0&&(length-1)in obj;}function nodeName(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();}var pop=arr.pop;var sort=arr.sort;var splice=arr.splice;var whitespace="[\\x20\\t\\r\\n\\f]";var rtrimCSS=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g");jQuery.contains=function(a,b){var bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(a.contains?a.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16));};var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function fcssescape(ch,asCodePoint){if(asCodePoint){if(ch==="\0"){return"\uFFFD";}return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";}return"\\"+ch;}jQuery.escapeSelector=function(sel){return(sel+"").replace(rcssescape,fcssescape);
};var preferredDoc=document,pushNative=push;(function(){var i,Expr,outermostContext,sortInput,hasDuplicate,push=pushNative,document,documentElement,documentIsHTML,rbuggyQSA,matches,expando=jQuery.expando,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),nonnativeSelectorCache=createCache(),sortOrder=function(a,b){if(a===b){hasDuplicate=true;}return 0;},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|"+"loop|multiple|open|readonly|required|scoped",identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\(("+"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+".*"+")\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),
rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rleadingCombinator=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rdescend=new RegExp(whitespace+"|>"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+
"?|\\\\([^\\r\\n\\f])","g"),funescape=function(escape,nonHex){var high="0x"+escape.slice(1)-0x10000;if(nonHex){return nonHex;}return high<0?String.fromCharCode(high+0x10000):String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);},unloadHandler=function(){setDocument();},inDisabledFieldset=addCombinator(function(elem){return elem.disabled===true&&nodeName(elem,"fieldset");},{dir:"parentNode",next:"legend"});function safeActiveElement(){try{return document.activeElement;}catch(err){}}try{push.apply((arr=slice.call(preferredDoc.childNodes)),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType;}catch(e){push={apply:function(target,els){pushNative.apply(target,slice.call(els));},call:function(target){pushNative.apply(target,slice.call(arguments,1));}};}function find(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;results=results||[];if(typeof selector!=="string"||!selector||
nodeType!==1&&nodeType!==9&&nodeType!==11){return results;}if(!seed){setDocument(context);context=context||document;if(documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector))){if((m=match[1])){if(nodeType===9){if((elem=context.getElementById(m))){if(elem.id===m){push.call(results,elem);return results;}}else{return results;}}else{if(newContext&&(elem=newContext.getElementById(m))&&find.contains(context,elem)&&elem.id===m){push.call(results,elem);return results;}}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results;}else if((m=match[3])&&context.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results;}}if(!nonnativeSelectorCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){newSelector=selector;newContext=context;if(nodeType===1&&(rdescend.test(selector)||rleadingCombinator.test(selector))){newContext=rsibling.test(selector)&&testContext(context.parentNode)||context;if(newContext!=context||!support.scope){
if((nid=context.getAttribute("id"))){nid=jQuery.escapeSelector(nid);}else{context.setAttribute("id",(nid=expando));}}groups=tokenize(selector);i=groups.length;while(i--){groups[i]=(nid?"#"+nid:":scope")+" "+toSelector(groups[i]);}newSelector=groups.join(",");}try{push.apply(results,newContext.querySelectorAll(newSelector));return results;}catch(qsaError){nonnativeSelectorCache(selector,true);}finally{if(nid===expando){context.removeAttribute("id");}}}}}return select(selector.replace(rtrimCSS,"$1"),context,results,seed);}function createCache(){var keys=[];function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength){delete cache[keys.shift()];}return(cache[key+" "]=value);}return cache;}function markFunction(fn){fn[expando]=true;return fn;}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el);}catch(e){return false;}finally{if(el.parentNode){el.parentNode.removeChild(el);}el=null;}}function createInputPseudo(type){return function(elem){return nodeName(elem,"input")&&elem.type===type;
};}function createButtonPseudo(type){return function(elem){return(nodeName(elem,"input")||nodeName(elem,"button"))&&elem.type===type;};}function createDisabledPseudo(disabled){return function(elem){if("form"in elem){if(elem.parentNode&&elem.disabled===false){if("label"in elem){if("label"in elem.parentNode){return elem.parentNode.disabled===disabled;}else{return elem.disabled===disabled;}}return elem.isDisabled===disabled||elem.isDisabled!==!disabled&&inDisabledFieldset(elem)===disabled;}return elem.disabled===disabled;}else if("label"in elem){return elem.disabled===disabled;}return false;};}function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--){if(seed[(j=matchIndexes[i])]){seed[j]=!(matches[j]=seed[j]);}}});});}function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context;}function setDocument(node){
var subWindow,doc=node?node.ownerDocument||node:preferredDoc;if(doc==document||doc.nodeType!==9||!doc.documentElement){return document;}document=doc;documentElement=document.documentElement;documentIsHTML=!jQuery.isXMLDoc(document);matches=documentElement.matches||documentElement.webkitMatchesSelector||documentElement.msMatchesSelector;if(documentElement.msMatchesSelector&&preferredDoc!=document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow){subWindow.addEventListener("unload",unloadHandler);}support.getById=assert(function(el){documentElement.appendChild(el).id=jQuery.expando;return!document.getElementsByName||!document.getElementsByName(jQuery.expando).length;});support.disconnectedMatch=assert(function(el){return matches.call(el,"*");});support.scope=assert(function(){return document.querySelectorAll(":scope");});support.cssHas=assert(function(){try{document.querySelector(":has(*,:jqfake)");return false;}catch(e){return true;}});if(support.getById){Expr.filter.ID=function(id){
var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId;};};Expr.find.ID=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[];}};}else{Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId;};};Expr.find.ID=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){node=elem.getAttributeNode("id");if(node&&node.value===id){return[elem];}elems=context.getElementsByName(id);i=0;while((elem=elems[i++])){node=elem.getAttributeNode("id");if(node&&node.value===id){return[elem];}}}return[];}};}Expr.find.TAG=function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag);}else{
return context.querySelectorAll(tag);}};Expr.find.CLASS=function(className,context){if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){return context.getElementsByClassName(className);}};rbuggyQSA=[];assert(function(el){var input;documentElement.appendChild(el).innerHTML="<a id='"+expando+"' href='' disabled='disabled'></a>"+"<select id='"+expando+"-\r\\' disabled='disabled'>"+"<option selected=''></option></select>";if(!el.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");}if(!el.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=");}if(!el.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]");}if(!el.querySelectorAll(":checked").length){rbuggyQSA.push(":checked");}input=document.createElement("input");input.setAttribute("type","hidden");el.appendChild(input).setAttribute("name","D");documentElement.appendChild(el).disabled=true;if(el.querySelectorAll(":disabled").length!==2){rbuggyQSA.push(":enabled",":disabled");
}input=document.createElement("input");input.setAttribute("name","");el.appendChild(input);if(!el.querySelectorAll("[name='']").length){rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+whitespace+"*(?:''|\"\")");}});if(!support.cssHas){rbuggyQSA.push(":has");}rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare;}compare=(a.ownerDocument||a)==(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){if(a===document||a.ownerDocument==preferredDoc&&find.contains(preferredDoc,a)){return-1;}if(b===document||b.ownerDocument==preferredDoc&&find.contains(preferredDoc,b)){return 1;}return sortInput?(indexOf.call(sortInput,a)-indexOf.call(sortInput,b)):0;}return compare&4?-1:1;};return document;}find.matches=function(expr,elements){return find(expr,null,null,elements);
};find.matchesSelector=function(elem,expr){setDocument(elem);if(documentIsHTML&&!nonnativeSelectorCache[expr+" "]&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11){return ret;}}catch(e){nonnativeSelectorCache(expr,true);}}return find(expr,document,null,[elem]).length>0;};find.contains=function(context,elem){if((context.ownerDocument||context)!=document){setDocument(context);}return jQuery.contains(context,elem);};find.attr=function(elem,name){if((elem.ownerDocument||elem)!=document){setDocument(elem);}var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;if(val!==undefined){return val;}return elem.getAttribute(name);};find.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg);};jQuery.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.sortStable;
sortInput=!support.sortStable&&slice.call(results,0);sort.call(results,sortOrder);if(hasDuplicate){while((elem=results[i++])){if(elem===results[i]){j=duplicates.push(i);}}while(j--){splice.call(results,duplicates[j],1);}}sortInput=null;return results;};jQuery.fn.uniqueSort=function(){return this.pushStack(jQuery.uniqueSort(slice.apply(this)));};Expr=jQuery.expr={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" ";}return match.slice(0,4);},CHILD:function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3]){find.error(match[0]);}match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd")
);match[5]=+((match[7]+match[8])||match[3]==="odd");}else if(match[3]){find.error(match[0]);}return match;},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr.CHILD.test(match[0])){return null;}if(match[3]){match[2]=match[4]||match[5]||"";}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess);}return match.slice(0,3);}},filter:{TAG:function(nodeNameSelector){var expectedNodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true;}:function(elem){return nodeName(elem,expectedNodeName);};},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||
typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"");});},ATTR:function(name,operator,check){return function(elem){var result=find.attr(elem,name);if(result==null){return operator==="!=";}if(!operator){return true;}result+="";if(operator==="="){return result===check;}if(operator==="!="){return result!==check;}if(operator==="^="){return check&&result.indexOf(check)===0;}if(operator==="*="){return check&&result.indexOf(check)>-1;}if(operator==="$="){return check&&result.slice(-check.length)===check;}if(operator==="~="){return(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1;}if(operator==="|="){return result===check||result.slice(0,check.length+1)===check+"-";}return false;};},CHILD:function(type,what,_argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode;}:function(elem,_context,xml){var cache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",
parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=false;if(parent){if(simple){while(dir){node=elem;while((node=node[dir])){if(ofType?nodeName(node,name):node.nodeType===1){return false;}}start=dir=type==="only"&&!start&&"nextSibling";}return true;}start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){outerCache=parent[expando]||(parent[expando]={});cache=outerCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())){if(node.nodeType===1&&++diff&&node===elem){outerCache[type]=[dirruns,nodeIndex,diff];break;}}}else{if(useCache){outerCache=elem[expando]||(elem[expando]={});cache=outerCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex;}if(diff===false){while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())){if((ofType?nodeName(node,name):node.nodeType===1)&&++diff){
if(useCache){outerCache=node[expando]||(node[expando]={});outerCache[type]=[dirruns,diff];}if(node===elem){break;}}}}}diff-=last;return diff===first||(diff%first===0&&diff/first>=0);}};},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||find.error("unsupported pseudo: "+pseudo);if(fn[expando]){return fn(argument);}if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf.call(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i]);}}):function(elem){return fn(elem,0,args);};}return fn;}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrimCSS,"$1"));return matcher[expando]?markFunction(function(seed,matches,_context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--){if((elem=unmatched[i])){seed[i]=!(matches[i]=elem);
}}}):function(elem,_context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop();};}),has:markFunction(function(selector){return function(elem){return find(selector,elem).length>0;};}),contains:markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||jQuery.text(elem)).indexOf(text)>-1;};}),lang:markFunction(function(lang){if(!ridentifier.test(lang||"")){find.error("unsupported lang: "+lang);}lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if((elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0;}}while((elem=elem.parentNode)&&elem.nodeType===1);return false;};}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id;},root:function(elem){return elem===documentElement;},focus:function(elem){
return elem===safeActiveElement()&&document.hasFocus()&&!!(elem.type||elem.href||~elem.tabIndex);},enabled:createDisabledPseudo(false),disabled:createDisabledPseudo(true),checked:function(elem){return(nodeName(elem,"input")&&!!elem.checked)||(nodeName(elem,"option")&&!!elem.selected);},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex;}return elem.selected===true;},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false;}}return true;},parent:function(elem){return!Expr.pseudos.empty(elem);},header:function(elem){return rheader.test(elem.nodeName);},input:function(elem){return rinputs.test(elem.nodeName);},button:function(elem){return nodeName(elem,"input")&&elem.type==="button"||nodeName(elem,"button");},text:function(elem){var attr;return nodeName(elem,"input")&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text");},first:createPositionalPseudo(function(){return[0];}),last:createPositionalPseudo(function(_matchIndexes,length){
return[length-1];}),eq:createPositionalPseudo(function(_matchIndexes,length,argument){return[argument<0?argument+length:argument];}),even:createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i);}return matchIndexes;}),odd:createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i);}return matchIndexes;}),lt:createPositionalPseudo(function(matchIndexes,length,argument){var i;if(argument<0){i=argument+length;}else if(argument>length){i=length;}else{i=argument;}for(;--i>=0;){matchIndexes.push(i);}return matchIndexes;}),gt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i);}return matchIndexes;})}};Expr.pseudos.nth=Expr.pseudos.eq;for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i);}for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i);}
function setFilters(){}setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters();function tokenize(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0);}soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match){soFar=soFar.slice(match[0].length)||soFar;}groups.push((tokens=[]));}matched=false;if((match=rleadingCombinator.exec(soFar))){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrimCSS," ")});soFar=soFar.slice(matched.length);}for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length);}}if(!matched){break;}}if(parseOnly){return soFar.length;}return soFar?find.error(selector):tokenCache(selector,groups).slice(0);}
function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value;}return selector;}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&key==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml);}}return false;}:function(elem,context,xml){var oldCache,outerCache,newCache=[dirruns,doneName];if(xml){while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true;}}}}else{while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});if(skip&&nodeName(elem,skip)){elem=elem[dir]||elem;}else if((oldCache=outerCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return(newCache[2]=oldCache[2]);}else{outerCache[key]=newCache;if((newCache[2]=matcher(elem,context,xml))){
return true;}}}}}return false;};}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false;}}return true;}:matchers[0];}function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){find(selector,contexts[i],results);}return results;}function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if((elem=unmatched[i])){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i);}}}}return newUnmatched;}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter);}if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector);}return markFunction(function(seed,results,context,xml){var temp,i,elem,matcherOut,preMap=[],postMap=[],
preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems;if(matcher){matcherOut=postFinder||(seed?preFilter:preexisting||postFilter)?[]:results;matcher(matcherIn,matcherOut,context,xml);}else{matcherOut=matcherIn;}if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--){if((elem=temp[i])){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);}}}if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--){if((elem=matcherOut[i])){temp.push((matcherIn[i]=elem));}}postFinder(null,(matcherOut=[]),temp,xml);}i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem);}}}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){
postFinder(null,results,matcherOut,xml);}else{push.apply(results,matcherOut);}}});}function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext;},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf.call(checkContext,elem)>-1;},implicitRelative,true),matchers=[function(elem,context,xml){var ret=(!leadingRelative&&(xml||context!=outermostContext))||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret;}];for(;i<len;i++){if((matcher=Expr.relative[tokens[i].type])){matchers=[addCombinator(elementMatcher(matchers),matcher)];}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break;}}
return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrimCSS,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens((tokens=tokens.slice(j))),j<len&&toSelector(tokens));}matchers.push(matcher);}}return elementMatcher(matchers);}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",outermost),dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),len=elems.length;if(outermost){outermostContext=context==document||context||outermost;}for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;if(!context&&elem.ownerDocument!=document){setDocument(elem);xml=!documentIsHTML;}while((matcher=elementMatchers[j++])){
if(matcher(elem,context||document,xml)){push.call(results,elem);break;}}if(outermost){dirruns=dirrunsUnique;}}if(bySet){if((elem=!matcher&&elem)){matchedCount--;}if(seed){unmatched.push(elem);}}}matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while((matcher=setMatchers[j++])){matcher(unmatched,setMatched,context,xml);}if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results);}}}setMatched=condense(setMatched);}push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&(matchedCount+setMatchers.length)>1){jQuery.uniqueSort(results);}}if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup;}return unmatched;};return bySet?markFunction(superMatcher):superMatcher;}function compile(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match){match=tokenize(selector);}i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached);
}else{elementMatchers.push(cached);}}cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector;}return cached;}function select(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize((selector=compiled.selector||selector));results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results;}else if(compiled){context=context.parentNode;}selector=selector.slice(tokens.shift().value.length);}i=matchExpr.needsContext.test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[(type=token.type)]){break;}if((find=Expr.find[type])){if((seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&
testContext(context.parentNode)||context))){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results;}break;}}}}(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context);return results;}support.sortStable=expando.split("").sort(sortOrder).join("")===expando;setDocument();support.sortDetached=assert(function(el){return el.compareDocumentPosition(document.createElement("fieldset"))&1;});jQuery.find=find;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.unique=jQuery.uniqueSort;find.compile=compile;find.select=select;find.setDocument=setDocument;find.tokenize=tokenize;find.escape=jQuery.escapeSelector;find.getText=jQuery.text;find.isXML=jQuery.isXMLDoc;find.selectors=jQuery.expr;find.support=jQuery.support;find.uniqueSort=jQuery.uniqueSort;})();var dir=function(elem,dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[dir])&&elem.nodeType!==9){
if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until)){break;}matched.push(elem);}}return matched;};var siblings=function(n,elem){var matched=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){matched.push(n);}}return matched;};var rneedsContext=jQuery.expr.match.needsContext;var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i);function winnow(elements,qualifier,not){if(isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not;});}if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return(elem===qualifier)!==not;});}if(typeof qualifier!=="string"){return jQuery.grep(elements,function(elem){return(indexOf.call(qualifier,elem)>-1)!==not;});}return jQuery.filter(qualifier,elements,not);}jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")";}if(elems.length===1&&elem.nodeType===1){return jQuery.find.matchesSelector(elem,expr)?[elem]:[];}return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){
return elem.nodeType===1;}));};jQuery.fn.extend({find:function(selector){var i,ret,len=this.length,self=this;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true;}}}));}ret=this.pushStack([]);for(i=0;i<len;i++){jQuery.find(selector,self[i],ret);}return len>1?jQuery.uniqueSort(ret):ret;},filter:function(selector){return this.pushStack(winnow(this,selector||[],false));},not:function(selector){return this.pushStack(winnow(this,selector||[],true));},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length;}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector){return this;}root=root||rootjQuery;if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){match=[null,selector,null];
}else{match=rquickExpr.exec(selector);}if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){if(isFunction(this[match])){this[match](context[match]);}else{this.attr(match,context[match]);}}}return this;}else{elem=document.getElementById(match[2]);if(elem){this[0]=elem;this.length=1;}return this;}}else if(!context||context.jquery){return(context||root).find(selector);}else{return this.constructor(context).find(selector);}}else if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(isFunction(selector)){return root.ready!==undefined?root.ready(selector):selector(jQuery);}return jQuery.makeArray(selector,this);};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={
children:true,contents:true,next:true,prev:true};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],targets=typeof selectors!=="string"&&jQuery(selectors);if(!rneedsContext.test(selectors)){for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){if(cur.nodeType<11&&(targets?targets.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break;}}}}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);},index:function(elem){if(!elem){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;}if(typeof elem==="string"){return indexOf.call(jQuery(elem),this[0]);}return indexOf.call(this,elem.jquery?elem[0]:elem);},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))
));},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector));}});function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1){}return cur;}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return dir(elem,"parentNode");},parentsUntil:function(elem,_i,until){return dir(elem,"parentNode",until);},next:function(elem){return sibling(elem,"nextSibling");},prev:function(elem){return sibling(elem,"previousSibling");},nextAll:function(elem){return dir(elem,"nextSibling");},prevAll:function(elem){return dir(elem,"previousSibling");},nextUntil:function(elem,_i,until){return dir(elem,"nextSibling",until);},prevUntil:function(elem,_i,until){return dir(elem,"previousSibling",until);},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem);},children:function(elem){return siblings(elem.firstChild);},contents:function(elem){if(elem.contentDocument!=null&&
getProto(elem.contentDocument)){return elem.contentDocument;}if(nodeName(elem,"template")){elem=elem.content||elem;}return jQuery.merge([],elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until;}if(selector&&typeof selector==="string"){matched=jQuery.filter(selector,matched);}if(this.length>1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}if(rparentsprev.test(name)){matched.reverse();}}return this.pushStack(matched);};});var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g);function createOptions(options){var object={};jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=true;});return object;}jQuery.Callbacks=function(options){options=typeof options==="string"?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){locked=locked||options.once;fired=firing=true;for(;queue.length;firingIndex=-1){
memory=queue.shift();while(++firingIndex<list.length){if(list[firingIndex].apply(memory[0],memory[1])===false&&options.stopOnFalse){firingIndex=list.length;memory=false;}}}if(!options.memory){memory=false;}firing=false;if(locked){if(memory){list=[];}else{list="";}}},self={add:function(){if(list){if(memory&&!firing){firingIndex=list.length-1;queue.push(memory);}(function add(args){jQuery.each(args,function(_,arg){if(isFunction(arg)){if(!options.unique||!self.has(arg)){list.push(arg);}}else if(arg&&arg.length&&toType(arg)!=="string"){add(arg);}});})(arguments);if(memory&&!firing){fire();}}return this;},remove:function(){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(index<=firingIndex){firingIndex--;}}});return this;},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0;},empty:function(){if(list){list=[];}return this;},disable:function(){locked=queue=[];list=memory="";return this;},disabled:function(){
return!list;},lock:function(){locked=queue=[];if(!memory&&!firing){list=memory="";}return this;},locked:function(){return!!locked;},fireWith:function(context,args){if(!locked){args=args||[];args=[context,args.slice?args.slice():args];queue.push(args);if(!firing){fire();}}return this;},fire:function(){self.fireWith(this,arguments);return this;},fired:function(){return!!fired;}};return self;};function Identity(v){return v;}function Thrower(ex){throw ex;}function adoptValue(value,resolve,reject,noValue){var method;try{if(value&&isFunction((method=value.promise))){method.call(value).done(resolve).fail(reject);}else if(value&&isFunction((method=value.then))){method.call(value,resolve,reject);}else{resolve.apply(undefined,[value].slice(noValue));}}catch(value){reject.apply(undefined,[value]);}}jQuery.extend({Deferred:function(func){var tuples=[["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],
["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],state="pending",promise={state:function(){return state;},always:function(){deferred.done(arguments).fail(arguments);return this;},"catch":function(fn){return promise.then(null,fn);},pipe:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(_i,tuple){var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&isFunction(returned.promise)){returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);}else{newDefer[tuple[0]+"With"](this,fn?[returned]:arguments);}});});fns=null;}).promise();},then:function(onFulfilled,onRejected,onProgress){var maxDepth=0;function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function(){var returned,then;if(depth<maxDepth){return;}returned=handler.apply(that,args);
if(returned===deferred.promise()){throw new TypeError("Thenable self-resolution");}then=returned&&(typeof returned==="object"||typeof returned==="function")&&returned.then;if(isFunction(then)){if(special){then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special));}else{maxDepth++;then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith));}}else{if(handler!==Identity){that=undefined;args=[returned];}(special||deferred.resolveWith)(that,args);}},process=special?mightThrow:function(){try{mightThrow();}catch(e){if(jQuery.Deferred.exceptionHook){jQuery.Deferred.exceptionHook(e,process.error);}if(depth+1>=maxDepth){if(handler!==Thrower){that=undefined;args=[e];}deferred.rejectWith(that,args);}}};if(depth){process();}else{if(jQuery.Deferred.getErrorHook){process.error=jQuery.Deferred.getErrorHook();}else if(jQuery.Deferred.getStackHook){
process.error=jQuery.Deferred.getStackHook();}window.setTimeout(process);}};}return jQuery.Deferred(function(newDefer){tuples[0][3].add(resolve(0,newDefer,isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith));tuples[1][3].add(resolve(0,newDefer,isFunction(onFulfilled)?onFulfilled:Identity));tuples[2][3].add(resolve(0,newDefer,isFunction(onRejected)?onRejected:Thrower));}).promise();},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise;}},deferred={};jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];promise[tuple[1]]=list.add;if(stateString){list.add(function(){state=stateString;},tuples[3-i][2].disable,tuples[3-i][3].disable,tuples[0][2].lock,tuples[0][3].lock);}list.add(tuple[3].fire);deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);return this;};deferred[tuple[0]+"With"]=list.fireWith;});promise.promise(deferred);if(func){func.call(deferred,deferred);}return deferred;},when:function(singleValue){
var remaining=arguments.length,i=remaining,resolveContexts=Array(i),resolveValues=slice.call(arguments),primary=jQuery.Deferred(),updateFunc=function(i){return function(value){resolveContexts[i]=this;resolveValues[i]=arguments.length>1?slice.call(arguments):value;if(!(--remaining)){primary.resolveWith(resolveContexts,resolveValues);}};};if(remaining<=1){adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject,!remaining);if(primary.state()==="pending"||isFunction(resolveValues[i]&&resolveValues[i].then)){return primary.then();}}while(i--){adoptValue(resolveValues[i],updateFunc(i),primary.reject);}return primary.promise();}});var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,asyncError){if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,asyncError);}};jQuery.readyException=function(error){window.setTimeout(function(){
throw error;});};var readyList=jQuery.Deferred();jQuery.fn.ready=function(fn){readyList.then(fn).catch(function(error){jQuery.readyException(error);});return this;};jQuery.extend({isReady:false,readyWait:1,ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady){return;}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return;}readyList.resolveWith(document,[jQuery]);}});jQuery.ready.then=readyList.then;function completed(){document.removeEventListener("DOMContentLoaded",completed);window.removeEventListener("load",completed);jQuery.ready();}if(document.readyState==="complete"||(document.readyState!=="loading"&&!document.documentElement.doScroll)){window.setTimeout(jQuery.ready);}else{document.addEventListener("DOMContentLoaded",completed);window.addEventListener("load",completed);}var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;if(toType(key)==="object"){chainable=true;for(i in key){access(elems,fn,i,key[i],true,emptyGet,raw);
}}else if(value!==undefined){chainable=true;if(!isFunction(value)){raw=true;}if(bulk){if(raw){fn.call(elems,value);fn=null;}else{bulk=fn;fn=function(elem,_key,value){return bulk.call(jQuery(elem),value);};}}if(fn){for(;i<len;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));}}}if(chainable){return elems;}if(bulk){return fn.call(elems);}return len?fn(elems[0],key):emptyGet;};var rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g;function fcamelCase(_all,letter){return letter.toUpperCase();}function camelCase(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);}var acceptData=function(owner){return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);};function Data(){this.expando=jQuery.expando+Data.uid++;}Data.uid=1;Data.prototype={cache:function(owner){var value=owner[this.expando];if(!value){value={};if(acceptData(owner)){if(owner.nodeType){owner[this.expando]=value;}else{Object.defineProperty(owner,this.expando,{value:value,configurable:true
});}}}return value;},set:function(owner,data,value){var prop,cache=this.cache(owner);if(typeof data==="string"){cache[camelCase(data)]=value;}else{for(prop in data){cache[camelCase(prop)]=data[prop];}}return cache;},get:function(owner,key){return key===undefined?this.cache(owner):owner[this.expando]&&owner[this.expando][camelCase(key)];},access:function(owner,key,value){if(key===undefined||((key&&typeof key==="string")&&value===undefined)){return this.get(owner,key);}this.set(owner,key,value);return value!==undefined?value:key;},remove:function(owner,key){var i,cache=owner[this.expando];if(cache===undefined){return;}if(key!==undefined){if(Array.isArray(key)){key=key.map(camelCase);}else{key=camelCase(key);key=key in cache?[key]:(key.match(rnothtmlwhite)||[]);}i=key.length;while(i--){delete cache[key[i]];}}if(key===undefined||jQuery.isEmptyObject(cache)){if(owner.nodeType){owner[this.expando]=undefined;}else{delete owner[this.expando];}}},hasData:function(owner){var cache=owner[this.expando];
return cache!==undefined&&!jQuery.isEmptyObject(cache);}};var dataPriv=new Data();var dataUser=new Data();var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;function getData(data){if(data==="true"){return true;}if(data==="false"){return false;}if(data==="null"){return null;}if(data===+data+""){return+data;}if(rbrace.test(data)){return JSON.parse(data);}return data;}function dataAttr(elem,key,data){var name;if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=getData(data);}catch(e){}dataUser.set(elem,key,data);}else{data=undefined;}}return data;}jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem);},data:function(elem,name,data){return dataUser.access(elem,name,data);},removeData:function(elem,name){dataUser.remove(elem,name);},_data:function(elem,name,data){return dataPriv.access(elem,name,data);},_removeData:function(elem,name){
dataPriv.remove(elem,name);}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=dataUser.get(elem);if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--){if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=camelCase(name.slice(5));dataAttr(elem,name,data[name]);}}}dataPriv.set(elem,"hasDataAttrs",true);}}return data;}if(typeof key==="object"){return this.each(function(){dataUser.set(this,key);});}return access(this,function(value){var data;if(elem&&value===undefined){data=dataUser.get(elem,key);if(data!==undefined){return data;}data=dataAttr(elem,key);if(data!==undefined){return data;}return;}this.each(function(){dataUser.set(this,key,value);});},null,value,arguments.length>1,null,true);},removeData:function(key){return this.each(function(){dataUser.remove(this,key);});}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";
queue=dataPriv.get(elem,type);if(data){if(!queue||Array.isArray(data)){queue=dataPriv.access(elem,type,jQuery.makeArray(data));}else{queue.push(data);}}return queue||[];}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type);};if(fn==="inprogress"){fn=queue.shift();startLength--;}if(fn){if(type==="fx"){queue.unshift("inprogress");}delete hooks.stop;fn.call(elem,next,hooks);}if(!startLength&&hooks){hooks.empty.fire();}},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key]);})});}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--;}if(arguments.length<setter){return jQuery.queue(this[0],type);}return data===undefined?this:this.each(function(){
var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},clearQueue:function(type){return this.queue(type||"fx",[]);},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!(--count)){defer.resolveWith(elements,[elements]);}};if(typeof type!=="string"){obj=type;type=undefined;}type=type||"fx";while(i--){tmp=dataPriv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve);}}resolve();return defer.promise(obj);}});var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");var cssExpand=["Top","Right","Bottom","Left"];var documentElement=document.documentElement;var isAttached=function(elem){return jQuery.contains(elem.ownerDocument,elem);},composed={composed:true};if(documentElement.getRootNode){
isAttached=function(elem){return jQuery.contains(elem.ownerDocument,elem)||elem.getRootNode(composed)===elem.ownerDocument;};}var isHiddenWithinTree=function(elem,el){elem=el||elem;return elem.style.display==="none"||elem.style.display===""&&isAttached(elem)&&jQuery.css(elem,"display")==="none";};function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale,maxIterations=20,currentValue=tween?function(){return tween.cur();}:function(){return jQuery.css(elem,prop,"");},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=elem.nodeType&&(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){initial=initial/2;unit=unit||initialInUnit[3];initialInUnit=+initial||1;while(maxIterations--){jQuery.style(elem,prop,initialInUnit+unit);if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){maxIterations=0;}initialInUnit=initialInUnit/scale;}initialInUnit=initialInUnit*2;
jQuery.style(elem,prop,initialInUnit+unit);valueParts=valueParts||[];}if(valueParts){initialInUnit=+initialInUnit||+initial||0;adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2];if(tween){tween.unit=unit;tween.start=initialInUnit;tween.end=adjusted;}}return adjusted;}var defaultDisplayMap={};function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];if(display){return display;}temp=doc.body.appendChild(doc.createElement(nodeName));display=jQuery.css(temp,"display");temp.parentNode.removeChild(temp);if(display==="none"){display="block";}defaultDisplayMap[nodeName]=display;return display;}function showHide(elements,show){var display,elem,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style){continue;}display=elem.style.display;if(show){if(display==="none"){values[index]=dataPriv.get(elem,"display")||null;if(!values[index]){elem.style.display="";
}}if(elem.style.display===""&&isHiddenWithinTree(elem)){values[index]=getDefaultDisplay(elem);}}else{if(display!=="none"){values[index]="none";dataPriv.set(elem,"display",display);}}}for(index=0;index<length;index++){if(values[index]!=null){elements[index].style.display=values[index];}}return elements;}jQuery.fn.extend({show:function(){return showHide(this,true);},hide:function(){return showHide(this);},toggle:function(state){if(typeof state==="boolean"){return state?this.show():this.hide();}return this.each(function(){if(isHiddenWithinTree(this)){jQuery(this).show();}else{jQuery(this).hide();}});}});var rcheckableType=(/^(?:checkbox|radio)$/i);var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i);var rscriptType=(/^$|^module$|\/(?:java|ecma)script/i);(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");
div.appendChild(input);support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;div.innerHTML="<option></option>";support.option=!!div.lastChild;})();var wrapMap={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!support.option){wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"];}function getAll(context,tag){var ret;if(typeof context.getElementsByTagName!=="undefined"){ret=context.getElementsByTagName(tag||"*");}else if(typeof context.querySelectorAll!=="undefined"){ret=context.querySelectorAll(tag||"*");}else{ret=[];}if(tag===undefined||tag&&nodeName(context,tag)){return jQuery.merge([context],ret);
}return ret;}function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++){dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"));}}var rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){var elem,tmp,tag,wrap,attached,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0){if(toType(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem);}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem));}else{tmp=tmp||fragment.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];j=wrap[0];while(j--){tmp=tmp.lastChild;}jQuery.merge(nodes,tmp.childNodes);tmp=fragment.firstChild;tmp.textContent="";}}}fragment.textContent="";i=0;while((elem=nodes[i++])){if(selection&&jQuery.inArray(elem,selection)>-1){
if(ignored){ignored.push(elem);}continue;}attached=isAttached(elem);tmp=getAll(fragment.appendChild(elem),"script");if(attached){setGlobalEval(tmp);}if(scripts){j=0;while((elem=tmp[j++])){if(rscriptType.test(elem.type||"")){scripts.push(elem);}}}}return fragment;}var rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return true;}function returnFalse(){return false;}function on(elem,types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined;}for(type in types){on(elem,type,selector,data,types[type],one);}return elem;}if(data==null&&fn==null){fn=selector;data=selector=undefined;}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined;}else{fn=data;data=selector;selector=undefined;}}if(fn===false){fn=returnFalse;}else if(!fn){return elem;}if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments);};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);
}return elem.each(function(){jQuery.event.add(this,types,fn,data,selector);});}jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(!acceptData(elem)){return;}if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector;}if(selector){jQuery.find.matchesSelector(documentElement,selector);}if(!handler.guid){handler.guid=jQuery.guid++;}if(!(events=elemData.events)){events=elemData.events=Object.create(null);}if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined;};}types=(types||"").match(rnothtmlwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){continue;}special=jQuery.event.special[type]||{};
type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle);}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}}if(selector){handlers.splice(handlers.delegateCount++,0,handleObj);}else{handlers.push(handleObj);}jQuery.event.global[type]=true;}},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(!elemData||!(events=elemData.events)){
return;}types=(types||"").match(rnothtmlwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true);}continue;}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--;}if(special.remove){special.remove.call(elem,handleObj);}}}if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){
jQuery.removeEvent(elem,type,elemData.handle);}delete events[type];}}if(jQuery.isEmptyObject(events)){dataPriv.remove(elem,"handle events");}},dispatch:function(nativeEvent){var i,j,ret,matched,handleObj,handlerQueue,args=new Array(arguments.length),event=jQuery.event.fix(nativeEvent),handlers=(dataPriv.get(this,"events")||Object.create(null))[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;for(i=1;i<arguments.length;i++){args[i]=arguments[i];}event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return;}handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){if(!event.rnamespace||handleObj.namespace===false||event.rnamespace.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||
handleObj.handler).apply(matched.elem,args);if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation();}}}}}if(special.postDispatch){special.postDispatch.call(this,event);}return event.result;},handlers:function(event,handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&!(event.type==="click"&&event.button>=1)){for(;cur!==this;cur=cur.parentNode||this){if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){matchedHandlers=[];matchedSelectors={};for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matchedSelectors[sel]===undefined){matchedSelectors[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length;}if(matchedSelectors[sel]){matchedHandlers.push(handleObj);}}if(matchedHandlers.length){handlerQueue.push({elem:cur,handlers:matchedHandlers});}}}}cur=this;
if(delegateCount<handlers.length){handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)});}return handlerQueue;},addProp:function(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:true,configurable:true,get:isFunction(hook)?function(){if(this.originalEvent){return hook(this.originalEvent);}}:function(){if(this.originalEvent){return this.originalEvent[name];}},set:function(value){Object.defineProperty(this,name,{enumerable:true,configurable:true,writable:true,value:value});}});},fix:function(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent);},special:{load:{noBubble:true},click:{setup:function(data){var el=this||data;if(rcheckableType.test(el.type)&&el.click&&nodeName(el,"input")){leverageNative(el,"click",true);}return false;},trigger:function(data){var el=this||data;if(rcheckableType.test(el.type)&&el.click&&nodeName(el,"input")){leverageNative(el,"click");}return true;},_default:function(event){var target=event.target;
return rcheckableType.test(target.type)&&target.click&&nodeName(target,"input")&&dataPriv.get(target,"click")||nodeName(target,"a");}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result;}}}}};function leverageNative(el,type,isSetup){if(!isSetup){if(dataPriv.get(el,type)===undefined){jQuery.event.add(el,type,returnTrue);}return;}dataPriv.set(el,type,false);jQuery.event.add(el,type,{namespace:false,handler:function(event){var result,saved=dataPriv.get(this,type);if((event.isTrigger&1)&&this[type]){if(!saved){saved=slice.call(arguments);dataPriv.set(this,type,saved);this[type]();result=dataPriv.get(this,type);dataPriv.set(this,type,false);if(saved!==result){event.stopImmediatePropagation();event.preventDefault();return result;}}else if((jQuery.event.special[type]||{}).delegateType){event.stopPropagation();}}else if(saved){dataPriv.set(this,type,jQuery.event.trigger(saved[0],saved.slice(1),this));event.stopPropagation();
event.isImmediatePropagationStopped=returnTrue;}}});}jQuery.removeEvent=function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle);}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props);}if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse;this.target=(src.target&&src.target.nodeType===3)?src.target.parentNode:src.target;this.currentTarget=src.currentTarget;this.relatedTarget=src.relatedTarget;}else{this.type=src;}if(props){jQuery.extend(this,props);}this.timeStamp=src&&src.timeStamp||Date.now();this[jQuery.expando]=true;};jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:false,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;
if(e&&!this.isSimulated){e.preventDefault();}},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e&&!this.isSimulated){e.stopPropagation();}},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&!this.isSimulated){e.stopImmediatePropagation();}this.stopPropagation();}};jQuery.each({altKey:true,bubbles:true,cancelable:true,changedTouches:true,ctrlKey:true,detail:true,eventPhase:true,metaKey:true,pageX:true,pageY:true,shiftKey:true,view:true,"char":true,code:true,charCode:true,key:true,keyCode:true,button:true,buttons:true,clientX:true,clientY:true,offsetX:true,offsetY:true,pointerId:true,pointerType:true,screenX:true,screenY:true,targetTouches:true,toElement:true,touches:true,which:true},jQuery.event.addProp);jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){function focusMappedHandler(nativeEvent){if(document.documentMode){var handle=dataPriv.get(this,"handle"),
event=jQuery.event.fix(nativeEvent);event.type=nativeEvent.type==="focusin"?"focus":"blur";event.isSimulated=true;handle(nativeEvent);if(event.target===event.currentTarget){handle(event);}}else{jQuery.event.simulate(delegateType,nativeEvent.target,jQuery.event.fix(nativeEvent));}}jQuery.event.special[type]={setup:function(){var attaches;leverageNative(this,type,true);if(document.documentMode){attaches=dataPriv.get(this,delegateType);if(!attaches){this.addEventListener(delegateType,focusMappedHandler);}dataPriv.set(this,delegateType,(attaches||0)+1);}else{return false;}},trigger:function(){leverageNative(this,type);return true;},teardown:function(){var attaches;if(document.documentMode){attaches=dataPriv.get(this,delegateType)-1;if(!attaches){this.removeEventListener(delegateType,focusMappedHandler);dataPriv.remove(this,delegateType);}else{dataPriv.set(this,delegateType,attaches);}}else{return false;}},_default:function(event){return dataPriv.get(event.target,type);},delegateType:delegateType
};jQuery.event.special[delegateType]={setup:function(){var doc=this.ownerDocument||this.document||this,dataHolder=document.documentMode?this:doc,attaches=dataPriv.get(dataHolder,delegateType);if(!attaches){if(document.documentMode){this.addEventListener(delegateType,focusMappedHandler);}else{doc.addEventListener(type,focusMappedHandler,true);}}dataPriv.set(dataHolder,delegateType,(attaches||0)+1);},teardown:function(){var doc=this.ownerDocument||this.document||this,dataHolder=document.documentMode?this:doc,attaches=dataPriv.get(dataHolder,delegateType)-1;if(!attaches){if(document.documentMode){this.removeEventListener(delegateType,focusMappedHandler);}else{doc.removeEventListener(type,focusMappedHandler,true);}dataPriv.remove(dataHolder,delegateType);}else{dataPriv.set(dataHolder,delegateType,attaches);}}};});jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,
bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||(related!==target&&!jQuery.contains(target,related))){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix;}return ret;}};});jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn);},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1);},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this;}if(typeof types==="object"){for(type in types){this.off(type,selector,types[type]);}return this;}if(selector===false||typeof selector==="function"){fn=selector;selector=undefined;}if(fn===false){fn=returnFalse;}return this.each(function(){jQuery.event.remove(this,types,fn,selector);
});}});var rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rcleanScript=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function manipulationTarget(elem,content){if(nodeName(elem,"table")&&nodeName(content.nodeType!==11?content:content.firstChild,"tr")){return jQuery(elem).children("tbody")[0]||elem;}return elem;}function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem;}function restoreScript(elem){if((elem.type||"").slice(0,5)==="true/"){elem.type=elem.type.slice(5);}else{elem.removeAttribute("type");}return elem;}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,udataOld,udataCur,events;if(dest.nodeType!==1){return;}if(dataPriv.hasData(src)){pdataOld=dataPriv.get(src);events=pdataOld.events;if(events){dataPriv.remove(dest,"handle events");for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i]);}}}}if(dataUser.hasData(src)){udataOld=dataUser.access(src);udataCur=jQuery.extend({},udataOld);
dataUser.set(dest,udataCur);}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked;}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue;}}function domManip(collection,args,callback,ignored){args=flat(args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],valueIsFunction=isFunction(value);if(valueIsFunction||(l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value))){return collection.each(function(index){var self=collection.eq(index);if(valueIsFunction){args[0]=value.call(this,index,self.html());}domManip(self,args,callback,ignored);});}if(l){fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first;}if(first||ignored){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;
for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts){jQuery.merge(scripts,getAll(node,"script"));}}callback.call(collection[i],node,i);}if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src&&(node.type||"").toLowerCase()!=="module"){if(jQuery._evalUrl&&!node.noModule){jQuery._evalUrl(node.src,{nonce:node.nonce||node.getAttribute("nonce")},doc);}}else{DOMEval(node.textContent.replace(rcleanScript,""),node,doc);}}}}}}return collection;}function remove(elem,selector,keepData){var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;for(;(node=nodes[i])!=null;i++){if(!keepData&&node.nodeType===1){jQuery.cleanData(getAll(node));}if(node.parentNode){if(keepData&&isAttached(node)){setGlobalEval(getAll(node,"script"));}node.parentNode.removeChild(node);}}
return elem;}jQuery.extend({htmlPrefilter:function(html){return html;},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=isAttached(elem);if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++){fixInput(srcElements[i],destElements[i]);}}if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++){cloneCopyEvent(srcElements[i],destElements[i]);}}else{cloneCopyEvent(elem,clone);}}destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"));}return clone;},cleanData:function(elems){var data,elem,type,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++){if(acceptData(elem)){if((data=elem[dataPriv.expando])){if(data.events){
for(type in data.events){if(special[type]){jQuery.event.remove(elem,type);}else{jQuery.removeEvent(elem,type,data.handle);}}}elem[dataPriv.expando]=undefined;}if(elem[dataUser.expando]){elem[dataUser.expando]=undefined;}}}}});jQuery.fn.extend({detach:function(selector){return remove(this,selector,true);},remove:function(selector){return remove(this,selector);},text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.textContent=value;}});},null,value,arguments.length);},append:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem);}});},prepend:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild);
}});},before:function(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this);}});},after:function(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling);}});},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.textContent="";}}return this;},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents);});},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1){return elem.innerHTML;}if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);
try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value;}}elem=0;}catch(e){}}if(elem){this.empty().append(value);}},null,value,arguments.length);},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;if(jQuery.inArray(this,ignored)<0){jQuery.cleanData(getAll(this));if(parent){parent.replaceChild(elem,this);}}},ignored);}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get());}return this.pushStack(ret);};});var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var rcustomProp=/^--/;var getStyles=function(elem){var view=elem.ownerDocument.defaultView;if(!view||!view.opener){
view=window;}return view.getComputedStyle(elem);};var swap=function(elem,options,callback){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name];}ret=callback.call(elem);for(name in options){elem.style[name]=old[name];}return ret;};var rboxStyle=new RegExp(cssExpand.join("|"),"i");(function(){function computeStyleTests(){if(!div){return;}container.style.cssText="position:absolute;left:-11111px;width:60px;"+"margin-top:1px;padding:0;border:0";div.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;"+"margin:auto;border:1px;padding:1px;"+"width:60%;top:1%";documentElement.appendChild(container).appendChild(div);var divStyle=window.getComputedStyle(div);pixelPositionVal=divStyle.top!=="1%";reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12;div.style.right="60%";pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36;boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36;div.style.position="absolute";
scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12;documentElement.removeChild(container);div=null;}function roundPixelMeasures(measure){return Math.round(parseFloat(measure));}var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,reliableTrDimensionsVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");if(!div.style){return;}div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";jQuery.extend(support,{boxSizingReliable:function(){computeStyleTests();return boxSizingReliableVal;},pixelBoxStyles:function(){computeStyleTests();return pixelBoxStylesVal;},pixelPosition:function(){computeStyleTests();return pixelPositionVal;},reliableMarginLeft:function(){computeStyleTests();return reliableMarginLeftVal;},scrollboxSize:function(){computeStyleTests();return scrollboxSizeVal;},reliableTrDimensions:function(){var table,tr,trChild,trStyle;
if(reliableTrDimensionsVal==null){table=document.createElement("table");tr=document.createElement("tr");trChild=document.createElement("div");table.style.cssText="position:absolute;left:-11111px;border-collapse:separate";tr.style.cssText="box-sizing:content-box;border:1px solid";tr.style.height="1px";trChild.style.height="9px";trChild.style.display="block";documentElement.appendChild(table).appendChild(tr).appendChild(trChild);trStyle=window.getComputedStyle(tr);reliableTrDimensionsVal=(parseInt(trStyle.height,10)+parseInt(trStyle.borderTopWidth,10)+parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight;documentElement.removeChild(table);}return reliableTrDimensionsVal;}});})();function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,isCustomProp=rcustomProp.test(name),style=elem.style;computed=computed||getStyles(elem);if(computed){ret=computed.getPropertyValue(name)||computed[name];if(isCustomProp&&ret){ret=ret.replace(rtrimCSS,"$1")||undefined;}if(ret===""&&!isAttached(elem)){
ret=jQuery.style(elem,name);}if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth;}}return ret!==undefined?ret+"":ret;}function addGetHookIf(conditionFn,hookFn){return{get:function(){if(conditionFn()){delete this.get;return;}return(this.get=hookFn).apply(this,arguments);}};}var cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style,vendorProps={};function vendorPropName(name){var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in emptyStyle){return name;}}}function finalPropName(name){var final=jQuery.cssProps[name]||vendorProps[name];if(final){return final;}if(name in emptyStyle){return name;}return vendorProps[name]=vendorPropName(name)||name;}var rdisplayswap=/^(none|table(?!-c[ea]).+)/,
cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"};function setPositiveNumber(_elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value;}function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){var i=dimension==="width"?1:0,extra=0,delta=0,marginDelta=0;if(box===(isBorderBox?"border":"content")){return 0;}for(;i<4;i+=2){if(box==="margin"){marginDelta+=jQuery.css(elem,box+cssExpand[i],true,styles);}if(!isBorderBox){delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(box!=="padding"){delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}else{extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}else{if(box==="content"){delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);}if(box!=="margin"){delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}}if(!isBorderBox&&computedVal>=0){
delta+=Math.max(0,Math.ceil(elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-computedVal-delta-extra-0.5))||0;}return delta+marginDelta;}function getWidthOrHeight(elem,dimension,extra){var styles=getStyles(elem),boxSizingNeeded=!support.boxSizingReliable()||extra,isBorderBox=boxSizingNeeded&&jQuery.css(elem,"boxSizing",false,styles)==="border-box",valueIsBorderBox=isBorderBox,val=curCSS(elem,dimension,styles),offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1);if(rnumnonpx.test(val)){if(!extra){return val;}val="auto";}if((!support.boxSizingReliable()&&isBorderBox||!support.reliableTrDimensions()&&nodeName(elem,"tr")||val==="auto"||!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&&elem.getClientRects().length){isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";valueIsBorderBox=offsetProp in elem;if(valueIsBorderBox){val=elem[offsetProp];}}val=parseFloat(val)||0;return(val+boxModelAdjustment(elem,dimension,extra||(isBorderBox?"border":"content"),
valueIsBorderBox,styles,val))+"px";}jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret;}}}},cssNumber:{animationIterationCount:true,aspectRatio:true,borderImageSlice:true,columnCount:true,flexGrow:true,flexShrink:true,fontWeight:true,gridArea:true,gridColumn:true,gridColumnEnd:true,gridColumnStart:true,gridRow:true,gridRowEnd:true,gridRowStart:true,lineHeight:true,opacity:true,order:true,orphans:true,scale:true,widows:true,zIndex:true,zoom:true,fillOpacity:true,floodOpacity:true,stopOpacity:true,strokeMiterlimit:true,strokeOpacity:true},cssProps:{},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;}var ret,type,hooks,origName=camelCase(name),isCustomProp=rcustomProp.test(name),style=elem.style;if(!isCustomProp){name=finalPropName(origName);}hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){
value=adjustCSS(elem,name,ret);type="number";}if(value==null||value!==value){return;}if(type==="number"&&!isCustomProp){value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");}if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit";}if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined){if(isCustomProp){style.setProperty(name,value);}else{style[name]=value;}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;}return style[name];}},css:function(elem,name,extra,styles){var val,num,hooks,origName=camelCase(name),isCustomProp=rcustomProp.test(name);if(!isCustomProp){name=finalPropName(origName);}hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get"in hooks){val=hooks.get(elem,true,extra);}if(val===undefined){val=curCSS(elem,name,styles);}if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name];}if(extra===""||extra){num=parseFloat(val);return extra===true||isFinite(num)?num||0:val;
}return val;}});jQuery.each(["height","width"],function(_i,dimension){jQuery.cssHooks[dimension]={get:function(elem,computed,extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem,cssShow,function(){return getWidthOrHeight(elem,dimension,extra);}):getWidthOrHeight(elem,dimension,extra);}},set:function(elem,value,extra){var matches,styles=getStyles(elem),scrollboxSizeBuggy=!support.scrollboxSize()&&styles.position==="absolute",boxSizingNeeded=scrollboxSizeBuggy||extra,isBorderBox=boxSizingNeeded&&jQuery.css(elem,"boxSizing",false,styles)==="border-box",subtract=extra?boxModelAdjustment(elem,dimension,extra,isBorderBox,styles):0;if(isBorderBox&&scrollboxSizeBuggy){subtract-=Math.ceil(elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-parseFloat(styles[dimension])-boxModelAdjustment(elem,dimension,"border",false,styles)-0.5);}if(subtract&&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){
elem.style[dimension]=value;value=jQuery.css(elem,dimension);}return setPositiveNumber(elem,value,subtract);}};});jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed){return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left;}))+"px";}});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];}return expanded;}};if(prefix!=="margin"){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;}});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(Array.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles);
}return map;}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);},name,value,arguments.length>1);}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing);}jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||jQuery.easing._default;this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px");},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this);},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration);}else{this.pos=eased=percent;}this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this);
}if(hooks&&hooks.set){hooks.set(this);}else{Tween.propHooks._default.set(this);}return this;}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem.nodeType!==1||tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){return tween.elem[tween.prop];}result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result;},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween);}else if(tween.elem.nodeType===1&&(jQuery.cssHooks[tween.prop]||tween.elem.style[finalPropName(tween.prop)]!=null)){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);}else{tween.elem[tween.prop]=tween.now;}}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now;}}};jQuery.easing={linear:function(p){return p;},swing:function(p){return 0.5-Math.cos(p*Math.PI)/2;},_default:"swing"};jQuery.fx=Tween.prototype.init;
jQuery.fx.step={};var fxNow,inProgress,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;function schedule(){if(inProgress){if(document.hidden===false&&window.requestAnimationFrame){window.requestAnimationFrame(schedule);}else{window.setTimeout(schedule,jQuery.fx.interval);}jQuery.fx.tick();}}function createFxNow(){window.setTimeout(function(){fxNow=undefined;});return(fxNow=Date.now());}function genFx(type,includeWidth){var which,i=0,attrs={height:type};includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type;}if(includeWidth){attrs.opacity=attrs.width=type;}return attrs;}function createTween(value,prop,animation){var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if((tween=collection[index].call(animation,prop,value))){return tween;}}}function defaultPrefilter(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,
isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire();}};}hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire();}});});}for(prop in props){value=props[prop];if(rfxtypes.test(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true;}else{continue;}}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);}}propTween=!jQuery.isEmptyObject(props);if(!propTween&&jQuery.isEmptyObject(orig)){return;}if(isBox&&elem.nodeType===1){opts.overflow=[style.overflow,style.overflowX,style.overflowY];restoreDisplay=dataShow&&dataShow.display;
if(restoreDisplay==null){restoreDisplay=dataPriv.get(elem,"display");}display=jQuery.css(elem,"display");if(display==="none"){if(restoreDisplay){display=restoreDisplay;}else{showHide([elem],true);restoreDisplay=elem.style.display||restoreDisplay;display=jQuery.css(elem,"display");showHide([elem]);}}if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){if(jQuery.css(elem,"float")==="none"){if(!propTween){anim.done(function(){style.display=restoreDisplay;});if(restoreDisplay==null){display=style.display;restoreDisplay=display==="none"?"":display;}}style.display="inline-block";}}}if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2];});}propTween=false;for(prop in orig){if(!propTween){if(dataShow){if("hidden"in dataShow){hidden=dataShow.hidden;}}else{dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});}if(toggle){dataShow.hidden=!hidden;}if(hidden){
showHide([elem],true);}anim.done(function(){if(!hidden){showHide([elem]);}dataPriv.remove(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop]);}});}propTween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=propTween.start;if(hidden){propTween.end=propTween.start;propTween.start=0;}}}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=camelCase(index);easing=specialEasing[name];value=props[index];if(Array.isArray(value)){easing=value[1];value=props[index]=value[0];}if(index!==name){props[name]=value;delete props[index];}hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing;}}}else{specialEasing[name]=easing;}}}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){
delete tick.elem;}),tick=function(){if(stopped){return false;}var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent);}deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining;}if(!length){deferred.notifyWith(elem,[animation,1,0]);}deferred.resolveWith(elem,[animation]);return false;},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween;},stop:function(gotoEnd){
var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped){return this;}stopped=true;for(;index<length;index++){animation.tweens[index].run(1);}if(gotoEnd){deferred.notifyWith(elem,[animation,1,0]);deferred.resolveWith(elem,[animation,gotoEnd]);}else{deferred.rejectWith(elem,[animation,gotoEnd]);}return this;}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=Animation.prefilters[index].call(animation,elem,props,animation.opts);if(result){if(isFunction(result.stop)){jQuery._queueHooks(animation.elem,animation.opts.queue).stop=result.stop.bind(result);}return result;}}jQuery.map(props,createTween,animation);if(isFunction(animation.opts.start)){animation.opts.start.call(elem,animation);}animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));
return animation;}jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);return tween;}]},tweener:function(props,callback){if(isFunction(props)){callback=props;props=["*"];}else{props=props.match(rnothtmlwhite);}var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];Animation.tweeners[prop]=Animation.tweeners[prop]||[];Animation.tweeners[prop].unshift(callback);}},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){if(prepend){Animation.prefilters.unshift(callback);}else{Animation.prefilters.push(callback);}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!isFunction(easing)&&easing};if(jQuery.fx.off){opt.duration=0;}else{if(typeof opt.duration!=="number"){if(opt.duration in jQuery.fx.speeds){
opt.duration=jQuery.fx.speeds[opt.duration];}else{opt.duration=jQuery.fx.speeds._default;}}}if(opt.queue==null||opt.queue===true){opt.queue="fx";}opt.old=opt.complete;opt.complete=function(){if(isFunction(opt.old)){opt.old.call(this);}if(opt.queue){jQuery.dequeue(this,opt.queue);}};return opt;};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHiddenWithinTree).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback);},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||dataPriv.get(this,"finish")){anim.stop(true);}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation);},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd);};if(typeof type!=="string"){
gotoEnd=clearQueue;clearQueue=type;type=undefined;}if(clearQueue){this.queue(type||"fx",[]);}return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index]);}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index]);}}}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1);}}if(dequeue||!gotoEnd){jQuery.dequeue(this,type);}});},finish:function(type){if(type!==false){type=type||"fx";}return this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true);}for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){
timers[index].anim.stop(true);timers.splice(index,1);}}for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this);}}delete data.finish;});}});jQuery.each(["toggle","show","hide"],function(_i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback);};});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=Date.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1);}}if(!timers.length){jQuery.fx.stop();}fxNow=undefined;};jQuery.fx.timer=function(timer){
jQuery.timers.push(timer);jQuery.fx.start();};jQuery.fx.interval=13;jQuery.fx.start=function(){if(inProgress){return;}inProgress=true;schedule();};jQuery.fx.stop=function(){inProgress=null;};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout);};});};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";support.checkOn=input.value!=="";support.optSelected=opt.selected;input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t";})();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1);},
removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name);});}});jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2){return;}if(typeof elem.getAttribute==="undefined"){return jQuery.prop(elem,name,value);}if(nType!==1||!jQuery.isXMLDoc(elem)){hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:undefined);}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return;}if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}elem.setAttribute(name,value+"");return value;}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret;},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val;}return value;}}}},removeAttr:function(elem,value){
var name,i=0,attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&elem.nodeType===1){while((name=attrNames[i++])){elem.removeAttribute(name);}}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name);}else{elem.setAttribute(name,name);}return name;}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(_i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle,lowercaseName=name.toLowerCase();if(!isXML){handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem,name,isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle;}return ret;};});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1);},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name];});}});jQuery.extend({prop:function(elem,name,value){
var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2){return;}if(nType!==1||!jQuery.isXMLDoc(elem)){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name];}if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}return(elem[name]=value);}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}return elem[name];},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");if(tabindex){return parseInt(tabindex,10);}if(rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href){return 0;}return-1;}}},propFix:{"for":"htmlFor","class":"className"}});if(!support.optSelected){jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent&&parent.parentNode){parent.parentNode.selectedIndex;}return null;},set:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}};}jQuery.each([
"tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this;});function stripAndCollapse(value){var tokens=value.match(rnothtmlwhite)||[];return tokens.join(" ");}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||"";}function classesToArray(value){if(Array.isArray(value)){return value;}if(typeof value==="string"){return value.match(rnothtmlwhite)||[];}return[];}jQuery.fn.extend({addClass:function(value){var classNames,cur,curValue,className,i,finalValue;if(isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)));});}classNames=classesToArray(value);if(classNames.length){return this.each(function(){curValue=getClass(this);cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");if(cur){for(i=0;i<classNames.length;i++){className=classNames[i];if(cur.indexOf(" "+className+" ")<0){cur+=className+" ";
}}finalValue=stripAndCollapse(cur);if(curValue!==finalValue){this.setAttribute("class",finalValue);}}});}return this;},removeClass:function(value){var classNames,cur,curValue,className,i,finalValue;if(isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)));});}if(!arguments.length){return this.attr("class","");}classNames=classesToArray(value);if(classNames.length){return this.each(function(){curValue=getClass(this);cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");if(cur){for(i=0;i<classNames.length;i++){className=classNames[i];while(cur.indexOf(" "+className+" ")>-1){cur=cur.replace(" "+className+" "," ");}}finalValue=stripAndCollapse(cur);if(curValue!==finalValue){this.setAttribute("class",finalValue);}}});}return this;},toggleClass:function(value,stateVal){var classNames,className,i,self,type=typeof value,isValidValue=type==="string"||Array.isArray(value);if(isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(
value.call(this,i,getClass(this),stateVal),stateVal);});}if(typeof stateVal==="boolean"&&isValidValue){return stateVal?this.addClass(value):this.removeClass(value);}classNames=classesToArray(value);return this.each(function(){if(isValidValue){self=jQuery(this);for(i=0;i<classNames.length;i++){className=classNames[i];if(self.hasClass(className)){self.removeClass(className);}else{self.addClass(className);}}}else if(value===undefined||type==="boolean"){className=getClass(this);if(className){dataPriv.set(this,"__className__",className);}if(this.setAttribute){this.setAttribute("class",className||value===false?"":dataPriv.get(this,"__className__")||"");}}});},hasClass:function(selector){var className,elem,i=0;className=" "+selector+" ";while((elem=this[i++])){if(elem.nodeType===1&&(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){return true;}}return false;}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,valueIsFunction,elem=this[0];if(!arguments.length){
if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret;}ret=elem.value;if(typeof ret==="string"){return ret.replace(rreturn,"");}return ret==null?"":ret;}return;}valueIsFunction=isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return;}if(valueIsFunction){val=value.call(this,i,jQuery(this).val());}else{val=value;}if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(Array.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val;}});}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:stripAndCollapse(jQuery.text(elem));}},select:{get:function(elem){var value,option,i,options=elem.options,
index=elem.selectedIndex,one=elem.type==="select-one",values=one?null:[],max=one?index+1:options.length;if(index<0){i=max;}else{i=one?index:0;}for(;i<max;i++){option=options[i];if((option.selected||i===index)&&!option.disabled&&(!option.parentNode.disabled||!nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value;}values.push(value);}}return values;},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1){optionSet=true;}}if(!optionSet){elem.selectedIndex=-1;}return values;}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(Array.isArray(value)){return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value;};}});var location=window.location;
var nonce={guid:Date.now()};var rquery=(/\?/);jQuery.parseXML=function(data){var xml,parserErrorElem;if(!data||typeof data!=="string"){return null;}try{xml=(new window.DOMParser()).parseFromString(data,"text/xml");}catch(e){}parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0];if(!xml||parserErrorElem){jQuery.error("Invalid XML: "+(parserErrorElem?jQuery.map(parserErrorElem.childNodes,function(el){return el.textContent;}).join("\n"):data));}return xml;};var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,stopPropagationCallback=function(e){e.stopPropagation();};jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=lastElement=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;}if(rfocusMorph.test(type+jQuery.event.triggered)){
return;}if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;}data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return;}if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){
lastElement=cur;event.type=i>1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur,data);}handle=ontype&&cur[ontype];if(handle&&handle.apply&&acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault();}}}event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&acceptData(elem)){if(ontype&&isFunction(elem[type])&&!isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;}jQuery.event.triggered=type;if(event.isPropagationStopped()){lastElement.addEventListener(type,stopPropagationCallback);}elem[type]();if(event.isPropagationStopped()){lastElement.removeEventListener(type,stopPropagationCallback);}jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}return event.result;},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event(),
event,{type:type,isSimulated:true});jQuery.event.trigger(e,null,elem);}});jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true);}}});var rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(Array.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",v,traditional,add);}});}else if(!traditional&&toType(obj)==="object"){for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add);}}else{add(prefix,obj);}}jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,valueOrFunction){var value=isFunction(valueOrFunction)?valueOrFunction():
valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value==null?"":value);};if(a==null){return"";}if(Array.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){jQuery.each(a,function(){add(this.name,this.value);});}else{for(prefix in a){buildParams(prefix,a[prefix],traditional,add);}}return s.join("&");};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this;}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type));}).map(function(_i,elem){var val=jQuery(this).val();if(val==null){return null;}if(Array.isArray(val)){return jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")};});}return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
}).get();}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href;function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*";}var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(isFunction(func)){while((dataType=dataTypes[i++])){if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func);}else{(structure[dataType]=structure[dataType]||[]).push(func);}}}};}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=(structure===transports);
function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false;}else if(seekingTransport){return!(selected=dataTypeOrTransport);}});return selected;}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];}}if(deep){jQuery.extend(true,target,deep);}return target;}function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");
}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break;}}}if(dataTypes[0]in responses){finalDataType=dataTypes[0];}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break;}if(!firstDataType){firstDataType=type;}}finalDataType=finalDataType||firstDataType;}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType);}return responses[finalDataType];}}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv];}}current=dataTypes.shift();while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response;}if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType);}prev=current;current=dataTypes.shift();if(current){if(current==="*"){current=prev;}else if(prev!=="*"&&prev!==current){
conv=converters[prev+" "+current]||converters["* "+current];if(!conv){for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2];}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1]);}break;}}}}if(conv!==true){if(conv&&s.throws){response=conv(response);}else{try{response=conv(response);}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current};}}}}}}return{state:"success",data:response};}jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},
responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":JSON.parse,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target);},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined;}options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,completed,fireGlobals,i,uncached,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},
requestHeadersNames={},strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(completed){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString))){responseHeaders[match[1].toLowerCase()+" "]=(responseHeaders[match[1].toLowerCase()+" "]||[]).concat(match[2]);}}match=responseHeaders[key.toLowerCase()+" "];}return match==null?null:match.join(", ");},getAllResponseHeaders:function(){return completed?responseHeadersString:null;},setRequestHeader:function(name,value){if(completed==null){name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name;requestHeaders[name]=value;}return this;},overrideMimeType:function(type){if(completed==null){s.mimeType=type;}return this;},statusCode:function(map){var code;if(map){if(completed){jqXHR.always(map[jqXHR.status]);}else{for(code in map){statusCode[code]=[statusCode[code],map[code]];}}}return this;},abort:function(statusText){var finalText=statusText||strAbort;
if(transport){transport.abort(finalText);}done(0,finalText);return this;}};deferred.promise(jqXHR);s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];if(s.crossDomain==null){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url;urlAnchor.href=urlAnchor.href;s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==urlAnchor.protocol+"//"+urlAnchor.host;}catch(e){s.crossDomain=true;}}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(completed){return jqXHR;}fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");}s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url.replace(rhash,"");if(!s.hasContent){uncached=s.url.slice(cacheURL.length);if(s.data&&(s.processData||typeof s.data==="string")){
cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;delete s.data;}if(s.cache===false){cacheURL=cacheURL.replace(rantiCache,"$1");uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+uncached;}s.url=cacheURL+uncached;}else if(s.data&&s.processData&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){s.data=s.data.replace(r20,"+");}if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);}if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType);}jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i]);}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){
return jqXHR.abort();}strAbort="abort";completeDeferred.add(s.complete);jqXHR.done(s.success);jqXHR.fail(s.error);transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport");}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s]);}if(completed){return jqXHR;}if(s.async&&s.timeout>0){timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout");},s.timeout);}try{completed=false;transport.send(requestHeaders,done);}catch(e){if(completed){throw e;}done(-1,e);}}function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(completed){return;}completed=true;if(timeoutTimer){window.clearTimeout(timeoutTimer);}transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses){response=ajaxHandleResponses(s,jqXHR,responses);}if(!isSuccess&&jQuery.inArray("script",s.dataTypes)>-1&&
jQuery.inArray("json",s.dataTypes)<0){s.converters["text script"]=function(){};}response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified;}modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified;}}if(status===204||s.type==="HEAD"){statusText="nocontent";}else if(status===304){statusText="notmodified";}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error;}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0;}}}jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);}jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]);
}completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!(--jQuery.active)){jQuery.event.trigger("ajaxStop");}}}return jqXHR;},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script");}});jQuery.each(["get","post"],function(_i,method){jQuery[method]=function(url,data,callback,type){if(isFunction(data)){type=type||callback;callback=data;data=undefined;}return jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url));};});jQuery.ajaxPrefilter(function(s){var i;for(i in s.headers){if(i.toLowerCase()==="content-type"){s.contentType=s.headers[i]||"";}}});jQuery._evalUrl=function(url,options,doc){return jQuery.ajax({url:url,type:"GET",dataType:"script",cache:true,async:false,global:false,converters:{"text script":function(){}},dataFilter:function(response){
jQuery.globalEval(response,options,doc);}});};jQuery.fn.extend({wrapAll:function(html){var wrap;if(this[0]){if(isFunction(html)){html=html.call(this[0]);}wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}wrap.map(function(){var elem=this;while(elem.firstElementChild){elem=elem.firstElementChild;}return elem;}).append(this);}return this;},wrapInner:function(html){if(isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){var htmlIsFunction=isFunction(html);return this.each(function(i){jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html);});},unwrap:function(selector){this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes);});return this;}});jQuery.expr.pseudos.hidden=function(elem){
return!jQuery.expr.pseudos.visible(elem);};jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);};jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest();}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain){return{send:function(headers,complete){var i,xhr=options.xhr();xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}for(i in headers){xhr.setRequestHeader(i,headers[i]);
}callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.ontimeout=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(xhr.status,xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders());}}};};xhr.onload=callback();errorCallback=xhr.onerror=xhr.ontimeout=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback();}});}};}callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null);}catch(e){if(callback){throw e;}}},abort:function(){if(callback){callback();}}};}});jQuery.ajaxPrefilter(function(s){if(s.crossDomain){
s.contents.script=false;}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){jQuery.globalEval(text);return text;}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false;}if(s.crossDomain){s.type="GET";}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain||s.scriptAttrs){var script,callback;return{send:function(_,complete){script=jQuery("<script>").attr(s.scriptAttrs||{}).prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200,evt.type);}});document.head.appendChild(script[0]);},abort:function(){if(callback){callback();}}};}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++));
this[callback]=true;return callback;}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;}s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called");}return responseContainer[0];};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments;};jqXHR.always(function(){if(overwritten===undefined){jQuery(window).removeProp(callbackName);}else{window[callbackName]=overwritten;
}if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName);}if(responseContainer&&isFunction(overwritten)){overwritten(responseContainer[0]);}responseContainer=overwritten=undefined;});return"script";}});support.createHTMLDocument=(function(){var body=document.implementation.createHTMLDocument("").body;body.innerHTML="<form></form><form></form>";return body.childNodes.length===2;})();jQuery.parseHTML=function(data,context,keepScripts){if(typeof data!=="string"){return[];}if(typeof context==="boolean"){keepScripts=context;context=false;}var base,parsed,scripts;if(!context){if(support.createHTMLDocument){context=document.implementation.createHTMLDocument("");base=context.createElement("base");base.href=document.location.href;context.head.appendChild(base);}else{context=document;}}parsed=rsingleTag.exec(data);scripts=!keepScripts&&[];if(parsed){return[context.createElement(parsed[1])];}parsed=buildFragment([data],context,scripts);if(scripts&&scripts.length){
jQuery(scripts).remove();}return jQuery.merge([],parsed.childNodes);};jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");if(off>-1){selector=stripAndCollapse(url.slice(off));url=url.slice(0,off);}if(isFunction(params)){callback=params;params=undefined;}else if(params&&typeof params==="object"){type="POST";}if(self.length>0){jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText);}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);});});}return this;};jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,
position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static"){elem.style.position="relative";}curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left;}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0;}if(isFunction(options)){options=options.call(elem,i,jQuery.extend({},curOffset));}if(options.top!=null){props.top=(options.top-curOffset.top)+curTop;}if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft;}if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({offset:function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i);});}var rect,win,elem=this[0];if(!elem){
return;}if(!elem.getClientRects().length){return{top:0,left:0};}rect=elem.getBoundingClientRect();win=elem.ownerDocument.defaultView;return{top:rect.top+win.pageYOffset,left:rect.left+win.pageXOffset};},position:function(){if(!this[0]){return;}var offsetParent,offset,doc,elem=this[0],parentOffset={top:0,left:0};if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect();}else{offset=this.offset();doc=elem.ownerDocument;offsetParent=elem.offsetParent||doc.documentElement;while(offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&jQuery.css(offsetParent,"position")==="static"){offsetParent=offsetParent.parentNode;}if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){parentOffset=jQuery(offsetParent).offset();parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true);parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true);}}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)
};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent;while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){offsetParent=offsetParent.offsetParent;}return offsetParent||documentElement;});}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win;if(isWindow(elem)){win=elem;}else if(elem.nodeType===9){win=elem.defaultView;}if(val===undefined){return win?win[prop]:elem[method];}if(win){win.scrollTo(!top?val:win.pageXOffset,top?val:win.pageYOffset);}else{elem[method]=val;}},method,val,arguments.length);};});jQuery.each(["top","left"],function(_i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed;}});});jQuery.each({Height:"height",Width:"width"},function(name,type){
jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(isWindow(elem)){return funcName.indexOf("outer")===0?elem["inner"+name]:elem.document.documentElement["client"+name];}if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name]);}return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra);},type,chainable?margin:undefined,chainable);};});});jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(_i,type){jQuery.fn[type]=function(fn){return this.on(type,fn);};});jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn);
},unbind:function(types,fn){return this.off(types,null,fn);},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn);},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn);},hover:function(fnOver,fnOut){return this.on("mouseenter",fnOver).on("mouseleave",fnOut||fnOver);}});jQuery.each(("blur focus focusin focusout resize scroll click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup contextmenu").split(" "),function(_i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name);};});var rtrim=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;jQuery.proxy=function(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}if(!isFunction(fn)){return undefined;}args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)));
};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;};jQuery.holdReady=function(hold){if(hold){jQuery.readyWait++;}else{jQuery.ready(true);}};jQuery.isArray=Array.isArray;jQuery.parseJSON=JSON.parse;jQuery.nodeName=nodeName;jQuery.isFunction=isFunction;jQuery.isWindow=isWindow;jQuery.camelCase=camelCase;jQuery.type=toType;jQuery.now=Date.now;jQuery.isNumeric=function(obj){var type=jQuery.type(obj);return(type==="number"||type==="string")&&!isNaN(obj-parseFloat(obj));};jQuery.trim=function(text){return text==null?"":(text+"").replace(rtrim,"$1");};if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery;});}var _jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$;}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery;}return jQuery;};if(typeof noGlobal==="undefined"){window.jQuery=window.$=jQuery;}return jQuery;});
}];});
mw.loader.impl(function(){return["moment@3bfsr",function($,jQuery,require,module){;(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define(factory):global.moment=factory()}(this,(function(){'use strict';var hookCallback;function hooks(){return hookCallback.apply(null,arguments);}function setHookCallback(callback){hookCallback=callback;}function isArray(input){return(input instanceof Array||Object.prototype.toString.call(input)==='[object Array]');}function isObject(input){return(input!=null&&Object.prototype.toString.call(input)==='[object Object]');}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b);}function isObjectEmpty(obj){if(Object.getOwnPropertyNames){return Object.getOwnPropertyNames(obj).length===0;}else{var k;for(k in obj){if(hasOwnProp(obj,k)){return false;}}return true;}}function isUndefined(input){return input===void 0;}function isNumber(input){return(typeof input==='number'||Object.prototype.toString.call(input)==='[object Number]');}
function isDate(input){return(input instanceof Date||Object.prototype.toString.call(input)==='[object Date]');}function map(arr,fn){var res=[],i,arrLen=arr.length;for(i=0;i<arrLen;++i){res.push(fn(arr[i],i));}return res;}function extend(a,b){for(var i in b){if(hasOwnProp(b,i)){a[i]=b[i];}}if(hasOwnProp(b,'toString')){a.toString=b.toString;}if(hasOwnProp(b,'valueOf')){a.valueOf=b.valueOf;}return a;}function createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,true).utc();}function defaultParsingFlags(){return{empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidEra:null,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false,parsedDateParts:[],era:null,meridiem:null,rfc2822:false,weekdayMismatch:false,};}function getParsingFlags(m){if(m._pf==null){m._pf=defaultParsingFlags();}return m._pf;}var some;if(Array.prototype.some){some=Array.prototype.some;}else{some=function(fun){var t=Object(this),len=t.length>>>0,
i;for(i=0;i<len;i++){if(i in t&&fun.call(this,t[i],i,t)){return true;}}return false;};}function isValid(m){var flags=null,parsedParts=false,isNowValid=m._d&&!isNaN(m._d.getTime());if(isNowValid){flags=getParsingFlags(m);parsedParts=some.call(flags.parsedDateParts,function(i){return i!=null;});isNowValid=flags.overflow<0&&!flags.empty&&!flags.invalidEra&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.weekdayMismatch&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||(flags.meridiem&&parsedParts));if(m._strict){isNowValid=isNowValid&&flags.charsLeftOver===0&&flags.unusedTokens.length===0&&flags.bigHour===undefined;}}if(Object.isFrozen==null||!Object.isFrozen(m)){m._isValid=isNowValid;}else{return isNowValid;}return m._isValid;}function createInvalid(flags){var m=createUTC(NaN);if(flags!=null){extend(getParsingFlags(m),flags);}else{getParsingFlags(m).userInvalidated=true;}return m;}var momentProperties=(hooks.momentProperties=[]),updateInProgress=false;
function copyConfig(to,from){var i,prop,val,momentPropertiesLen=momentProperties.length;if(!isUndefined(from._isAMomentObject)){to._isAMomentObject=from._isAMomentObject;}if(!isUndefined(from._i)){to._i=from._i;}if(!isUndefined(from._f)){to._f=from._f;}if(!isUndefined(from._l)){to._l=from._l;}if(!isUndefined(from._strict)){to._strict=from._strict;}if(!isUndefined(from._tzm)){to._tzm=from._tzm;}if(!isUndefined(from._isUTC)){to._isUTC=from._isUTC;}if(!isUndefined(from._offset)){to._offset=from._offset;}if(!isUndefined(from._pf)){to._pf=getParsingFlags(from);}if(!isUndefined(from._locale)){to._locale=from._locale;}if(momentPropertiesLen>0){for(i=0;i<momentPropertiesLen;i++){prop=momentProperties[i];val=from[prop];if(!isUndefined(val)){to[prop]=val;}}}return to;}function Moment(config){copyConfig(this,config);this._d=new Date(config._d!=null?config._d.getTime():NaN);if(!this.isValid()){this._d=new Date(NaN);}if(updateInProgress===false){updateInProgress=true;hooks.updateOffset(this);
updateInProgress=false;}}function isMoment(obj){return(obj instanceof Moment||(obj!=null&&obj._isAMomentObject!=null));}function warn(msg){if(hooks.suppressDeprecationWarnings===false&&typeof console!=='undefined'&&console.warn){console.warn('Deprecation warning: '+msg);}}function deprecate(msg,fn){var firstTime=true;return extend(function(){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(null,msg);}if(firstTime){var args=[],arg,i,key,argLen=arguments.length;for(i=0;i<argLen;i++){arg='';if(typeof arguments[i]==='object'){arg+='\n['+i+'] ';for(key in arguments[0]){if(hasOwnProp(arguments[0],key)){arg+=key+': '+arguments[0][key]+', ';}}arg=arg.slice(0,-2);}else{arg=arguments[i];}args.push(arg);}warn(msg+'\nArguments: '+Array.prototype.slice.call(args).join('')+'\n'+new Error().stack);firstTime=false;}return fn.apply(this,arguments);},fn);}var deprecations={};function deprecateSimple(name,msg){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(name,msg);}if(!deprecations[name]){
warn(msg);deprecations[name]=true;}}hooks.suppressDeprecationWarnings=false;hooks.deprecationHandler=null;function isFunction(input){return((typeof Function!=='undefined'&&input instanceof Function)||Object.prototype.toString.call(input)==='[object Function]');}function set(config){var prop,i;for(i in config){if(hasOwnProp(config,i)){prop=config[i];if(isFunction(prop)){this[i]=prop;}else{this['_'+i]=prop;}}}this._config=config;this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+'|'+/\d{1,2}/.source);}function mergeConfigs(parentConfig,childConfig){var res=extend({},parentConfig),prop;for(prop in childConfig){if(hasOwnProp(childConfig,prop)){if(isObject(parentConfig[prop])&&isObject(childConfig[prop])){res[prop]={};extend(res[prop],parentConfig[prop]);extend(res[prop],childConfig[prop]);}else if(childConfig[prop]!=null){res[prop]=childConfig[prop];}else{delete res[prop];}}}for(prop in parentConfig){if(hasOwnProp(parentConfig,prop)&&
!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])){res[prop]=extend({},res[prop]);}}return res;}function Locale(config){if(config!=null){this.set(config);}}var keys;if(Object.keys){keys=Object.keys;}else{keys=function(obj){var i,res=[];for(i in obj){if(hasOwnProp(obj,i)){res.push(i);}}return res;};}var defaultCalendar={sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L',};function calendar(key,mom,now){var output=this._calendar[key]||this._calendar['sameElse'];return isFunction(output)?output.call(mom,now):output;}function zeroFill(number,targetLength,forceSign){var absNumber=''+Math.abs(number),zerosToFill=targetLength-absNumber.length,sign=number>=0;return((sign?(forceSign?'+':''):'-')+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber);}var formattingTokens=
/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;if(typeof callback==='string'){func=function(){return this[callback]();};}if(token){formatTokenFunctions[token]=func;}if(padded){formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2]);};}if(ordinal){formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token);};}}function removeFormattingTokens(input){if(input.match(/\[[\s\S]/)){return input.replace(/^\[|\]$/g,'');}return input.replace(/\\/g,'');}function makeFormatFunction(format){var array=format.match(formattingTokens),i,length;for(i=0,length=array.length;i<length;i++){
if(formatTokenFunctions[array[i]]){array[i]=formatTokenFunctions[array[i]];}else{array[i]=removeFormattingTokens(array[i]);}}return function(mom){var output='',i;for(i=0;i<length;i++){output+=isFunction(array[i])?array[i].call(mom,format):array[i];}return output;};}function formatMoment(m,format){if(!m.isValid()){return m.localeData().invalidDate();}format=expandFormat(format,m.localeData());formatFunctions[format]=formatFunctions[format]||makeFormatFunction(format);return formatFunctions[format](m);}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input;}localFormattingTokens.lastIndex=0;while(i>=0&&localFormattingTokens.test(format)){format=format.replace(localFormattingTokens,replaceLongDateFormatTokens);localFormattingTokens.lastIndex=0;i-=1;}return format;}var defaultLongDateFormat={LTS:'h:mm:ss A',LT:'h:mm A',L:'MM/DD/YYYY',LL:'MMMM D, YYYY',LLL:'MMMM D, YYYY h:mm A',LLLL:'dddd, MMMM D, YYYY h:mm A',};
function longDateFormat(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];if(format||!formatUpper){return format;}this._longDateFormat[key]=formatUpper.match(formattingTokens).map(function(tok){if(tok==='MMMM'||tok==='MM'||tok==='DD'||tok==='dddd'){return tok.slice(1);}return tok;}).join('');return this._longDateFormat[key];}var defaultInvalidDate='Invalid date';function invalidDate(){return this._invalidDate;}var defaultOrdinal='%d',defaultDayOfMonthOrdinalParse=/\d{1,2}/;function ordinal(number){return this._ordinal.replace('%d',number);}var defaultRelativeTime={future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',w:'a week',ww:'%d weeks',M:'a month',MM:'%d months',y:'a year',yy:'%d years',};function relativeTime(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture)
:output.replace(/%d/i,number);}function pastFuture(diff,output){var format=this._relativeTime[diff>0?'future':'past'];return isFunction(format)?format(output):format.replace(/%s/i,output);}var aliases={D:'date',dates:'date',date:'date',d:'day',days:'day',day:'day',e:'weekday',weekdays:'weekday',weekday:'weekday',E:'isoWeekday',isoweekdays:'isoWeekday',isoweekday:'isoWeekday',DDD:'dayOfYear',dayofyears:'dayOfYear',dayofyear:'dayOfYear',h:'hour',hours:'hour',hour:'hour',ms:'millisecond',milliseconds:'millisecond',millisecond:'millisecond',m:'minute',minutes:'minute',minute:'minute',M:'month',months:'month',month:'month',Q:'quarter',quarters:'quarter',quarter:'quarter',s:'second',seconds:'second',second:'second',gg:'weekYear',weekyears:'weekYear',weekyear:'weekYear',GG:'isoWeekYear',isoweekyears:'isoWeekYear',isoweekyear:'isoWeekYear',w:'week',weeks:'week',week:'week',W:'isoWeek',isoweeks:'isoWeek',isoweek:'isoWeek',y:'year',years:'year',year:'year',};function normalizeUnits(units){return typeof units==='string'
?aliases[units]||aliases[units.toLowerCase()]:undefined;}function normalizeObjectUnits(inputObject){var normalizedInput={},normalizedProp,prop;for(prop in inputObject){if(hasOwnProp(inputObject,prop)){normalizedProp=normalizeUnits(prop);if(normalizedProp){normalizedInput[normalizedProp]=inputObject[prop];}}}return normalizedInput;}var priorities={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1,};function getPrioritizedUnits(unitsObj){var units=[],u;for(u in unitsObj){if(hasOwnProp(unitsObj,u)){units.push({unit:u,priority:priorities[u]});}}units.sort(function(a,b){return a.priority-b.priority;});return units;}var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,
matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,match1to2NoLeadingZero=/^[1-9]\d?/,match1to2HasZero=/^([1-9]\d|\d)/,regexes;regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex;};}function getParseRegexForToken(token,config){if(!hasOwnProp(regexes,token)){return new RegExp(unescapeFormat(token));}return regexes[token](config._strict,config._locale);}function unescapeFormat(s){return regexEscape(s.replace('\\','').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4;}));}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&');}function absFloor(number){if(number<0){return Math.ceil(number)||0;}else{return Math.floor(number);
}}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;if(coercedNumber!==0&&isFinite(coercedNumber)){value=absFloor(coercedNumber);}return value;}var tokens={};function addParseToken(token,callback){var i,func=callback,tokenLen;if(typeof token==='string'){token=[token];}if(isNumber(callback)){func=function(input,array){array[callback]=toInt(input);};}tokenLen=token.length;for(i=0;i<tokenLen;i++){tokens[token[i]]=func;}}function addWeekParseToken(token,callback){addParseToken(token,function(input,array,config,token){config._w=config._w||{};callback(input,config._w,config,token);});}function addTimeToArrayFromToken(token,input,config){if(input!=null&&hasOwnProp(tokens,token)){tokens[token](input,config._a,config,token);}}function isLeapYear(year){return(year%4===0&&year%100!==0)||year%400===0;}var YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;addFormatToken('Y',0,0,function(){var y=this.year();return y<=9999?zeroFill(y,4):'+'+y;
});addFormatToken(0,['YY',2],0,function(){return this.year()%100;});addFormatToken(0,['YYYY',4],0,'year');addFormatToken(0,['YYYYY',5],0,'year');addFormatToken(0,['YYYYYY',6,true],0,'year');addRegexToken('Y',matchSigned);addRegexToken('YY',match1to2,match2);addRegexToken('YYYY',match1to4,match4);addRegexToken('YYYYY',match1to6,match6);addRegexToken('YYYYYY',match1to6,match6);addParseToken(['YYYYY','YYYYYY'],YEAR);addParseToken('YYYY',function(input,array){array[YEAR]=input.length===2?hooks.parseTwoDigitYear(input):toInt(input);});addParseToken('YY',function(input,array){array[YEAR]=hooks.parseTwoDigitYear(input);});addParseToken('Y',function(input,array){array[YEAR]=parseInt(input,10);});function daysInYear(year){return isLeapYear(year)?366:365;}hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2000);};var getSetYear=makeGetSet('FullYear',true);function getIsLeapYear(){return isLeapYear(this.year());}function makeGetSet(unit,keepTime){return function(value){
if(value!=null){set$1(this,unit,value);hooks.updateOffset(this,keepTime);return this;}else{return get(this,unit);}};}function get(mom,unit){if(!mom.isValid()){return NaN;}var d=mom._d,isUTC=mom._isUTC;switch(unit){case'Milliseconds':return isUTC?d.getUTCMilliseconds():d.getMilliseconds();case'Seconds':return isUTC?d.getUTCSeconds():d.getSeconds();case'Minutes':return isUTC?d.getUTCMinutes():d.getMinutes();case'Hours':return isUTC?d.getUTCHours():d.getHours();case'Date':return isUTC?d.getUTCDate():d.getDate();case'Day':return isUTC?d.getUTCDay():d.getDay();case'Month':return isUTC?d.getUTCMonth():d.getMonth();case'FullYear':return isUTC?d.getUTCFullYear():d.getFullYear();default:return NaN;}}function set$1(mom,unit,value){var d,isUTC,year,month,date;if(!mom.isValid()||isNaN(value)){return;}d=mom._d;isUTC=mom._isUTC;switch(unit){case'Milliseconds':return void(isUTC?d.setUTCMilliseconds(value):d.setMilliseconds(value));case'Seconds':return void(isUTC?d.setUTCSeconds(value):d.setSeconds(value));
case'Minutes':return void(isUTC?d.setUTCMinutes(value):d.setMinutes(value));case'Hours':return void(isUTC?d.setUTCHours(value):d.setHours(value));case'Date':return void(isUTC?d.setUTCDate(value):d.setDate(value));case'FullYear':break;default:return;}year=value;month=mom.month();date=mom.date();date=date===29&&month===1&&!isLeapYear(year)?28:date;void(isUTC?d.setUTCFullYear(year,month,date):d.setFullYear(year,month,date));}function stringGet(units){units=normalizeUnits(units);if(isFunction(this[units])){return this[units]();}return this;}function stringSet(units,value){if(typeof units==='object'){units=normalizeObjectUnits(units);var prioritized=getPrioritizedUnits(units),i,prioritizedLen=prioritized.length;for(i=0;i<prioritizedLen;i++){this[prioritized[i].unit](units[prioritized[i].unit]);}}else{units=normalizeUnits(units);if(isFunction(this[units])){return this[units](value);}}return this;}function mod(n,x){return((n%x)+x)%x;}var indexOf;if(Array.prototype.indexOf){indexOf=Array.prototype.indexOf;
}else{indexOf=function(o){var i;for(i=0;i<this.length;++i){if(this[i]===o){return i;}}return-1;};}function daysInMonth(year,month){if(isNaN(year)||isNaN(month)){return NaN;}var modMonth=mod(month,12);year+=(month-modMonth)/12;return modMonth===1?isLeapYear(year)?29:28:31-((modMonth%7)%2);}addFormatToken('M',['MM',2],'Mo',function(){return this.month()+1;});addFormatToken('MMM',0,0,function(format){return this.localeData().monthsShort(this,format);});addFormatToken('MMMM',0,0,function(format){return this.localeData().months(this,format);});addRegexToken('M',match1to2,match1to2NoLeadingZero);addRegexToken('MM',match1to2,match2);addRegexToken('MMM',function(isStrict,locale){return locale.monthsShortRegex(isStrict);});addRegexToken('MMMM',function(isStrict,locale){return locale.monthsRegex(isStrict);});addParseToken(['M','MM'],function(input,array){array[MONTH]=toInt(input)-1;});addParseToken(['MMM','MMMM'],function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);
if(month!=null){array[MONTH]=month;}else{getParsingFlags(config).invalidMonth=input;}});var defaultLocaleMonths='January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),defaultLocaleMonthsShort='Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function localeMonths(m,format){if(!m){return isArray(this._months)?this._months:this._months['standalone'];}return isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?'format':'standalone'][m.month()];}function localeMonthsShort(m,format){if(!m){return isArray(this._monthsShort)?this._monthsShort:this._monthsShort['standalone'];}return isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?'format':'standalone'][m.month()];}function handleStrictParse(monthName,format,strict){
var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse){this._monthsParse=[];this._longMonthsParse=[];this._shortMonthsParse=[];for(i=0;i<12;++i){mom=createUTC([2000,i]);this._shortMonthsParse[i]=this.monthsShort(mom,'').toLocaleLowerCase();this._longMonthsParse[i]=this.months(mom,'').toLocaleLowerCase();}}if(strict){if(format==='MMM'){ii=indexOf.call(this._shortMonthsParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._longMonthsParse,llc);return ii!==-1?ii:null;}}else{if(format==='MMM'){ii=indexOf.call(this._shortMonthsParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._longMonthsParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._longMonthsParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._shortMonthsParse,llc);return ii!==-1?ii:null;}}}function localeMonthsParse(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact){return handleStrictParse.call(this,monthName,format,strict);}if(!this._monthsParse){this._monthsParse=[];this._longMonthsParse=[];
this._shortMonthsParse=[];}for(i=0;i<12;i++){mom=createUTC([2000,i]);if(strict&&!this._longMonthsParse[i]){this._longMonthsParse[i]=new RegExp('^'+this.months(mom,'').replace('.','')+'$','i');this._shortMonthsParse[i]=new RegExp('^'+this.monthsShort(mom,'').replace('.','')+'$','i');}if(!strict&&!this._monthsParse[i]){regex='^'+this.months(mom,'')+'|^'+this.monthsShort(mom,'');this._monthsParse[i]=new RegExp(regex.replace('.',''),'i');}if(strict&&format==='MMMM'&&this._longMonthsParse[i].test(monthName)){return i;}else if(strict&&format==='MMM'&&this._shortMonthsParse[i].test(monthName)){return i;}else if(!strict&&this._monthsParse[i].test(monthName)){return i;}}}function setMonth(mom,value){if(!mom.isValid()){return mom;}if(typeof value==='string'){if(/^\d+$/.test(value)){value=toInt(value);}else{value=mom.localeData().monthsParse(value);if(!isNumber(value)){return mom;}}}var month=value,date=mom.date();date=date<29?date:Math.min(date,daysInMonth(mom.year(),month));void(mom._isUTC?mom._d.setUTCMonth(month,date)
:mom._d.setMonth(month,date));return mom;}function getSetMonth(value){if(value!=null){setMonth(this,value);hooks.updateOffset(this,true);return this;}else{return get(this,'Month');}}function getDaysInMonth(){return daysInMonth(this.year(),this.month());}function monthsShortRegex(isStrict){if(this._monthsParseExact){if(!hasOwnProp(this,'_monthsRegex')){computeMonthsParse.call(this);}if(isStrict){return this._monthsShortStrictRegex;}else{return this._monthsShortRegex;}}else{if(!hasOwnProp(this,'_monthsShortRegex')){this._monthsShortRegex=defaultMonthsShortRegex;}return this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex;}}function monthsRegex(isStrict){if(this._monthsParseExact){if(!hasOwnProp(this,'_monthsRegex')){computeMonthsParse.call(this);}if(isStrict){return this._monthsStrictRegex;}else{return this._monthsRegex;}}else{if(!hasOwnProp(this,'_monthsRegex')){this._monthsRegex=defaultMonthsRegex;}return this._monthsStrictRegex&&isStrict?this._monthsStrictRegex
:this._monthsRegex;}}function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length;}var shortPieces=[],longPieces=[],mixedPieces=[],i,mom,shortP,longP;for(i=0;i<12;i++){mom=createUTC([2000,i]);shortP=regexEscape(this.monthsShort(mom,''));longP=regexEscape(this.months(mom,''));shortPieces.push(shortP);longPieces.push(longP);mixedPieces.push(longP);mixedPieces.push(shortP);}shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);this._monthsRegex=new RegExp('^('+mixedPieces.join('|')+')','i');this._monthsShortRegex=this._monthsRegex;this._monthsStrictRegex=new RegExp('^('+longPieces.join('|')+')','i');this._monthsShortStrictRegex=new RegExp('^('+shortPieces.join('|')+')','i');}function createDate(y,m,d,h,M,s,ms){var date;if(y<100&&y>=0){date=new Date(y+400,m,d,h,M,s,ms);if(isFinite(date.getFullYear())){date.setFullYear(y);}}else{date=new Date(y,m,d,h,M,s,ms);}return date;}function createUTCDate(y){var date,args;if(y<100&&y>=0){args=Array.prototype.slice.call(arguments);
args[0]=y+400;date=new Date(Date.UTC.apply(null,args));if(isFinite(date.getUTCFullYear())){date.setUTCFullYear(y);}}else{date=new Date(Date.UTC.apply(null,arguments));}return date;}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy,fwdlw=(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7;return-fwdlw+fwd-1;}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var localWeekday=(7+weekday-dow)%7,weekOffset=firstWeekOffset(year,dow,doy),dayOfYear=1+7*(week-1)+localWeekday+weekOffset,resYear,resDayOfYear;if(dayOfYear<=0){resYear=year-1;resDayOfYear=daysInYear(resYear)+dayOfYear;}else if(dayOfYear>daysInYear(year)){resYear=year+1;resDayOfYear=dayOfYear-daysInYear(year);}else{resYear=year;resDayOfYear=dayOfYear;}return{year:resYear,dayOfYear:resDayOfYear,};}function weekOfYear(mom,dow,doy){var weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1,resWeek,resYear;if(week<1){resYear=mom.year()-1;resWeek=week+weeksInYear(resYear,dow,doy);}else if(week>weeksInYear(mom.year(),dow,doy)){
resWeek=week-weeksInYear(mom.year(),dow,doy);resYear=mom.year()+1;}else{resYear=mom.year();resWeek=week;}return{week:resWeek,year:resYear,};}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7;}addFormatToken('w',['ww',2],'wo','week');addFormatToken('W',['WW',2],'Wo','isoWeek');addRegexToken('w',match1to2,match1to2NoLeadingZero);addRegexToken('ww',match1to2,match2);addRegexToken('W',match1to2,match1to2NoLeadingZero);addRegexToken('WW',match1to2,match2);addWeekParseToken(['w','ww','W','WW'],function(input,week,config,token){week[token.substr(0,1)]=toInt(input);});function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week;}var defaultLocaleWeek={dow:0,doy:6,};function localeFirstDayOfWeek(){return this._week.dow;}function localeFirstDayOfYear(){return this._week.doy;}function getSetWeek(input){var week=this.localeData().week(this);return input==null?week:this.add((input-week)*7,'d');
}function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return input==null?week:this.add((input-week)*7,'d');}addFormatToken('d',0,'do','day');addFormatToken('dd',0,0,function(format){return this.localeData().weekdaysMin(this,format);});addFormatToken('ddd',0,0,function(format){return this.localeData().weekdaysShort(this,format);});addFormatToken('dddd',0,0,function(format){return this.localeData().weekdays(this,format);});addFormatToken('e',0,0,'weekday');addFormatToken('E',0,0,'isoWeekday');addRegexToken('d',match1to2);addRegexToken('e',match1to2);addRegexToken('E',match1to2);addRegexToken('dd',function(isStrict,locale){return locale.weekdaysMinRegex(isStrict);});addRegexToken('ddd',function(isStrict,locale){return locale.weekdaysShortRegex(isStrict);});addRegexToken('dddd',function(isStrict,locale){return locale.weekdaysRegex(isStrict);});addWeekParseToken(['dd','ddd','dddd'],function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);
if(weekday!=null){week.d=weekday;}else{getParsingFlags(config).invalidWeekday=input;}});addWeekParseToken(['d','e','E'],function(input,week,config,token){week[token]=toInt(input);});function parseWeekday(input,locale){if(typeof input!=='string'){return input;}if(!isNaN(input)){return parseInt(input,10);}input=locale.weekdaysParse(input);if(typeof input==='number'){return input;}return null;}function parseIsoWeekday(input,locale){if(typeof input==='string'){return locale.weekdaysParse(input)%7||7;}return isNaN(input)?null:input;}function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n));}var defaultLocaleWeekdays='Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),defaultLocaleWeekdaysShort='Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),defaultLocaleWeekdaysMin='Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function localeWeekdays(m,format){var weekdays=isArray(this._weekdays)
?this._weekdays:this._weekdays[m&&m!==true&&this._weekdays.isFormat.test(format)?'format':'standalone'];return m===true?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays;}function localeWeekdaysShort(m){return m===true?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort;}function localeWeekdaysMin(m){return m===true?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin;}function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(i=0;i<7;++i){mom=createUTC([2000,1]).day(i);this._minWeekdaysParse[i]=this.weekdaysMin(mom,'').toLocaleLowerCase();this._shortWeekdaysParse[i]=this.weekdaysShort(mom,'').toLocaleLowerCase();this._weekdaysParse[i]=this.weekdays(mom,'').toLocaleLowerCase();}}if(strict){if(format==='dddd'){ii=indexOf.call(this._weekdaysParse,llc);
return ii!==-1?ii:null;}else if(format==='ddd'){ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null;}}else{if(format==='dddd'){ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null;}else if(format==='ddd'){ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._minWeekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null;}}}function localeWeekdaysParse(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact){return handleStrictParse$1.call(this,weekdayName,format,strict);
}if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[];}for(i=0;i<7;i++){mom=createUTC([2000,1]).day(i);if(strict&&!this._fullWeekdaysParse[i]){this._fullWeekdaysParse[i]=new RegExp('^'+this.weekdays(mom,'').replace('.','\\.?')+'$','i');this._shortWeekdaysParse[i]=new RegExp('^'+this.weekdaysShort(mom,'').replace('.','\\.?')+'$','i');this._minWeekdaysParse[i]=new RegExp('^'+this.weekdaysMin(mom,'').replace('.','\\.?')+'$','i');}if(!this._weekdaysParse[i]){regex='^'+this.weekdays(mom,'')+'|^'+this.weekdaysShort(mom,'')+'|^'+this.weekdaysMin(mom,'');this._weekdaysParse[i]=new RegExp(regex.replace('.',''),'i');}if(strict&&format==='dddd'&&this._fullWeekdaysParse[i].test(weekdayName)){return i;}else if(strict&&format==='ddd'&&this._shortWeekdaysParse[i].test(weekdayName)){return i;}else if(strict&&format==='dd'&&this._minWeekdaysParse[i].test(weekdayName)){return i;}else if(!strict&&this._weekdaysParse[i].test(weekdayName)){
return i;}}}function getSetDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN;}var day=get(this,'Day');if(input!=null){input=parseWeekday(input,this.localeData());return this.add(input-day,'d');}else{return day;}}function getSetLocaleDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN;}var weekday=(this.day()+7-this.localeData()._week.dow)%7;return input==null?weekday:this.add(input-weekday,'d');}function getSetISODayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN;}if(input!=null){var weekday=parseIsoWeekday(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7);}else{return this.day()||7;}}function weekdaysRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,'_weekdaysRegex')){computeWeekdaysParse.call(this);}if(isStrict){return this._weekdaysStrictRegex;}else{return this._weekdaysRegex;}}else{if(!hasOwnProp(this,'_weekdaysRegex')){this._weekdaysRegex=defaultWeekdaysRegex;}return this._weekdaysStrictRegex&&isStrict
?this._weekdaysStrictRegex:this._weekdaysRegex;}}function weekdaysShortRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,'_weekdaysRegex')){computeWeekdaysParse.call(this);}if(isStrict){return this._weekdaysShortStrictRegex;}else{return this._weekdaysShortRegex;}}else{if(!hasOwnProp(this,'_weekdaysShortRegex')){this._weekdaysShortRegex=defaultWeekdaysShortRegex;}return this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex;}}function weekdaysMinRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,'_weekdaysRegex')){computeWeekdaysParse.call(this);}if(isStrict){return this._weekdaysMinStrictRegex;}else{return this._weekdaysMinRegex;}}else{if(!hasOwnProp(this,'_weekdaysMinRegex')){this._weekdaysMinRegex=defaultWeekdaysMinRegex;}return this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex;}}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length;}var minPieces=[],
shortPieces=[],longPieces=[],mixedPieces=[],i,mom,minp,shortp,longp;for(i=0;i<7;i++){mom=createUTC([2000,1]).day(i);minp=regexEscape(this.weekdaysMin(mom,''));shortp=regexEscape(this.weekdaysShort(mom,''));longp=regexEscape(this.weekdays(mom,''));minPieces.push(minp);shortPieces.push(shortp);longPieces.push(longp);mixedPieces.push(minp);mixedPieces.push(shortp);mixedPieces.push(longp);}minPieces.sort(cmpLenRev);shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);this._weekdaysRegex=new RegExp('^('+mixedPieces.join('|')+')','i');this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp('^('+longPieces.join('|')+')','i');this._weekdaysShortStrictRegex=new RegExp('^('+shortPieces.join('|')+')','i');this._weekdaysMinStrictRegex=new RegExp('^('+minPieces.join('|')+')','i');}function hFormat(){return this.hours()%12||12;}function kFormat(){return this.hours()||24;}addFormatToken('H',['HH',2],0,'hour');
addFormatToken('h',['hh',2],0,hFormat);addFormatToken('k',['kk',2],0,kFormat);addFormatToken('hmm',0,0,function(){return''+hFormat.apply(this)+zeroFill(this.minutes(),2);});addFormatToken('hmmss',0,0,function(){return(''+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2));});addFormatToken('Hmm',0,0,function(){return''+this.hours()+zeroFill(this.minutes(),2);});addFormatToken('Hmmss',0,0,function(){return(''+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2));});function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase);});}meridiem('a',true);meridiem('A',false);function matchMeridiem(isStrict,locale){return locale._meridiemParse;}addRegexToken('a',matchMeridiem);addRegexToken('A',matchMeridiem);addRegexToken('H',match1to2,match1to2HasZero);addRegexToken('h',match1to2,match1to2NoLeadingZero);addRegexToken('k',match1to2,match1to2NoLeadingZero);addRegexToken('HH',match1to2,match2);
addRegexToken('hh',match1to2,match2);addRegexToken('kk',match1to2,match2);addRegexToken('hmm',match3to4);addRegexToken('hmmss',match5to6);addRegexToken('Hmm',match3to4);addRegexToken('Hmmss',match5to6);addParseToken(['H','HH'],HOUR);addParseToken(['k','kk'],function(input,array,config){var kInput=toInt(input);array[HOUR]=kInput===24?0:kInput;});addParseToken(['a','A'],function(input,array,config){config._isPm=config._locale.isPM(input);config._meridiem=input;});addParseToken(['h','hh'],function(input,array,config){array[HOUR]=toInt(input);getParsingFlags(config).bigHour=true;});addParseToken('hmm',function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));getParsingFlags(config).bigHour=true;});addParseToken('hmmss',function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));
getParsingFlags(config).bigHour=true;});addParseToken('Hmm',function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));});addParseToken('Hmmss',function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));});function localeIsPM(input){return(input+'').toLowerCase().charAt(0)==='p';}var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i,getSetHour=makeGetSet('Hours',true);function localeMeridiem(hours,minutes,isLower){if(hours>11){return isLower?'pm':'PM';}else{return isLower?'am':'AM';}}var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,
weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse,};var locales={},localeFamilies={},globalLocale;function commonPrefix(arr1,arr2){var i,minl=Math.min(arr1.length,arr2.length);for(i=0;i<minl;i+=1){if(arr1[i]!==arr2[i]){return i;}}return minl;}function normalizeLocale(key){return key?key.toLowerCase().replace('_','-'):key;}function chooseLocale(names){var i=0,j,next,locale,split;while(i<names.length){split=normalizeLocale(names[i]).split('-');j=split.length;next=normalizeLocale(names[i+1]);next=next?next.split('-'):null;while(j>0){locale=loadLocale(split.slice(0,j).join('-'));if(locale){return locale;}if(next&&next.length>=j&&commonPrefix(split,next)>=j-1){break;}j--;}i++;}return globalLocale;}function isLocaleNameSane(name){return!!(name&&name.match('^[^/\\\\]*$'));}function loadLocale(name){var oldLocale=null,aliasedRequire;if(locales[name]===undefined&&typeof module!=='undefined'&&
module&&module.exports&&isLocaleNameSane(name)){try{oldLocale=globalLocale._abbr;aliasedRequire=require;aliasedRequire('./locale/'+name);getSetGlobalLocale(oldLocale);}catch(e){locales[name]=null;}}return locales[name];}function getSetGlobalLocale(key,values){var data;if(key){if(isUndefined(values)){data=getLocale(key);}else{data=defineLocale(key,values);}if(data){globalLocale=data;}else{if(typeof console!=='undefined'&&console.warn){console.warn('Locale '+key+' not found. Did you forget to load it?');}}}return globalLocale._abbr;}function defineLocale(name,config){if(config!==null){var locale,parentConfig=baseConfig;config.abbr=name;if(locales[name]!=null){deprecateSimple('defineLocaleOverride','use moment.updateLocale(localeName, config) to change '+'an existing locale. moment.defineLocale(localeName, '+'config) should only be used for creating a new locale '+'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');parentConfig=locales[name]._config;}else if(config.parentLocale!=null){
if(locales[config.parentLocale]!=null){parentConfig=locales[config.parentLocale]._config;}else{locale=loadLocale(config.parentLocale);if(locale!=null){parentConfig=locale._config;}else{if(!localeFamilies[config.parentLocale]){localeFamilies[config.parentLocale]=[];}localeFamilies[config.parentLocale].push({name:name,config:config,});return null;}}}locales[name]=new Locale(mergeConfigs(parentConfig,config));if(localeFamilies[name]){localeFamilies[name].forEach(function(x){defineLocale(x.name,x.config);});}getSetGlobalLocale(name);return locales[name];}else{delete locales[name];return null;}}function updateLocale(name,config){if(config!=null){var locale,tmpLocale,parentConfig=baseConfig;if(locales[name]!=null&&locales[name].parentLocale!=null){locales[name].set(mergeConfigs(locales[name]._config,config));}else{tmpLocale=loadLocale(name);if(tmpLocale!=null){parentConfig=tmpLocale._config;}config=mergeConfigs(parentConfig,config);if(tmpLocale==null){config.abbr=name;}locale=new Locale(config);
locale.parentLocale=locales[name];locales[name]=locale;}getSetGlobalLocale(name);}else{if(locales[name]!=null){if(locales[name].parentLocale!=null){locales[name]=locales[name].parentLocale;if(name===getSetGlobalLocale()){getSetGlobalLocale(name);}}else if(locales[name]!=null){delete locales[name];}}}return locales[name];}function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr){key=key._locale._abbr;}if(!key){return globalLocale;}if(!isArray(key)){locale=loadLocale(key);if(locale){return locale;}key=[key];}return chooseLocale(key);}function listLocales(){return keys(locales);}function checkOverflow(m){var overflow,a=m._a;if(a&&getParsingFlags(m).overflow===-2){overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||(a[HOUR]===24&&(a[MINUTE]!==0||a[SECOND]!==0||a[MILLISECOND]!==0))?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1;if(
getParsingFlags(m)._overflowDayOfYear&&(overflow<YEAR||overflow>DATE)){overflow=DATE;}if(getParsingFlags(m)._overflowWeeks&&overflow===-1){overflow=WEEK;}if(getParsingFlags(m)._overflowWeekday&&overflow===-1){overflow=WEEKDAY;}getParsingFlags(m).overflow=overflow;}return m;}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[['YYYYYY-MM-DD',/[+-]\d{6}-\d\d-\d\d/],['YYYY-MM-DD',/\d{4}-\d\d-\d\d/],['GGGG-[W]WW-E',/\d{4}-W\d\d-\d/],['GGGG-[W]WW',/\d{4}-W\d\d/,false],['YYYY-DDD',/\d{4}-\d{3}/],['YYYY-MM',/\d{4}-\d\d/,false],['YYYYYYMMDD',/[+-]\d{10}/],['YYYYMMDD',/\d{8}/],['GGGG[W]WWE',/\d{4}W\d{3}/],['GGGG[W]WW',/\d{4}W\d{2}/,false],['YYYYDDD',/\d{7}/],['YYYYMM',/\d{6}/,false],['YYYY',/\d{4}/,false],
],isoTimes=[['HH:mm:ss.SSSS',/\d\d:\d\d:\d\d\.\d+/],['HH:mm:ss,SSSS',/\d\d:\d\d:\d\d,\d+/],['HH:mm:ss',/\d\d:\d\d:\d\d/],['HH:mm',/\d\d:\d\d/],['HHmmss.SSSS',/\d\d\d\d\d\d\.\d+/],['HHmmss,SSSS',/\d\d\d\d\d\d,\d+/],['HHmmss',/\d\d\d\d\d\d/],['HHmm',/\d\d\d\d/],['HH',/\d\d/],],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60,};function configFromISO(config){var i,l,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string),allowTime,dateFormat,timeFormat,tzFormat,isoDatesLen=isoDates.length,isoTimesLen=isoTimes.length;if(match){getParsingFlags(config).iso=true;for(i=0,l=isoDatesLen;i<l;i++){if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0];allowTime=isoDates[i][2]!==false;
break;}}if(dateFormat==null){config._isValid=false;return;}if(match[3]){for(i=0,l=isoTimesLen;i<l;i++){if(isoTimes[i][1].exec(match[3])){timeFormat=(match[2]||' ')+isoTimes[i][0];break;}}if(timeFormat==null){config._isValid=false;return;}}if(!allowTime&&timeFormat!=null){config._isValid=false;return;}if(match[4]){if(tzRegex.exec(match[4])){tzFormat='Z';}else{config._isValid=false;return;}}config._f=dateFormat+(timeFormat||'')+(tzFormat||'');configFromStringAndFormat(config);}else{config._isValid=false;}}function extractFromRFC2822Strings(yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){var result=[untruncateYear(yearStr),defaultLocaleMonthsShort.indexOf(monthStr),parseInt(dayStr,10),parseInt(hourStr,10),parseInt(minuteStr,10),];if(secondStr){result.push(parseInt(secondStr,10));}return result;}function untruncateYear(yearStr){var year=parseInt(yearStr,10);if(year<=49){return 2000+year;}else if(year<=999){return 1900+year;}return year;}function preprocessRFC2822(s){return s.replace(/\([^()]*\)|[\n\t]/g,' ')
.replace(/(\s\s+)/g,' ').replace(/^\s\s*/,'').replace(/\s\s*$/,'');}function checkWeekday(weekdayStr,parsedInput,config){if(weekdayStr){var weekdayProvided=defaultLocaleWeekdaysShort.indexOf(weekdayStr),weekdayActual=new Date(parsedInput[0],parsedInput[1],parsedInput[2]).getDay();if(weekdayProvided!==weekdayActual){getParsingFlags(config).weekdayMismatch=true;config._isValid=false;return false;}}return true;}function calculateOffset(obsOffset,militaryOffset,numOffset){if(obsOffset){return obsOffsets[obsOffset];}else if(militaryOffset){return 0;}else{var hm=parseInt(numOffset,10),m=hm%100,h=(hm-m)/100;return h*60+m;}}function configFromRFC2822(config){var match=rfc2822.exec(preprocessRFC2822(config._i)),parsedArray;if(match){parsedArray=extractFromRFC2822Strings(match[4],match[3],match[2],match[5],match[6],match[7]);if(!checkWeekday(match[1],parsedArray,config)){return;}config._a=parsedArray;config._tzm=calculateOffset(match[8],match[9],match[10]);config._d=createUTCDate.apply(null,config._a);
config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);getParsingFlags(config).rfc2822=true;}else{config._isValid=false;}}function configFromString(config){var matched=aspNetJsonRegex.exec(config._i);if(matched!==null){config._d=new Date(+matched[1]);return;}configFromISO(config);if(config._isValid===false){delete config._isValid;}else{return;}configFromRFC2822(config);if(config._isValid===false){delete config._isValid;}else{return;}if(config._strict){config._isValid=false;}else{hooks.createFromInputFallback(config);}}hooks.createFromInputFallback=deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), '+'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are '+'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',function(config){config._d=new Date(config._i+(config._useUTC?' UTC':''));});function defaults(a,b,c){if(a!=null){return a;}if(b!=null){
return b;}return c;}function currentDateArray(config){var nowValue=new Date(hooks.now());if(config._useUTC){return[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate(),];}return[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()];}function configFromArray(config){var i,date,input=[],currentDate,expectedWeekday,yearToUse;if(config._d){return;}currentDate=currentDateArray(config);if(config._w&&config._a[DATE]==null&&config._a[MONTH]==null){dayOfYearFromWeekInfo(config);}if(config._dayOfYear!=null){yearToUse=defaults(config._a[YEAR],currentDate[YEAR]);if(config._dayOfYear>daysInYear(yearToUse)||config._dayOfYear===0){getParsingFlags(config)._overflowDayOfYear=true;}date=createUTCDate(yearToUse,0,config._dayOfYear);config._a[MONTH]=date.getUTCMonth();config._a[DATE]=date.getUTCDate();}for(i=0;i<3&&config._a[i]==null;++i){config._a[i]=input[i]=currentDate[i];}for(;i<7;i++){config._a[i]=input[i]=config._a[i]==null?(i===2?1:0):config._a[i];}if(config._a[HOUR]===24&&
config._a[MINUTE]===0&&config._a[SECOND]===0&&config._a[MILLISECOND]===0){config._nextDay=true;config._a[HOUR]=0;}config._d=(config._useUTC?createUTCDate:createDate).apply(null,input);expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay();if(config._tzm!=null){config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);}if(config._nextDay){config._a[HOUR]=24;}if(config._w&&typeof config._w.d!=='undefined'&&config._w.d!==expectedWeekday){getParsingFlags(config).weekdayMismatch=true;}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow,curWeek;w=config._w;if(w.GG!=null||w.W!=null||w.E!=null){dow=1;doy=4;weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year);week=defaults(w.W,1);weekday=defaults(w.E,1);if(weekday<1||weekday>7){weekdayOverflow=true;}}else{dow=config._locale._week.dow;doy=config._locale._week.doy;curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[YEAR],curWeek.year);
week=defaults(w.w,curWeek.week);if(w.d!=null){weekday=w.d;if(weekday<0||weekday>6){weekdayOverflow=true;}}else if(w.e!=null){weekday=w.e+dow;if(w.e<0||w.e>6){weekdayOverflow=true;}}else{weekday=dow;}}if(week<1||week>weeksInYear(weekYear,dow,doy)){getParsingFlags(config)._overflowWeeks=true;}else if(weekdayOverflow!=null){getParsingFlags(config)._overflowWeekday=true;}else{temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy);config._a[YEAR]=temp.year;config._dayOfYear=temp.dayOfYear;}}hooks.ISO_8601=function(){};hooks.RFC_2822=function(){};function configFromStringAndFormat(config){if(config._f===hooks.ISO_8601){configFromISO(config);return;}if(config._f===hooks.RFC_2822){configFromRFC2822(config);return;}config._a=[];getParsingFlags(config).empty=true;var string=''+config._i,i,parsedInput,tokens,token,skipped,stringLength=string.length,totalParsedInputLength=0,era,tokenLen;tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[];tokenLen=tokens.length;for(i=0;i<tokenLen;i++){
token=tokens[i];parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0];if(parsedInput){skipped=string.substr(0,string.indexOf(parsedInput));if(skipped.length>0){getParsingFlags(config).unusedInput.push(skipped);}string=string.slice(string.indexOf(parsedInput)+parsedInput.length);totalParsedInputLength+=parsedInput.length;}if(formatTokenFunctions[token]){if(parsedInput){getParsingFlags(config).empty=false;}else{getParsingFlags(config).unusedTokens.push(token);}addTimeToArrayFromToken(token,parsedInput,config);}else if(config._strict&&!parsedInput){getParsingFlags(config).unusedTokens.push(token);}}getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength;if(string.length>0){getParsingFlags(config).unusedInput.push(string);}if(config._a[HOUR]<=12&&getParsingFlags(config).bigHour===true&&config._a[HOUR]>0){getParsingFlags(config).bigHour=undefined;}getParsingFlags(config).parsedDateParts=config._a.slice(0);getParsingFlags(config).meridiem=config._meridiem;
config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem);era=getParsingFlags(config).era;if(era!==null){config._a[YEAR]=config._locale.erasConvertYear(era,config._a[YEAR]);}configFromArray(config);checkOverflow(config);}function meridiemFixWrap(locale,hour,meridiem){var isPm;if(meridiem==null){return hour;}if(locale.meridiemHour!=null){return locale.meridiemHour(hour,meridiem);}else if(locale.isPM!=null){isPm=locale.isPM(meridiem);if(isPm&&hour<12){hour+=12;}if(!isPm&&hour===12){hour=0;}return hour;}else{return hour;}}function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore,validFormatFound,bestFormatIsValid=false,configfLen=config._f.length;if(configfLen===0){getParsingFlags(config).invalidFormat=true;config._d=new Date(NaN);return;}for(i=0;i<configfLen;i++){currentScore=0;validFormatFound=false;tempConfig=copyConfig({},config);if(config._useUTC!=null){tempConfig._useUTC=config._useUTC;}tempConfig._f=config._f[i];
configFromStringAndFormat(tempConfig);if(isValid(tempConfig)){validFormatFound=true;}currentScore+=getParsingFlags(tempConfig).charsLeftOver;currentScore+=getParsingFlags(tempConfig).unusedTokens.length*10;getParsingFlags(tempConfig).score=currentScore;if(!bestFormatIsValid){if(scoreToBeat==null||currentScore<scoreToBeat||validFormatFound){scoreToBeat=currentScore;bestMoment=tempConfig;if(validFormatFound){bestFormatIsValid=true;}}}else{if(currentScore<scoreToBeat){scoreToBeat=currentScore;bestMoment=tempConfig;}}}extend(config,bestMoment||tempConfig);}function configFromObject(config){if(config._d){return;}var i=normalizeObjectUnits(config._i),dayOrDate=i.day===undefined?i.date:i.day;config._a=map([i.year,i.month,dayOrDate,i.hour,i.minute,i.second,i.millisecond],function(obj){return obj&&parseInt(obj,10);});configFromArray(config);}function createFromConfig(config){var res=new Moment(checkOverflow(prepareConfig(config)));if(res._nextDay){res.add(1,'d');res._nextDay=undefined;}return res;
}function prepareConfig(config){var input=config._i,format=config._f;config._locale=config._locale||getLocale(config._l);if(input===null||(format===undefined&&input==='')){return createInvalid({nullInput:true});}if(typeof input==='string'){config._i=input=config._locale.preparse(input);}if(isMoment(input)){return new Moment(checkOverflow(input));}else if(isDate(input)){config._d=input;}else if(isArray(format)){configFromStringAndArray(config);}else if(format){configFromStringAndFormat(config);}else{configFromInput(config);}if(!isValid(config)){config._d=null;}return config;}function configFromInput(config){var input=config._i;if(isUndefined(input)){config._d=new Date(hooks.now());}else if(isDate(input)){config._d=new Date(input.valueOf());}else if(typeof input==='string'){configFromString(config);}else if(isArray(input)){config._a=map(input.slice(0),function(obj){return parseInt(obj,10);});configFromArray(config);}else if(isObject(input)){configFromObject(config);}else if(isNumber(input)){
config._d=new Date(input);}else{hooks.createFromInputFallback(config);}}function createLocalOrUTC(input,format,locale,strict,isUTC){var c={};if(format===true||format===false){strict=format;format=undefined;}if(locale===true||locale===false){strict=locale;locale=undefined;}if((isObject(input)&&isObjectEmpty(input))||(isArray(input)&&input.length===0)){input=undefined;}c._isAMomentObject=true;c._useUTC=c._isUTC=isUTC;c._l=locale;c._i=input;c._f=format;c._strict=strict;return createFromConfig(c);}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,false);}var prototypeMin=deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',function(){var other=createLocal.apply(null,arguments);if(this.isValid()&&other.isValid()){return other<this?this:other;}else{return createInvalid();}}),prototypeMax=deprecate(
'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',function(){var other=createLocal.apply(null,arguments);if(this.isValid()&&other.isValid()){return other>this?this:other;}else{return createInvalid();}});function pickBy(fn,moments){var res,i;if(moments.length===1&&isArray(moments[0])){moments=moments[0];}if(!moments.length){return createLocal();}res=moments[0];for(i=1;i<moments.length;++i){if(!moments[i].isValid()||moments[i][fn](res)){res=moments[i];}}return res;}function min(){var args=[].slice.call(arguments,0);return pickBy('isBefore',args);}function max(){var args=[].slice.call(arguments,0);return pickBy('isAfter',args);}var now=function(){return Date.now?Date.now():+new Date();};var ordering=['year','quarter','month','week','day','hour','minute','second','millisecond',];function isDurationValid(m){var key,unitHasDecimal=false,i,orderLen=ordering.length;for(key in m){if(hasOwnProp(m,key)&&!(indexOf.call(ordering,key)!==-1&&(m[key]==null||!isNaN(m[key]))
)){return false;}}for(i=0;i<orderLen;++i){if(m[ordering[i]]){if(unitHasDecimal){return false;}if(parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])){unitHasDecimal=true;}}}return true;}function isValid$1(){return this._isValid;}function createInvalid$1(){return createDuration(NaN);}function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||normalizedInput.isoWeek||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=isDurationValid(normalizedInput);this._milliseconds=+milliseconds+seconds*1e3+minutes*6e4+hours*1000*60*60;this._days=+days+weeks*7;this._months=+months+quarters*3+years*12;this._data={};this._locale=getLocale();this._bubble();}function isDuration(obj){return obj instanceof Duration;}function absRound(number){
if(number<0){return Math.round(-1*number)*-1;}else{return Math.round(number);}}function compareArrays(array1,array2,dontConvert){var len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0,i;for(i=0;i<len;i++){if((dontConvert&&array1[i]!==array2[i])||(!dontConvert&&toInt(array1[i])!==toInt(array2[i]))){diffs++;}}return diffs+lengthDiff;}function offset(token,separator){addFormatToken(token,0,0,function(){var offset=this.utcOffset(),sign='+';if(offset<0){offset=-offset;sign='-';}return(sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2));});}offset('Z',':');offset('ZZ','');addRegexToken('Z',matchShortOffset);addRegexToken('ZZ',matchShortOffset);addParseToken(['Z','ZZ'],function(input,array,config){config._useUTC=true;config._tzm=offsetFromString(matchShortOffset,input);});var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var matches=(string||'').match(matcher),chunk,parts,minutes;if(matches===null){return null;
}chunk=matches[matches.length-1]||[];parts=(chunk+'').match(chunkOffset)||['-',0,0];minutes=+(parts[1]*60)+toInt(parts[2]);return minutes===0?0:parts[0]==='+'?minutes:-minutes;}function cloneWithOffset(input,model){var res,diff;if(model._isUTC){res=model.clone();diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf();res._d.setTime(res._d.valueOf()+diff);hooks.updateOffset(res,false);return res;}else{return createLocal(input).local();}}function getDateOffset(m){return-Math.round(m._d.getTimezoneOffset());}hooks.updateOffset=function(){};function getSetOffset(input,keepLocalTime,keepMinutes){var offset=this._offset||0,localAdjust;if(!this.isValid()){return input!=null?this:NaN;}if(input!=null){if(typeof input==='string'){input=offsetFromString(matchShortOffset,input);if(input===null){return this;}}else if(Math.abs(input)<16&&!keepMinutes){input=input*60;}if(!this._isUTC&&keepLocalTime){localAdjust=getDateOffset(this);}this._offset=input;this._isUTC=true;
if(localAdjust!=null){this.add(localAdjust,'m');}if(offset!==input){if(!keepLocalTime||this._changeInProgress){addSubtract(this,createDuration(input-offset,'m'),1,false);}else if(!this._changeInProgress){this._changeInProgress=true;hooks.updateOffset(this,true);this._changeInProgress=null;}}return this;}else{return this._isUTC?offset:getDateOffset(this);}}function getSetZone(input,keepLocalTime){if(input!=null){if(typeof input!=='string'){input=-input;}this.utcOffset(input,keepLocalTime);return this;}else{return-this.utcOffset();}}function setOffsetToUTC(keepLocalTime){return this.utcOffset(0,keepLocalTime);}function setOffsetToLocal(keepLocalTime){if(this._isUTC){this.utcOffset(0,keepLocalTime);this._isUTC=false;if(keepLocalTime){this.subtract(getDateOffset(this),'m');}}return this;}function setOffsetToParsedOffset(){if(this._tzm!=null){this.utcOffset(this._tzm,false,true);}else if(typeof this._i==='string'){var tZone=offsetFromString(matchOffset,this._i);if(tZone!=null){this.utcOffset(tZone);
}else{this.utcOffset(0,true);}}return this;}function hasAlignedHourOffset(input){if(!this.isValid()){return false;}input=input?createLocal(input).utcOffset():0;return(this.utcOffset()-input)%60===0;}function isDaylightSavingTime(){return(this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset());}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted)){return this._isDSTShifted;}var c={},other;copyConfig(c,this);c=prepareConfig(c);if(c._a){other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0;}else{this._isDSTShifted=false;}return this._isDSTShifted;}function isLocal(){return this.isValid()?!this._isUTC:false;}function isUtcOffset(){return this.isValid()?this._isUTC:false;}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:false;}var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=
/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var duration=input,match=null,sign,ret,diffRes;if(isDuration(input)){duration={ms:input._milliseconds,d:input._days,M:input._months,};}else if(isNumber(input)||!isNaN(+input)){duration={};if(key){duration[key]=+input;}else{duration.milliseconds=+input;}}else if((match=aspNetRegex.exec(input))){sign=match[1]==='-'?-1:1;duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(absRound(match[MILLISECOND]*1000))*sign,};}else if((match=isoRegex.exec(input))){sign=match[1]==='-'?-1:1;duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign),};}else if(duration==null){duration={};}else if(
typeof duration==='object'&&('from'in duration||'to'in duration)){diffRes=momentsDifference(createLocal(duration.from),createLocal(duration.to));duration={};duration.ms=diffRes.milliseconds;duration.M=diffRes.months;}ret=new Duration(duration);if(isDuration(input)&&hasOwnProp(input,'_locale')){ret._locale=input._locale;}if(isDuration(input)&&hasOwnProp(input,'_isValid')){ret._isValid=input._isValid;}return ret;}createDuration.fn=Duration.prototype;createDuration.invalid=createInvalid$1;function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(',','.'));return(isNaN(res)?0:res)*sign;}function positiveMomentsDifference(base,other){var res={};res.months=other.month()-base.month()+(other.year()-base.year())*12;if(base.clone().add(res.months,'M').isAfter(other)){--res.months;}res.milliseconds=+other-+base.clone().add(res.months,'M');return res;}function momentsDifference(base,other){var res;if(!(base.isValid()&&other.isValid())){return{milliseconds:0,months:0};}other=cloneWithOffset(other,base);
if(base.isBefore(other)){res=positiveMomentsDifference(base,other);}else{res=positiveMomentsDifference(other,base);res.milliseconds=-res.milliseconds;res.months=-res.months;}return res;}function createAdder(direction,name){return function(val,period){var dur,tmp;if(period!==null&&!isNaN(+period)){deprecateSimple(name,'moment().'+name+'(period, number) is deprecated. Please use moment().'+name+'(number, period). '+'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');tmp=val;val=period;period=tmp;}dur=createDuration(val,period);addSubtract(this,dur,direction);return this;};}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);if(!mom.isValid()){return;}updateOffset=updateOffset==null?true:updateOffset;if(months){setMonth(mom,get(mom,'Month')+months*isAdding);}if(days){set$1(mom,'Date',get(mom,'Date')+days*isAdding);}if(milliseconds){mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding);
}if(updateOffset){hooks.updateOffset(mom,days||months);}}var add=createAdder(1,'add'),subtract=createAdder(-1,'subtract');function isString(input){return typeof input==='string'||input instanceof String;}function isMomentInput(input){return(isMoment(input)||isDate(input)||isString(input)||isNumber(input)||isNumberOrStringArray(input)||isMomentInputObject(input)||input===null||input===undefined);}function isMomentInputObject(input){var objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=false,properties=['years','year','y','months','month','M','days','day','d','dates','date','D','hours','hour','h','minutes','minute','m','seconds','second','s','milliseconds','millisecond','ms',],i,property,propertyLen=properties.length;for(i=0;i<propertyLen;i+=1){property=properties[i];propertyTest=propertyTest||hasOwnProp(input,property);}return objectTest&&propertyTest;}function isNumberOrStringArray(input){var arrayTest=isArray(input),dataTypeTest=false;if(arrayTest){dataTypeTest=input.filter(function(item){
return!isNumber(item)&&isString(input);}).length===0;}return arrayTest&&dataTypeTest;}function isCalendarSpec(input){var objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=false,properties=['sameDay','nextDay','lastDay','nextWeek','lastWeek','sameElse',],i,property;for(i=0;i<properties.length;i+=1){property=properties[i];propertyTest=propertyTest||hasOwnProp(input,property);}return objectTest&&propertyTest;}function getCalendarFormat(myMoment,now){var diff=myMoment.diff(now,'days',true);return diff<-6?'sameElse':diff<-1?'lastWeek':diff<0?'lastDay':diff<1?'sameDay':diff<2?'nextDay':diff<7?'nextWeek':'sameElse';}function calendar$1(time,formats){if(arguments.length===1){if(!arguments[0]){time=undefined;formats=undefined;}else if(isMomentInput(arguments[0])){time=arguments[0];formats=undefined;}else if(isCalendarSpec(arguments[0])){formats=arguments[0];time=undefined;}}var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf('day'),format=hooks.calendarFormat(this,sod)||'sameElse',
output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)));}function clone(){return new Moment(this);}function isAfter(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false;}units=normalizeUnits(units)||'millisecond';if(units==='millisecond'){return this.valueOf()>localInput.valueOf();}else{return localInput.valueOf()<this.clone().startOf(units).valueOf();}}function isBefore(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false;}units=normalizeUnits(units)||'millisecond';if(units==='millisecond'){return this.valueOf()<localInput.valueOf();}else{return this.clone().endOf(units).valueOf()<localInput.valueOf();}}function isBetween(from,to,units,inclusivity){var localFrom=isMoment(from)?from:createLocal(from),localTo=isMoment(to)?to:createLocal(to);
if(!(this.isValid()&&localFrom.isValid()&&localTo.isValid())){return false;}inclusivity=inclusivity||'()';return((inclusivity[0]==='('?this.isAfter(localFrom,units):!this.isBefore(localFrom,units))&&(inclusivity[1]===')'?this.isBefore(localTo,units):!this.isAfter(localTo,units)));}function isSame(input,units){var localInput=isMoment(input)?input:createLocal(input),inputMs;if(!(this.isValid()&&localInput.isValid())){return false;}units=normalizeUnits(units)||'millisecond';if(units==='millisecond'){return this.valueOf()===localInput.valueOf();}else{inputMs=localInput.valueOf();return(this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf());}}function isSameOrAfter(input,units){return this.isSame(input,units)||this.isAfter(input,units);}function isSameOrBefore(input,units){return this.isSame(input,units)||this.isBefore(input,units);}function diff(input,units,asFloat){var that,zoneDelta,output;if(!this.isValid()){return NaN;}that=cloneWithOffset(input,this);
if(!that.isValid()){return NaN;}zoneDelta=(that.utcOffset()-this.utcOffset())*6e4;units=normalizeUnits(units);switch(units){case'year':output=monthDiff(this,that)/12;break;case'month':output=monthDiff(this,that);break;case'quarter':output=monthDiff(this,that)/3;break;case'second':output=(this-that)/1e3;break;case'minute':output=(this-that)/6e4;break;case'hour':output=(this-that)/36e5;break;case'day':output=(this-that-zoneDelta)/864e5;break;case'week':output=(this-that-zoneDelta)/6048e5;break;default:output=this-that;}return asFloat?output:absFloor(output);}function monthDiff(a,b){if(a.date()<b.date()){return-monthDiff(b,a);}var wholeMonthDiff=(b.year()-a.year())*12+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,'months'),anchor2,adjust;if(b-anchor<0){anchor2=a.clone().add(wholeMonthDiff-1,'months');adjust=(b-anchor)/(anchor-anchor2);}else{anchor2=a.clone().add(wholeMonthDiff+1,'months');adjust=(b-anchor)/(anchor2-anchor);}return-(wholeMonthDiff+adjust)||0;}hooks.defaultFormat='YYYY-MM-DDTHH:mm:ssZ';
hooks.defaultFormatUtc='YYYY-MM-DDTHH:mm:ss[Z]';function toString(){return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');}function toISOString(keepOffset){if(!this.isValid()){return null;}var utc=keepOffset!==true,m=utc?this.clone().utc():this;if(m.year()<0||m.year()>9999){return formatMoment(m,utc?'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]':'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');}if(isFunction(Date.prototype.toISOString)){if(utc){return this.toDate().toISOString();}else{return new Date(this.valueOf()+this.utcOffset()*60*1000).toISOString().replace('Z',formatMoment(m,'Z'));}}return formatMoment(m,utc?'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]':'YYYY-MM-DD[T]HH:mm:ss.SSSZ');}function inspect(){if(!this.isValid()){return'moment.invalid(/* '+this._i+' */)';}var func='moment',zone='',prefix,year,datetime,suffix;if(!this.isLocal()){func=this.utcOffset()===0?'moment.utc':'moment.parseZone';zone='Z';}prefix='['+func+'("]';year=0<=this.year()&&this.year()<=9999?'YYYY':'YYYYYY';datetime='-MM-DD[T]HH:mm:ss.SSS';
suffix=zone+'[")]';return this.format(prefix+year+datetime+suffix);}function format(inputString){if(!inputString){inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat;}var output=formatMoment(this,inputString);return this.localeData().postformat(output);}function from(time,withoutSuffix){if(this.isValid()&&((isMoment(time)&&time.isValid())||createLocal(time).isValid())){return createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix);}else{return this.localeData().invalidDate();}}function fromNow(withoutSuffix){return this.from(createLocal(),withoutSuffix);}function to(time,withoutSuffix){if(this.isValid()&&((isMoment(time)&&time.isValid())||createLocal(time).isValid())){return createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix);}else{return this.localeData().invalidDate();}}function toNow(withoutSuffix){return this.to(createLocal(),withoutSuffix);}function locale(key){var newLocaleData;if(key===undefined){return this._locale._abbr;
}else{newLocaleData=getLocale(key);if(newLocaleData!=null){this._locale=newLocaleData;}return this;}}var lang=deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',function(key){if(key===undefined){return this.localeData();}else{return this.locale(key);}});function localeData(){return this._locale;}var MS_PER_SECOND=1000,MS_PER_MINUTE=60*MS_PER_SECOND,MS_PER_HOUR=60*MS_PER_MINUTE,MS_PER_400_YEARS=(365*400+97)*24*MS_PER_HOUR;function mod$1(dividend,divisor){return((dividend%divisor)+divisor)%divisor;}function localStartOfDate(y,m,d){if(y<100&&y>=0){return new Date(y+400,m,d)-MS_PER_400_YEARS;}else{return new Date(y,m,d).valueOf();}}function utcStartOfDate(y,m,d){if(y<100&&y>=0){return Date.UTC(y+400,m,d)-MS_PER_400_YEARS;}else{return Date.UTC(y,m,d);}}function startOf(units){var time,startOfDate;units=normalizeUnits(units);if(units===undefined||units==='millisecond'||!this.isValid()){
return this;}startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case'year':time=startOfDate(this.year(),0,1);break;case'quarter':time=startOfDate(this.year(),this.month()-(this.month()%3),1);break;case'month':time=startOfDate(this.year(),this.month(),1);break;case'week':time=startOfDate(this.year(),this.month(),this.date()-this.weekday());break;case'isoWeek':time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case'day':case'date':time=startOfDate(this.year(),this.month(),this.date());break;case'hour':time=this._d.valueOf();time-=mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case'minute':time=this._d.valueOf();time-=mod$1(time,MS_PER_MINUTE);break;case'second':time=this._d.valueOf();time-=mod$1(time,MS_PER_SECOND);break;}this._d.setTime(time);hooks.updateOffset(this,true);return this;}function endOf(units){var time,startOfDate;units=normalizeUnits(units);if(units===undefined||units==='millisecond'||!this.isValid()){
return this;}startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case'year':time=startOfDate(this.year()+1,0,1)-1;break;case'quarter':time=startOfDate(this.year(),this.month()-(this.month()%3)+3,1)-1;break;case'month':time=startOfDate(this.year(),this.month()+1,1)-1;break;case'week':time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case'isoWeek':time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case'day':case'date':time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case'hour':time=this._d.valueOf();time+=MS_PER_HOUR-mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case'minute':time=this._d.valueOf();time+=MS_PER_MINUTE-mod$1(time,MS_PER_MINUTE)-1;break;case'second':time=this._d.valueOf();time+=MS_PER_SECOND-mod$1(time,MS_PER_SECOND)-1;break;}this._d.setTime(time);hooks.updateOffset(this,true);return this;}function valueOf(){return this._d.valueOf()-(this._offset||0)*60000;
}function unix(){return Math.floor(this.valueOf()/1000);}function toDate(){return new Date(this.valueOf());}function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond(),];}function toObject(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds(),};}function toJSON(){return this.isValid()?this.toISOString():null;}function isValid$2(){return isValid(this);}function parsingFlags(){return extend({},getParsingFlags(this));}function invalidAt(){return getParsingFlags(this).overflow;}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict,};}addFormatToken('N',0,0,'eraAbbr');addFormatToken('NN',0,0,'eraAbbr');addFormatToken('NNN',0,0,'eraAbbr');addFormatToken('NNNN',0,0,'eraName');addFormatToken('NNNNN',0,0,'eraNarrow');addFormatToken('y',['y',1],'yo','eraYear');addFormatToken('y',['yy',2],0,'eraYear');
addFormatToken('y',['yyy',3],0,'eraYear');addFormatToken('y',['yyyy',4],0,'eraYear');addRegexToken('N',matchEraAbbr);addRegexToken('NN',matchEraAbbr);addRegexToken('NNN',matchEraAbbr);addRegexToken('NNNN',matchEraName);addRegexToken('NNNNN',matchEraNarrow);addParseToken(['N','NN','NNN','NNNN','NNNNN'],function(input,array,config,token){var era=config._locale.erasParse(input,token,config._strict);if(era){getParsingFlags(config).era=era;}else{getParsingFlags(config).invalidEra=input;}});addRegexToken('y',matchUnsigned);addRegexToken('yy',matchUnsigned);addRegexToken('yyy',matchUnsigned);addRegexToken('yyyy',matchUnsigned);addRegexToken('yo',matchEraYearOrdinal);addParseToken(['y','yy','yyy','yyyy'],YEAR);addParseToken(['yo'],function(input,array,config,token){var match;if(config._locale._eraYearOrdinalRegex){match=input.match(config._locale._eraYearOrdinalRegex);}if(config._locale.eraYearOrdinalParse){array[YEAR]=config._locale.eraYearOrdinalParse(input,match);}else{array[YEAR]=parseInt(input,10);
}});function localeEras(m,format){var i,l,date,eras=this._eras||getLocale('en')._eras;for(i=0,l=eras.length;i<l;++i){switch(typeof eras[i].since){case'string':date=hooks(eras[i].since).startOf('day');eras[i].since=date.valueOf();break;}switch(typeof eras[i].until){case'undefined':eras[i].until=+Infinity;break;case'string':date=hooks(eras[i].until).startOf('day').valueOf();eras[i].until=date.valueOf();break;}}return eras;}function localeErasParse(eraName,format,strict){var i,l,eras=this.eras(),name,abbr,narrow;eraName=eraName.toUpperCase();for(i=0,l=eras.length;i<l;++i){name=eras[i].name.toUpperCase();abbr=eras[i].abbr.toUpperCase();narrow=eras[i].narrow.toUpperCase();if(strict){switch(format){case'N':case'NN':case'NNN':if(abbr===eraName){return eras[i];}break;case'NNNN':if(name===eraName){return eras[i];}break;case'NNNNN':if(narrow===eraName){return eras[i];}break;}}else if([name,abbr,narrow].indexOf(eraName)>=0){return eras[i];}}}function localeErasConvertYear(era,year){var dir=era.since<=era.until?+1:-1;
if(year===undefined){return hooks(era.since).year();}else{return hooks(era.since).year()+(year-era.offset)*dir;}}function getEraName(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){val=this.clone().startOf('day').valueOf();if(eras[i].since<=val&&val<=eras[i].until){return eras[i].name;}if(eras[i].until<=val&&val<=eras[i].since){return eras[i].name;}}return'';}function getEraNarrow(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){val=this.clone().startOf('day').valueOf();if(eras[i].since<=val&&val<=eras[i].until){return eras[i].narrow;}if(eras[i].until<=val&&val<=eras[i].since){return eras[i].narrow;}}return'';}function getEraAbbr(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){val=this.clone().startOf('day').valueOf();if(eras[i].since<=val&&val<=eras[i].until){return eras[i].abbr;}if(eras[i].until<=val&&val<=eras[i].since){return eras[i].abbr;}}return'';}function getEraYear(){var i,l,dir,val,eras=this.localeData().eras();
for(i=0,l=eras.length;i<l;++i){dir=eras[i].since<=eras[i].until?+1:-1;val=this.clone().startOf('day').valueOf();if((eras[i].since<=val&&val<=eras[i].until)||(eras[i].until<=val&&val<=eras[i].since)){return((this.year()-hooks(eras[i].since).year())*dir+eras[i].offset);}}return this.year();}function erasNameRegex(isStrict){if(!hasOwnProp(this,'_erasNameRegex')){computeErasParse.call(this);}return isStrict?this._erasNameRegex:this._erasRegex;}function erasAbbrRegex(isStrict){if(!hasOwnProp(this,'_erasAbbrRegex')){computeErasParse.call(this);}return isStrict?this._erasAbbrRegex:this._erasRegex;}function erasNarrowRegex(isStrict){if(!hasOwnProp(this,'_erasNarrowRegex')){computeErasParse.call(this);}return isStrict?this._erasNarrowRegex:this._erasRegex;}function matchEraAbbr(isStrict,locale){return locale.erasAbbrRegex(isStrict);}function matchEraName(isStrict,locale){return locale.erasNameRegex(isStrict);}function matchEraNarrow(isStrict,locale){return locale.erasNarrowRegex(isStrict);}
function matchEraYearOrdinal(isStrict,locale){return locale._eraYearOrdinalRegex||matchUnsigned;}function computeErasParse(){var abbrPieces=[],namePieces=[],narrowPieces=[],mixedPieces=[],i,l,erasName,erasAbbr,erasNarrow,eras=this.eras();for(i=0,l=eras.length;i<l;++i){erasName=regexEscape(eras[i].name);erasAbbr=regexEscape(eras[i].abbr);erasNarrow=regexEscape(eras[i].narrow);namePieces.push(erasName);abbrPieces.push(erasAbbr);narrowPieces.push(erasNarrow);mixedPieces.push(erasName);mixedPieces.push(erasAbbr);mixedPieces.push(erasNarrow);}this._erasRegex=new RegExp('^('+mixedPieces.join('|')+')','i');this._erasNameRegex=new RegExp('^('+namePieces.join('|')+')','i');this._erasAbbrRegex=new RegExp('^('+abbrPieces.join('|')+')','i');this._erasNarrowRegex=new RegExp('^('+narrowPieces.join('|')+')','i');}addFormatToken(0,['gg',2],0,function(){return this.weekYear()%100;});addFormatToken(0,['GG',2],0,function(){return this.isoWeekYear()%100;});function addWeekYearFormatToken(token,getter){
addFormatToken(0,[token,token.length],0,getter);}addWeekYearFormatToken('gggg','weekYear');addWeekYearFormatToken('ggggg','weekYear');addWeekYearFormatToken('GGGG','isoWeekYear');addWeekYearFormatToken('GGGGG','isoWeekYear');addRegexToken('G',matchSigned);addRegexToken('g',matchSigned);addRegexToken('GG',match1to2,match2);addRegexToken('gg',match1to2,match2);addRegexToken('GGGG',match1to4,match4);addRegexToken('gggg',match1to4,match4);addRegexToken('GGGGG',match1to6,match6);addRegexToken('ggggg',match1to6,match6);addWeekParseToken(['gggg','ggggg','GGGG','GGGGG'],function(input,week,config,token){week[token.substr(0,2)]=toInt(input);});addWeekParseToken(['gg','GG'],function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input);});function getSetWeekYear(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy);}function getSetISOWeekYear(input){return getSetWeekYearHelper.call(
this,input,this.isoWeek(),this.isoWeekday(),1,4);}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4);}function getISOWeeksInISOWeekYear(){return weeksInYear(this.isoWeekYear(),1,4);}function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy);}function getWeeksInWeekYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.weekYear(),weekInfo.dow,weekInfo.doy);}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;if(input==null){return weekOfYear(this,dow,doy).year;}else{weeksTarget=weeksInYear(input,dow,doy);if(week>weeksTarget){week=weeksTarget;}return setWeekAll.call(this,input,week,weekday,dow,doy);}}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);this.year(date.getUTCFullYear());this.month(date.getUTCMonth());this.date(date.getUTCDate());return this;
}addFormatToken('Q',0,'Qo','quarter');addRegexToken('Q',match1);addParseToken('Q',function(input,array){array[MONTH]=(toInt(input)-1)*3;});function getSetQuarter(input){return input==null?Math.ceil((this.month()+1)/3):this.month((input-1)*3+(this.month()%3));}addFormatToken('D',['DD',2],'Do','date');addRegexToken('D',match1to2,match1to2NoLeadingZero);addRegexToken('DD',match1to2,match2);addRegexToken('Do',function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient;});addParseToken(['D','DD'],DATE);addParseToken('Do',function(input,array){array[DATE]=toInt(input.match(match1to2)[0]);});var getSetDayOfMonth=makeGetSet('Date',true);addFormatToken('DDD',['DDDD',3],'DDDo','dayOfYear');addRegexToken('DDD',match1to3);addRegexToken('DDDD',match3);addParseToken(['DDD','DDDD'],function(input,array,config){config._dayOfYear=toInt(input);});function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf('day')-this.clone().startOf('year'))/864e5
)+1;return input==null?dayOfYear:this.add(input-dayOfYear,'d');}addFormatToken('m',['mm',2],0,'minute');addRegexToken('m',match1to2,match1to2HasZero);addRegexToken('mm',match1to2,match2);addParseToken(['m','mm'],MINUTE);var getSetMinute=makeGetSet('Minutes',false);addFormatToken('s',['ss',2],0,'second');addRegexToken('s',match1to2,match1to2HasZero);addRegexToken('ss',match1to2,match2);addParseToken(['s','ss'],SECOND);var getSetSecond=makeGetSet('Seconds',false);addFormatToken('S',0,0,function(){return~~(this.millisecond()/100);});addFormatToken(0,['SS',2],0,function(){return~~(this.millisecond()/10);});addFormatToken(0,['SSS',3],0,'millisecond');addFormatToken(0,['SSSS',4],0,function(){return this.millisecond()*10;});addFormatToken(0,['SSSSS',5],0,function(){return this.millisecond()*100;});addFormatToken(0,['SSSSSS',6],0,function(){return this.millisecond()*1000;});addFormatToken(0,['SSSSSSS',7],0,function(){return this.millisecond()*10000;});addFormatToken(0,['SSSSSSSS',8],0,function(){
return this.millisecond()*100000;});addFormatToken(0,['SSSSSSSSS',9],0,function(){return this.millisecond()*1000000;});addRegexToken('S',match1to3,match1);addRegexToken('SS',match1to3,match2);addRegexToken('SSS',match1to3,match3);var token,getSetMillisecond;for(token='SSSS';token.length<=9;token+='S'){addRegexToken(token,matchUnsigned);}function parseMs(input,array){array[MILLISECOND]=toInt(('0.'+input)*1000);}for(token='S';token.length<=9;token+='S'){addParseToken(token,parseMs);}getSetMillisecond=makeGetSet('Milliseconds',false);addFormatToken('z',0,0,'zoneAbbr');addFormatToken('zz',0,0,'zoneName');function getZoneAbbr(){return this._isUTC?'UTC':'';}function getZoneName(){return this._isUTC?'Coordinated Universal Time':'';}var proto=Moment.prototype;proto.add=add;proto.calendar=calendar$1;proto.clone=clone;proto.diff=diff;proto.endOf=endOf;proto.format=format;proto.from=from;proto.fromNow=fromNow;proto.to=to;proto.toNow=toNow;proto.get=stringGet;proto.invalidAt=invalidAt;proto.isAfter=isAfter;
proto.isBefore=isBefore;proto.isBetween=isBetween;proto.isSame=isSame;proto.isSameOrAfter=isSameOrAfter;proto.isSameOrBefore=isSameOrBefore;proto.isValid=isValid$2;proto.lang=lang;proto.locale=locale;proto.localeData=localeData;proto.max=prototypeMax;proto.min=prototypeMin;proto.parsingFlags=parsingFlags;proto.set=stringSet;proto.startOf=startOf;proto.subtract=subtract;proto.toArray=toArray;proto.toObject=toObject;proto.toDate=toDate;proto.toISOString=toISOString;proto.inspect=inspect;if(typeof Symbol!=='undefined'&&Symbol.for!=null){proto[Symbol.for('nodejs.util.inspect.custom')]=function(){return'Moment<'+this.format()+'>';};}proto.toJSON=toJSON;proto.toString=toString;proto.unix=unix;proto.valueOf=valueOf;proto.creationData=creationData;proto.eraName=getEraName;proto.eraNarrow=getEraNarrow;proto.eraAbbr=getEraAbbr;proto.eraYear=getEraYear;proto.year=getSetYear;proto.isLeapYear=getIsLeapYear;proto.weekYear=getSetWeekYear;proto.isoWeekYear=getSetISOWeekYear;proto.quarter=proto.quarters=getSetQuarter;
proto.month=getSetMonth;proto.daysInMonth=getDaysInMonth;proto.week=proto.weeks=getSetWeek;proto.isoWeek=proto.isoWeeks=getSetISOWeek;proto.weeksInYear=getWeeksInYear;proto.weeksInWeekYear=getWeeksInWeekYear;proto.isoWeeksInYear=getISOWeeksInYear;proto.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear;proto.date=getSetDayOfMonth;proto.day=proto.days=getSetDayOfWeek;proto.weekday=getSetLocaleDayOfWeek;proto.isoWeekday=getSetISODayOfWeek;proto.dayOfYear=getSetDayOfYear;proto.hour=proto.hours=getSetHour;proto.minute=proto.minutes=getSetMinute;proto.second=proto.seconds=getSetSecond;proto.millisecond=proto.milliseconds=getSetMillisecond;proto.utcOffset=getSetOffset;proto.utc=setOffsetToUTC;proto.local=setOffsetToLocal;proto.parseZone=setOffsetToParsedOffset;proto.hasAlignedHourOffset=hasAlignedHourOffset;proto.isDST=isDaylightSavingTime;proto.isLocal=isLocal;proto.isUtcOffset=isUtcOffset;proto.isUtc=isUtc;proto.isUTC=isUtc;proto.zoneAbbr=getZoneAbbr;proto.zoneName=getZoneName;proto.dates=deprecate(
'dates accessor is deprecated. Use date instead.',getSetDayOfMonth);proto.months=deprecate('months accessor is deprecated. Use month instead',getSetMonth);proto.years=deprecate('years accessor is deprecated. Use year instead',getSetYear);proto.zone=deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',getSetZone);proto.isDSTShifted=deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',isDaylightSavingTimeShifted);function createUnix(input){return createLocal(input*1000);}function createInZone(){return createLocal.apply(null,arguments).parseZone();}function preParsePostFormat(string){return string;}var proto$1=Locale.prototype;proto$1.calendar=calendar;proto$1.longDateFormat=longDateFormat;proto$1.invalidDate=invalidDate;proto$1.ordinal=ordinal;proto$1.preparse=preParsePostFormat;proto$1.postformat=preParsePostFormat;proto$1.relativeTime=relativeTime;proto$1.pastFuture=pastFuture;
proto$1.set=set;proto$1.eras=localeEras;proto$1.erasParse=localeErasParse;proto$1.erasConvertYear=localeErasConvertYear;proto$1.erasAbbrRegex=erasAbbrRegex;proto$1.erasNameRegex=erasNameRegex;proto$1.erasNarrowRegex=erasNarrowRegex;proto$1.months=localeMonths;proto$1.monthsShort=localeMonthsShort;proto$1.monthsParse=localeMonthsParse;proto$1.monthsRegex=monthsRegex;proto$1.monthsShortRegex=monthsShortRegex;proto$1.week=localeWeek;proto$1.firstDayOfYear=localeFirstDayOfYear;proto$1.firstDayOfWeek=localeFirstDayOfWeek;proto$1.weekdays=localeWeekdays;proto$1.weekdaysMin=localeWeekdaysMin;proto$1.weekdaysShort=localeWeekdaysShort;proto$1.weekdaysParse=localeWeekdaysParse;proto$1.weekdaysRegex=weekdaysRegex;proto$1.weekdaysShortRegex=weekdaysShortRegex;proto$1.weekdaysMinRegex=weekdaysMinRegex;proto$1.isPM=localeIsPM;proto$1.meridiem=localeMeridiem;function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);return locale[field](utc,format);}function listMonthsImpl(format,index,field){
if(isNumber(format)){index=format;format=undefined;}format=format||'';if(index!=null){return get$1(format,index,field,'month');}var i,out=[];for(i=0;i<12;i++){out[i]=get$1(format,i,field,'month');}return out;}function listWeekdaysImpl(localeSorted,format,index,field){if(typeof localeSorted==='boolean'){if(isNumber(format)){index=format;format=undefined;}format=format||'';}else{format=localeSorted;index=format;localeSorted=false;if(isNumber(format)){index=format;format=undefined;}format=format||'';}var locale=getLocale(),shift=localeSorted?locale._week.dow:0,i,out=[];if(index!=null){return get$1(format,(index+shift)%7,field,'day');}for(i=0;i<7;i++){out[i]=get$1(format,(i+shift)%7,field,'day');}return out;}function listMonths(format,index){return listMonthsImpl(format,index,'months');}function listMonthsShort(format,index){return listMonthsImpl(format,index,'monthsShort');}function listWeekdays(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,'weekdays');}
function listWeekdaysShort(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,'weekdaysShort');}function listWeekdaysMin(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,'weekdaysMin');}getSetGlobalLocale('en',{eras:[{since:'0001-01-01',until:+Infinity,offset:1,name:'Anno Domini',narrow:'AD',abbr:'AD',},{since:'0000-12-31',until:-Infinity,offset:1,name:'Before Christ',narrow:'BC',abbr:'BC',},],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10,output=toInt((number%100)/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},});hooks.lang=deprecate('moment.lang is deprecated. Use moment.locale instead.',getSetGlobalLocale);hooks.langData=deprecate('moment.langData is deprecated. Use moment.localeData instead.',getLocale);var mathAbs=Math.abs;function abs(){var data=this._data;this._milliseconds=mathAbs(this._milliseconds);this._days=mathAbs(this._days);this._months=mathAbs(this._months);
data.milliseconds=mathAbs(data.milliseconds);data.seconds=mathAbs(data.seconds);data.minutes=mathAbs(data.minutes);data.hours=mathAbs(data.hours);data.months=mathAbs(data.months);data.years=mathAbs(data.years);return this;}function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);duration._milliseconds+=direction*other._milliseconds;duration._days+=direction*other._days;duration._months+=direction*other._months;return duration._bubble();}function add$1(input,value){return addSubtract$1(this,input,value,1);}function subtract$1(input,value){return addSubtract$1(this,input,value,-1);}function absCeil(number){if(number<0){return Math.floor(number);}else{return Math.ceil(number);}}function bubble(){var milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data,seconds,minutes,hours,years,monthsFromDays;if(!((milliseconds>=0&&days>=0&&months>=0)||(milliseconds<=0&&days<=0&&months<=0))){milliseconds+=absCeil(monthsToDays(months)+days)*864e5;
days=0;months=0;}data.milliseconds=milliseconds%1000;seconds=absFloor(milliseconds/1000);data.seconds=seconds%60;minutes=absFloor(seconds/60);data.minutes=minutes%60;hours=absFloor(minutes/60);data.hours=hours%24;days+=absFloor(hours/24);monthsFromDays=absFloor(daysToMonths(days));months+=monthsFromDays;days-=absCeil(monthsToDays(monthsFromDays));years=absFloor(months/12);months%=12;data.days=days;data.months=months;data.years=years;return this;}function daysToMonths(days){return(days*4800)/146097;}function monthsToDays(months){return(months*146097)/4800;}function as(units){if(!this.isValid()){return NaN;}var days,months,milliseconds=this._milliseconds;units=normalizeUnits(units);if(units==='month'||units==='quarter'||units==='year'){days=this._days+milliseconds/864e5;months=this._months+daysToMonths(days);switch(units){case'month':return months;case'quarter':return months/3;case'year':return months/12;}}else{days=this._days+Math.round(monthsToDays(this._months));switch(units){case'week':
return days/7+milliseconds/6048e5;case'day':return days+milliseconds/864e5;case'hour':return days*24+milliseconds/36e5;case'minute':return days*1440+milliseconds/6e4;case'second':return days*86400+milliseconds/1000;case'millisecond':return Math.floor(days*864e5)+milliseconds;default:throw new Error('Unknown unit '+units);}}}function makeAs(alias){return function(){return this.as(alias);};}var asMilliseconds=makeAs('ms'),asSeconds=makeAs('s'),asMinutes=makeAs('m'),asHours=makeAs('h'),asDays=makeAs('d'),asWeeks=makeAs('w'),asMonths=makeAs('M'),asQuarters=makeAs('Q'),asYears=makeAs('y'),valueOf$1=asMilliseconds;function clone$1(){return createDuration(this);}function get$2(units){units=normalizeUnits(units);return this.isValid()?this[units+'s']():NaN;}function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN;};}var milliseconds=makeGetter('milliseconds'),seconds=makeGetter('seconds'),minutes=makeGetter('minutes'),hours=makeGetter('hours'),days=makeGetter('days'),
months=makeGetter('months'),years=makeGetter('years');function weeks(){return absFloor(this.days()/7);}var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11,};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture);}function relativeTime$1(posNegDuration,withoutSuffix,thresholds,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as('s')),minutes=round(duration.as('m')),hours=round(duration.as('h')),days=round(duration.as('d')),months=round(duration.as('M')),weeks=round(duration.as('w')),years=round(duration.as('y')),a=(seconds<=thresholds.ss&&['s',seconds])||(seconds<thresholds.s&&['ss',seconds])||(minutes<=1&&['m'])||(minutes<thresholds.m&&['mm',minutes])||(hours<=1&&['h'])||(hours<thresholds.h&&['hh',hours])||(days<=1&&['d'])||(days<thresholds.d&&['dd',days]);if(thresholds.w!=null){a=a||(weeks<=1&&['w'])||(weeks<thresholds.w&&['ww',weeks]);}a=a||(months<=1&&['M'])||
(months<thresholds.M&&['MM',months])||(years<=1&&['y'])||['yy',years];a[2]=withoutSuffix;a[3]=+posNegDuration>0;a[4]=locale;return substituteTimeAgo.apply(null,a);}function getSetRelativeTimeRounding(roundingFunction){if(roundingFunction===undefined){return round;}if(typeof roundingFunction==='function'){round=roundingFunction;return true;}return false;}function getSetRelativeTimeThreshold(threshold,limit){if(thresholds[threshold]===undefined){return false;}if(limit===undefined){return thresholds[threshold];}thresholds[threshold]=limit;if(threshold==='s'){thresholds.ss=limit-1;}return true;}function humanize(argWithSuffix,argThresholds){if(!this.isValid()){return this.localeData().invalidDate();}var withSuffix=false,th=thresholds,locale,output;if(typeof argWithSuffix==='object'){argThresholds=argWithSuffix;argWithSuffix=false;}if(typeof argWithSuffix==='boolean'){withSuffix=argWithSuffix;}if(typeof argThresholds==='object'){th=Object.assign({},thresholds,argThresholds);if(argThresholds.s!=null&&argThresholds.ss==null){
th.ss=argThresholds.s-1;}}locale=this.localeData();output=relativeTime$1(this,!withSuffix,th,locale);if(withSuffix){output=locale.pastFuture(+this,output);}return locale.postformat(output);}var abs$1=Math.abs;function sign(x){return(x>0)-(x<0)||+x;}function toISOString$1(){if(!this.isValid()){return this.localeData().invalidDate();}var seconds=abs$1(this._milliseconds)/1000,days=abs$1(this._days),months=abs$1(this._months),minutes,hours,years,s,total=this.asSeconds(),totalSign,ymSign,daysSign,hmsSign;if(!total){return'P0D';}minutes=absFloor(seconds/60);hours=absFloor(minutes/60);seconds%=60;minutes%=60;years=absFloor(months/12);months%=12;s=seconds?seconds.toFixed(3).replace(/\.?0+$/,''):'';totalSign=total<0?'-':'';ymSign=sign(this._months)!==sign(total)?'-':'';daysSign=sign(this._days)!==sign(total)?'-':'';hmsSign=sign(this._milliseconds)!==sign(total)?'-':'';return(totalSign+'P'+(years?ymSign+years+'Y':'')+(months?ymSign+months+'M':'')+(days?daysSign+days+'D':'')+(hours||minutes||seconds?'T':'')+
(hours?hmsSign+hours+'H':'')+(minutes?hmsSign+minutes+'M':'')+(seconds?hmsSign+s+'S':''));}var proto$2=Duration.prototype;proto$2.isValid=isValid$1;proto$2.abs=abs;proto$2.add=add$1;proto$2.subtract=subtract$1;proto$2.as=as;proto$2.asMilliseconds=asMilliseconds;proto$2.asSeconds=asSeconds;proto$2.asMinutes=asMinutes;proto$2.asHours=asHours;proto$2.asDays=asDays;proto$2.asWeeks=asWeeks;proto$2.asMonths=asMonths;proto$2.asQuarters=asQuarters;proto$2.asYears=asYears;proto$2.valueOf=valueOf$1;proto$2._bubble=bubble;proto$2.clone=clone$1;proto$2.get=get$2;proto$2.milliseconds=milliseconds;proto$2.seconds=seconds;proto$2.minutes=minutes;proto$2.hours=hours;proto$2.days=days;proto$2.weeks=weeks;proto$2.months=months;proto$2.years=years;proto$2.humanize=humanize;proto$2.toISOString=toISOString$1;proto$2.toString=toISOString$1;proto$2.toJSON=toISOString$1;proto$2.locale=locale;proto$2.localeData=localeData;proto$2.toIsoString=deprecate(
'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',toISOString$1);proto$2.lang=lang;addFormatToken('X',0,0,'unix');addFormatToken('x',0,0,'valueOf');addRegexToken('x',matchSigned);addRegexToken('X',matchTimestamp);addParseToken('X',function(input,array,config){config._d=new Date(parseFloat(input)*1000);});addParseToken('x',function(input,array,config){config._d=new Date(toInt(input));});hooks.version='2.30.1';setHookCallback(createLocal);hooks.fn=proto;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;
hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=proto;hooks.HTML5_FMT={DATETIME_LOCAL:'YYYY-MM-DDTHH:mm',DATETIME_LOCAL_SECONDS:'YYYY-MM-DDTHH:mm:ss',DATETIME_LOCAL_MS:'YYYY-MM-DDTHH:mm:ss.SSS',DATE:'YYYY-MM-DD',TIME:'HH:mm',TIME_SECONDS:'HH:mm:ss',TIME_MS:'HH:mm:ss.SSS',WEEK:'GGGG-[W]WW',MONTH:'YYYY-MM',};return hooks;})));
module.exports=window.moment;
;(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'&&typeof require==='function'?factory(require('../moment')):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment)}(this,(function(moment){'use strict';var ko=moment.defineLocale('ko',{months:'1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),monthsShort:'1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),weekdays:'일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),weekdaysShort:'일_월_화_수_목_금_토'.split('_'),weekdaysMin:'일_월_화_수_목_금_토'.split('_'),longDateFormat:{LT:'A h:mm',LTS:'A h:mm:ss',L:'YYYY.MM.DD.',LL:'YYYY년 MMMM D일',LLL:'YYYY년 MMMM D일 A h:mm',LLLL:'YYYY년 MMMM D일 dddd A h:mm',l:'YYYY.MM.DD.',ll:'YYYY년 MMMM D일',lll:'YYYY년 MMMM D일 A h:mm',llll:'YYYY년 MMMM D일 dddd A h:mm',},calendar:{sameDay:'오늘 LT',nextDay:'내일 LT',nextWeek:'dddd LT',
lastDay:'어제 LT',lastWeek:'지난주 dddd LT',sameElse:'L',},relativeTime:{future:'%s 후',past:'%s 전',s:'몇 초',ss:'%d초',m:'1분',mm:'%d분',h:'한 시간',hh:'%d시간',d:'하루',dd:'%d일',M:'한 달',MM:'%d달',y:'일 년',yy:'%d년',},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(number,period){switch(period){case'd':case'D':case'DDD':return number+'일';case'M':return number+'월';case'w':case'W':return number+'주';default:return number;}},meridiemParse:/오전|오후/,isPM:function(token){return token==='오후';},meridiem:function(hour,minute,isUpper){return hour<12?'오전':'오후';},});return ko;})));
(function(){if(moment.locale()==='en'&&mw.config.get('wgUserLanguage')!=='en'){moment.defineLocale(mw.config.get('wgUserLanguage'),{parentLocale:'en'});}moment.updateLocale(moment.locale(),{preparse:function(s){const table=mw.language.getDigitTransformTable();if(mw.config.get('wgTranslateNumerals')){for(let i=0;i<10;i++){if(table[i]!==undefined){s=s.replace(new RegExp(mw.util.escapeRegExp(table[i]),'g'),i);}}}if(['ar','ar-sa','fa'].includes(mw.config.get('wgUserLanguage'))){s=s.replace(/،/g,',');}return s;},postformat:function(s){const table=mw.language.getDigitTransformTable();if(mw.config.get('wgTranslateNumerals')){for(let i=0;i<10;i++){if(table[i]!==undefined){s=s.replace(new RegExp(i,'g'),table[i]);}}}if(['ar','ar-sa','fa'].includes(mw.config.get('wgUserLanguage'))){s=s.replace(/,/g,'،');}return s;}});}());
},{},{},{},"This page is using the deprecated ResourceLoader module \"moment\".\n[1.44] Use mediawiki.DateFormatter or native Intl function instead. See https://phabricator.wikimedia.org/T146798"];});
mw.loader.impl(function(){return["oojs@1797x",function($,jQuery,require,module){(function(global){'use strict';var OO={},hasOwn=OO.hasOwnProperty,slice=Array.prototype.slice,toString=OO.toString;OO.initClass=function(fn){fn.static=fn.static||{};};OO.inheritClass=function(targetFn,originFn){if(!originFn){throw new Error('inheritClass: Origin is not a function (actually '+originFn+')');}if(targetFn.prototype instanceof originFn){throw new Error('inheritClass: Target already inherits from origin');}var targetConstructor=targetFn.prototype.constructor;targetFn.super=targetFn.parent=originFn;targetFn.prototype=Object.create(originFn.prototype,{constructor:{value:targetConstructor,enumerable:false,writable:true,configurable:true}});OO.initClass(originFn);targetFn.static=Object.create(originFn.static);};OO.mixinClass=function(targetFn,originFn){if(!originFn){throw new Error('mixinClass: Origin is not a function (actually '+originFn+')');}var key;for(key in originFn.prototype){if(key!=='constructor'&&hasOwn.call(originFn.prototype,key)){targetFn.prototype[key]=originFn.prototype[key];
}}OO.initClass(targetFn);if(originFn.static){for(key in originFn.static){if(hasOwn.call(originFn.static,key)){targetFn.static[key]=originFn.static[key];}}}else{OO.initClass(originFn);}};OO.isSubclass=function(testFn,baseFn){return testFn===baseFn||testFn.prototype instanceof baseFn;};OO.getProp=function(obj){var retval=obj;for(var i=1;i<arguments.length;i++){if(retval===undefined||retval===null){return undefined;}retval=retval[arguments[i]];}return retval;};OO.setProp=function(obj){if(Object(obj)!==obj||arguments.length<2){return;}var prop=obj;for(var i=1;i<arguments.length-2;i++){if(prop[arguments[i]]===undefined){prop[arguments[i]]={};}if(Object(prop[arguments[i]])!==prop[arguments[i]]){return;}prop=prop[arguments[i]];}prop[arguments[arguments.length-2]]=arguments[arguments.length-1];};OO.deleteProp=function(obj){if(Object(obj)!==obj||arguments.length<2){return;}var prop=obj;var props=[prop];var i=1;for(;i<arguments.length-1;i++){if(prop[arguments[i]]===undefined||Object(prop[arguments[i]])!==prop[arguments[i]]
){return;}prop=prop[arguments[i]];props.push(prop);}delete prop[arguments[i]];while(props.length>1&&(prop=props.pop())&&OO.isPlainObject(prop)&&!Object.keys(prop).length){delete props[props.length-1][arguments[props.length]];}};OO.cloneObject=function(origin){var r=Object.create(origin.constructor.prototype);for(var key in origin){if(hasOwn.call(origin,key)){r[key]=origin[key];}}return r;};OO.getObjectValues=function(obj){if(obj!==Object(obj)){throw new TypeError('Called on non-object');}var values=[];for(var key in obj){if(hasOwn.call(obj,key)){values[values.length]=obj[key];}}return values;};OO.binarySearch=function(arr,searchFunc,forInsertion){var left=0;var right=arr.length;while(left<right){var mid=(left+right)>>1;var cmpResult=searchFunc(arr[mid]);if(cmpResult<0){right=mid;}else if(cmpResult>0){left=mid+1;}else{return mid;}}return forInsertion?right:null;};OO.compare=function(a,b,asymmetrical){if(a===b){return true;}a=a||{};b=b||{};if(typeof a.nodeType==='number'&&typeof a.isEqualNode==='function'){
return a.isEqualNode(b);}for(var k in a){if(!hasOwn.call(a,k)||a[k]===undefined||a[k]===b[k]){continue;}var aValue=a[k];var bValue=b[k];var aType=typeof aValue;var bType=typeof bValue;if(aType!==bType||((aType==='string'||aType==='number'||aType==='boolean')&&aValue!==bValue)||(aValue===Object(aValue)&&!OO.compare(aValue,bValue,true))){return false;}}return asymmetrical?true:OO.compare(b,a,true);};OO.copy=function(source,leafCallback,nodeCallback){var destination;if(nodeCallback){destination=nodeCallback(source);if(destination!==undefined){return destination;}}if(Array.isArray(source)){destination=new Array(source.length);}else if(source&&typeof source.clone==='function'){return leafCallback?leafCallback(source.clone()):source.clone();}else if(source&&typeof source.cloneNode==='function'){return leafCallback?leafCallback(source.cloneNode(true)):source.cloneNode(true);}else if(OO.isPlainObject(source)){destination={};}else{return leafCallback?leafCallback(source):source;}for(var key in source){
destination[key]=OO.copy(source[key],leafCallback,nodeCallback);}return destination;};OO.getHash=function(val){return JSON.stringify(val,OO.getHash.keySortReplacer);};OO.getHash.keySortReplacer=function(key,val){if(val&&typeof val.getHashObject==='function'){val=val.getHashObject();}if(!Array.isArray(val)&&Object(val)===val){var normalized={};var keys=Object.keys(val).sort();for(var i=0,len=keys.length;i<len;i++){normalized[keys[i]]=val[keys[i]];}return normalized;}else{return val;}};OO.unique=function(arr){return Array.from(new Set(arr));};OO.simpleArrayUnion=function(a,...rest){var set=new Set(a);for(var i=0;i<rest.length;i++){var arr=rest[i];for(var j=0;j<arr.length;j++){set.add(arr[j]);}}return Array.from(set);};function simpleArrayCombine(a,b,includeB){var set=new Set(b);var result=[];for(var j=0;j<a.length;j++){var isInB=set.has(a[j]);if(isInB===includeB){result.push(a[j]);}}return result;}OO.simpleArrayIntersection=function(a,b){return simpleArrayCombine(a,b,true);};OO.simpleArrayDifference=function(a,b){
return simpleArrayCombine(a,b,false);};OO.isPlainObject=function(obj){if(!obj||toString.call(obj)!=='[object Object]'){return false;}var proto=Object.getPrototypeOf(obj);if(!proto){return true;}return hasOwn.call(proto,'isPrototypeOf');};(function(){OO.EventEmitter=function OoEventEmitter(){this.bindings={};};OO.initClass(OO.EventEmitter);function validateMethod(method,context){if(typeof method==='string'){if(context===undefined||context===null){throw new Error('Method name "'+method+'" has no context.');}if(typeof context[method]!=='function'){throw new Error('Property "'+method+'" is not a function');}}else if(typeof method!=='function'){throw new Error('Invalid callback. Function or method name expected.');}}function addBinding(eventEmitter,event,binding){var bindings;if(hasOwn.call(eventEmitter.bindings,event)){bindings=eventEmitter.bindings[event];}else{bindings=eventEmitter.bindings[event]=[];}bindings.push(binding);}OO.EventEmitter.prototype.on=function(event,method,args,context){
validateMethod(method,context);addBinding(this,event,{method:method,args:args,context:(arguments.length<4)?null:context,once:false});return this;};OO.EventEmitter.prototype.once=function(event,listener){validateMethod(listener);addBinding(this,event,{method:listener,args:undefined,context:null,once:true});return this;};OO.EventEmitter.prototype.off=function(event,method,context){if(arguments.length===1){delete this.bindings[event];return this;}validateMethod(method,context);if(!hasOwn.call(this.bindings,event)||!this.bindings[event].length){return this;}if(arguments.length<3){context=null;}var bindings=this.bindings[event];var i=bindings.length;while(i--){if(bindings[i].method===method&&bindings[i].context===context){bindings.splice(i,1);}}if(bindings.length===0){delete this.bindings[event];}return this;};OO.EventEmitter.prototype.emit=function(event){if(!hasOwn.call(this.bindings,event)){return false;}var bindings=this.bindings[event].slice();var args=slice.call(arguments,1);for(var i=0;i<bindings.length;i++){
var binding=bindings[i];var method;if(typeof binding.method==='string'){method=binding.context[binding.method];}else{method=binding.method;}if(binding.once){this.off(event,method);}try{method.apply(binding.context,binding.args?binding.args.concat(args):args);}catch(e){setTimeout((function(error){throw error;}).bind(null,e));}}return true;};OO.EventEmitter.prototype.emitThrow=function(event){if(!hasOwn.call(this.bindings,event)){return false;}var firstError;var bindings=this.bindings[event].slice();var args=slice.call(arguments,1);for(var i=0;i<bindings.length;i++){var binding=bindings[i];var method;if(typeof binding.method==='string'){method=binding.context[binding.method];}else{method=binding.method;}if(binding.once){this.off(event,method);}try{method.apply(binding.context,binding.args?binding.args.concat(args):args);}catch(e){if(firstError===undefined){firstError=e;}else{setTimeout((function(error){throw error;}).bind(null,e));}}}if(firstError!==undefined){throw firstError;}return true;
};OO.EventEmitter.prototype.connect=function(context,methods){for(var event in methods){var method=methods[event];var args;if(Array.isArray(method)){args=method.slice(1);method=method[0];}else{args=[];}this.on(event,method,args,context);}return this;};OO.EventEmitter.prototype.disconnect=function(context,methods){var event;if(methods){for(event in methods){var method=methods[event];if(Array.isArray(method)){method=method[0];}this.off(event,method,context);}}else{for(event in this.bindings){var bindings=this.bindings[event];var i=bindings.length;while(i--){if(bindings[i]&&bindings[i].context===context){this.off(event,bindings[i].method,context);}}}}return this;};}());(function(){OO.EmitterList=function OoEmitterList(){this.items=[];this.aggregateItemEvents={};};OO.initClass(OO.EmitterList);function normalizeArrayIndex(arr,index){return(index===undefined||index<0||index>=arr.length)?arr.length:index;}OO.EmitterList.prototype.getItems=function(){return this.items.slice(0);};OO.EmitterList.prototype.getItemIndex=function(item){
return this.items.indexOf(item);};OO.EmitterList.prototype.getItemCount=function(){return this.items.length;};OO.EmitterList.prototype.isEmpty=function(){return!this.items.length;};OO.EmitterList.prototype.aggregate=function(events){var i,item;for(var itemEvent in events){var groupEvent=events[itemEvent];if(Object.prototype.hasOwnProperty.call(this.aggregateItemEvents,itemEvent)){if(groupEvent){throw new Error('Duplicate item event aggregation for '+itemEvent);}for(i=0;i<this.items.length;i++){item=this.items[i];if(item.connect&&item.disconnect){var remove={};remove[itemEvent]=['emit',this.aggregateItemEvents[itemEvent],item];item.disconnect(this,remove);}}delete this.aggregateItemEvents[itemEvent];}if(groupEvent){this.aggregateItemEvents[itemEvent]=groupEvent;for(i=0;i<this.items.length;i++){item=this.items[i];if(item.connect&&item.disconnect){var add={};add[itemEvent]=['emit',groupEvent,item];item.connect(this,add);}}}}};OO.EmitterList.prototype.addItems=function(items,index){if(!Array.isArray(items)){
items=[items];}if(items.length===0){return this;}index=normalizeArrayIndex(this.items,index);for(var i=0;i<items.length;i++){var oldIndex=this.items.indexOf(items[i]);if(oldIndex!==-1){index=this.moveItem(items[i],index);this.emit('move',items[i],index,oldIndex);}else{index=this.insertItem(items[i],index);this.emit('add',items[i],index);}index++;}return this;};OO.EmitterList.prototype.moveItem=function(item,newIndex){var existingIndex=this.items.indexOf(item);if(existingIndex===-1){throw new Error('Item cannot be moved, because it is not in the list.');}newIndex=normalizeArrayIndex(this.items,newIndex);this.items.splice(existingIndex,1);if(existingIndex<newIndex){newIndex--;}this.items.splice(newIndex,0,item);return newIndex;};OO.EmitterList.prototype.insertItem=function(item,index){if(item===null||typeof item!=='object'){throw new Error('Expected object, but item is '+typeof item);}if(item.connect&&item.disconnect){var events={};for(var event in this.aggregateItemEvents){events[event]=['emit',this.aggregateItemEvents[event],item];
}item.connect(this,events);}index=normalizeArrayIndex(this.items,index);this.items.splice(index,0,item);return index;};OO.EmitterList.prototype.removeItems=function(items){if(!Array.isArray(items)){items=[items];}if(items.length===0){return this;}for(var i=0;i<items.length;i++){var item=items[i];var index=this.items.indexOf(item);if(index!==-1){if(item.connect&&item.disconnect){item.disconnect(this);}this.items.splice(index,1);this.emit('remove',item,index);}}return this;};OO.EmitterList.prototype.clearItems=function(){var cleared=this.items.splice(0,this.items.length);for(var i=0;i<cleared.length;i++){var item=cleared[i];if(item.connect&&item.disconnect){item.disconnect(this);}}this.emit('clear');return this;};}());OO.SortedEmitterList=function OoSortedEmitterList(sortingCallback){OO.EmitterList.call(this);this.sortingCallback=sortingCallback;this.aggregate({sortChange:'itemSortChange'});this.connect(this,{itemSortChange:'onItemSortChange'});};OO.mixinClass(OO.SortedEmitterList,OO.EmitterList);
OO.SortedEmitterList.prototype.onItemSortChange=function(item){this.removeItems(item);this.addItems(item);};OO.SortedEmitterList.prototype.setSortingCallback=function(sortingCallback){var items=this.getItems();this.sortingCallback=sortingCallback;this.clearItems();this.addItems(items);};OO.SortedEmitterList.prototype.addItems=function(items){if(!Array.isArray(items)){items=[items];}if(items.length===0){return this;}for(var i=0;i<items.length;i++){var insertionIndex=this.findInsertionIndex(items[i]);if(insertionIndex<=this.items.length&&this.items[insertionIndex]&&this.sortingCallback(this.items[insertionIndex],items[i])===0){this.removeItems(this.items[insertionIndex]);}var index=this.insertItem(items[i],insertionIndex);this.emit('add',items[i],index);}return this;};OO.SortedEmitterList.prototype.findInsertionIndex=function(item){var list=this;return OO.binarySearch(this.items,function(otherItem){return list.sortingCallback(item,otherItem);},true);};OO.Registry=function OoRegistry(){OO.EventEmitter.call(this);
this.registry={};};OO.mixinClass(OO.Registry,OO.EventEmitter);OO.Registry.prototype.register=function(name,data){if(typeof name==='string'){this.registry[name]=data;this.emit('register',name,data);}else if(Array.isArray(name)){for(var i=0,len=name.length;i<len;i++){this.register(name[i],data);}}else{throw new Error('Name must be a string or array, cannot be a '+typeof name);}};OO.Registry.prototype.unregister=function(name){if(typeof name==='string'){var data=this.lookup(name);if(data!==undefined){delete this.registry[name];this.emit('unregister',name,data);}}else if(Array.isArray(name)){for(var i=0,len=name.length;i<len;i++){this.unregister(name[i]);}}else{throw new Error('Name must be a string or array, cannot be a '+typeof name);}};OO.Registry.prototype.lookup=function(name){if(hasOwn.call(this.registry,name)){return this.registry[name];}};OO.Factory=function OoFactory(){OO.Factory.super.call(this);};OO.inheritClass(OO.Factory,OO.Registry);OO.Factory.prototype.register=function(constructor,key){
if(typeof constructor!=='function'){throw new Error('constructor must be a function, got '+typeof constructor);}if(arguments.length<=1){key=constructor.key||(constructor.static&&constructor.static.name);}if(typeof key!=='string'||key===''){throw new Error('key must be a non-empty string');}OO.Factory.super.prototype.register.call(this,key,constructor);};OO.Factory.prototype.unregister=function(key){if(typeof key==='function'){key=key.key||(key.static&&key.static.name);}if(typeof key!=='string'||key===''){throw new Error('key must be a non-empty string');}OO.Factory.super.prototype.unregister.call(this,key);};OO.Factory.prototype.create=function(key,...args){var constructor=this.lookup(key);if(!constructor){throw new Error('No class registered by that key: '+key);}return new constructor(...args);};if(typeof module!=='undefined'&&module.exports){module.exports=OO;}else{global.OO=OO;}}(this));
window.OO=module.exports;
}];});
mw.loader.impl(function(){return["oojs-ui-core@urd9i",function($,jQuery,require,module){(function(OO){'use strict';OO.ui={};OO.ui.bind=$.proxy;OO.ui.Keys={UNDEFINED:0,BACKSPACE:8,DELETE:46,LEFT:37,RIGHT:39,UP:38,DOWN:40,ENTER:13,END:35,HOME:36,TAB:9,PAGEUP:33,PAGEDOWN:34,ESCAPE:27,SHIFT:16,SPACE:32};OO.ui.MouseButtons={LEFT:1,MIDDLE:2,RIGHT:3};OO.ui.elementId=0;OO.ui.generateElementId=function(){OO.ui.elementId++;return'ooui-'+OO.ui.elementId;};OO.ui.isFocusableElement=function($element){const element=$element[0];if(element.disabled){return false;}if(!($.expr.pseudos.visible(element)&&!$element.parents().addBack().filter(function(){return $.css(this,'visibility')==='hidden';}).length)){return false;}if(element.contentEditable==='true'){return true;}if($element.prop('tabIndex')>=0){return true;}const nodeName=element.nodeName.toLowerCase();if(['input','select','textarea','button','object'].includes(nodeName)){return true;}if((nodeName==='a'||nodeName==='area')&&$element.attr('href')!==undefined){return true;}return false;};OO.ui.findFocusable=function($container,backwards){
let $focusable=$([]),$focusableCandidates=$container.find('input, select, textarea, button, object, a, area, [contenteditable], [tabindex]');if(backwards){$focusableCandidates=Array.prototype.reverse.call($focusableCandidates);}$focusableCandidates.each((i,el)=>{const $el=$(el);if(OO.ui.isFocusableElement($el)){$focusable=$el;return false;}});return $focusable;};OO.ui.getUserLanguages=function(){return['en'];};OO.ui.getLocalValue=function(obj,lang,fallback){if(obj[lang]){return obj[lang];}const langs=OO.ui.getUserLanguages();for(let i=0,len=langs.length;i<len;i++){lang=langs[i];if(obj[lang]){return obj[lang];}}if(obj[fallback]){return obj[fallback];}for(lang in obj){return obj[lang];}return undefined;};OO.ui.contains=function(containers,contained,matchContainers){if(!Array.isArray(containers)){containers=[containers];}for(let i=containers.length-1;i>=0;i--){if((matchContainers&&contained===containers[i])||$.contains(containers[i],contained)){return true;}}return false;};OO.ui.debounce=function(func,wait,immediate){
let timeout;return function(){const context=this,args=arguments,later=function(){timeout=null;if(!immediate){func.apply(context,args);}};if(immediate&&!timeout){func.apply(context,args);}if(!timeout||wait){clearTimeout(timeout);timeout=setTimeout(later,wait);}};};OO.ui.warnDeprecation=function(message){if(OO.getProp(window,'console','warn')!==undefined){console.warn(message);}};OO.ui.throttle=function(func,wait){let context,args,timeout,previous=Date.now()-wait;const run=function(){timeout=null;previous=Date.now();func.apply(context,args);};return function(){const remaining=Math.max(wait-(Date.now()-previous),0);context=this;args=arguments;if(!timeout){timeout=setTimeout(run,remaining);}};};OO.ui.infuse=function(node,config){if(typeof node==='string'){OO.ui.warnDeprecation('Passing a selector to infuse is deprecated. Use an HTMLElement or jQuery collection instead.');}return OO.ui.Element.static.infuse(node,config);};OO.ui.msg=function(key,...params){const messages=OO.ui.msg.messages;
let message=messages[key];if(typeof message==='string'){message=message.replace(/\$(\d+)/g,(unused,n)=>{const i=parseInt(n,10);return params[i-1]!==undefined?params[i-1]:'$'+n;});}else{message='['+key+']';}return message;};OO.ui.deferMsg=function(){return()=>OO.ui.msg(...arguments);};OO.ui.resolveMsg=function(msg){if(typeof msg==='function'){return msg();}return msg;};OO.ui.isSafeUrl=function(url){const protocolAllowList=['bitcoin','ftp','ftps','geo','git','gopher','http','https','irc','ircs','magnet','mailto','mms','news','nntp','redis','sftp','sip','sips','sms','ssh','svn','tel','telnet','urn','worldwind','xmpp'];if(url===''){return true;}for(let i=0;i<protocolAllowList.length;i++){if(url.startsWith(protocolAllowList[i]+':')){return true;}}if(url.startsWith('/')||url.startsWith('./')){return true;}if(url.startsWith('?')||url.startsWith('#')){return true;}return false;};OO.ui.isMobile=function(){return false;};OO.ui.getViewportSpacing=function(){return{top:0,right:0,bottom:0,left:0};};
OO.ui.getTeleportTarget=function(){return document.body;};OO.ui.getDefaultOverlay=function(){if(!OO.ui.$defaultOverlay){OO.ui.$defaultOverlay=$('<div>').addClass('oo-ui-defaultOverlay');$(OO.ui.getTeleportTarget()).append(OO.ui.$defaultOverlay);}return OO.ui.$defaultOverlay;};if(window.customElements){window.customElements.define('ooui-connect-detector',class extends HTMLElement{connectedCallback(){if(this.onConnectOOUI instanceof Function){this.onConnectOOUI();}}});}OO.ui.msg.messages={"ooui-copytextlayout-copy":"Copy","ooui-outline-control-move-down":"Move item down","ooui-outline-control-move-up":"Move item up","ooui-outline-control-remove":"Remove item","ooui-toolbar-more":"More","ooui-toolgroup-expand":"More","ooui-toolgroup-collapse":"Fewer","ooui-item-remove":"Remove","ooui-dialog-message-accept":"OK","ooui-dialog-message-reject":"Cancel","ooui-dialog-process-error":"Something went wrong","ooui-dialog-process-back":"Back","ooui-dialog-process-dismiss":"Dismiss",
"ooui-dialog-process-retry":"Try again","ooui-dialog-process-continue":"Continue","ooui-combobox-button-label":"Toggle options","ooui-selectfile-button-select":"Select a file","ooui-selectfile-button-select-multiple":"Select files","ooui-selectfile-placeholder":"No file is selected","ooui-selectfile-dragdrop-placeholder":"Drop file here","ooui-selectfile-dragdrop-placeholder-multiple":"Drop files here","ooui-popup-widget-close-button-aria-label":"Close","ooui-field-help":"Help"};OO.ui.mixin={};OO.ui.Element=function OoUiElement(config){config=config||{};if(OO.ui.isDemo){this.initialConfig=config;}this.elementId=null;this.visible=true;this.data=config.data;this.$element=config.$element||$(window.document.createElement(this.getTagName()));this.elementGroup=null;const doc=OO.ui.Element.static.getDocument(this.$element);if(Array.isArray(config.classes)){this.$element.addClass(config.classes);}if(config.id){this.setElementId(config.id);}if(config.text){this.$element.text(config.text);}if(config.content){
this.$element.append(config.content.map((v)=>{if(typeof v==='string'){return v?doc.createTextNode(v):undefined;}else if(v instanceof OO.ui.HtmlSnippet){return v.toString();}else if(v instanceof OO.ui.Element){return v.$element;}return v;}));}if(config.$content){this.$element.append(config.$content);}};OO.initClass(OO.ui.Element);OO.ui.Element.static.tagName='div';OO.ui.Element.static.infuse=function(node,config){const obj=OO.ui.Element.static.unsafeInfuse(node,config,false);return obj;};OO.ui.Element.static.unsafeInfuse=function(elem,config,domPromise){let $elem=$(elem);if($elem.length>1){throw new Error('Collection contains more than one element');}if(!$elem.length){throw new Error('Widget not found');}if($elem[0].$oouiInfused){$elem=$elem[0].$oouiInfused;}const id=$elem.attr('id');const doc=this.getDocument($elem);let data=$elem.data('ooui-infused');if(data){if(data===true){throw new Error('Circular dependency! '+id);}if(domPromise){const stateCache=data.constructor.static.gatherPreInfuseState($elem,data);
domPromise.done(data.restorePreInfuseState.bind(data,stateCache));const infusedChildrenCache=$elem.data('ooui-infused-children');if(infusedChildrenCache&&infusedChildrenCache.length){infusedChildrenCache.forEach((childData)=>{const childState=childData.constructor.static.gatherPreInfuseState($elem,childData);domPromise.done(childData.restorePreInfuseState.bind(childData,childState));});}}return data;}data=$elem.attr('data-ooui');if(!data){throw new Error('No infusion data found: '+id);}try{data=JSON.parse(data);}catch(_){data=null;}if(!(data&&data._)){throw new Error('No valid infusion data found: '+id);}if(data._==='Tag'){return new OO.ui.Element(Object.assign({},config,{$element:$elem}));}const parts=data._.split('.');const cls=OO.getProp.apply(OO,[window].concat(parts));if(!(cls&&(cls===OO.ui.Element||cls.prototype instanceof OO.ui.Element))){throw new Error('Unknown widget type: id: '+id+', class: '+data._);}let top;if(!domPromise){top=$.Deferred();domPromise=top.promise();}$elem.data('ooui-infused',true);
data.id=id;const infusedChildren=[];data=OO.copy(data,null,(value)=>{let infused;if(OO.isPlainObject(value)){if(value.tag&&doc.getElementById(value.tag)){infused=OO.ui.Element.static.unsafeInfuse(doc.getElementById(value.tag),config,domPromise);infusedChildren.push(infused);infusedChildren.push.apply(infusedChildren,infused.$element.data('ooui-infused-children')||[]);infused.$element.removeData('ooui-infused-children');return infused;}if(value.html!==undefined){return new OO.ui.HtmlSnippet(value.html);}}});data=cls.static.reusePreInfuseDOM($elem[0],data);const state=cls.static.gatherPreInfuseState($elem[0],data);const obj=new cls(Object.assign({},config,data));$elem[0].$oouiInfused=obj.$element;if(top){if($elem[0]!==obj.$element[0]){$elem.replaceWith(obj.$element);}top.resolve();}obj.$element.data({'ooui-infused':obj,'ooui-infused-children':infusedChildren}).attr('data-ooui','');domPromise.done(obj.restorePreInfuseState.bind(obj,state));return obj;};OO.ui.Element.static.reusePreInfuseDOM=function(node,config){
return config;};OO.ui.Element.static.gatherPreInfuseState=function(){return{};};OO.ui.Element.static.getDocument=function(obj){return obj.ownerDocument||obj.document||(obj.nodeType===Node.DOCUMENT_NODE&&obj)||(obj[0]&&obj[0].ownerDocument)||obj.context||null;};OO.ui.Element.static.getWindow=function(obj){const doc=this.getDocument(obj);return doc.defaultView;};OO.ui.Element.static.getDir=function(obj){if(obj instanceof $){obj=obj[0];}const isDoc=obj.nodeType===Node.DOCUMENT_NODE;const isWin=obj.document!==undefined;if(isDoc||isWin){if(isWin){obj=obj.document;}obj=obj.body;}return $(obj).css('direction');};OO.ui.Element.static.getFrameOffset=function(from,to,offset){if(!to){to=window;}if(!offset){offset={top:0,left:0};}if(from.parent===from){return offset;}let frame;const frames=from.parent.document.getElementsByTagName('iframe');for(let i=0,len=frames.length;i<len;i++){if(frames[i].contentWindow===from){frame=frames[i];break;}}if(frame){const rect=frame.getBoundingClientRect();offset.left+=rect.left;
offset.top+=rect.top;if(from!==to){this.getFrameOffset(from.parent,offset);}}return offset;};OO.ui.Element.static.getRelativePosition=function($element,$anchor){const pos=$element.offset();const anchorPos=$anchor.offset();const anchorDocument=this.getDocument($anchor);let elementDocument=this.getDocument($element);while(elementDocument!==anchorDocument){const iframe=elementDocument.defaultView.frameElement;if(!iframe){throw new Error('$element frame is not contained in $anchor frame');}const iframePos=$(iframe).offset();pos.left+=iframePos.left;pos.top+=iframePos.top;elementDocument=this.getDocument(iframe);}pos.left-=anchorPos.left;pos.top-=anchorPos.top;return pos;};OO.ui.Element.static.getBorders=function(el){const doc=this.getDocument(el),win=doc.defaultView,style=win.getComputedStyle(el,null),$el=$(el),top=parseFloat(style?style.borderTopWidth:$el.css('borderTopWidth'))||0,left=parseFloat(style?style.borderLeftWidth:$el.css('borderLeftWidth'))||0,bottom=parseFloat(style?style.borderBottomWidth:$el.css('borderBottomWidth'))||0,
right=parseFloat(style?style.borderRightWidth:$el.css('borderRightWidth'))||0;return{top:top,left:left,bottom:bottom,right:right};};OO.ui.Element.static.getDimensions=function(el){const doc=this.getDocument(el),win=doc.defaultView;if(win===el||el===doc.documentElement){const $win=$(win);return{borders:{top:0,left:0,bottom:0,right:0},scroll:{top:$win.scrollTop(),left:OO.ui.Element.static.getScrollLeft(win)},scrollbar:{right:0,bottom:0},rect:{top:0,left:0,bottom:$win.innerHeight(),right:$win.innerWidth()}};}else{const $el=$(el);return{borders:this.getBorders(el),scroll:{top:$el.scrollTop(),left:OO.ui.Element.static.getScrollLeft(el)},scrollbar:{right:$el.innerWidth()-el.clientWidth,bottom:$el.innerHeight()-el.clientHeight},rect:el.getBoundingClientRect()};}};(function(){let rtlScrollType=null;function rtlScrollTypeTest(){const $definer=$('<div>').attr({dir:'rtl',style:'font-size: 14px; width: 4px; height: 1px; position: absolute; top: -1000px; overflow: scroll;'}).text('ABCD'),definer=$definer[0];
$definer.appendTo('body');if(definer.scrollLeft>0){rtlScrollType='default';}else{definer.scrollLeft=1;if(definer.scrollLeft===0){rtlScrollType='negative';}}$definer.remove();}function isRoot(el){return el===el.window||el===el.ownerDocument.body||el===el.ownerDocument.documentElement;}OO.ui.Element.static.computeNormalizedScrollLeft=function(nativeOffset,el){const direction=isRoot(el)?'ltr':$(el).css('direction');if(direction==='rtl'){if(rtlScrollType===null){rtlScrollTypeTest();}if(rtlScrollType==='reverse'){return-nativeOffset;}else if(rtlScrollType==='default'){return nativeOffset-el.scrollWidth+el.clientWidth;}}return nativeOffset;};OO.ui.Element.static.computeNativeScrollLeft=function(normalizedOffset,el){const direction=isRoot(el)?'ltr':$(el).css('direction');if(direction==='rtl'){if(rtlScrollType===null){rtlScrollTypeTest();}if(rtlScrollType==='reverse'){return-normalizedOffset;}else if(rtlScrollType==='default'){return normalizedOffset+el.scrollWidth-el.clientWidth;}}return normalizedOffset;
};OO.ui.Element.static.getScrollLeft=function(el){let scrollLeft=isRoot(el)?$(window).scrollLeft():el.scrollLeft;scrollLeft=OO.ui.Element.static.computeNormalizedScrollLeft(scrollLeft,el);return scrollLeft;};OO.ui.Element.static.setScrollLeft=function(el,scrollLeft){scrollLeft=OO.ui.Element.static.computeNativeScrollLeft(scrollLeft,el);if(isRoot(el)){$(window).scrollLeft(scrollLeft);}else{el.scrollLeft=scrollLeft;}};}());OO.ui.Element.static.getRootScrollableElement=function(el){const doc=this.getDocument(el);if(OO.ui.scrollableElement===undefined){const body=doc.body;const scrollTop=body.scrollTop;body.scrollTop=1;if(Math.round(body.scrollTop)===1){body.scrollTop=scrollTop;OO.ui.scrollableElement='body';}else{OO.ui.scrollableElement='documentElement';}}return doc[OO.ui.scrollableElement];};OO.ui.Element.static.getClosestScrollableContainer=function(el,dimension){const doc=this.getDocument(el);const rootScrollableElement=this.getRootScrollableElement(el);let props=['overflow-x','overflow-y'];
let $parent=$(el).parent();if(el===doc.documentElement){return rootScrollableElement;}if(dimension==='x'||dimension==='y'){props=['overflow-'+dimension];}while($parent.length&&$parent[0]!==doc){if($parent[0]===rootScrollableElement){return $parent[0];}let i=props.length;while(i--){const val=$parent.css(props[i]);if(val==='auto'||val==='scroll'){if($parent[0]===doc.body){return rootScrollableElement;}else{return $parent[0];}}}$parent=$parent.parent();}return rootScrollableElement;};OO.ui.Element.static.scrollIntoView=function(elOrPosition,config){const deferred=$.Deferred();config=config||{};const padding=Object.assign({top:0,bottom:0,left:0,right:0},config.padding);let animate=config.animate!==false;if(window.matchMedia('(prefers-reduced-motion: reduce)').matches){animate=false;}const animations={};const elementPosition=elOrPosition instanceof HTMLElement?this.getDimensions(elOrPosition).rect:elOrPosition;const container=config.scrollContainer||(elOrPosition instanceof HTMLElement?this.getClosestScrollableContainer(elOrPosition,config.direction):
this.getClosestScrollableContainer(window.document.body));const $container=$(container);const containerDimensions=this.getDimensions(container);const $window=$(this.getWindow(container));let position;if($container.is('html, body')){position={top:elementPosition.top,bottom:$window.innerHeight()-elementPosition.bottom,left:elementPosition.left,right:$window.innerWidth()-elementPosition.right};}else{position={top:elementPosition.top-(containerDimensions.rect.top+containerDimensions.borders.top),bottom:containerDimensions.rect.bottom-containerDimensions.borders.bottom-containerDimensions.scrollbar.bottom-elementPosition.bottom,left:elementPosition.left-(containerDimensions.rect.left+containerDimensions.borders.left),right:containerDimensions.rect.right-containerDimensions.borders.right-containerDimensions.scrollbar.right-elementPosition.right};}const hasAlignTo=(align)=>Array.isArray(config.alignTo)?config.alignTo.includes(align):config.alignTo===align||(align==='top'&&config.alignToTop);
if(!config.direction||config.direction==='y'){const alignToTop=hasAlignTo('top');const alignToBottom=hasAlignTo('bottom');if(alignToTop||(!alignToBottom&&position.top<padding.top)){animations.scrollTop=containerDimensions.scroll.top+position.top-padding.top;}else if(alignToBottom||position.bottom<padding.bottom){animations.scrollTop=containerDimensions.scroll.top+Math.min(position.top-padding.top,-position.bottom+padding.bottom);}}if(!config.direction||config.direction==='x'){const alignToLeft=hasAlignTo('left');const alignToRight=hasAlignTo('right');if(alignToLeft||(!alignToRight&&position.left<padding.left)){animations.scrollLeft=containerDimensions.scroll.left+position.left-padding.left;}else if(alignToRight||position.right<padding.right){animations.scrollLeft=containerDimensions.scroll.left+Math.min(position.left-padding.left,-position.right+padding.right);}if(animations.scrollLeft!==undefined){animations.scrollLeft=OO.ui.Element.static.computeNativeScrollLeft(animations.scrollLeft,container);
}}if(!$.isEmptyObject(animations)){if(animate){$container.stop(true).animate(animations,{duration:config.duration===undefined?'fast':config.duration,always:deferred.resolve});}else{$container.stop(true);for(const method in animations){$container[method](animations[method]);}deferred.resolve();}}else{deferred.resolve();}return deferred.promise();};OO.ui.Element.static.reconsiderScrollbars=function(el){const scrollLeft=el.scrollLeft;const scrollTop=el.scrollTop;const nodes=[];while(el.firstChild){nodes.push(el.firstChild);el.removeChild(el.firstChild);}el.offsetHeight;for(let i=0,len=nodes.length;i<len;i++){el.appendChild(nodes[i]);}el.scrollLeft=scrollLeft;el.scrollTop=scrollTop;};OO.ui.Element.prototype.toggle=function(show){show=show===undefined?!this.visible:!!show;if(show!==this.isVisible()){this.visible=show;this.$element.toggleClass('oo-ui-element-hidden',!this.visible);this.emit('toggle',show);}return this;};OO.ui.Element.prototype.isVisible=function(){return this.visible;};OO.ui.Element.prototype.getData=function(){
return this.data;};OO.ui.Element.prototype.setData=function(data){this.data=data;return this;};OO.ui.Element.prototype.setElementId=function(id){this.elementId=id;this.$element.attr('id',id);return this;};OO.ui.Element.prototype.getElementId=function(){if(this.elementId===null){this.setElementId(OO.ui.generateElementId());}return this.elementId;};OO.ui.Element.prototype.supports=function(methods){if(!Array.isArray(methods)){return typeof this[methods]==='function';}return methods.every((method)=>typeof this[method]==='function');};OO.ui.Element.prototype.updateThemeClasses=function(){OO.ui.theme.queueUpdateElementClasses(this);};OO.ui.Element.prototype.getTagName=function(){return this.constructor.static.tagName;};OO.ui.Element.prototype.isElementAttached=function(){return this.$element[0].isConnected;};OO.ui.Element.prototype.getElementDocument=function(){return OO.ui.Element.static.getDocument(this.$element);};OO.ui.Element.prototype.getElementWindow=function(){return OO.ui.Element.static.getWindow(this.$element);
};OO.ui.Element.prototype.getClosestScrollableElementContainer=function(){return OO.ui.Element.static.getClosestScrollableContainer(this.$element[0]);};OO.ui.Element.prototype.getElementGroup=function(){return this.elementGroup;};OO.ui.Element.prototype.setElementGroup=function(group){this.elementGroup=group;return this;};OO.ui.Element.prototype.scrollElementIntoView=function(config){if(!this.isElementAttached()||!this.isVisible()||(this.getElementGroup()&&!this.getElementGroup().isVisible())){return $.Deferred().resolve();}return OO.ui.Element.static.scrollIntoView(this.$element[0],config);};OO.ui.Element.prototype.restorePreInfuseState=function(){};OO.ui.HtmlSnippet=function OoUiHtmlSnippet(content){this.content=content;};OO.initClass(OO.ui.HtmlSnippet);OO.ui.HtmlSnippet.prototype.toString=function(){return this.content;};OO.ui.Layout=function OoUiLayout(config){config=config||{};OO.ui.Layout.super.call(this,config);OO.EventEmitter.call(this);this.$element.addClass('oo-ui-layout');};
OO.inheritClass(OO.ui.Layout,OO.ui.Element);OO.mixinClass(OO.ui.Layout,OO.EventEmitter);OO.ui.Layout.prototype.resetScroll=function(){this.$element[0].scrollTop=0;OO.ui.Element.static.setScrollLeft(this.$element[0],0);return this;};OO.ui.Widget=function OoUiWidget(config){OO.ui.Widget.super.call(this,config);OO.EventEmitter.call(this);this.disabled=null;this.wasDisabled=null;this.$element.addClass('oo-ui-widget');this.setDisabled(config&&config.disabled);};OO.inheritClass(OO.ui.Widget,OO.ui.Element);OO.mixinClass(OO.ui.Widget,OO.EventEmitter);OO.ui.Widget.prototype.isDisabled=function(){return this.disabled;};OO.ui.Widget.prototype.setDisabled=function(disabled){this.disabled=!!disabled;const isDisabled=this.isDisabled();if(isDisabled!==this.wasDisabled){this.$element.toggleClass('oo-ui-widget-disabled',isDisabled);this.$element.toggleClass('oo-ui-widget-enabled',!isDisabled);this.$element.attr('aria-disabled',isDisabled?'true':null);this.emit('disable',isDisabled);this.updateThemeClasses();
this.wasDisabled=isDisabled;}return this;};OO.ui.Widget.prototype.updateDisabled=function(){this.setDisabled(this.disabled);return this;};OO.ui.Widget.prototype.getInputId=function(){return null;};OO.ui.Widget.prototype.simulateLabelClick=function(){};OO.ui.Widget.prototype.setLabelledBy=function(id){if(id){this.$element.attr('aria-labelledby',id);}else{this.$element.removeAttr('aria-labelledby');}};OO.ui.Theme=function OoUiTheme(){this.elementClassesQueue=[];this.debouncedUpdateQueuedElementClasses=OO.ui.debounce(this.updateQueuedElementClasses);};OO.initClass(OO.ui.Theme);OO.ui.Theme.prototype.getElementClasses=function(){return{on:[],off:[]};};OO.ui.Theme.prototype.updateElementClasses=function(element){const domElements=[];if(element.$icon){domElements.push(element.$icon[0]);}if(element.$indicator){domElements.push(element.$indicator[0]);}if(domElements.length){const classes=this.getElementClasses(element);$(domElements).removeClass(classes.off).addClass(classes.on);}};OO.ui.Theme.prototype.updateQueuedElementClasses=function(){
for(let i=0;i<this.elementClassesQueue.length;i++){this.updateElementClasses(this.elementClassesQueue[i]);}this.elementClassesQueue=[];};OO.ui.Theme.prototype.queueUpdateElementClasses=function(element){if(this.elementClassesQueue.lastIndexOf(element)!==-1){return;}this.elementClassesQueue.push(element);this.debouncedUpdateQueuedElementClasses();};OO.ui.Theme.prototype.getDialogTransitionDuration=function(){return 0;};OO.ui.mixin.TabIndexedElement=function OoUiMixinTabIndexedElement(config){config=Object.assign({tabIndex:0},config);this.$tabIndexed=null;this.tabIndex=null;this.connect(this,{disable:'onTabIndexedElementDisable'});this.setTabIndex(config.tabIndex);this.setTabIndexedElement(config.$tabIndexed||this.$element);};OO.initClass(OO.ui.mixin.TabIndexedElement);OO.ui.mixin.TabIndexedElement.prototype.setTabIndexedElement=function($tabIndexed){const tabIndex=this.tabIndex;this.setTabIndex(null);this.$tabIndexed=$tabIndexed;this.tabIndex=tabIndex;return this.updateTabIndex();};OO.ui.mixin.TabIndexedElement.prototype.setTabIndex=function(tabIndex){
tabIndex=/^-?\d+$/.test(tabIndex)?Number(tabIndex):null;if(this.tabIndex!==tabIndex){this.tabIndex=tabIndex;this.updateTabIndex();}return this;};OO.ui.mixin.TabIndexedElement.prototype.updateTabIndex=function(){if(this.$tabIndexed){if(this.tabIndex!==null){this.$tabIndexed.attr({tabindex:this.isDisabled()?-1:this.tabIndex,'aria-disabled':this.isDisabled()?'true':null});}else{this.$tabIndexed.removeAttr('tabindex aria-disabled');}}return this;};OO.ui.mixin.TabIndexedElement.prototype.onTabIndexedElementDisable=function(){this.updateTabIndex();};OO.ui.mixin.TabIndexedElement.prototype.getTabIndex=function(){return this.tabIndex;};OO.ui.mixin.TabIndexedElement.prototype.getInputId=function(){if(!this.$tabIndexed){return null;}if(!this.isLabelableNode(this.$tabIndexed)){return null;}let id=this.$tabIndexed.attr('id');if(id===undefined){id=OO.ui.generateElementId();this.$tabIndexed.attr('id',id);}return id;};OO.ui.mixin.TabIndexedElement.prototype.setLabelledBy=function(id){if(!this.$tabIndexed){
return;}if(id){this.$tabIndexed.attr('aria-labelledby',id);}else{this.$tabIndexed.removeAttr('aria-labelledby');}};OO.ui.mixin.TabIndexedElement.prototype.isLabelableNode=function($node){const labelableTags=['button','meter','output','progress','select','textarea'],tagName=($node.prop('tagName')||'').toLowerCase();if(tagName==='input'&&$node.attr('type')!=='hidden'){return true;}if(labelableTags.includes(tagName)){return true;}return false;};OO.ui.mixin.TabIndexedElement.prototype.focus=function(){if(!this.isDisabled()){this.$tabIndexed.trigger('focus');}return this;};OO.ui.mixin.TabIndexedElement.prototype.blur=function(){this.$tabIndexed.trigger('blur');return this;};OO.ui.mixin.TabIndexedElement.prototype.simulateLabelClick=function(){this.focus();};OO.ui.mixin.ButtonElement=function OoUiMixinButtonElement(config){config=config||{};this.$button=null;this.framed=null;this.size=null;this.active=config.active!==undefined&&config.active;this.onDocumentMouseUpHandler=this.onDocumentMouseUp.bind(this);
this.onMouseDownHandler=this.onMouseDown.bind(this);this.onDocumentKeyUpHandler=this.onDocumentKeyUp.bind(this);this.onKeyDownHandler=this.onKeyDown.bind(this);this.onClickHandler=this.onClick.bind(this);this.onKeyPressHandler=this.onKeyPress.bind(this);this.$element.addClass('oo-ui-buttonElement');this.toggleFramed(config.framed===undefined||config.framed);this.setSize(config.size||'medium');this.setButtonElement(config.$button||$('<a>'));};OO.initClass(OO.ui.mixin.ButtonElement);OO.ui.mixin.ButtonElement.static.cancelButtonMouseDownEvents=true;OO.ui.mixin.ButtonElement.prototype.setButtonElement=function($button){if(this.$button){this.$button.removeClass('oo-ui-buttonElement-button').removeAttr('role accesskey').off({mousedown:this.onMouseDownHandler,keydown:this.onKeyDownHandler,click:this.onClickHandler,keypress:this.onKeyPressHandler});}this.$button=$button.addClass('oo-ui-buttonElement-button').on({mousedown:this.onMouseDownHandler,keydown:this.onKeyDownHandler,click:this.onClickHandler,
keypress:this.onKeyPressHandler});if(this.$button.prop('tagName').toUpperCase()==='A'){this.$button.attr('role','button');}};OO.ui.mixin.ButtonElement.prototype.onMouseDown=function(e){if(this.isDisabled()||e.which!==OO.ui.MouseButtons.LEFT){return;}this.$element.addClass('oo-ui-buttonElement-pressed');this.getElementDocument().addEventListener('mouseup',this.onDocumentMouseUpHandler,true);if(this.constructor.static.cancelButtonMouseDownEvents){return false;}};OO.ui.mixin.ButtonElement.prototype.onDocumentMouseUp=function(e){if(e.target===document.documentElement){return;}if(this.isDisabled()||e.which!==OO.ui.MouseButtons.LEFT){return;}this.$element.removeClass('oo-ui-buttonElement-pressed');this.getElementDocument().removeEventListener('mouseup',this.onDocumentMouseUpHandler,true);};OO.ui.mixin.ButtonElement.prototype.onClick=function(e){if(!this.isDisabled()&&e.which===OO.ui.MouseButtons.LEFT){if(this.emit('click')){return false;}}};OO.ui.mixin.ButtonElement.prototype.onKeyDown=function(e){
if(this.isDisabled()||(e.which!==OO.ui.Keys.SPACE&&e.which!==OO.ui.Keys.ENTER)){return;}this.$element.addClass('oo-ui-buttonElement-pressed');this.getElementDocument().addEventListener('keyup',this.onDocumentKeyUpHandler,true);};OO.ui.mixin.ButtonElement.prototype.onDocumentKeyUp=function(e){if(this.isDisabled()||(e.which!==OO.ui.Keys.SPACE&&e.which!==OO.ui.Keys.ENTER)){return;}this.$element.removeClass('oo-ui-buttonElement-pressed');this.getElementDocument().removeEventListener('keyup',this.onDocumentKeyUpHandler,true);};OO.ui.mixin.ButtonElement.prototype.onKeyPress=function(e){if(!this.isDisabled()&&(e.which===OO.ui.Keys.SPACE||e.which===OO.ui.Keys.ENTER)){if(this.emit('click')){return false;}}};OO.ui.mixin.ButtonElement.prototype.isFramed=function(){return this.framed;};OO.ui.mixin.ButtonElement.prototype.toggleFramed=function(framed){framed=framed===undefined?!this.framed:!!framed;if(framed!==this.framed){this.framed=framed;this.$element.toggleClass('oo-ui-buttonElement-frameless',!framed)
.toggleClass('oo-ui-buttonElement-framed',framed);this.updateThemeClasses();this.setSize(this.size||'medium');}return this;};OO.ui.mixin.ButtonElement.prototype.getSize=function(){return this.size;};OO.ui.mixin.ButtonElement.prototype.setSize=function(size){if(!this.framed){size='medium';}if(size!==this.size){this.size=size;this.$element.toggleClass('oo-ui-buttonElement-size-small',size==='small').toggleClass('oo-ui-buttonElement-size-medium',size==='medium').toggleClass('oo-ui-buttonElement-size-large',size==='large');this.updateThemeClasses();}return this;};OO.ui.mixin.ButtonElement.prototype.setActive=function(value){this.active=!!value;this.$element.toggleClass('oo-ui-buttonElement-active',this.active);this.updateThemeClasses();return this;};OO.ui.mixin.ButtonElement.prototype.isActive=function(){return this.active;};OO.ui.mixin.GroupElement=function OoUiMixinGroupElement(config){config=config||{};OO.EmitterList.call(this,config);this.$group=null;this.setGroupElement(config.$group||$('<div>'));
};OO.mixinClass(OO.ui.mixin.GroupElement,OO.EmitterList);OO.ui.mixin.GroupElement.prototype.setGroupElement=function($group){this.$group=$group;for(let i=0,len=this.items.length;i<len;i++){this.$group.append(this.items[i].$element);}};OO.ui.mixin.GroupElement.prototype.findItemFromData=function(data){const hash=OO.getHash(data);for(let i=0,len=this.items.length;i<len;i++){const item=this.items[i];if(hash===OO.getHash(item.getData())){return item;}}return null;};OO.ui.mixin.GroupElement.prototype.findItemsFromData=function(data){const hash=OO.getHash(data),items=[];for(let i=0,len=this.items.length;i<len;i++){const item=this.items[i];if(hash===OO.getHash(item.getData())){items.push(item);}}return items;};OO.ui.mixin.GroupElement.prototype.addItems=function(items,index){if(!items||items.length===0){return this;}OO.EmitterList.prototype.addItems.call(this,items,index);this.emit('change',this.getItems());return this;};OO.ui.mixin.GroupElement.prototype.moveItem=function(items,newIndex){
this.insertItemElements(items,newIndex);newIndex=OO.EmitterList.prototype.moveItem.call(this,items,newIndex);return newIndex;};OO.ui.mixin.GroupElement.prototype.insertItem=function(item,index){item.setElementGroup(this);this.insertItemElements(item,index);index=OO.EmitterList.prototype.insertItem.call(this,item,index);return index;};OO.ui.mixin.GroupElement.prototype.insertItemElements=function(item,index){if(index===undefined||index<0||index>=this.items.length){this.$group.append(item.$element);}else if(index===0){this.$group.prepend(item.$element);}else{this.items[index].$element.before(item.$element);}};OO.ui.mixin.GroupElement.prototype.removeItems=function(items){if(items.length===0){return this;}for(let i=0,len=items.length;i<len;i++){const item=items[i];const index=this.items.indexOf(item);if(index!==-1){item.setElementGroup(null);item.$element.detach();}}OO.EmitterList.prototype.removeItems.call(this,items);this.emit('change',this.getItems());return this;};OO.ui.mixin.GroupElement.prototype.clearItems=function(){
for(let i=0,len=this.items.length;i<len;i++){this.items[i].setElementGroup(null);this.items[i].$element.detach();}OO.EmitterList.prototype.clearItems.call(this);this.emit('change',this.getItems());return this;};OO.ui.mixin.LabelElement=function OoUiMixinLabelElement(config){config=config||{};this.$label=null;this.label=null;this.invisibleLabel=false;this.setLabel(config.label||this.constructor.static.label);this.setLabelElement(config.$label||$('<span>'));this.setInvisibleLabel(config.invisibleLabel);};OO.initClass(OO.ui.mixin.LabelElement);OO.ui.mixin.LabelElement.static.label=null;OO.ui.mixin.LabelElement.static.highlightQuery=function(text,query,compare,combineMarks){let offset=-1,comboLength=0,comboMarks='',comboRegex,comboMatch;const $result=$('<span>');if(compare){const tLen=text.length;const qLen=query.length;for(let i=0;offset===-1&&i<=tLen-qLen;i++){if(compare(query,text.slice(i,i+qLen))===0){offset=i;}}}else{offset=text.toLowerCase().indexOf(query.toLowerCase());}if(!query.length||offset===-1){
$result.text(text);}else{if(combineMarks){comboMarks='[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]';
comboRegex=new RegExp('(^)'+comboMarks+'*');comboMatch=text.slice(offset+query.length).match(comboRegex);if(comboMatch&&comboMatch.length){comboLength=comboMatch[0].length;}}$result.append(document.createTextNode(text.slice(0,offset)),$('<span>').addClass('oo-ui-labelElement-label-highlight').text(text.slice(offset,offset+query.length+comboLength)),document.createTextNode(text.slice(offset+query.length+comboLength)));}return $result.contents();};OO.ui.mixin.LabelElement.prototype.setLabelElement=function($label){if(this.$label){this.$label.removeClass('oo-ui-labelElement-label').empty();}this.$label=$label.addClass('oo-ui-labelElement-label');this.setLabelContent(this.label);return this;};OO.ui.mixin.LabelElement.prototype.setLabelId=function(id){this.$label.attr('id',id);return this;};OO.ui.mixin.LabelElement.prototype.setLabel=function(label){label=OO.ui.resolveMsg(label);label=((typeof label==='string'||label instanceof $)&&label.length)||(label instanceof OO.ui.HtmlSnippet&&label.toString().length)?label:null;
if(this.label!==label){if(this.$label){this.setLabelContent(label);}this.label=label;this.$element.toggleClass('oo-ui-labelElement',!!this.label&&!this.invisibleLabel);this.emit('labelChange');}return this;};OO.ui.mixin.LabelElement.prototype.setInvisibleLabel=function(invisibleLabel){invisibleLabel=!!invisibleLabel;if(this.invisibleLabel!==invisibleLabel){this.invisibleLabel=invisibleLabel;this.$label.toggleClass('oo-ui-labelElement-invisible',this.invisibleLabel);this.$element.toggleClass('oo-ui-labelElement',!!this.label&&!this.invisibleLabel);this.emit('labelChange');}return this;};OO.ui.mixin.LabelElement.prototype.setHighlightedQuery=function(text,query,compare,combineMarks){return this.setLabel(this.constructor.static.highlightQuery(text,query,compare,combineMarks));};OO.ui.mixin.LabelElement.prototype.getLabel=function(){return this.label;};OO.ui.mixin.LabelElement.prototype.setLabelContent=function(label){if(typeof label==='string'){if(label.match(/^\s*$/)){this.$label.html('&nbsp;');
}else{this.$label.text(label);}}else if(label instanceof OO.ui.HtmlSnippet){this.$label.html(label.toString());}else if(label instanceof $){this.$label.empty().append(label);}else{this.$label.empty();}};OO.ui.mixin.IconElement=function OoUiMixinIconElement(config){config=config||{};this.$icon=null;this.icon=null;this.setIcon(config.icon||this.constructor.static.icon);this.setIconElement(config.$icon||$('<span>'));};OO.initClass(OO.ui.mixin.IconElement);OO.ui.mixin.IconElement.static.icon=null;OO.ui.mixin.IconElement.static.iconTitle=null;OO.ui.mixin.IconElement.prototype.setIconElement=function($icon){if(this.$icon){this.$icon.removeClass('oo-ui-iconElement-icon oo-ui-icon-'+this.icon).removeAttr('title');}this.$icon=$icon.addClass('oo-ui-iconElement-icon').toggleClass('oo-ui-iconElement-noIcon',!this.icon).toggleClass('oo-ui-icon-'+this.icon,!!this.icon);if(this.iconTitle!==null){this.$icon.attr('title',this.iconTitle);}this.updateThemeClasses();};OO.ui.mixin.IconElement.prototype.setIcon=function(icon){
if(icon&&typeof icon!=='string'){icon=OO.ui.getLocalValue(icon,null,'default');}if(this.icon===icon){return this;}this.$element.toggleClass('oo-ui-iconElement',!!icon);if(this.$icon){if(this.icon){this.$icon.removeClass('oo-ui-icon-'+this.icon);}if(icon){this.$icon.addClass('oo-ui-icon-'+icon);}this.$icon.toggleClass('oo-ui-iconElement-noIcon',!icon);}this.icon=icon;this.updateThemeClasses();return this;};OO.ui.mixin.IconElement.prototype.getIcon=function(){return this.icon;};OO.ui.mixin.IndicatorElement=function OoUiMixinIndicatorElement(config){config=config||{};this.$indicator=null;this.indicator=null;this.setIndicator(config.indicator||this.constructor.static.indicator);this.setIndicatorElement(config.$indicator||$('<span>'));};OO.initClass(OO.ui.mixin.IndicatorElement);OO.ui.mixin.IndicatorElement.static.indicator=null;OO.ui.mixin.IndicatorElement.static.indicatorTitle=null;OO.ui.mixin.IndicatorElement.prototype.setIndicatorElement=function($indicator){if(this.$indicator){this.$indicator
.removeClass('oo-ui-indicatorElement-indicator oo-ui-indicator-'+this.indicator).removeAttr('title');}this.$indicator=$indicator.addClass('oo-ui-indicatorElement-indicator').toggleClass('oo-ui-indicatorElement-noIndicator',!this.indicator).toggleClass('oo-ui-indicator-'+this.indicator,!!this.indicator);if(this.indicatorTitle!==null){this.$indicator.attr('title',this.indicatorTitle);}this.updateThemeClasses();};OO.ui.mixin.IndicatorElement.prototype.setIndicator=function(indicator){indicator=typeof indicator==='string'&&indicator.length?indicator.trim():null;if(this.indicator!==indicator){if(this.$indicator){if(this.indicator!==null){this.$indicator.removeClass('oo-ui-indicator-'+this.indicator);}if(indicator!==null){this.$indicator.addClass('oo-ui-indicator-'+indicator);}}this.indicator=indicator;}this.$element.toggleClass('oo-ui-indicatorElement',!!this.indicator);if(this.$indicator){this.$indicator.toggleClass('oo-ui-indicatorElement-noIndicator',!this.indicator);}this.updateThemeClasses();
return this;};OO.ui.mixin.IndicatorElement.prototype.getIndicator=function(){return this.indicator;};OO.ui.mixin.FlaggedElement=function OoUiMixinFlaggedElement(config){config=config||{};this.flags={};this.$flagged=null;this.setFlags(config.flags||this.constructor.static.flags);this.setFlaggedElement(config.$flagged||this.$element);};OO.initClass(OO.ui.mixin.FlaggedElement);OO.ui.mixin.FlaggedElement.static.flags=null;OO.ui.mixin.FlaggedElement.prototype.setFlaggedElement=function($flagged){const classNames=Object.keys(this.flags).map((flag)=>'oo-ui-flaggedElement-'+flag);if(this.$flagged){this.$flagged.removeClass(classNames);}this.$flagged=$flagged.addClass(classNames);};OO.ui.mixin.FlaggedElement.prototype.hasFlag=function(flag){return this.flags&&(flag in this.flags);};OO.ui.mixin.FlaggedElement.prototype.getFlags=function(){return Object.keys(this.flags||{});};OO.ui.mixin.FlaggedElement.prototype.clearFlags=function(){const changes={},remove=[],classPrefix='oo-ui-flaggedElement-';
for(const flag in this.flags){const className=classPrefix+flag;changes[flag]=false;delete this.flags[flag];remove.push(className);}if(this.$flagged){this.$flagged.removeClass(remove);}this.updateThemeClasses();this.emit('flag',changes);return this;};OO.ui.mixin.FlaggedElement.prototype.setFlags=function(flags){const changes={},add=[],remove=[],classPrefix='oo-ui-flaggedElement-';let className,flag;if(typeof flags==='string'){className=classPrefix+flags;if(!this.flags[flags]){this.flags[flags]=true;add.push(className);}}else if(Array.isArray(flags)){for(let i=0,len=flags.length;i<len;i++){flag=flags[i];className=classPrefix+flag;if(!this.flags[flag]){changes[flag]=true;this.flags[flag]=true;add.push(className);}}}else if(OO.isPlainObject(flags)){for(flag in flags){className=classPrefix+flag;if(flags[flag]){if(!this.flags[flag]){changes[flag]=true;this.flags[flag]=true;add.push(className);}}else{if(this.flags[flag]){changes[flag]=false;delete this.flags[flag];remove.push(className);}}}}
if(this.$flagged){this.$flagged.addClass(add).removeClass(remove);}this.updateThemeClasses();this.emit('flag',changes);return this;};OO.ui.mixin.TitledElement=function OoUiMixinTitledElement(config){config=config||{};this.$titled=null;this.title=null;let title=config.title!==undefined?config.title:this.constructor.static.title;if(title===null&&config.invisibleLabel&&typeof config.label==='string'){title=config.label;}this.setTitle(title);this.setTitledElement(config.$titled||this.$element);};OO.initClass(OO.ui.mixin.TitledElement);OO.ui.mixin.TitledElement.static.title=null;OO.ui.mixin.TitledElement.prototype.setTitledElement=function($titled){if(this.$titled){this.$titled.removeAttr('title');}this.$titled=$titled;this.updateTitle();};OO.ui.mixin.TitledElement.prototype.setTitle=function(title){title=OO.ui.resolveMsg(title);title=typeof title==='string'?title:null;if(this.title!==title){this.title=title;this.updateTitle();}return this;};OO.ui.mixin.TitledElement.prototype.updateTitle=function(){
let title=this.getTitle();if(this.$titled){if(title!==null){if(this.formatTitleWithAccessKey){title=this.formatTitleWithAccessKey(title);}this.$titled.attr('title',title);}else{this.$titled.removeAttr('title');}}return this;};OO.ui.mixin.TitledElement.prototype.getTitle=function(){return this.title;};OO.ui.mixin.AccessKeyedElement=function OoUiMixinAccessKeyedElement(config){config=config||{};this.$accessKeyed=null;this.accessKey=null;this.setAccessKey(config.accessKey||null);this.setAccessKeyedElement(config.$accessKeyed||this.$element);if(this.updateTitle){this.updateTitle();}};OO.initClass(OO.ui.mixin.AccessKeyedElement);OO.ui.mixin.AccessKeyedElement.static.accessKey=null;OO.ui.mixin.AccessKeyedElement.prototype.setAccessKeyedElement=function($accessKeyed){if(this.$accessKeyed){this.$accessKeyed.removeAttr('accesskey');}this.$accessKeyed=$accessKeyed;if(this.accessKey){this.$accessKeyed.attr('accesskey',this.accessKey);}};OO.ui.mixin.AccessKeyedElement.prototype.setAccessKey=function(accessKey){
accessKey=OO.ui.resolveMsg(accessKey);accessKey=typeof accessKey==='string'?accessKey:null;if(this.accessKey!==accessKey){if(this.$accessKeyed){if(accessKey!==null){this.$accessKeyed.attr('accesskey',accessKey);}else{this.$accessKeyed.removeAttr('accesskey');}}this.accessKey=accessKey;if(this.updateTitle){this.updateTitle();}}return this;};OO.ui.mixin.AccessKeyedElement.prototype.getAccessKey=function(){return this.accessKey;};OO.ui.mixin.AccessKeyedElement.prototype.formatTitleWithAccessKey=function(title){if(!this.$accessKeyed){return title;}let accessKey;if($.fn.updateTooltipAccessKeys&&$.fn.updateTooltipAccessKeys.getAccessKeyLabel){accessKey=$.fn.updateTooltipAccessKeys.getAccessKeyLabel(this.$accessKeyed[0]);}else{accessKey=this.getAccessKey();}if(accessKey){title+=' ['+accessKey+']';}return title;};OO.ui.mixin.RequiredElement=function OoUiMixinRequiredElement(config){config=config||{};this.$required=config.$required||this.$input||this.$element;this.required=false;this.indicatorElement=config.indicatorElement!==undefined?config.indicatorElement:this;
if(this.indicatorElement&&!this.indicatorElement.getIndicator){throw new Error('config.indicatorElement must mixin OO.ui.mixin.IndicatorElement.');}this.setRequired(!!config.required);};OO.initClass(OO.ui.mixin.RequiredElement);OO.ui.mixin.RequiredElement.prototype.setRequiredElement=function($required){if(this.$required===$required){return;}if(this.$required&&this.required){this.updateRequiredElement(false);}this.$required=$required;this.updateRequiredElement();};OO.ui.mixin.RequiredElement.prototype.updateRequiredElement=function(state){if(state===undefined){state=this.required;}this.$required.prop('required',state);};OO.ui.mixin.RequiredElement.prototype.isRequired=function(){return this.required;};OO.ui.mixin.RequiredElement.prototype.setRequired=function(state){if(this.required===state){return this;}this.required=!!state;this.updateRequiredElement();if(this.indicatorElement){const expected=state?null:'required';if(this.indicatorElement.getIndicator()===expected){this.indicatorElement.setIndicator(state?'required':null);
}}return this;};OO.ui.ButtonWidget=function OoUiButtonWidget(config){config=config||{};OO.ui.ButtonWidget.super.call(this,config);OO.ui.mixin.ButtonElement.call(this,config);OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.IndicatorElement.call(this,config);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.TitledElement.call(this,Object.assign({$titled:this.$button},config));OO.ui.mixin.FlaggedElement.call(this,config);OO.ui.mixin.TabIndexedElement.call(this,Object.assign({$tabIndexed:this.$button},config));OO.ui.mixin.AccessKeyedElement.call(this,Object.assign({$accessKeyed:this.$button},config));this.href=null;this.target=null;this.noFollow=false;this.rel=[];this.connect(this,{disable:'onDisable'});this.$button.append(this.$icon,this.$label,this.$indicator);this.$element.addClass('oo-ui-buttonWidget').append(this.$button);this.setActive(config.active);this.setHref(config.href);this.setTarget(config.target);if(config.rel!==undefined){this.setRel(config.rel);}else{this.setNoFollow(config.noFollow);
}};OO.inheritClass(OO.ui.ButtonWidget,OO.ui.Widget);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.ButtonElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.IndicatorElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.TitledElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.FlaggedElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.TabIndexedElement);OO.mixinClass(OO.ui.ButtonWidget,OO.ui.mixin.AccessKeyedElement);OO.ui.ButtonWidget.static.cancelButtonMouseDownEvents=false;OO.ui.ButtonWidget.static.tagName='span';OO.ui.ButtonWidget.prototype.getHref=function(){return this.href;};OO.ui.ButtonWidget.prototype.getTarget=function(){return this.target;};OO.ui.ButtonWidget.prototype.getNoFollow=function(){return this.noFollow;};OO.ui.ButtonWidget.prototype.getRel=function(){return this.rel;};OO.ui.ButtonWidget.prototype.setHref=function(href){href=typeof href==='string'?href:null;
if(href!==null&&!OO.ui.isSafeUrl(href)){href='./'+href;}if(href!==this.href){this.href=href;this.updateHref();}return this;};OO.ui.ButtonWidget.prototype.updateHref=function(){if(this.href!==null&&!this.isDisabled()){this.$button.attr('href',this.href);}else{this.$button.removeAttr('href');}return this;};OO.ui.ButtonWidget.prototype.onDisable=function(){this.updateHref();};OO.ui.ButtonWidget.prototype.setTarget=function(target){target=typeof target==='string'?target:null;if(target!==this.target){this.target=target;if(target!==null){this.$button.attr('target',target);}else{this.$button.removeAttr('target');}}return this;};OO.ui.ButtonWidget.prototype.setNoFollow=function(noFollow){noFollow=typeof noFollow==='boolean'?noFollow:true;if(noFollow!==this.noFollow){let rel;if(noFollow){rel=this.rel.concat(['nofollow']);}else{rel=this.rel.filter((value)=>value!=='nofollow');}this.setRel(rel);}return this;};OO.ui.ButtonWidget.prototype.setRel=function(rel){if(!Array.isArray(rel)){rel=rel?[rel]:[];
}this.rel=rel;this.noFollow=rel.includes('nofollow');this.$button.attr('rel',rel.join(' ')||null);return this;};OO.ui.ButtonGroupWidget=function OoUiButtonGroupWidget(config){config=config||{};OO.ui.ButtonGroupWidget.super.call(this,config);OO.ui.mixin.GroupElement.call(this,Object.assign({$group:this.$element},config));OO.ui.mixin.TitledElement.call(this,config);this.$element.addClass('oo-ui-buttonGroupWidget');this.addItems(config.items||[]);};OO.inheritClass(OO.ui.ButtonGroupWidget,OO.ui.Widget);OO.mixinClass(OO.ui.ButtonGroupWidget,OO.ui.mixin.GroupElement);OO.mixinClass(OO.ui.ButtonGroupWidget,OO.ui.mixin.TitledElement);OO.ui.ButtonGroupWidget.static.tagName='span';OO.ui.ButtonGroupWidget.prototype.focus=function(){if(!this.isDisabled()){if(this.items[0]){this.items[0].focus();}}return this;};OO.ui.ButtonGroupWidget.prototype.simulateLabelClick=function(){this.focus();};OO.ui.IconWidget=function OoUiIconWidget(config){config=config||{};OO.ui.IconWidget.super.call(this,config);OO.ui.mixin.IconElement.call(this,Object.assign({
$icon:this.$element},config));OO.ui.mixin.TitledElement.call(this,Object.assign({$titled:this.$element},config));OO.ui.mixin.LabelElement.call(this,Object.assign({$label:this.$element,invisibleLabel:true},config));OO.ui.mixin.FlaggedElement.call(this,Object.assign({$flagged:this.$element},config));this.$element.addClass('oo-ui-iconWidget');this.$element.removeClass('oo-ui-labelElement-label');};OO.inheritClass(OO.ui.IconWidget,OO.ui.Widget);OO.mixinClass(OO.ui.IconWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.IconWidget,OO.ui.mixin.TitledElement);OO.mixinClass(OO.ui.IconWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.IconWidget,OO.ui.mixin.FlaggedElement);OO.ui.IconWidget.static.tagName='span';OO.ui.IndicatorWidget=function OoUiIndicatorWidget(config){config=config||{};OO.ui.IndicatorWidget.super.call(this,config);OO.ui.mixin.IndicatorElement.call(this,Object.assign({$indicator:this.$element},config));OO.ui.mixin.TitledElement.call(this,Object.assign({$titled:this.$element},config));
OO.ui.mixin.LabelElement.call(this,Object.assign({$label:this.$element,invisibleLabel:true},config));this.$element.addClass('oo-ui-indicatorWidget');this.$element.removeClass('oo-ui-labelElement-label');};OO.inheritClass(OO.ui.IndicatorWidget,OO.ui.Widget);OO.mixinClass(OO.ui.IndicatorWidget,OO.ui.mixin.IndicatorElement);OO.mixinClass(OO.ui.IndicatorWidget,OO.ui.mixin.TitledElement);OO.mixinClass(OO.ui.IndicatorWidget,OO.ui.mixin.LabelElement);OO.ui.IndicatorWidget.static.tagName='span';OO.ui.LabelWidget=function OoUiLabelWidget(config){config=config||{};OO.ui.LabelWidget.super.call(this,config);OO.ui.mixin.LabelElement.call(this,Object.assign({$label:this.$element},config));OO.ui.mixin.TitledElement.call(this,config);this.input=config.input;if(this.input){if(this.input.getInputId()){this.$element.attr('for',this.input.getInputId());}else{this.$label.on('click',()=>{this.input.simulateLabelClick();});}}this.$element.addClass('oo-ui-labelWidget');};OO.inheritClass(OO.ui.LabelWidget,OO.ui.Widget);
OO.mixinClass(OO.ui.LabelWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.LabelWidget,OO.ui.mixin.TitledElement);OO.ui.LabelWidget.static.tagName='label';OO.ui.MessageWidget=function OoUiMessageWidget(config){config=config||{};OO.ui.MessageWidget.super.call(this,config);OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.TitledElement.call(this,config);OO.ui.mixin.FlaggedElement.call(this,config);this.setType(config.type);this.setInline(config.inline);if(config.icon){this.setIcon(config.icon);}if(!this.inline&&config.showClose){this.closeButton=new OO.ui.ButtonWidget({classes:['oo-ui-messageWidget-close'],framed:false,icon:'close',label:OO.ui.msg('ooui-popup-widget-close-button-aria-label'),invisibleLabel:true});this.closeButton.connect(this,{click:'onCloseButtonClick'});this.$element.addClass('oo-ui-messageWidget-showClose');}this.$element.append(this.$icon,this.$label,this.closeButton&&this.closeButton.$element).addClass('oo-ui-messageWidget');
};OO.inheritClass(OO.ui.MessageWidget,OO.ui.Widget);OO.mixinClass(OO.ui.MessageWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.MessageWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.MessageWidget,OO.ui.mixin.TitledElement);OO.mixinClass(OO.ui.MessageWidget,OO.ui.mixin.FlaggedElement);OO.ui.MessageWidget.static.iconMap={notice:'infoFilled',error:'error',warning:'alert',success:'success'};OO.ui.MessageWidget.prototype.setInline=function(inline){inline=!!inline;if(this.inline!==inline){this.inline=inline;this.$element.toggleClass('oo-ui-messageWidget-block',!this.inline);}};OO.ui.MessageWidget.prototype.setType=function(type){if(!this.constructor.static.iconMap[type]){type='notice';}if(this.type!==type){this.clearFlags();this.setFlags(type);this.setIcon(this.constructor.static.iconMap[type]);this.$icon.removeClass('oo-ui-image-'+this.type);this.$icon.addClass('oo-ui-image-'+type);if(type==='error'){this.$element.attr('role','alert');this.$element.removeAttr('aria-live');}else{
this.$element.removeAttr('role');this.$element.attr('aria-live','polite');}this.type=type;}};OO.ui.MessageWidget.prototype.onCloseButtonClick=function(){this.toggle(false);this.emit('close');};OO.ui.ToggleWidget=function OoUiToggleWidget(config){config=config||{};OO.ui.ToggleWidget.super.call(this,config);OO.ui.mixin.TitledElement.call(this,config);this.value=null;this.$element.addClass('oo-ui-toggleWidget');this.setValue(!!config.value);};OO.inheritClass(OO.ui.ToggleWidget,OO.ui.Widget);OO.mixinClass(OO.ui.ToggleWidget,OO.ui.mixin.TitledElement);OO.ui.ToggleWidget.prototype.getValue=function(){return this.value;};OO.ui.ToggleWidget.prototype.setValue=function(value){value=!!value;if(this.value!==value){this.value=value;this.emit('change',value);this.$element.toggleClass('oo-ui-toggleWidget-on',value);this.$element.toggleClass('oo-ui-toggleWidget-off',!value);}return this;};OO.ui.ToggleSwitchWidget=function OoUiToggleSwitchWidget(config){OO.ui.ToggleSwitchWidget.super.call(this,config);
OO.ui.mixin.TabIndexedElement.call(this,config);this.dragging=false;this.dragStart=null;this.sliding=false;this.$glow=$('<span>');this.$grip=$('<span>');this.$element.on({click:this.onClick.bind(this),keypress:this.onKeyPress.bind(this)});this.$glow.addClass('oo-ui-toggleSwitchWidget-glow');this.$grip.addClass('oo-ui-toggleSwitchWidget-grip');this.$element.addClass('oo-ui-toggleSwitchWidget').attr('role','switch').append(this.$glow,this.$grip);};OO.inheritClass(OO.ui.ToggleSwitchWidget,OO.ui.ToggleWidget);OO.mixinClass(OO.ui.ToggleSwitchWidget,OO.ui.mixin.TabIndexedElement);OO.ui.ToggleSwitchWidget.prototype.onClick=function(e){if(!this.isDisabled()&&e.which===OO.ui.MouseButtons.LEFT){this.setValue(!this.value);}return false;};OO.ui.ToggleSwitchWidget.prototype.onKeyPress=function(e){if(!this.isDisabled()&&(e.which===OO.ui.Keys.SPACE||e.which===OO.ui.Keys.ENTER)){this.setValue(!this.value);return false;}};OO.ui.ToggleSwitchWidget.prototype.setValue=function(value){OO.ui.ToggleSwitchWidget.super.prototype.setValue.call(this,value);
this.$element.attr('aria-checked',this.value.toString());return this;};OO.ui.ToggleSwitchWidget.prototype.simulateLabelClick=function(){if(!this.isDisabled()){this.setValue(!this.value);}this.focus();};OO.ui.mixin.PendingElement=function OoUiMixinPendingElement(config){config=config||{};this.pending=0;this.$pending=null;this.setPendingElement(config.$pending||this.$element);};OO.initClass(OO.ui.mixin.PendingElement);OO.ui.mixin.PendingElement.prototype.setPendingElement=function($pending){if(this.$pending){this.$pending.removeClass('oo-ui-pendingElement-pending');}this.$pending=$pending;if(this.pending>0){this.$pending.addClass('oo-ui-pendingElement-pending');}};OO.ui.mixin.PendingElement.prototype.isPending=function(){return!!this.pending;};OO.ui.mixin.PendingElement.prototype.pushPending=function(){if(this.pending===0){this.$pending.addClass('oo-ui-pendingElement-pending');this.updateThemeClasses();}this.pending++;return this;};OO.ui.mixin.PendingElement.prototype.popPending=function(){
if(this.pending===1){this.$pending.removeClass('oo-ui-pendingElement-pending');this.updateThemeClasses();}this.pending=Math.max(0,this.pending-1);return this;};OO.ui.mixin.FloatableElement=function OoUiMixinFloatableElement(config){config=config||{};this.$floatable=null;this.$floatableContainer=null;this.$floatableWindow=null;this.$floatableClosestScrollable=null;this.floatableOutOfView=false;this.onFloatableScrollHandler=this.position.bind(this);this.onFloatableWindowResizeHandler=this.position.bind(this);this.setFloatableContainer(config.$floatableContainer);this.setFloatableElement(config.$floatable||this.$element);this.setVerticalPosition(config.verticalPosition||'below');this.setHorizontalPosition(config.horizontalPosition||'start');this.spacing=config.spacing||0;this.hideWhenOutOfView=config.hideWhenOutOfView===undefined?true:!!config.hideWhenOutOfView;};OO.ui.mixin.FloatableElement.prototype.setFloatableElement=function($floatable){if(this.$floatable){this.$floatable.removeClass('oo-ui-floatableElement-floatable');
this.$floatable.css({top:'',left:'',bottom:'',right:''});}this.$floatable=$floatable.addClass('oo-ui-floatableElement-floatable');this.position();};OO.ui.mixin.FloatableElement.prototype.setFloatableContainer=function($floatableContainer){this.$floatableContainer=$floatableContainer;if(this.$floatable){this.position();}};OO.ui.mixin.FloatableElement.prototype.setVerticalPosition=function(position){if(!['below','above','top','bottom','center'].includes(position)){throw new Error('Invalid value for vertical position: '+position);}if(this.verticalPosition!==position){this.verticalPosition=position;if(this.$floatable){this.position();}}};OO.ui.mixin.FloatableElement.prototype.setHorizontalPosition=function(position){if(!['before','after','start','end','center'].includes(position)){throw new Error('Invalid value for horizontal position: '+position);}if(this.horizontalPosition!==position){this.horizontalPosition=position;if(this.$floatable){this.position();}}};OO.ui.mixin.FloatableElement.prototype.togglePositioning=function(positioning){
if(!this.$floatable||!this.$floatableContainer){return this;}positioning=positioning===undefined?!this.positioning:!!positioning;if(positioning&&!this.warnedUnattached&&!this.isElementAttached()){OO.ui.warnDeprecation('FloatableElement#togglePositioning: Before calling this method, the element must be attached to the DOM.');this.warnedUnattached=true;}if(this.positioning!==positioning){this.positioning=positioning;let closestScrollableOfContainer=OO.ui.Element.static.getClosestScrollableContainer(this.$floatableContainer[0]);if($(closestScrollableOfContainer).is('html, body')){closestScrollableOfContainer=OO.ui.Element.static.getWindow(closestScrollableOfContainer);}if(positioning){this.$floatableWindow=$(this.getElementWindow());this.$floatableWindow.on('resize',this.onFloatableWindowResizeHandler);this.$floatableClosestScrollable=$(closestScrollableOfContainer);this.$floatableClosestScrollable.on('scroll',this.onFloatableScrollHandler);this.position();}else{if(this.$floatableWindow){
this.$floatableWindow.off('resize',this.onFloatableWindowResizeHandler);this.$floatableWindow=null;}if(this.$floatableClosestScrollable){this.$floatableClosestScrollable.off('scroll',this.onFloatableScrollHandler);this.$floatableClosestScrollable=null;}this.$floatable.css({top:'',left:'',bottom:'',right:''});}}return this;};OO.ui.mixin.FloatableElement.prototype.isElementInViewport=function($element,$container){const direction=$element.css('direction');const elemRect=$element[0].getBoundingClientRect();let contRect;if($container[0]===window){const viewportSpacing=OO.ui.getViewportSpacing();contRect={top:0,left:0,right:document.documentElement.clientWidth,bottom:document.documentElement.clientHeight};contRect.top+=viewportSpacing.top;contRect.left+=viewportSpacing.left;contRect.right-=viewportSpacing.right;contRect.bottom-=viewportSpacing.bottom;}else{contRect=$container[0].getBoundingClientRect();}const topEdgeInBounds=elemRect.top>=contRect.top&&elemRect.top<=contRect.bottom;const bottomEdgeInBounds=elemRect.bottom>=contRect.top&&elemRect.bottom<=contRect.bottom;
const leftEdgeInBounds=elemRect.left>=contRect.left&&elemRect.left<=contRect.right;const rightEdgeInBounds=elemRect.right>=contRect.left&&elemRect.right<=contRect.right;let startEdgeInBounds,endEdgeInBounds;if(direction==='rtl'){startEdgeInBounds=rightEdgeInBounds;endEdgeInBounds=leftEdgeInBounds;}else{startEdgeInBounds=leftEdgeInBounds;endEdgeInBounds=rightEdgeInBounds;}if(this.verticalPosition==='below'&&!bottomEdgeInBounds){return false;}if(this.verticalPosition==='above'&&!topEdgeInBounds){return false;}if(this.horizontalPosition==='before'&&!startEdgeInBounds){return false;}if(this.horizontalPosition==='after'&&!endEdgeInBounds){return false;}return elemRect.top<=contRect.bottom&&elemRect.bottom>=contRect.top&&elemRect.left<=contRect.right&&elemRect.right>=contRect.left;};OO.ui.mixin.FloatableElement.prototype.isFloatableOutOfView=function(){return this.floatableOutOfView;};OO.ui.mixin.FloatableElement.prototype.position=function(){if(!this.positioning){return this;}if(!(this.isElementAttached()&&(
this.$floatableClosestScrollable[0]===this.getElementWindow()||$.contains(this.getElementDocument(),this.$floatableClosestScrollable[0])))){return this;}this.floatableOutOfView=this.hideWhenOutOfView&&!this.isElementInViewport(this.$floatableContainer,this.$floatableClosestScrollable);this.$floatable.toggleClass('oo-ui-element-hidden',this.floatableOutOfView);if(this.floatableOutOfView){return this;}this.$floatable.css(this.computePosition());if(this.clip){this.clip();}return this;};OO.ui.mixin.FloatableElement.prototype.computePosition=function(){const newPos={top:'',left:'',bottom:'',right:''};const direction=this.$floatableContainer.css('direction');const viewportSpacing=OO.ui.getViewportSpacing();let $offsetParent=this.$floatable.offsetParent();if($offsetParent.is('html')){$offsetParent=$($offsetParent[0].ownerDocument.body);}const isBody=$offsetParent.is('body');const scrollableX=$offsetParent.css('overflow-x')==='scroll'||$offsetParent.css('overflow-x')==='auto';const scrollableY=$offsetParent.css('overflow-y')==='scroll'||
$offsetParent.css('overflow-y')==='auto';const vertScrollbarWidth=$offsetParent.innerWidth()-$offsetParent.prop('clientWidth');const horizScrollbarHeight=$offsetParent.innerHeight()-$offsetParent.prop('clientHeight');const scrollTop=scrollableY&&!isBody?$offsetParent.scrollTop():0;const scrollLeft=scrollableX&&!isBody?OO.ui.Element.static.getScrollLeft($offsetParent[0]):0;const containerPos=isBody?this.$floatableContainer.offset():OO.ui.Element.static.getRelativePosition(this.$floatableContainer,$offsetParent);containerPos.bottom=containerPos.top+this.$floatableContainer.outerHeight();containerPos.right=containerPos.left+this.$floatableContainer.outerWidth();containerPos.start=direction==='rtl'?containerPos.right:containerPos.left;containerPos.end=direction==='rtl'?containerPos.left:containerPos.right;if(this.verticalPosition==='below'){newPos.top=containerPos.bottom+this.spacing;if(isBody){newPos.top+=viewportSpacing.top;}}else if(this.verticalPosition==='above'){newPos.bottom=$offsetParent.outerHeight()-containerPos.top+this.spacing;
if(isBody){newPos.bottom+=viewportSpacing.bottom;}}else if(this.verticalPosition==='top'){newPos.top=containerPos.top;if(isBody){newPos.top+=viewportSpacing.top;}}else if(this.verticalPosition==='bottom'){newPos.bottom=$offsetParent.outerHeight()-containerPos.bottom;if(isBody){newPos.bottom+=viewportSpacing.bottom;}}else if(this.verticalPosition==='center'){newPos.top=containerPos.top+(this.$floatableContainer.height()-this.$floatable.height())/2;if(isBody){newPos.top+=viewportSpacing.top;}}if(this.horizontalPosition==='before'){newPos.end=containerPos.start-this.spacing;}else if(this.horizontalPosition==='after'){newPos.start=containerPos.end+this.spacing;}else if(this.horizontalPosition==='start'){newPos.start=containerPos.start;}else if(this.horizontalPosition==='end'){newPos.end=containerPos.end;}else if(this.horizontalPosition==='center'){newPos.left=containerPos.left+(this.$floatableContainer.width()-this.$floatable.width())/2;}if(newPos.start!==undefined){if(direction==='rtl'){
newPos.right=(isBody?$($offsetParent[0].ownerDocument.documentElement):$offsetParent).outerWidth()-newPos.start;}else{newPos.left=newPos.start;}delete newPos.start;}if(newPos.end!==undefined){if(direction==='rtl'){newPos.left=newPos.end;}else{newPos.right=(isBody?$($offsetParent[0].ownerDocument.documentElement):$offsetParent).outerWidth()-newPos.end;}delete newPos.end;}if(newPos.top!==''){newPos.top+=scrollTop;}if(newPos.bottom!==''){newPos.bottom-=scrollTop;}if(newPos.left!==''){newPos.left+=scrollLeft;}if(newPos.right!==''){newPos.right-=scrollLeft;}if(newPos.bottom!==''){newPos.bottom-=horizScrollbarHeight;}if(direction==='rtl'){if(newPos.left!==''){newPos.left-=vertScrollbarWidth;}}else{if(newPos.right!==''){newPos.right-=vertScrollbarWidth;}}return newPos;};OO.ui.mixin.ClippableElement=function OoUiMixinClippableElement(config){config=config||{};this.$clippable=null;this.$clippableContainer=null;this.clipping=false;this.clippedHorizontally=false;this.clippedVertically=false;this.$clippableScrollableContainer=null;
this.$clippableScroller=null;this.$clippableWindow=null;this.idealWidth=null;this.idealHeight=null;this.onClippableScrollHandler=this.clip.bind(this);this.onClippableWindowResizeHandler=this.clip.bind(this);if(config.$clippableContainer){this.setClippableContainer(config.$clippableContainer);}this.setClippableElement(config.$clippable||this.$element);};OO.ui.mixin.ClippableElement.prototype.setClippableElement=function($clippable){if(this.$clippable){this.$clippable.removeClass('oo-ui-clippableElement-clippable');this.$clippable.css({width:'',height:'',overflowX:'',overflowY:''});OO.ui.Element.static.reconsiderScrollbars(this.$clippable[0]);}this.$clippable=$clippable.addClass('oo-ui-clippableElement-clippable');this.clip();};OO.ui.mixin.ClippableElement.prototype.setClippableContainer=function($clippableContainer){this.$clippableContainer=$clippableContainer;if(this.$clippable){this.clip();}};OO.ui.mixin.ClippableElement.prototype.toggleClipping=function(clipping){clipping=clipping===undefined?!this.clipping:!!clipping;
if(clipping&&!this.warnedUnattached&&!this.isElementAttached()){OO.ui.warnDeprecation('ClippableElement#toggleClipping: Before calling this method, the element must be attached to the DOM.');this.warnedUnattached=true;}if(this.clipping!==clipping){this.clipping=clipping;if(clipping){this.$clippableScrollableContainer=$(this.getClosestScrollableElementContainer());this.$clippableScroller=this.$clippableScrollableContainer.is('html, body')?$(OO.ui.Element.static.getWindow(this.$clippableScrollableContainer)):this.$clippableScrollableContainer;this.$clippableScroller.on('scroll',this.onClippableScrollHandler);this.$clippableWindow=$(this.getElementWindow()).on('resize',this.onClippableWindowResizeHandler);this.clip();}else{this.$clippable.css({width:'',height:'',maxWidth:'',maxHeight:'',overflowX:'',overflowY:''});OO.ui.Element.static.reconsiderScrollbars(this.$clippable[0]);this.$clippableScrollableContainer=null;this.$clippableScroller.off('scroll',this.onClippableScrollHandler);this.$clippableScroller=null;
this.$clippableWindow.off('resize',this.onClippableWindowResizeHandler);this.$clippableWindow=null;}}return this;};OO.ui.mixin.ClippableElement.prototype.isClipping=function(){return this.clipping;};OO.ui.mixin.ClippableElement.prototype.isClipped=function(){return this.clippedHorizontally||this.clippedVertically;};OO.ui.mixin.ClippableElement.prototype.isClippedHorizontally=function(){return this.clippedHorizontally;};OO.ui.mixin.ClippableElement.prototype.isClippedVertically=function(){return this.clippedVertically;};OO.ui.mixin.ClippableElement.prototype.setIdealSize=function(width,height){this.idealWidth=width;this.idealHeight=height;if(!this.clipping){this.$clippable.css({width:width,height:height});}};OO.ui.mixin.ClippableElement.prototype.getHorizontalAnchorEdge=function(){if(this.computePosition&&this.positioning&&this.computePosition().right!==''){return'right';}return'left';};OO.ui.mixin.ClippableElement.prototype.getVerticalAnchorEdge=function(){if(this.computePosition&&this.positioning&&this.computePosition().bottom!==''){
return'bottom';}return'top';};OO.ui.mixin.ClippableElement.prototype.clip=function(){if(!this.clipping){return this;}function rectCopy(rect){return{left:rect.left,top:rect.top,right:rect.right,bottom:rect.bottom,x:rect.x,y:rect.y,width:rect.width,height:rect.height};}function rectIntersection(a,b){const out={};out.top=Math.max(a.top,b.top);out.left=Math.max(a.left,b.left);out.bottom=Math.min(a.bottom,b.bottom);out.right=Math.min(a.right,b.right);return out;}const viewportSpacing=OO.ui.getViewportSpacing();let $viewport,viewportRect;if(this.$clippableScrollableContainer.is('html, body')){$viewport=$(this.$clippableScrollableContainer[0].ownerDocument.body);viewportRect={top:0,left:0,right:document.documentElement.clientWidth,bottom:document.documentElement.clientHeight};viewportRect.top+=viewportSpacing.top;viewportRect.left+=viewportSpacing.left;viewportRect.right-=viewportSpacing.right;viewportRect.bottom-=viewportSpacing.bottom;}else{$viewport=this.$clippableScrollableContainer;
viewportRect=$viewport[0].getBoundingClientRect();viewportRect=rectCopy(viewportRect);}const direction=$viewport.css('direction');const vertScrollbarWidth=$viewport.innerWidth()-$viewport.prop('clientWidth');const horizScrollbarHeight=$viewport.innerHeight()-$viewport.prop('clientHeight');viewportRect.bottom-=horizScrollbarHeight;if(direction==='rtl'){viewportRect.left+=vertScrollbarWidth;}else{viewportRect.right-=vertScrollbarWidth;}const buffer=7;viewportRect.top+=buffer;viewportRect.left+=buffer;viewportRect.right-=buffer;viewportRect.bottom-=buffer;const $item=this.$clippableContainer||this.$clippable;const extraHeight=$item.outerHeight()-this.$clippable.outerHeight();const extraWidth=$item.outerWidth()-this.$clippable.outerWidth();let itemRect=$item[0].getBoundingClientRect();itemRect=rectCopy(itemRect);if(this.getHorizontalAnchorEdge()==='right'){itemRect.left=viewportRect.left;}else{itemRect.right=viewportRect.right;}if(this.getVerticalAnchorEdge()==='bottom'){itemRect.top=viewportRect.top;
}else{itemRect.bottom=viewportRect.bottom;}const availableRect=rectIntersection(viewportRect,itemRect);let desiredWidth=Math.max(0,availableRect.right-availableRect.left);let desiredHeight=Math.max(0,availableRect.bottom-availableRect.top);desiredWidth=Math.min(desiredWidth,document.documentElement.clientWidth-viewportSpacing.left-viewportSpacing.right);desiredHeight=Math.min(desiredHeight,document.documentElement.clientHeight-viewportSpacing.top-viewportSpacing.right);const allotedWidth=Math.ceil(desiredWidth-extraWidth);const allotedHeight=Math.ceil(desiredHeight-extraHeight);const naturalWidth=this.$clippable.prop('scrollWidth');const naturalHeight=this.$clippable.prop('scrollHeight');const clipWidth=allotedWidth<naturalWidth;const clipHeight=allotedHeight<naturalHeight;if(clipWidth){this.$clippable.css('overflowX','scroll');this.$clippable[0].offsetHeight;this.$clippable.css('overflowX','auto');this.$clippable[0].offsetHeight;this.$clippable.css({width:Math.max(0,allotedWidth),
maxWidth:''});}else{this.$clippable.css({overflowX:'',width:this.idealWidth||'',maxWidth:Math.max(0,allotedWidth)});}if(clipHeight){this.$clippable.css('overflowY','scroll');this.$clippable[0].offsetHeight;this.$clippable.css('overflowY','auto');this.$clippable[0].offsetHeight;this.$clippable.css({height:Math.max(0,allotedHeight),maxHeight:''});}else{this.$clippable.css({overflowY:'',height:this.idealHeight||'',maxHeight:Math.max(0,allotedHeight)});}if((this.clippedHorizontally&&!clipWidth)||(this.clippedVertically&&!clipHeight)){OO.ui.Element.static.reconsiderScrollbars(this.$clippable[0]);}this.clippedHorizontally=clipWidth;this.clippedVertically=clipHeight;return this;};OO.ui.PopupWidget=function OoUiPopupWidget(config){config=config||{};OO.ui.PopupWidget.super.call(this,config);this.$body=$('<div>');this.$popup=$('<div>');OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.ClippableElement.call(this,Object.assign({$clippable:this.$body,
$clippableContainer:this.$popup},config));OO.ui.mixin.FloatableElement.call(this,config);this.$anchor=$('<div>');this.$container=config.$container;this.containerPadding=config.containerPadding!==undefined?config.containerPadding:10;this.autoClose=!!config.autoClose;this.transitionTimeout=null;this.anchored=false;this.onDocumentMouseDownHandler=this.onDocumentMouseDown.bind(this);this.onDocumentKeyDownHandler=this.onDocumentKeyDown.bind(this);this.onTabKeyDownHandler=this.onTabKeyDown.bind(this);this.onShiftTabKeyDownHandler=this.onShiftTabKeyDown.bind(this);this.setSize(config.width,config.height);this.toggleAnchor(config.anchor===undefined||config.anchor);this.setAlignment(config.align||'center');this.setPosition(config.position||'below');this.setAutoFlip(config.autoFlip===undefined||config.autoFlip);this.setAutoCloseIgnore(config.$autoCloseIgnore);this.$body.addClass('oo-ui-popupWidget-body');this.$anchor.addClass('oo-ui-popupWidget-anchor');this.$popup.addClass('oo-ui-popupWidget-popup')
.append(this.$body);this.$element.addClass('oo-ui-popupWidget').append(this.$popup,this.$anchor);if(config.$content instanceof $){this.$body.append(config.$content);}this.padded=!!config.padded;if(config.padded){this.$body.addClass('oo-ui-popupWidget-body-padded');}if(config.head){if(!config.hideCloseButton){this.closeButton=new OO.ui.ButtonWidget({framed:false,icon:'close',label:OO.ui.msg('ooui-popup-widget-close-button-aria-label'),invisibleLabel:true});this.closeButton.connect(this,{click:'onCloseButtonClick'});}this.$head=$('<div>').addClass('oo-ui-popupWidget-head').append(this.$icon,this.$label,this.closeButton&&this.closeButton.$element);this.$popup.prepend(this.$head);}if(config.$footer){this.$footer=$('<div>').addClass('oo-ui-popupWidget-footer').append(config.$footer);this.$popup.append(this.$footer);}this.visible=false;this.$element.addClass('oo-ui-element-hidden');};OO.inheritClass(OO.ui.PopupWidget,OO.ui.Widget);OO.mixinClass(OO.ui.PopupWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.PopupWidget,OO.ui.mixin.LabelElement);
OO.mixinClass(OO.ui.PopupWidget,OO.ui.mixin.ClippableElement);OO.mixinClass(OO.ui.PopupWidget,OO.ui.mixin.FloatableElement);OO.ui.PopupWidget.prototype.onDocumentMouseDown=function(e){if(e.target===document.documentElement){return;}if(this.isVisible()&&!OO.ui.contains(this.$element.add(this.$autoCloseIgnore).get(),e.target,true)){this.toggle(false);}};OO.ui.PopupWidget.prototype.bindDocumentMouseDownListener=function(){this.getElementDocument().addEventListener('mousedown',this.onDocumentMouseDownHandler,true);this.getElementDocument().addEventListener('click',this.onDocumentMouseDownHandler,true);};OO.ui.PopupWidget.prototype.onCloseButtonClick=function(){if(this.isVisible()){this.toggle(false);}};OO.ui.PopupWidget.prototype.unbindDocumentMouseDownListener=function(){this.getElementDocument().removeEventListener('mousedown',this.onDocumentMouseDownHandler,true);this.getElementDocument().removeEventListener('click',this.onDocumentMouseDownHandler,true);};OO.ui.PopupWidget.prototype.onDocumentKeyDown=function(e){
if(e.which===OO.ui.Keys.ESCAPE&&this.isVisible()){this.toggle(false);e.preventDefault();e.stopPropagation();}};OO.ui.PopupWidget.prototype.bindDocumentKeyDownListener=function(){this.getElementDocument().addEventListener('keydown',this.onDocumentKeyDownHandler,true);};OO.ui.PopupWidget.prototype.unbindDocumentKeyDownListener=function(){this.getElementDocument().removeEventListener('keydown',this.onDocumentKeyDownHandler,true);};OO.ui.PopupWidget.prototype.onTabKeyDown=function(e){if(!e.shiftKey&&e.which===OO.ui.Keys.TAB){e.preventDefault();this.toggle(false);}};OO.ui.PopupWidget.prototype.onShiftTabKeyDown=function(e){if(e.shiftKey&&e.which===OO.ui.Keys.TAB){e.preventDefault();this.toggle(false);}};OO.ui.PopupWidget.prototype.toggleAnchor=function(show){show=show===undefined?!this.anchored:!!show;if(this.anchored!==show){this.$element.toggleClass('oo-ui-popupWidget-anchored oo-ui-popupWidget-anchored-'+this.anchorEdge,show);this.anchored=show;}};OO.ui.PopupWidget.prototype.setAnchorEdge=function(edge){
if(!['top','bottom','start','end'].includes(edge)){throw new Error('Invalid value for edge: '+edge);}if(this.anchorEdge!==null){this.$element.removeClass('oo-ui-popupWidget-anchored-'+this.anchorEdge);}this.anchorEdge=edge;if(this.anchored){this.$element.addClass('oo-ui-popupWidget-anchored-'+edge);}};OO.ui.PopupWidget.prototype.hasAnchor=function(){return this.anchored;};OO.ui.PopupWidget.prototype.toggle=function(show){show=show===undefined?!this.isVisible():!!show;const change=show!==this.isVisible();if(show&&!this.warnedUnattached&&!this.isElementAttached()){OO.ui.warnDeprecation('PopupWidget#toggle: Before calling this method, the popup must be attached to the DOM.');this.warnedUnattached=true;}if(show&&!this.$floatableContainer&&this.isElementAttached()){this.setFloatableContainer(this.$element.parent());}if(change&&show&&this.autoFlip){this.isAutoFlipped=false;}OO.ui.PopupWidget.super.prototype.toggle.call(this,show);if(change){this.togglePositioning(show&&!!this.$floatableContainer);
const $lastFocusableElement=OO.ui.findFocusable(this.$element,true);const $firstFocusableElement=OO.ui.findFocusable(this.$element,false);if(show){if(this.autoClose){this.bindDocumentMouseDownListener();this.bindDocumentKeyDownListener();$lastFocusableElement.on('keydown',this.onTabKeyDownHandler);$firstFocusableElement.on('keydown',this.onShiftTabKeyDownHandler);}this.updateDimensions();this.toggleClipping(true);if(this.autoFlip){if(this.popupPosition==='above'||this.popupPosition==='below'){if(this.isClippedVertically()||this.isFloatableOutOfView()){const normalHeight=this.$element.height();this.isAutoFlipped=!this.isAutoFlipped;this.position();if(this.isClippedVertically()||this.isFloatableOutOfView()){const oppositeHeight=this.$element.height();if(oppositeHeight<=normalHeight){this.isAutoFlipped=!this.isAutoFlipped;this.position();}}}}if(this.popupPosition==='before'||this.popupPosition==='after'){if(this.isClippedHorizontally()||this.isFloatableOutOfView()){const normalWidth=this.$element.width();
this.isAutoFlipped=!this.isAutoFlipped;this.toggleClipping(false);this.position();this.toggleClipping(true);if(this.isClippedHorizontally()||this.isFloatableOutOfView()){const oppositeWidth=this.$element.width();if(oppositeWidth<=normalWidth){this.isAutoFlipped=!this.isAutoFlipped;this.toggleClipping(false);this.position();this.toggleClipping(true);}}}}}this.emit('ready');}else{this.toggleClipping(false);if(this.autoClose){$lastFocusableElement.off('keydown',this.onTabKeyDownHandler);$firstFocusableElement.off('keydown',this.onShiftTabKeyDownHandler);this.unbindDocumentMouseDownListener();this.unbindDocumentKeyDownListener();}this.emit('closing');}}return this;};OO.ui.PopupWidget.prototype.setSize=function(width,height,transition){this.width=width!==undefined?width:320;this.height=height!==undefined?height:null;if(this.isVisible()){this.updateDimensions(transition);}};OO.ui.PopupWidget.prototype.updateDimensions=function(transition){clearTimeout(this.transitionTimeout);if(transition){
this.$element.addClass('oo-ui-popupWidget-transitioning');}this.position();if(transition){this.transitionTimeout=setTimeout(()=>{this.$element.removeClass('oo-ui-popupWidget-transitioning');},200);}else{this.$element.removeClass('oo-ui-popupWidget-transitioning');}};OO.ui.PopupWidget.prototype.computePosition=function(){const popupPos={},anchorCss={left:'',right:'',top:'',bottom:''},popupPositionOppositeMap={above:'below',below:'above',before:'after',after:'before'},alignMap={ltr:{'force-left':'backwards','force-right':'forwards'},rtl:{'force-left':'forwards','force-right':'backwards'}},anchorEdgeMap={above:'bottom',below:'top',before:'end',after:'start'},hPosMap={forwards:'start',center:'center',backwards:this.anchored?'before':'end'},vPosMap={forwards:'top',center:'center',backwards:'bottom'};if(!this.$container){this.$container=$(this.getClosestScrollableElementContainer());}const direction=this.$container.css('direction');this.setIdealSize(this.width!==null?this.width-(this.padded?24:0):'auto',
this.height!==null?this.height-(this.padded?10:0):'auto');const align=alignMap[direction][this.align]||this.align;let popupPosition=this.popupPosition;if(this.isAutoFlipped){popupPosition=popupPositionOppositeMap[popupPosition];}const vertical=popupPosition==='before'||popupPosition==='after';const start=vertical?'top':(direction==='rtl'?'right':'left');const end=vertical?'bottom':(direction==='rtl'?'left':'right');const near=vertical?'top':'left';const far=vertical?'bottom':'right';const sizeProp=vertical?'Height':'Width';const popupSize=vertical?this.$popup.height():this.$popup.width();this.setAnchorEdge(anchorEdgeMap[popupPosition]);this.horizontalPosition=vertical?popupPosition:hPosMap[align];this.verticalPosition=vertical?vPosMap[align]:popupPosition;const parentPosition=OO.ui.mixin.FloatableElement.prototype.computePosition.call(this);const positionProp=vertical?(parentPosition.top!==''?'top':'bottom'):(parentPosition.left!==''?'left':'right');const floatablePos=this.$floatableContainer.offset();
floatablePos[far]=floatablePos[near]+this.$floatableContainer['outer'+sizeProp]();const offsetParentPos=this.$element.offsetParent()[0]===document.documentElement?{top:0,left:0}:this.$element.offsetParent().offset();if(positionProp===near){popupPos[near]=offsetParentPos[near]+parentPosition[near];popupPos[far]=popupPos[near]+popupSize;}else{popupPos[far]=offsetParentPos[near]+this.$element.offsetParent()['inner'+sizeProp]()-parentPosition[far];popupPos[near]=popupPos[far]-popupSize;}let anchorOffset,positionAdjustment;if(this.anchored){const anchorPos=(floatablePos[start]+floatablePos[end])/2;anchorOffset=(start===far?-1:1)*(anchorPos-popupPos[start]);const anchorSize=this.$anchor[0]['scroll'+sizeProp];const anchorMargin=parseFloat(this.$anchor.css('margin-'+start));if(anchorOffset+anchorMargin<2*anchorSize){positionAdjustment=(positionProp===start?-1:1)*(2*anchorSize-(anchorOffset+anchorMargin));}else if(anchorOffset+anchorMargin>popupSize-2*anchorSize){positionAdjustment=(positionProp===end?-1:1)*
(anchorOffset+anchorMargin-(popupSize-2*anchorSize));}else{positionAdjustment=0;}}else{positionAdjustment=0;}const containerPos=this.$container[0]===document.documentElement?{top:0,left:0}:this.$container.offset();containerPos[far]=containerPos[near]+this.$container['inner'+sizeProp]();if(this.$container[0]===document.documentElement){const viewportSpacing=OO.ui.getViewportSpacing();containerPos[near]+=viewportSpacing[near];containerPos[far]-=viewportSpacing[far];}popupPos[near]+=(positionProp===near?1:-1)*positionAdjustment;popupPos[far]+=(positionProp===near?1:-1)*positionAdjustment;if(containerPos[near]+this.containerPadding>popupPos[near]){positionAdjustment+=(positionProp===near?1:-1)*(containerPos[near]+this.containerPadding-popupPos[near]);}else if(containerPos[far]-this.containerPadding<popupPos[far]){positionAdjustment+=(positionProp===far?1:-1)*(popupPos[far]-(containerPos[far]-this.containerPadding));}if(this.anchored){anchorOffset+=(positionProp===start?-1:1)*positionAdjustment;
anchorCss[start]=anchorOffset;this.$anchor.css(anchorCss);}parentPosition[positionProp]+=positionAdjustment;return parentPosition;};OO.ui.PopupWidget.prototype.setAlignment=function(align){if(['force-left','force-right','backwards','forwards','center'].includes(align)){this.align=align;}else{this.align='center';}this.position();};OO.ui.PopupWidget.prototype.getAlignment=function(){return this.align;};OO.ui.PopupWidget.prototype.setPosition=function(position){if(!['above','below','before','after'].includes(position)){position='below';}this.popupPosition=position;this.position();};OO.ui.PopupWidget.prototype.getPosition=function(){return this.popupPosition;};OO.ui.PopupWidget.prototype.setAutoFlip=function(autoFlip){autoFlip=!!autoFlip;if(this.autoFlip!==autoFlip){this.autoFlip=autoFlip;}};OO.ui.PopupWidget.prototype.setAutoCloseIgnore=function($autoCloseIgnore){this.$autoCloseIgnore=$autoCloseIgnore;};OO.ui.PopupWidget.prototype.getBodyId=function(){let id=this.$body.attr('id');if(id===undefined){
id=OO.ui.generateElementId();this.$body.attr('id',id);}return id;};OO.ui.mixin.PopupElement=function OoUiMixinPopupElement(config){config=config||{};this.popup=new OO.ui.PopupWidget(Object.assign({autoClose:true,$floatableContainer:this.$element},config.popup,{$autoCloseIgnore:this.$element.add(config.popup&&config.popup.$autoCloseIgnore)}));};OO.ui.mixin.PopupElement.prototype.getPopup=function(){return this.popup;};OO.ui.PopupButtonWidget=function OoUiPopupButtonWidget(config){config=config||{};OO.ui.PopupButtonWidget.super.call(this,config);OO.ui.mixin.PopupElement.call(this,config);this.$overlay=(config.$overlay===true?OO.ui.getDefaultOverlay():config.$overlay)||this.$element;this.connect(this,{click:'onAction'});this.$element.addClass('oo-ui-popupButtonWidget');this.$button.attr({'aria-haspopup':'dialog','aria-owns':this.popup.getElementId()});this.popup.$element.addClass('oo-ui-popupButtonWidget-popup').attr({role:'dialog','aria-describedby':this.getElementId()}).toggleClass('oo-ui-popupButtonWidget-framed-popup',this.isFramed())
.toggleClass('oo-ui-popupButtonWidget-frameless-popup',!this.isFramed());this.$overlay.append(this.popup.$element);};OO.inheritClass(OO.ui.PopupButtonWidget,OO.ui.ButtonWidget);OO.mixinClass(OO.ui.PopupButtonWidget,OO.ui.mixin.PopupElement);OO.ui.PopupButtonWidget.prototype.onAction=function(){this.popup.toggle();};OO.ui.mixin.GroupWidget=function OoUiMixinGroupWidget(config){OO.ui.mixin.GroupElement.call(this,config);};OO.mixinClass(OO.ui.mixin.GroupWidget,OO.ui.mixin.GroupElement);OO.ui.mixin.GroupWidget.prototype.setDisabled=function(disabled){OO.ui.Widget.prototype.setDisabled.call(this,disabled);if(this.items){for(let i=0,len=this.items.length;i<len;i++){this.items[i].updateDisabled();}}return this;};OO.ui.mixin.ItemWidget=function OoUiMixinItemWidget(){};OO.ui.mixin.ItemWidget.prototype.isDisabled=function(){return this.disabled||(this.elementGroup instanceof OO.ui.Widget&&this.elementGroup.isDisabled());};OO.ui.mixin.ItemWidget.prototype.setElementGroup=function(group){OO.ui.Element.prototype.setElementGroup.call(this,group);
this.updateDisabled();return this;};OO.ui.OptionWidget=function OoUiOptionWidget(config){config=config||{};OO.ui.OptionWidget.super.call(this,config);OO.ui.mixin.ItemWidget.call(this);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.FlaggedElement.call(this,config);OO.ui.mixin.AccessKeyedElement.call(this,config);OO.ui.mixin.TitledElement.call(this,config);this.highlighted=false;this.pressed=false;this.setSelected(!!config.selected);this.$element.data('oo-ui-optionWidget',this).attr({tabindex:'-1',role:'option'}).addClass('oo-ui-optionWidget').append(this.$label);};OO.inheritClass(OO.ui.OptionWidget,OO.ui.Widget);OO.mixinClass(OO.ui.OptionWidget,OO.ui.mixin.ItemWidget);OO.mixinClass(OO.ui.OptionWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.OptionWidget,OO.ui.mixin.FlaggedElement);OO.mixinClass(OO.ui.OptionWidget,OO.ui.mixin.AccessKeyedElement);OO.mixinClass(OO.ui.OptionWidget,OO.ui.mixin.TitledElement);OO.ui.OptionWidget.static.selectable=true;OO.ui.OptionWidget.static.highlightable=true;
OO.ui.OptionWidget.static.pressable=true;OO.ui.OptionWidget.static.scrollIntoViewOnSelect=false;OO.ui.OptionWidget.prototype.isSelectable=function(){return this.constructor.static.selectable&&!this.disabled&&this.isVisible();};OO.ui.OptionWidget.prototype.isHighlightable=function(){return this.constructor.static.highlightable&&!this.disabled&&this.isVisible();};OO.ui.OptionWidget.prototype.isPressable=function(){return this.constructor.static.pressable&&!this.disabled&&this.isVisible();};OO.ui.OptionWidget.prototype.isSelected=function(){return this.selected;};OO.ui.OptionWidget.prototype.isHighlighted=function(){return this.highlighted;};OO.ui.OptionWidget.prototype.isPressed=function(){return this.pressed;};OO.ui.OptionWidget.prototype.setSelected=function(state){if(this.constructor.static.selectable){this.selected=!!state;this.$element.toggleClass('oo-ui-optionWidget-selected',state).attr('aria-selected',this.selected.toString());if(state&&this.constructor.static.scrollIntoViewOnSelect){
this.scrollElementIntoView();}this.updateThemeClasses();}return this;};OO.ui.OptionWidget.prototype.setHighlighted=function(state){if(this.constructor.static.highlightable){this.highlighted=!!state;this.$element.toggleClass('oo-ui-optionWidget-highlighted',state);this.updateThemeClasses();}return this;};OO.ui.OptionWidget.prototype.setPressed=function(state){if(this.constructor.static.pressable){this.pressed=!!state;this.$element.toggleClass('oo-ui-optionWidget-pressed',state);this.updateThemeClasses();}return this;};OO.ui.OptionWidget.prototype.getMatchText=function(){const label=this.getLabel();return typeof label==='string'?label:this.$label.text();};OO.ui.SelectWidget=function OoUiSelectWidget(config){config=config||{};OO.ui.SelectWidget.super.call(this,config);OO.ui.mixin.GroupWidget.call(this,Object.assign({$group:this.$element},config));this.pressed=false;this.selecting=null;this.multiselect=!!config.multiselect;this.onDocumentMouseUpHandler=this.onDocumentMouseUp.bind(this);
this.onDocumentMouseMoveHandler=this.onDocumentMouseMove.bind(this);this.onDocumentKeyDownHandler=this.onDocumentKeyDown.bind(this);this.onDocumentKeyPressHandler=this.onDocumentKeyPress.bind(this);this.keyPressBuffer='';this.keyPressBufferTimer=null;this.blockMouseOverEvents=0;this.connect(this,{toggle:'onToggle'});this.$element.on({focusin:this.onFocus.bind(this),mousedown:this.onMouseDown.bind(this),mouseover:this.onMouseOver.bind(this),mouseleave:this.onMouseLeave.bind(this)});this.$element.addClass('oo-ui-selectWidget oo-ui-selectWidget-unpressed').attr({role:'listbox','aria-multiselectable':this.multiselect.toString()});this.setFocusOwner(this.$element);this.addItems(config.items||[]);};OO.inheritClass(OO.ui.SelectWidget,OO.ui.Widget);OO.mixinClass(OO.ui.SelectWidget,OO.ui.mixin.GroupWidget);OO.ui.SelectWidget.static.handleNavigationKeys=false;OO.ui.SelectWidget.static.listWrapsAround=true;OO.ui.SelectWidget.static.normalizeForMatching=function(text){let normalized=text.trim().replace(/\s+/,' ').toLowerCase();
normalized=normalized.normalize();return normalized;};OO.ui.SelectWidget.prototype.onFocus=function(event){let item;if(event.target===this.$element[0]){if(!this.findFirstSelectedItem()){item=this.findFirstSelectableItem();}}else{if(event.target.tabIndex===-1){item=this.findTargetItem(event);if(item&&!(item.isHighlightable()||item.isSelectable())){return;}}else{return;}}if(item){if(item.constructor.static.highlightable){this.highlightItem(item);}else{this.selectItem(item);}}if(event.target!==this.$element[0]){this.$focusOwner.trigger('focus');}};OO.ui.SelectWidget.prototype.onMouseDown=function(e){if(!this.isDisabled()&&e.which===OO.ui.MouseButtons.LEFT){this.togglePressed(true);const item=this.findTargetItem(e);if(item&&item.isSelectable()){this.pressItem(item);this.selecting=item;this.getElementDocument().addEventListener('mouseup',this.onDocumentMouseUpHandler,true);this.getElementDocument().addEventListener('mousemove',this.onDocumentMouseMoveHandler,true);}}return false;};OO.ui.SelectWidget.prototype.onDocumentMouseUp=function(e){
if(e.target===document.documentElement){return;}this.togglePressed(false);if(!this.selecting){const item=this.findTargetItem(e);if(item&&item.isSelectable()){this.selecting=item;}}if(!this.isDisabled()&&e.which===OO.ui.MouseButtons.LEFT&&this.selecting){this.pressItem(null);this.chooseItem(this.selecting);this.selecting=null;}this.getElementDocument().removeEventListener('mouseup',this.onDocumentMouseUpHandler,true);this.getElementDocument().removeEventListener('mousemove',this.onDocumentMouseMoveHandler,true);return false;};OO.ui.SelectWidget.prototype.onDocumentMouseMove=function(e){if(!this.isDisabled()&&this.pressed){const item=this.findTargetItem(e);if(item&&item!==this.selecting&&item.isSelectable()){this.pressItem(item);this.selecting=item;}}};OO.ui.SelectWidget.prototype.onMouseOver=function(e){if(this.blockMouseOverEvents){return;}if(!this.isDisabled()){const item=this.findTargetItem(e);this.highlightItem(item&&item.isHighlightable()?item:null);}return false;};OO.ui.SelectWidget.prototype.onMouseLeave=function(){
if(!this.isDisabled()){this.highlightItem(null);}return false;};OO.ui.SelectWidget.prototype.onDocumentKeyDown=function(e){let handled=false;const currentItem=(this.isVisible()&&this.findHighlightedItem())||(!this.multiselect&&this.findSelectedItem());let nextItem;if(!this.isDisabled()){switch(e.keyCode){case OO.ui.Keys.ENTER:if(currentItem){this.chooseItem(currentItem);handled=true;}break;case OO.ui.Keys.UP:case OO.ui.Keys.LEFT:case OO.ui.Keys.DOWN:case OO.ui.Keys.RIGHT:this.clearKeyPressBuffer();nextItem=this.findRelativeSelectableItem(currentItem,e.keyCode===OO.ui.Keys.UP||e.keyCode===OO.ui.Keys.LEFT?-1:1,null,this.constructor.static.listWrapsAround);handled=true;break;case OO.ui.Keys.HOME:case OO.ui.Keys.END:if(this.constructor.static.handleNavigationKeys){this.clearKeyPressBuffer();nextItem=this.findRelativeSelectableItem(null,e.keyCode===OO.ui.Keys.HOME?1:-1,null,this.constructor.static.listWrapsAround);handled=true;}break;case OO.ui.Keys.PAGEUP:case OO.ui.Keys.PAGEDOWN:if(this.constructor.static.handleNavigationKeys){
this.clearKeyPressBuffer();nextItem=this.findRelativeSelectableItem(currentItem,e.keyCode===OO.ui.Keys.PAGEUP?-10:10,null,this.constructor.static.listWrapsAround);handled=true;}break;case OO.ui.Keys.TAB:if(currentItem){currentItem.setHighlighted(false);}this.unbindDocumentKeyDownListener();this.unbindDocumentKeyPressListener();handled=false;break;}if(nextItem){if(this.isVisible()&&nextItem.constructor.static.highlightable){this.highlightItem(nextItem);}else{if(this.screenReaderMode){this.highlightItem(nextItem);}this.chooseItem(nextItem);}this.scrollItemIntoView(nextItem);}if(handled){e.preventDefault();e.stopPropagation();}}};OO.ui.SelectWidget.prototype.bindDocumentKeyDownListener=function(){this.getElementDocument().addEventListener('keydown',this.onDocumentKeyDownHandler,true);};OO.ui.SelectWidget.prototype.unbindDocumentKeyDownListener=function(){this.getElementDocument().removeEventListener('keydown',this.onDocumentKeyDownHandler,true);};OO.ui.SelectWidget.prototype.attachDocumentKeyDownListenerOnFocus=function($element){
$element=$element||this.$element;$element[0].addEventListener('focusin',this.bindDocumentKeyDownListener.bind(this));$element[0].addEventListener('focusout',this.unbindDocumentKeyDownListener.bind(this));};OO.ui.SelectWidget.prototype.scrollItemIntoView=function(item){this.blockMouseOverEvents++;item.scrollElementIntoView().done(()=>{setTimeout(()=>{this.blockMouseOverEvents--;},200);});};OO.ui.SelectWidget.prototype.clearKeyPressBuffer=function(){if(this.keyPressBufferTimer){clearTimeout(this.keyPressBufferTimer);this.keyPressBufferTimer=null;}this.keyPressBuffer='';};OO.ui.SelectWidget.prototype.onDocumentKeyPress=function(e){if(!e.charCode){if(e.keyCode===OO.ui.Keys.BACKSPACE&&this.keyPressBuffer!==''){this.keyPressBuffer=this.keyPressBuffer.slice(0,this.keyPressBuffer.length-1);return false;}return;}const c=String.fromCodePoint(e.charCode);if(this.keyPressBufferTimer){clearTimeout(this.keyPressBufferTimer);}this.keyPressBufferTimer=setTimeout(this.clearKeyPressBuffer.bind(this),1500);
let item=(this.isVisible()&&this.findHighlightedItem())||(!this.multiselect&&this.findSelectedItem());if(this.keyPressBuffer===c){if(item){item=this.findRelativeSelectableItem(item,1);}}else{this.keyPressBuffer+=c;}const filter=this.getItemMatcher(this.keyPressBuffer,false);if(!item||!filter(item)){item=this.findRelativeSelectableItem(item,1,filter);}if(item){if(this.isVisible()&&item.constructor.static.highlightable){this.highlightItem(item);}else{if(this.screenReaderMode){this.highlightItem(item);}this.chooseItem(item);}this.scrollItemIntoView(item);}e.preventDefault();e.stopPropagation();};OO.ui.SelectWidget.prototype.getItemMatcher=function(query,mode){const normalizeForMatching=this.constructor.static.normalizeForMatching,normalizedQuery=normalizeForMatching(query);if(!normalizedQuery){return function(){return mode!=='exact';};}return function(item){const matchText=normalizeForMatching(item.getMatchText());switch(mode){case'exact':return matchText===normalizedQuery;case'substring':
return matchText.includes(normalizedQuery);default:return matchText.indexOf(normalizedQuery)===0;}};};OO.ui.SelectWidget.prototype.bindDocumentKeyPressListener=function(){this.getElementDocument().addEventListener('keypress',this.onDocumentKeyPressHandler,true);};OO.ui.SelectWidget.prototype.unbindDocumentKeyPressListener=function(){this.getElementDocument().removeEventListener('keypress',this.onDocumentKeyPressHandler,true);this.clearKeyPressBuffer();};OO.ui.SelectWidget.prototype.onToggle=function(visible){if(!visible){this.clearKeyPressBuffer();}};OO.ui.SelectWidget.prototype.findTargetItem=function(e){const $option=$(e.target).closest('.oo-ui-optionWidget');if(!$option.closest('.oo-ui-selectWidget').is(this.$element)){return null;}return $option.data('oo-ui-optionWidget')||null;};OO.ui.SelectWidget.prototype.findFirstSelectedItem=function(){for(let i=0;i<this.items.length;i++){if(this.items[i].isSelected()){return this.items[i];}}return null;};OO.ui.SelectWidget.prototype.findSelectedItems=function(){
if(!this.multiselect){return this.findFirstSelectedItem();}return this.items.filter((item)=>item.isSelected());};OO.ui.SelectWidget.prototype.findSelectedItem=function(){return this.findSelectedItems();};OO.ui.SelectWidget.prototype.findHighlightedItem=function(){for(let i=0;i<this.items.length;i++){if(this.items[i].isHighlighted()){return this.items[i];}}return null;};OO.ui.SelectWidget.prototype.togglePressed=function(pressed){if(pressed===undefined){pressed=!this.pressed;}if(pressed!==this.pressed){this.$element.toggleClass('oo-ui-selectWidget-pressed',pressed).toggleClass('oo-ui-selectWidget-unpressed',!pressed);this.pressed=pressed;}};OO.ui.SelectWidget.prototype.highlightItem=function(item){if(item&&item.isHighlighted()){return this;}let changed=false;for(let i=0;i<this.items.length;i++){const highlighted=this.items[i]===item;if(this.items[i].isHighlighted()!==highlighted){this.items[i].setHighlighted(highlighted);if(changed){break;}changed=!highlighted||this.items[i].isHighlighted();
}}if(changed){if(item){this.$focusOwner.attr('aria-activedescendant',item.getElementId());}else{this.$focusOwner.removeAttr('aria-activedescendant');}this.emit('highlight',item);}return this;};OO.ui.SelectWidget.prototype.getItemFromLabel=function(label,prefix){const len=this.items.length;let filter=this.getItemMatcher(label,'exact');let i,item;for(i=0;i<len;i++){item=this.items[i];if(item instanceof OO.ui.OptionWidget&&item.isSelectable()&&filter(item)){return item;}}if(prefix){let found=null;filter=this.getItemMatcher(label,'prefix');for(i=0;i<len;i++){item=this.items[i];if(item instanceof OO.ui.OptionWidget&&item.isSelectable()&&filter(item)){if(found){return null;}found=item;}}if(found){return found;}}return null;};OO.ui.SelectWidget.prototype.selectItemByLabel=function(label,prefix){const itemFromLabel=this.getItemFromLabel(label,!!prefix);if(label===undefined||!itemFromLabel){return this.selectItem();}return this.selectItem(itemFromLabel);};OO.ui.SelectWidget.prototype.selectItemByData=function(data){
const itemFromData=this.findItemFromData(data);if(data===undefined||!itemFromData){return this.selectItem();}return this.selectItem(itemFromData);};OO.ui.SelectWidget.prototype.unselectItem=function(unselectedItem){if(!unselectedItem){this.selectItem();}else if(unselectedItem.isSelected()){unselectedItem.setSelected(false);this.emit('select',this.findSelectedItems());}return this;};OO.ui.SelectWidget.prototype.selectItem=function(item){if(item){if(item.isSelected()){return this;}else if(this.multiselect){item.setSelected(true);this.emit('select',this.findSelectedItems());return this;}}let changed=false;for(let i=0;i<this.items.length;i++){const selected=this.items[i]===item;if(this.items[i].isSelected()!==selected){this.items[i].setSelected(selected);if(changed&&!this.multiselect){break;}changed=!selected||this.items[i].isSelected();}}if(changed){if(!this.multiselect&&item&&!item.constructor.static.highlightable){this.$focusOwner.attr('aria-activedescendant',item.getElementId());}this.emit('select',this.findSelectedItems());
}return this;};OO.ui.SelectWidget.prototype.pressItem=function(item){if(item&&item.isPressed()){return this;}let changed=false;for(let i=0;i<this.items.length;i++){const pressed=this.items[i]===item;if(this.items[i].isPressed()!==pressed){this.items[i].setPressed(pressed);if(changed){break;}changed=!pressed||this.items[i].isPressed();}}if(changed){this.emit('press',item);}return this;};OO.ui.SelectWidget.prototype.chooseItem=function(item){if(item){if(this.multiselect&&item.isSelected()){this.unselectItem(item);}else{this.selectItem(item);}this.emit('choose',item,item.isSelected());}return this;};OO.ui.SelectWidget.prototype.findRelativeSelectableItem=function(item,offset,filter,wrap){const step=offset>0?1:-1,len=this.items.length;if(wrap===undefined){wrap=true;}let nextIndex;if(item instanceof OO.ui.OptionWidget){nextIndex=this.items.indexOf(item);}else{nextIndex=offset>0?0:len-1;offset-=step;}const previousItem=item;let nextItem=null;for(let i=0;i<len;i++){item=this.items[nextIndex];
if(item instanceof OO.ui.OptionWidget&&item.isSelectable()&&(!filter||filter(item))){nextItem=item;}if(offset===0&&nextItem&&nextItem!==previousItem){break;}nextIndex+=step;if(nextIndex<0||nextIndex>=len){if(wrap){nextIndex=(nextIndex+len)%len;}else{break;}}if(offset!==0){offset-=step;}}return nextItem;};OO.ui.SelectWidget.prototype.findFirstSelectableItem=function(){return this.findRelativeSelectableItem(null,1);};OO.ui.SelectWidget.prototype.addItems=function(items,index){if(!items||items.length===0){return this;}OO.ui.mixin.GroupWidget.prototype.addItems.call(this,items,index);this.emit('add',items,index===undefined?this.items.length-items.length-1:index);return this;};OO.ui.SelectWidget.prototype.removeItems=function(items){for(let i=0;i<items.length;i++){this.unselectItem(items[i]);}OO.ui.mixin.GroupWidget.prototype.removeItems.call(this,items);this.emit('remove',items);return this;};OO.ui.SelectWidget.prototype.clearItems=function(){const items=this.items.slice();OO.ui.mixin.GroupWidget.prototype.clearItems.call(this);
this.selectItem(null);this.emit('remove',items);return this;};OO.ui.SelectWidget.prototype.setFocusOwner=function($focusOwner){this.$focusOwner=$focusOwner;};OO.ui.DecoratedOptionWidget=function OoUiDecoratedOptionWidget(config){OO.ui.DecoratedOptionWidget.super.call(this,config);OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.IndicatorElement.call(this,config);this.$element.addClass('oo-ui-decoratedOptionWidget').prepend(this.$icon).append(this.$indicator);};OO.inheritClass(OO.ui.DecoratedOptionWidget,OO.ui.OptionWidget);OO.mixinClass(OO.ui.DecoratedOptionWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.DecoratedOptionWidget,OO.ui.mixin.IndicatorElement);OO.ui.MenuOptionWidget=function OoUiMenuOptionWidget(config){OO.ui.MenuOptionWidget.super.call(this,config);this.checkIcon=new OO.ui.IconWidget({icon:'check',classes:['oo-ui-menuOptionWidget-checkIcon']});this.$element.prepend(this.checkIcon.$element).addClass('oo-ui-menuOptionWidget');};OO.inheritClass(OO.ui.MenuOptionWidget,OO.ui.DecoratedOptionWidget);
OO.ui.MenuOptionWidget.static.scrollIntoViewOnSelect=true;OO.ui.MenuSectionOptionWidget=function OoUiMenuSectionOptionWidget(config){OO.ui.MenuSectionOptionWidget.super.call(this,config);this.$element.addClass('oo-ui-menuSectionOptionWidget').removeAttr('role aria-selected');this.selected=false;};OO.inheritClass(OO.ui.MenuSectionOptionWidget,OO.ui.DecoratedOptionWidget);OO.ui.MenuSectionOptionWidget.static.selectable=false;OO.ui.MenuSectionOptionWidget.static.highlightable=false;OO.ui.MenuSelectWidget=function OoUiMenuSelectWidget(config){config=config||{};OO.ui.MenuSelectWidget.super.call(this,config);OO.ui.mixin.ClippableElement.call(this,Object.assign({$clippable:this.$group},config));OO.ui.mixin.FloatableElement.call(this,config);this.originalVerticalPosition=this.verticalPosition;this.autoHide=config.autoHide===undefined||!!config.autoHide;this.hideOnChoose=config.hideOnChoose===undefined||!!config.hideOnChoose;this.filterFromInput=!!config.filterFromInput;this.previouslySelectedValue=null;
this.$input=config.$input?config.$input:config.input?config.input.$input:null;this.$widget=config.widget?config.widget.$element:null;this.$autoCloseIgnore=config.$autoCloseIgnore||$([]);this.onDocumentMouseDownHandler=this.onDocumentMouseDown.bind(this);this.onInputEditHandler=OO.ui.debounce(this.updateItemVisibility.bind(this),100);this.highlightOnFilter=!!config.highlightOnFilter;this.lastHighlightedItem=null;this.width=config.width;this.filterMode=config.filterMode;this.screenReaderMode=false;this.$element.addClass('oo-ui-menuSelectWidget');if(config.widget){this.setFocusOwner(config.widget.$tabIndexed);}this.visible=false;this.$element.addClass('oo-ui-element-hidden');this.$focusOwner.attr('aria-expanded','false');};OO.inheritClass(OO.ui.MenuSelectWidget,OO.ui.SelectWidget);OO.mixinClass(OO.ui.MenuSelectWidget,OO.ui.mixin.ClippableElement);OO.mixinClass(OO.ui.MenuSelectWidget,OO.ui.mixin.FloatableElement);OO.ui.MenuSelectWidget.static.handleNavigationKeys=true;OO.ui.MenuSelectWidget.static.listWrapsAround=false;
OO.ui.MenuSelectWidget.static.flippedPositions={below:'above',above:'below',top:'bottom',bottom:'top'};OO.ui.MenuSelectWidget.prototype.onDocumentMouseDown=function(e){if(e.target===document.documentElement){return;}if(this.isVisible()&&!OO.ui.contains(this.$element.add(this.$widget).add(this.$autoCloseIgnore).get(),e.target,true)){this.toggle(false);}};OO.ui.MenuSelectWidget.prototype.onDocumentKeyDown=function(e){let handled=false;const currentItem=this.findHighlightedItem()||this.findFirstSelectedItem();if(!this.isDisabled()&&this.getVisibleItems().length){switch(e.keyCode){case OO.ui.Keys.ENTER:if(this.isVisible()){OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call(this,e);}break;case OO.ui.Keys.TAB:if(this.isVisible()){if(currentItem&&!currentItem.isSelected()){this.chooseItem(currentItem);handled=true;}this.toggle(false);}break;case OO.ui.Keys.LEFT:case OO.ui.Keys.RIGHT:case OO.ui.Keys.HOME:case OO.ui.Keys.END:if(!this.$input){OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call(this,e);
}break;case OO.ui.Keys.ESCAPE:if(this.isVisible()){if(currentItem&&!this.multiselect){currentItem.setHighlighted(false);}this.toggle(false);handled=true;}break;default:return OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call(this,e);}if(handled){e.preventDefault();e.stopPropagation();}}};OO.ui.MenuSelectWidget.prototype.getVisibleItems=function(){return this.getItems().filter((item)=>item.isVisible());};OO.ui.MenuSelectWidget.prototype.updateItemVisibility=function(){if(!this.filterFromInput||!this.$input){this.clip();return;}let anyVisible=false;const showAll=!this.isVisible()||this.previouslySelectedValue===this.$input.val(),filter=showAll?null:this.getItemMatcher(this.$input.val(),this.filterMode);let item;let section,sectionEmpty;for(let i=0;i<this.items.length;i++){item=this.items[i];if(item instanceof OO.ui.MenuSectionOptionWidget){if(section){section.toggle(showAll||!sectionEmpty);}section=item;sectionEmpty=true;}else if(item instanceof OO.ui.OptionWidget){const visible=!filter||filter(item);
anyVisible=anyVisible||visible;sectionEmpty=sectionEmpty&&!visible;item.toggle(visible);}}if(section){section.toggle(showAll||!sectionEmpty);}if(!anyVisible){this.highlightItem(null);}this.$element.toggleClass('oo-ui-menuSelectWidget-invisible',!anyVisible);if(this.highlightOnFilter&&!(this.lastHighlightedItem&&this.lastHighlightedItem.isSelectable())&&this.isVisible()){item=this.findFirstSelectableItem();this.highlightItem(item);this.lastHighlightedItem=item;}this.clip();};OO.ui.MenuSelectWidget.prototype.bindDocumentKeyDownListener=function(){if(this.$input){this.$input.on('keydown',this.onDocumentKeyDownHandler);}else{OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyDownListener.call(this);}};OO.ui.MenuSelectWidget.prototype.unbindDocumentKeyDownListener=function(){if(this.$input){this.$input.off('keydown',this.onDocumentKeyDownHandler);}else{OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyDownListener.call(this);}};OO.ui.MenuSelectWidget.prototype.bindDocumentKeyPressListener=function(){
if(this.$input){if(this.filterFromInput){this.$input.on('keydown mouseup cut paste change input select',this.onInputEditHandler);this.$input.one('keypress',()=>{this.previouslySelectedValue=null;});this.previouslySelectedValue=this.$input.val();this.updateItemVisibility();}}else{OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyPressListener.call(this);}};OO.ui.MenuSelectWidget.prototype.unbindDocumentKeyPressListener=function(){if(this.$input){if(this.filterFromInput){this.$input.off('keydown mouseup cut paste change input select',this.onInputEditHandler);this.updateItemVisibility();}}else{OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyPressListener.call(this);}};OO.ui.MenuSelectWidget.prototype.chooseItem=function(item){OO.ui.MenuSelectWidget.super.prototype.chooseItem.call(this,item);if(this.hideOnChoose){this.toggle(false);}return this;};OO.ui.MenuSelectWidget.prototype.addItems=function(items,index){if(!items||items.length===0){return this;}OO.ui.MenuSelectWidget.super.prototype.addItems.call(this,items,index);
this.updateItemVisibility();return this;};OO.ui.MenuSelectWidget.prototype.removeItems=function(items){OO.ui.MenuSelectWidget.super.prototype.removeItems.call(this,items);this.updateItemVisibility();return this;};OO.ui.MenuSelectWidget.prototype.clearItems=function(){OO.ui.MenuSelectWidget.super.prototype.clearItems.call(this);this.updateItemVisibility();return this;};OO.ui.MenuSelectWidget.prototype.toggleScreenReaderMode=function(screenReaderMode){screenReaderMode=!!screenReaderMode;this.screenReaderMode=screenReaderMode;this.$element.toggleClass('oo-ui-menuSelectWidget-screenReaderMode',this.screenReaderMode);if(screenReaderMode){this.bindDocumentKeyDownListener();this.bindDocumentKeyPressListener();}else{this.$focusOwner.removeAttr('aria-activedescendant');this.unbindDocumentKeyDownListener();this.unbindDocumentKeyPressListener();}};OO.ui.MenuSelectWidget.prototype.toggle=function(visible){visible=(visible===undefined?!this.visible:!!visible)&&!!this.items.length;const change=visible!==this.isVisible();
if(visible&&!this.warnedUnattached&&!this.isElementAttached()){OO.ui.warnDeprecation('MenuSelectWidget#toggle: Before calling this method, the menu must be attached to the DOM.');this.warnedUnattached=true;}if(change&&visible){this.setVerticalPosition(this.originalVerticalPosition);}OO.ui.MenuSelectWidget.super.prototype.toggle.call(this,visible);if(change){if(visible){if(this.width){this.setIdealSize(this.width);}else if(this.$floatableContainer){this.$clippable.css('width','auto');this.setIdealSize(this.$floatableContainer[0].offsetWidth>this.$clippable[0].offsetWidth?this.$floatableContainer[0].offsetWidth:'auto');this.$clippable.css('width','');}this.togglePositioning(!!this.$floatableContainer);this.toggleClipping(true);if(!this.screenReaderMode){this.bindDocumentKeyDownListener();this.bindDocumentKeyPressListener();}if((this.isClippedVertically()||this.isFloatableOutOfView())&&this.originalVerticalPosition!=='center'){const originalHeight=this.$element.height();this.setVerticalPosition(
this.constructor.static.flippedPositions[this.originalVerticalPosition]);if(this.isClippedVertically()||this.isFloatableOutOfView()){const flippedHeight=this.$element.height();if(originalHeight>=flippedHeight){this.setVerticalPosition(this.originalVerticalPosition);}}}this.$focusOwner.attr('aria-expanded','true');this.$focusOwner.attr('aria-owns',this.getElementId());const selectedItem=!this.multiselect&&this.findSelectedItem();if(selectedItem){this.$focusOwner.attr('aria-activedescendant',selectedItem.getElementId());selectedItem.scrollElementIntoView({duration:0});}if(this.autoHide){this.getElementDocument().addEventListener('mousedown',this.onDocumentMouseDownHandler,true);}this.emit('ready');}else{this.$focusOwner.removeAttr('aria-activedescendant');if(!this.screenReaderMode){this.unbindDocumentKeyDownListener();this.unbindDocumentKeyPressListener();}this.$focusOwner.attr('aria-expanded','false');this.$focusOwner.removeAttr('aria-owns');this.getElementDocument().removeEventListener('mousedown',this.onDocumentMouseDownHandler,true);
this.togglePositioning(false);this.toggleClipping(false);this.lastHighlightedItem=null;}}return this;};OO.ui.MenuSelectWidget.prototype.scrollToTop=function(){this.$element.scrollTop(0);};OO.ui.DropdownWidget=function OoUiDropdownWidget(config){config=Object.assign({indicator:'down'},config);OO.ui.DropdownWidget.super.call(this,config);this.$handle=$('<span>');this.$overlay=(config.$overlay===true?OO.ui.getDefaultOverlay():config.$overlay)||this.$element;OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.IndicatorElement.call(this,config);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.TitledElement.call(this,Object.assign({$titled:this.$label},config));OO.ui.mixin.TabIndexedElement.call(this,Object.assign({$tabIndexed:this.$handle},config));this.menu=new OO.ui.MenuSelectWidget(Object.assign({widget:this,$floatableContainer:this.$element},config.menu));this.$handle.on({click:this.onClick.bind(this),keydown:this.onKeyDown.bind(this),focus:this.onFocus.bind(this),blur:this.onBlur.bind(this)
});this.menu.connect(this,{select:'onMenuSelect',toggle:'onMenuToggle'});const labelId=OO.ui.generateElementId();this.setLabelId(labelId);this.$label.attr({role:'textbox','aria-readonly':'true'});this.$handle.addClass('oo-ui-dropdownWidget-handle').append(this.$icon,this.$label,this.$indicator).attr({role:'combobox','aria-autocomplete':'list','aria-expanded':'false','aria-haspopup':'true','aria-labelledby':labelId});this.$element.addClass('oo-ui-dropdownWidget').append(this.$handle);this.$overlay.append(this.menu.$element);};OO.inheritClass(OO.ui.DropdownWidget,OO.ui.Widget);OO.mixinClass(OO.ui.DropdownWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.DropdownWidget,OO.ui.mixin.IndicatorElement);OO.mixinClass(OO.ui.DropdownWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.DropdownWidget,OO.ui.mixin.TitledElement);OO.mixinClass(OO.ui.DropdownWidget,OO.ui.mixin.TabIndexedElement);OO.ui.DropdownWidget.prototype.getMenu=function(){return this.menu;};OO.ui.DropdownWidget.prototype.onMenuSelect=function(item){
let selectedLabel;if(!item){this.setLabel(null);return;}selectedLabel=item.getLabel();if(selectedLabel instanceof $){selectedLabel=selectedLabel.clone();}this.setLabel(selectedLabel);};OO.ui.DropdownWidget.prototype.onMenuToggle=function(isVisible){this.$element.toggleClass('oo-ui-dropdownWidget-open',isVisible);};OO.ui.DropdownWidget.prototype.onClick=function(e){if(!this.isDisabled()&&e.which===OO.ui.MouseButtons.LEFT){this.menu.toggle();}return false;};OO.ui.DropdownWidget.prototype.onKeyDown=function(e){if(!this.isDisabled()){switch(e.keyCode){case OO.ui.Keys.ENTER:this.menu.toggle();return false;case OO.ui.Keys.SPACE:if(this.menu.keyPressBuffer===''){this.menu.toggle();return false;}break;}}};OO.ui.DropdownWidget.prototype.onFocus=function(){this.menu.toggleScreenReaderMode(true);};OO.ui.DropdownWidget.prototype.onBlur=function(){this.menu.toggleScreenReaderMode(false);};OO.ui.DropdownWidget.prototype.setLabelledBy=function(id){const labelId=this.$label.attr('id');if(id){this.$handle.attr('aria-labelledby',id+' '+labelId);
}else{this.$handle.attr('aria-labelledby',labelId);}};OO.ui.RadioOptionWidget=function OoUiRadioOptionWidget(config){config=config||{};this.radio=new OO.ui.RadioInputWidget({value:config.data,tabIndex:-1});OO.ui.RadioOptionWidget.super.call(this,config);this.radio.$input.attr('role','presentation');this.$element.addClass('oo-ui-radioOptionWidget').attr({role:'radio','aria-checked':'false'}).removeAttr('aria-selected').prepend(this.radio.$element);};OO.inheritClass(OO.ui.RadioOptionWidget,OO.ui.OptionWidget);OO.ui.RadioOptionWidget.static.highlightable=false;OO.ui.RadioOptionWidget.static.pressable=false;OO.ui.RadioOptionWidget.static.tagName='label';OO.ui.RadioOptionWidget.prototype.setSelected=function(state){OO.ui.RadioOptionWidget.super.prototype.setSelected.call(this,state);this.radio.setSelected(state);this.$element.attr('aria-checked',this.selected.toString()).removeAttr('aria-selected');return this;};OO.ui.RadioOptionWidget.prototype.setDisabled=function(disabled){OO.ui.RadioOptionWidget.super.prototype.setDisabled.call(this,disabled);
this.radio.setDisabled(this.isDisabled());return this;};OO.ui.RadioSelectWidget=function OoUiRadioSelectWidget(config){OO.ui.RadioSelectWidget.super.call(this,config);OO.ui.mixin.TabIndexedElement.call(this,config);this.attachDocumentKeyDownListenerOnFocus();this.$element.addClass('oo-ui-radioSelectWidget').attr('role','radiogroup').removeAttr('aria-multiselectable');};OO.inheritClass(OO.ui.RadioSelectWidget,OO.ui.SelectWidget);OO.mixinClass(OO.ui.RadioSelectWidget,OO.ui.mixin.TabIndexedElement);OO.ui.MultioptionWidget=function OoUiMultioptionWidget(config){config=config||{};OO.ui.MultioptionWidget.super.call(this,config);OO.ui.mixin.ItemWidget.call(this);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.TitledElement.call(this,config);this.selected=null;this.$element.addClass('oo-ui-multioptionWidget').append(this.$label);this.setSelected(config.selected);};OO.inheritClass(OO.ui.MultioptionWidget,OO.ui.Widget);OO.mixinClass(OO.ui.MultioptionWidget,OO.ui.mixin.ItemWidget);OO.mixinClass(OO.ui.MultioptionWidget,OO.ui.mixin.LabelElement);
OO.mixinClass(OO.ui.MultioptionWidget,OO.ui.mixin.TitledElement);OO.ui.MultioptionWidget.prototype.isSelected=function(){return this.selected;};OO.ui.MultioptionWidget.prototype.setSelected=function(state){state=!!state;if(this.selected!==state){this.selected=state;this.emit('change',state);this.$element.toggleClass('oo-ui-multioptionWidget-selected',state);}return this;};OO.ui.MultiselectWidget=function OoUiMultiselectWidget(config){OO.ui.MultiselectWidget.super.call(this,config);config=config||{};OO.ui.mixin.GroupWidget.call(this,config);OO.ui.mixin.TitledElement.call(this,config);this.aggregate({change:'select'});this.connect(this,{select:['emit','change']});this.addItems(config.items||[]);this.$group.addClass('oo-ui-multiselectWidget-group');this.$element.addClass('oo-ui-multiselectWidget').append(this.$group);};OO.inheritClass(OO.ui.MultiselectWidget,OO.ui.Widget);OO.mixinClass(OO.ui.MultiselectWidget,OO.ui.mixin.GroupWidget);OO.mixinClass(OO.ui.MultiselectWidget,OO.ui.mixin.TitledElement);
OO.ui.MultiselectWidget.prototype.findSelectedItems=function(){return this.items.filter((item)=>item.isSelected());};OO.ui.MultiselectWidget.prototype.findSelectedItemsData=function(){return this.findSelectedItems().map((item)=>item.data);};OO.ui.MultiselectWidget.prototype.selectItems=function(items){const itemsSet=new Set(items);this.items.forEach((item)=>{const selected=itemsSet.has(item);item.setSelected(selected);});return this;};OO.ui.MultiselectWidget.prototype.selectItemsByData=function(datas){const dataHashSet=new Set(datas.map((data)=>OO.getHash(data)));this.items.forEach((item)=>{const selected=dataHashSet.has(OO.getHash(item.getData()));item.setSelected(selected);});return this;};OO.ui.CheckboxMultioptionWidget=function OoUiCheckboxMultioptionWidget(config){config=config||{};this.checkbox=new OO.ui.CheckboxInputWidget();OO.ui.CheckboxMultioptionWidget.super.call(this,config);this.checkbox.on('change',this.onCheckboxChange.bind(this));this.$element.on('keydown',this.onKeyDown.bind(this));
this.$element.addClass('oo-ui-checkboxMultioptionWidget').prepend(this.checkbox.$element);};OO.inheritClass(OO.ui.CheckboxMultioptionWidget,OO.ui.MultioptionWidget);OO.ui.CheckboxMultioptionWidget.static.tagName='label';OO.ui.CheckboxMultioptionWidget.prototype.onCheckboxChange=function(){this.setSelected(this.checkbox.isSelected());};OO.ui.CheckboxMultioptionWidget.prototype.setSelected=function(state){OO.ui.CheckboxMultioptionWidget.super.prototype.setSelected.call(this,state);this.checkbox.setSelected(state);return this;};OO.ui.CheckboxMultioptionWidget.prototype.setDisabled=function(disabled){OO.ui.CheckboxMultioptionWidget.super.prototype.setDisabled.call(this,disabled);this.checkbox.setDisabled(this.isDisabled());return this;};OO.ui.CheckboxMultioptionWidget.prototype.focus=function(){this.checkbox.focus();};OO.ui.CheckboxMultioptionWidget.prototype.onKeyDown=function(e){const element=this.getElementGroup();let nextItem;if(e.keyCode===OO.ui.Keys.LEFT||e.keyCode===OO.ui.Keys.UP){
nextItem=element.getRelativeFocusableItem(this,-1);}else if(e.keyCode===OO.ui.Keys.RIGHT||e.keyCode===OO.ui.Keys.DOWN){nextItem=element.getRelativeFocusableItem(this,1);}if(nextItem){e.preventDefault();nextItem.focus();}};OO.ui.CheckboxMultiselectWidget=function OoUiCheckboxMultiselectWidget(config){OO.ui.CheckboxMultiselectWidget.super.call(this,config);this.$lastClicked=null;this.$group.on('click',this.onClick.bind(this));this.$element.addClass('oo-ui-checkboxMultiselectWidget');};OO.inheritClass(OO.ui.CheckboxMultiselectWidget,OO.ui.MultiselectWidget);OO.ui.CheckboxMultiselectWidget.prototype.getRelativeFocusableItem=function(item,direction){const increase=direction>0?1:-1,len=this.items.length;let nextIndex;if(item){const currentIndex=this.items.indexOf(item);nextIndex=(currentIndex+increase+len)%len;}else{nextIndex=direction>0?0:len-1;}for(let i=0;i<len;i++){item=this.items[nextIndex];if(item&&!item.isDisabled()){return item;}nextIndex=(nextIndex+increase+len)%len;}return null;};
OO.ui.CheckboxMultiselectWidget.prototype.onClick=function(e){const $lastClicked=this.$lastClicked,$nowClicked=$(e.target).closest('.oo-ui-checkboxMultioptionWidget').not('.oo-ui-widget-disabled');if($lastClicked&&$nowClicked.length&&e.shiftKey){const $options=this.$group.find('.oo-ui-checkboxMultioptionWidget');const lastClickedIndex=$options.index($lastClicked);const nowClickedIndex=$options.index($nowClicked);if(nowClickedIndex!==lastClickedIndex){const items=this.items;const wasSelected=items[nowClickedIndex].isSelected();const direction=nowClickedIndex>lastClickedIndex?1:-1;for(let i=lastClickedIndex;i!==nowClickedIndex;i+=direction){if(!items[i].isDisabled()){items[i].setSelected(!wasSelected);}}e.preventDefault();setTimeout(()=>{if(!items[nowClickedIndex].isDisabled()){items[nowClickedIndex].setSelected(!wasSelected);}});}}if($nowClicked.length){this.$lastClicked=$nowClicked;}};OO.ui.CheckboxMultiselectWidget.prototype.focus=function(){if(!this.isDisabled()){const item=this.getRelativeFocusableItem(null,1);
if(item){item.focus();}}return this;};OO.ui.CheckboxMultiselectWidget.prototype.simulateLabelClick=function(){this.focus();};OO.ui.ProgressBarWidget=function OoUiProgressBarWidget(config){config=config||{};OO.ui.ProgressBarWidget.super.call(this,config);OO.ui.mixin.PendingElement.call(this,config);this.$bar=$('<div>');this.progress=null;this.setProgress(config.progress!==undefined?config.progress:false);this.$bar.addClass('oo-ui-progressBarWidget-bar');this.$element.attr({role:'progressbar','aria-valuemin':0,'aria-valuemax':100}).addClass('oo-ui-progressBarWidget').append(this.$bar);if(config.inline){this.$element.addClass('oo-ui-progressBarWidget-inline');}};OO.inheritClass(OO.ui.ProgressBarWidget,OO.ui.Widget);OO.mixinClass(OO.ui.ProgressBarWidget,OO.ui.mixin.PendingElement);OO.ui.ProgressBarWidget.static.tagName='div';OO.ui.ProgressBarWidget.prototype.getProgress=function(){return this.progress;};OO.ui.ProgressBarWidget.prototype.setProgress=function(progress){this.progress=progress;
if(progress!==false){this.$bar.css('width',this.progress+'%');this.$element.attr('aria-valuenow',this.progress);}else{this.$bar.css('width','');this.$element.removeAttr('aria-valuenow');}this.$element.toggleClass('oo-ui-progressBarWidget-indeterminate',progress===false);};OO.ui.InputWidget=function OoUiInputWidget(config){config=config||{};OO.ui.InputWidget.super.call(this,config);this.$input=config.$input||this.getInputElement(config);this.value='';this.inputFilter=config.inputFilter;OO.ui.mixin.TabIndexedElement.call(this,Object.assign({$tabIndexed:this.$input},config));OO.ui.mixin.TitledElement.call(this,Object.assign({$titled:this.$input},config));OO.ui.mixin.AccessKeyedElement.call(this,Object.assign({$accessKeyed:this.$input},config));this.$input.on('keydown mouseup cut paste change input select',this.onEdit.bind(this));this.$input.addClass('oo-ui-inputWidget-input').attr('name',config.name).prop('disabled',this.isDisabled());this.$element.addClass('oo-ui-inputWidget').append(this.$input);
this.setValue(config.value);if(config.dir){this.setDir(config.dir);}if(config.inputId!==undefined){this.setInputId(config.inputId);}};OO.inheritClass(OO.ui.InputWidget,OO.ui.Widget);OO.mixinClass(OO.ui.InputWidget,OO.ui.mixin.TabIndexedElement);OO.mixinClass(OO.ui.InputWidget,OO.ui.mixin.TitledElement);OO.mixinClass(OO.ui.InputWidget,OO.ui.mixin.AccessKeyedElement);OO.ui.InputWidget.static.reusePreInfuseDOM=function(node,config){const $input=$(node).find('.oo-ui-inputWidget-input');config=OO.ui.InputWidget.super.static.reusePreInfuseDOM(node,config);if($input.length){config.$input=$input;}return config;};OO.ui.InputWidget.static.gatherPreInfuseState=function(node,config){const state=OO.ui.InputWidget.super.static.gatherPreInfuseState(node,config);if(config.$input){state.value=config.$input.val();state.focus=config.$input.is(':focus');}return state;};OO.ui.InputWidget.prototype.getInputElement=function(){return $('<input>');};OO.ui.InputWidget.prototype.onEdit=function(){if(!this.isDisabled()){
this.setValue(this.$input.val());setTimeout(()=>{this.setValue(this.$input.val());});}};OO.ui.InputWidget.prototype.getValue=function(){const value=this.$input.val();if(this.value!==value){this.setValue(value);}return this.value;};OO.ui.InputWidget.prototype.setDir=function(dir){this.$input.prop('dir',dir);return this;};OO.ui.InputWidget.prototype.setValue=function(value){value=this.cleanUpValue(value);if(this.$input.val()!==value){this.$input.val(value);}if(this.value!==value){this.value=value;this.emit('change',this.value);}if(this.defaultValue===undefined){this.defaultValue=this.value;this.$input[0].defaultValue=this.defaultValue;}return this;};OO.ui.InputWidget.prototype.cleanUpValue=function(value){if(value===undefined||value===null){return'';}else if(this.inputFilter){return this.inputFilter(String(value));}else{return String(value);}};OO.ui.InputWidget.prototype.setDisabled=function(state){OO.ui.InputWidget.super.prototype.setDisabled.call(this,state);if(this.$input){this.$input.prop('disabled',this.isDisabled());
}return this;};OO.ui.InputWidget.prototype.setInputId=function(id){this.$input.attr('id',id);return this;};OO.ui.InputWidget.prototype.restorePreInfuseState=function(state){OO.ui.InputWidget.super.prototype.restorePreInfuseState.call(this,state);if(state.value!==undefined&&state.value!==this.getValue()){this.setValue(state.value);}if(state.focus){this.focus();}};OO.ui.HiddenInputWidget=function OoUiHiddenInputWidget(config){config=Object.assign({value:'',name:''},config);OO.ui.HiddenInputWidget.super.call(this,config);this.$element.attr({type:'hidden',value:config.value,name:config.name});this.$element.removeAttr('aria-disabled');};OO.inheritClass(OO.ui.HiddenInputWidget,OO.ui.Widget);OO.ui.HiddenInputWidget.static.tagName='input';OO.ui.ButtonInputWidget=function OoUiButtonInputWidget(config){config=Object.assign({type:'button',useInputTag:false,formNoValidate:false},config);if(config.$input){config.$input.empty();}this.useInputTag=config.useInputTag;OO.ui.ButtonInputWidget.super.call(this,config);
OO.ui.mixin.ButtonElement.call(this,Object.assign({$button:this.$input},config));OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.IndicatorElement.call(this,config);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.FlaggedElement.call(this,config);if(!config.useInputTag){this.$input.append(this.$icon,this.$label,this.$indicator);}if(config.formNoValidate){this.$input.attr('formnovalidate','formnovalidate');}this.$element.addClass('oo-ui-buttonInputWidget');};OO.inheritClass(OO.ui.ButtonInputWidget,OO.ui.InputWidget);OO.mixinClass(OO.ui.ButtonInputWidget,OO.ui.mixin.ButtonElement);OO.mixinClass(OO.ui.ButtonInputWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.ButtonInputWidget,OO.ui.mixin.IndicatorElement);OO.mixinClass(OO.ui.ButtonInputWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.ButtonInputWidget,OO.ui.mixin.FlaggedElement);OO.ui.ButtonInputWidget.static.tagName='span';OO.ui.ButtonInputWidget.prototype.getInputElement=function(config){const type=config.type==='submit'||config.type==='reset'?config.type:'button';
return $('<'+(config.useInputTag?'input':'button')+' type="'+type+'">');};OO.ui.ButtonInputWidget.prototype.setLabel=function(label){label=OO.ui.resolveMsg(label);if(this.useInputTag){if(typeof label!=='string'){label='';}this.$input.val(label);}return OO.ui.mixin.LabelElement.prototype.setLabel.call(this,label);};OO.ui.ButtonInputWidget.prototype.setValue=function(value){if(!this.useInputTag){OO.ui.ButtonInputWidget.super.prototype.setValue.call(this,value);}return this;};OO.ui.ButtonInputWidget.prototype.getInputId=function(){return null;};OO.ui.CheckboxInputWidget=function OoUiCheckboxInputWidget(config){config=config||{};OO.ui.CheckboxInputWidget.super.call(this,config);OO.ui.mixin.RequiredElement.call(this,Object.assign({},{indicatorElement:null},config));this.checkIcon=new OO.ui.IconWidget({icon:'check',classes:['oo-ui-checkboxInputWidget-checkIcon']});this.$element.addClass('oo-ui-checkboxInputWidget').append(this.checkIcon.$element);this.setSelected(config.selected!==undefined?config.selected:false);
this.setIndeterminate(config.indeterminate!==undefined?config.indeterminate:false);};OO.inheritClass(OO.ui.CheckboxInputWidget,OO.ui.InputWidget);OO.mixinClass(OO.ui.CheckboxInputWidget,OO.ui.mixin.RequiredElement);OO.ui.CheckboxInputWidget.static.tagName='span';OO.ui.CheckboxInputWidget.static.gatherPreInfuseState=function(node,config){const state=OO.ui.CheckboxInputWidget.super.static.gatherPreInfuseState(node,config);if(config.$input){state.checked=config.$input.prop('checked');}return state;};OO.ui.CheckboxInputWidget.prototype.getInputElement=function(){return $('<input>').attr('type','checkbox');};OO.ui.CheckboxInputWidget.prototype.onEdit=function(){if(!this.isDisabled()){setTimeout(()=>{this.setSelected(this.$input.prop('checked'));this.setIndeterminate(this.$input.prop('indeterminate'));});}};OO.ui.CheckboxInputWidget.prototype.setSelected=function(state,internal){state=!!state;if(this.selected!==state){this.selected=state;this.$input.prop('checked',this.selected);if(!internal){
this.setIndeterminate(false,true);this.emit('change',this.selected,this.indeterminate);}}if(this.defaultSelected===undefined){this.defaultSelected=this.selected;this.$input[0].defaultChecked=this.defaultSelected;}return this;};OO.ui.CheckboxInputWidget.prototype.isSelected=function(){const selected=this.$input.prop('checked');if(this.selected!==selected){this.setSelected(selected);}return this.selected;};OO.ui.CheckboxInputWidget.prototype.setIndeterminate=function(state,internal){state=!!state;if(this.indeterminate!==state){this.indeterminate=state;this.$input.prop('indeterminate',this.indeterminate);if(!internal){this.setSelected(false,true);this.emit('change',this.selected,this.indeterminate);}}return this;};OO.ui.CheckboxInputWidget.prototype.isIndeterminate=function(){const indeterminate=this.$input.prop('indeterminate');if(this.indeterminate!==indeterminate){this.setIndeterminate(indeterminate);}return this.indeterminate;};OO.ui.CheckboxInputWidget.prototype.simulateLabelClick=function(){
if(!this.isDisabled()){this.$handle.trigger('click');}this.focus();};OO.ui.CheckboxInputWidget.prototype.restorePreInfuseState=function(state){OO.ui.CheckboxInputWidget.super.prototype.restorePreInfuseState.call(this,state);if(state.checked!==undefined&&state.checked!==this.isSelected()){this.setSelected(state.checked);}};OO.ui.DropdownInputWidget=function OoUiDropdownInputWidget(config){config=config||{};this.dropdownWidget=new OO.ui.DropdownWidget(Object.assign({$overlay:config.$overlay},config.dropdown));this.setOptionsData(config.options||[]);OO.ui.DropdownInputWidget.super.call(this,config);OO.ui.mixin.RequiredElement.call(this,Object.assign({},{indicatorElement:null},config));this.dropdownWidget.getMenu().connect(this,{select:'onMenuSelect'});const downIndicator=new OO.ui.IndicatorWidget({indicator:'down'});this.$element.addClass('oo-ui-dropdownInputWidget').append(this.dropdownWidget.$element,downIndicator.$element);if(OO.ui.isMobile()){this.$element.addClass('oo-ui-isMobile');}else{
this.setTabIndexedElement(this.dropdownWidget.$tabIndexed);}this.setTitledElement(this.dropdownWidget.$handle);};OO.inheritClass(OO.ui.DropdownInputWidget,OO.ui.InputWidget);OO.mixinClass(OO.ui.DropdownInputWidget,OO.ui.mixin.RequiredElement);OO.ui.DropdownInputWidget.prototype.getInputElement=function(){return $('<select>');};OO.ui.DropdownInputWidget.prototype.onMenuSelect=function(item){this.setValue(item?item.getData():'');};OO.ui.DropdownInputWidget.prototype.setValue=function(value){value=this.cleanUpValue(value);const selected=this.dropdownWidget.getMenu().findItemFromData(value)||this.dropdownWidget.getMenu().findFirstSelectableItem();this.dropdownWidget.getMenu().selectItem(selected);value=selected?selected.getData():'';OO.ui.DropdownInputWidget.super.prototype.setValue.call(this,value);if(this.optionsDirty){this.updateOptionsInterface();}return this;};OO.ui.DropdownInputWidget.prototype.setDisabled=function(state){this.dropdownWidget.setDisabled(state);OO.ui.DropdownInputWidget.super.prototype.setDisabled.call(this,state);
return this;};OO.ui.DropdownInputWidget.prototype.setOptions=function(options){const value=this.getValue();this.setOptionsData(options);this.setValue(value);return this;};OO.ui.DropdownInputWidget.prototype.setOptionsData=function(options){this.optionsDirty=true;const optionWidgets=[];let previousOptgroup;for(let optIndex=0;optIndex<options.length;optIndex++){const opt=options[optIndex];let optionWidget;if(opt.optgroup!==undefined){optionWidget=this.createMenuSectionOptionWidget(opt.optgroup);previousOptgroup=optionWidget;}else{const optValue=this.cleanUpValue(opt.data);optionWidget=this.createMenuOptionWidget(optValue,opt.label!==undefined?opt.label:optValue);}if(opt.disabled!==undefined||previousOptgroup instanceof OO.ui.MenuSectionOptionWidget&&previousOptgroup.isDisabled()){optionWidget.setDisabled(true);}optionWidgets.push(optionWidget);}this.dropdownWidget.getMenu().clearItems().addItems(optionWidgets);};OO.ui.DropdownInputWidget.prototype.createMenuOptionWidget=function(data,label){
return new OO.ui.MenuOptionWidget({data:data,label:label});};OO.ui.DropdownInputWidget.prototype.createMenuSectionOptionWidget=function(label){return new OO.ui.MenuSectionOptionWidget({label:label});};OO.ui.DropdownInputWidget.prototype.updateOptionsInterface=function(){let $optionsContainer=this.$input;const defaultValue=this.defaultValue;this.$input.empty();this.dropdownWidget.getMenu().getItems().forEach((optionWidget)=>{let $optionNode;if(!(optionWidget instanceof OO.ui.MenuSectionOptionWidget)){$optionNode=$('<option>').attr('value',optionWidget.getData()).text(optionWidget.getLabel());$optionNode[0].defaultSelected=(optionWidget.getData()===defaultValue);$optionsContainer.append($optionNode);}else{$optionNode=$('<optgroup>').attr('label',optionWidget.getLabel());this.$input.append($optionNode);$optionsContainer=$optionNode;}if(optionWidget.isDisabled()){$optionNode.prop('disabled',true);}});this.optionsDirty=false;};OO.ui.DropdownInputWidget.prototype.focus=function(){this.dropdownWidget.focus();
return this;};OO.ui.DropdownInputWidget.prototype.blur=function(){this.dropdownWidget.blur();return this;};OO.ui.DropdownInputWidget.prototype.setLabelledBy=function(id){this.dropdownWidget.setLabelledBy(id);};OO.ui.RadioInputWidget=function OoUiRadioInputWidget(config){config=config||{};OO.ui.RadioInputWidget.super.call(this,config);OO.ui.mixin.RequiredElement.call(this,Object.assign({},{indicatorElement:null},config));this.$element.addClass('oo-ui-radioInputWidget').append($('<span>'));this.setSelected(config.selected!==undefined?config.selected:false);};OO.inheritClass(OO.ui.RadioInputWidget,OO.ui.InputWidget);OO.mixinClass(OO.ui.RadioInputWidget,OO.ui.mixin.RequiredElement);OO.ui.RadioInputWidget.static.tagName='span';OO.ui.RadioInputWidget.static.gatherPreInfuseState=function(node,config){const state=OO.ui.RadioInputWidget.super.static.gatherPreInfuseState(node,config);if(config.$input){state.checked=config.$input.prop('checked');}return state;};OO.ui.RadioInputWidget.prototype.getInputElement=function(){
return $('<input>').attr('type','radio');};OO.ui.RadioInputWidget.prototype.onEdit=function(){};OO.ui.RadioInputWidget.prototype.setSelected=function(state){this.$input.prop('checked',state);if(this.defaultSelected===undefined){this.defaultSelected=state;this.$input[0].defaultChecked=this.defaultSelected;}return this;};OO.ui.RadioInputWidget.prototype.isSelected=function(){return this.$input.prop('checked');};OO.ui.RadioInputWidget.prototype.simulateLabelClick=function(){if(!this.isDisabled()){this.$input.trigger('click');}this.focus();};OO.ui.RadioInputWidget.prototype.restorePreInfuseState=function(state){OO.ui.RadioInputWidget.super.prototype.restorePreInfuseState.call(this,state);if(state.checked!==undefined&&state.checked!==this.isSelected()){this.setSelected(state.checked);}};OO.ui.RadioSelectInputWidget=function OoUiRadioSelectInputWidget(config){config=config||{};this.radioSelectWidget=new OO.ui.RadioSelectWidget();this.setOptionsData(config.options||[]);OO.ui.RadioSelectInputWidget.super.call(this,config);
this.radioSelectWidget.connect(this,{select:'onMenuSelect'});this.$element.addClass('oo-ui-radioSelectInputWidget').append(this.radioSelectWidget.$element);this.setTabIndexedElement(this.radioSelectWidget.$tabIndexed);};OO.inheritClass(OO.ui.RadioSelectInputWidget,OO.ui.InputWidget);OO.ui.RadioSelectInputWidget.static.gatherPreInfuseState=function(node,config){const state=OO.ui.RadioSelectInputWidget.super.static.gatherPreInfuseState(node,config);state.value=$(node).find('.oo-ui-radioInputWidget .oo-ui-inputWidget-input:checked').val();return state;};OO.ui.RadioSelectInputWidget.static.reusePreInfuseDOM=function(node,config){config=OO.ui.RadioSelectInputWidget.super.static.reusePreInfuseDOM(node,config);delete config.$input;return config;};OO.ui.RadioSelectInputWidget.prototype.getInputElement=function(){return $('<input>').addClass('oo-ui-element-hidden');};OO.ui.RadioSelectInputWidget.prototype.onMenuSelect=function(item){this.setValue(item.getData());};OO.ui.RadioSelectInputWidget.prototype.setValue=function(value){
value=this.cleanUpValue(value);const selected=this.radioSelectWidget.findItemFromData(value)||this.radioSelectWidget.findFirstSelectableItem();this.radioSelectWidget.selectItem(selected);value=selected?selected.getData():'';OO.ui.RadioSelectInputWidget.super.prototype.setValue.call(this,value);return this;};OO.ui.RadioSelectInputWidget.prototype.setDisabled=function(state){this.radioSelectWidget.setDisabled(state);OO.ui.RadioSelectInputWidget.super.prototype.setDisabled.call(this,state);return this;};OO.ui.RadioSelectInputWidget.prototype.setOptions=function(options){const value=this.getValue();this.setOptionsData(options);this.setValue(value);return this;};OO.ui.RadioSelectInputWidget.prototype.setOptionsData=function(options){this.radioSelectWidget.clearItems().addItems(options.map((opt)=>{const optValue=this.cleanUpValue(opt.data);return new OO.ui.RadioOptionWidget({data:optValue,label:opt.label!==undefined?opt.label:optValue});}));};OO.ui.RadioSelectInputWidget.prototype.focus=function(){
this.radioSelectWidget.focus();return this;};OO.ui.RadioSelectInputWidget.prototype.blur=function(){this.radioSelectWidget.blur();return this;};OO.ui.CheckboxMultiselectInputWidget=function OoUiCheckboxMultiselectInputWidget(config){config=config||{};this.checkboxMultiselectWidget=new OO.ui.CheckboxMultiselectWidget();this.inputName=config.name;this.setOptionsData(config.options||[]);OO.ui.CheckboxMultiselectInputWidget.super.call(this,config);this.onCheckboxesSelectHandler=OO.ui.debounce(this.onCheckboxesSelect);this.checkboxMultiselectWidget.connect(this,{select:'onCheckboxesSelectHandler'});this.$element.addClass('oo-ui-checkboxMultiselectInputWidget').append(this.checkboxMultiselectWidget.$element);this.$input.detach();};OO.inheritClass(OO.ui.CheckboxMultiselectInputWidget,OO.ui.InputWidget);OO.ui.CheckboxMultiselectInputWidget.static.gatherPreInfuseState=function(node,config){const state=OO.ui.CheckboxMultiselectInputWidget.super.static.gatherPreInfuseState(node,config);state.value=$(node).find('.oo-ui-checkboxInputWidget .oo-ui-inputWidget-input:checked')
.toArray().map((el)=>el.value);return state;};OO.ui.CheckboxMultiselectInputWidget.static.reusePreInfuseDOM=function(node,config){config=OO.ui.CheckboxMultiselectInputWidget.super.static.reusePreInfuseDOM(node,config);delete config.$input;return config;};OO.ui.CheckboxMultiselectInputWidget.prototype.getInputElement=function(){return $('<unused>');};OO.ui.CheckboxMultiselectInputWidget.prototype.onCheckboxesSelect=function(){this.setValue(this.checkboxMultiselectWidget.findSelectedItemsData());};OO.ui.CheckboxMultiselectInputWidget.prototype.getValue=function(){const value=this.$element.find('.oo-ui-checkboxInputWidget .oo-ui-inputWidget-input:checked').toArray().map((el)=>el.value);if(!OO.compare(this.value,value)){this.setValue(value);}return this.value;};OO.ui.CheckboxMultiselectInputWidget.prototype.setValue=function(value){value=this.cleanUpValue(value);this.checkboxMultiselectWidget.selectItemsByData(value);OO.ui.CheckboxMultiselectInputWidget.super.prototype.setValue.call(this,value);
if(this.optionsDirty){this.updateOptionsInterface();}return this;};OO.ui.CheckboxMultiselectInputWidget.prototype.cleanUpValue=function(value){const cleanValue=[];if(!Array.isArray(value)){return cleanValue;}const dataHashSet=new Set(this.checkboxMultiselectWidget.getItems().map((item)=>OO.getHash(item.getData())));for(let i=0;i<value.length;i++){const singleValue=OO.ui.CheckboxMultiselectInputWidget.super.prototype.cleanUpValue.call(this,value[i]);if(!dataHashSet.has(OO.getHash(singleValue))){continue;}cleanValue.push(singleValue);}return cleanValue;};OO.ui.CheckboxMultiselectInputWidget.prototype.setDisabled=function(state){this.checkboxMultiselectWidget.setDisabled(state);OO.ui.CheckboxMultiselectInputWidget.super.prototype.setDisabled.call(this,state);return this;};OO.ui.CheckboxMultiselectInputWidget.prototype.setOptions=function(options){const value=this.getValue();this.setOptionsData(options);this.setValue(value);return this;};OO.ui.CheckboxMultiselectInputWidget.prototype.setOptionsData=function(options){
this.optionsDirty=true;this.checkboxMultiselectWidget.clearItems().addItems(options.map((opt)=>{const optValue=OO.ui.CheckboxMultiselectInputWidget.super.prototype.cleanUpValue.call(this,opt.data);const optDisabled=opt.disabled!==undefined?opt.disabled:false;const item=new OO.ui.CheckboxMultioptionWidget({data:optValue,label:opt.label!==undefined?opt.label:optValue,disabled:optDisabled});item.checkbox.$input.attr('name',this.inputName);item.checkbox.setValue(optValue);return item;}));};OO.ui.CheckboxMultiselectInputWidget.prototype.updateOptionsInterface=function(){const defaultValueSet=new Set(this.defaultValue);this.checkboxMultiselectWidget.getItems().forEach((item)=>{const isDefault=defaultValueSet.has(item.getData());item.checkbox.defaultSelected=isDefault;item.checkbox.$input[0].defaultChecked=isDefault;});this.optionsDirty=false;};OO.ui.CheckboxMultiselectInputWidget.prototype.focus=function(){this.checkboxMultiselectWidget.focus();return this;};OO.ui.TextInputWidget=function OoUiTextInputWidget(config){
config=Object.assign({labelPosition:'after'},config);config.type=this.getValidType(config);if(config.autocomplete===false){config.autocomplete='off';}else if(config.autocomplete===true){config.autocomplete='on';}OO.ui.TextInputWidget.super.call(this,config);OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.IndicatorElement.call(this,config);OO.ui.mixin.PendingElement.call(this,Object.assign({$pending:this.$input},config));OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.FlaggedElement.call(this,config);OO.ui.mixin.RequiredElement.call(this,config);this.type=config.type;this.readOnly=false;this.validate=null;this.scrollWidth=null;this.setValidation(config.validate);this.setLabelPosition(config.labelPosition);this.$input.on({keypress:this.onKeyPress.bind(this),blur:this.onBlur.bind(this),focus:this.onFocus.bind(this)});this.$icon.on('mousedown',this.onIconMouseDown.bind(this));this.$indicator.on('mousedown',this.onIndicatorMouseDown.bind(this));this.on('labelChange',this.updatePosition.bind(this));
this.on('change',OO.ui.debounce(this.onDebouncedChange.bind(this),250));this.$element.addClass('oo-ui-textInputWidget oo-ui-textInputWidget-type-'+config.type).append(this.$icon,this.$indicator);this.setReadOnly(!!config.readOnly);if(config.placeholder!==undefined){this.$input.attr('placeholder',config.placeholder);}if(config.maxLength!==undefined){this.$input.attr('maxlength',config.maxLength);}if(config.minLength!==undefined){this.$input.attr('minlength',config.minLength);}if(config.autofocus){this.$input.attr('autofocus','autofocus');}if(config.autocomplete!==null&&config.autocomplete!==undefined){this.$input.attr('autocomplete',config.autocomplete);if(config.autocomplete==='off'){$(window).on({beforeunload:function(){this.$input.removeAttr('autocomplete');}.bind(this),pageshow:function(){this.$input.attr('autocomplete','off');}.bind(this)});}}if(config.spellcheck!==undefined){this.$input.attr('spellcheck',config.spellcheck?'true':'false');}if(this.label){this.isWaitingToBeAttached=true;
this.installParentChangeDetector();}};OO.inheritClass(OO.ui.TextInputWidget,OO.ui.InputWidget);OO.mixinClass(OO.ui.TextInputWidget,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.TextInputWidget,OO.ui.mixin.IndicatorElement);OO.mixinClass(OO.ui.TextInputWidget,OO.ui.mixin.PendingElement);OO.mixinClass(OO.ui.TextInputWidget,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.TextInputWidget,OO.ui.mixin.FlaggedElement);OO.mixinClass(OO.ui.TextInputWidget,OO.ui.mixin.RequiredElement);OO.ui.TextInputWidget.static.validationPatterns={'non-empty':/^./,integer:/^\d+$/};OO.ui.TextInputWidget.prototype.onIconMouseDown=function(e){if(e.which===OO.ui.MouseButtons.LEFT){this.focus();return false;}};OO.ui.TextInputWidget.prototype.onIndicatorMouseDown=function(e){if(e.which===OO.ui.MouseButtons.LEFT){this.focus();return false;}};OO.ui.TextInputWidget.prototype.onKeyPress=function(e){if(e.which===OO.ui.Keys.ENTER){this.emit('enter',e);}};OO.ui.TextInputWidget.prototype.onBlur=function(){this.setValidityFlag();
};OO.ui.TextInputWidget.prototype.onFocus=function(){if(this.isWaitingToBeAttached){this.onElementAttach();}this.setValidityFlag(true);};OO.ui.TextInputWidget.prototype.onElementAttach=function(){this.isWaitingToBeAttached=false;this.valCache=null;this.positionLabel();};OO.ui.TextInputWidget.prototype.onDebouncedChange=function(){this.setValidityFlag();};OO.ui.TextInputWidget.prototype.isReadOnly=function(){return this.readOnly;};OO.ui.TextInputWidget.prototype.setReadOnly=function(state){this.readOnly=!!state;this.$input.prop('readOnly',this.readOnly);return this;};OO.ui.TextInputWidget.prototype.installParentChangeDetector=function(){this.connectDetectorNode=document.createElement('ooui-connect-detector');this.connectDetectorNode.onConnectOOUI=()=>{if(this.isElementAttached()){this.onElementAttach();}};this.$element.append(this.connectDetectorNode);};OO.ui.TextInputWidget.prototype.getInputElement=function(config){const $input=$('<input>').attr('type',config.type);if(config.type==='number'){
$input.attr('step','any');}return $input;};OO.ui.TextInputWidget.prototype.getValidType=function(config){const allowedTypes=['text','password','email','url','number'];return allowedTypes.includes(config.type)?config.type:'text';};OO.ui.TextInputWidget.prototype.selectRange=function(from,to){const input=this.$input[0];to=to||from;const isBackwards=to<from,start=isBackwards?to:from,end=isBackwards?from:to;this.focus();try{input.setSelectionRange(start,end,isBackwards?'backward':'forward');}catch(e){if(this.getElementDocument().body.contains(input)){throw e;}}return this;};OO.ui.TextInputWidget.prototype.getRange=function(){const input=this.$input[0],start=input.selectionStart,end=input.selectionEnd,isBackwards=input.selectionDirection==='backward';return{from:isBackwards?end:start,to:isBackwards?start:end};};OO.ui.TextInputWidget.prototype.getInputLength=function(){return this.$input[0].value.length;};OO.ui.TextInputWidget.prototype.select=function(){return this.selectRange(0,this.getInputLength());
};OO.ui.TextInputWidget.prototype.moveCursorToStart=function(){return this.selectRange(0);};OO.ui.TextInputWidget.prototype.moveCursorToEnd=function(){return this.selectRange(this.getInputLength());};OO.ui.TextInputWidget.prototype.insertContent=function(content){const value=this.getValue(),range=this.getRange(),start=Math.min(range.from,range.to),end=Math.max(range.from,range.to);this.setValue(value.slice(0,start)+content+value.slice(end));this.selectRange(start+content.length);return this;};OO.ui.TextInputWidget.prototype.encapsulateContent=function(pre,post){const offset=pre.length,range=this.getRange(),start=Math.min(range.from,range.to),end=Math.max(range.from,range.to);this.selectRange(start).insertContent(pre);this.selectRange(offset+end).insertContent(post);this.selectRange(offset+start,offset+end);return this;};OO.ui.TextInputWidget.prototype.setValidation=function(validate){this.validate=validate instanceof RegExp||validate instanceof Function?validate:this.constructor.static.validationPatterns[validate];
};OO.ui.TextInputWidget.prototype.setValidityFlag=function(isValid){const setFlag=(valid)=>{if(!valid){this.$input.attr('aria-invalid','true');}else{this.$input.removeAttr('aria-invalid');}this.setFlags({invalid:!valid});};if(isValid!==undefined){setFlag(isValid);}else{this.getValidity().then(()=>{setFlag(true);},()=>{setFlag(false);});}};OO.ui.TextInputWidget.prototype.getValidity=function(){function rejectOrResolve(valid){const deferred=$.Deferred(),promise=valid?deferred.resolve():deferred.reject();return promise.promise();}if(this.$input[0].checkValidity&&this.$input[0].checkValidity()===false){return rejectOrResolve(false);}if(!this.validate){return rejectOrResolve(true);}let result;if(this.validate instanceof Function){result=this.validate(this.getValue());if(result&&typeof result.promise==='function'){return result.promise().then((valid)=>rejectOrResolve(valid));}}else{result=this.validate.test(this.getValue());}return rejectOrResolve(result);};OO.ui.TextInputWidget.prototype.setLabelPosition=function(labelPosition){
this.labelPosition=labelPosition;if(this.label){this.updatePosition();}return this;};OO.ui.TextInputWidget.prototype.updatePosition=function(){const after=this.labelPosition==='after';this.$element.toggleClass('oo-ui-textInputWidget-labelPosition-after',!!this.label&&after).toggleClass('oo-ui-textInputWidget-labelPosition-before',!!this.label&&!after);this.valCache=null;this.scrollWidth=null;this.positionLabel();return this;};OO.ui.TextInputWidget.prototype.positionLabel=function(){if(this.isWaitingToBeAttached){return this;}const newCss={'padding-right':'','padding-left':''};if(this.label){this.$element.append(this.$label);}else{this.$label.detach();this.$input.css(newCss);return;}const after=this.labelPosition==='after',rtl=this.$element.css('direction')==='rtl',property=after===rtl?'padding-left':'padding-right';newCss[property]=this.$label.outerWidth(true)+(after?this.scrollWidth:0);this.$input.css(newCss);return this;};OO.ui.SearchInputWidget=function OoUiSearchInputWidget(config){
config=Object.assign({icon:'search'},config);OO.ui.SearchInputWidget.super.call(this,config);this.connect(this,{change:'onChange'});this.$indicator.on('click',this.onIndicatorClick.bind(this));this.$indicator.on('keydown',this.onIndicatorKeyDown.bind(this));this.updateSearchIndicator();this.connect(this,{disable:'onDisable'});this.$indicator.attr({tabindex:-1,role:'button'});};OO.inheritClass(OO.ui.SearchInputWidget,OO.ui.TextInputWidget);OO.ui.SearchInputWidget.prototype.getValidType=function(){return'search';};OO.ui.SearchInputWidget.prototype.onIndicatorKeyDown=function(e){if(e.keyCode===OO.ui.Keys.ENTER){this.setValue('');this.focus();return false;}};OO.ui.SearchInputWidget.prototype.onIndicatorClick=function(e){if(e.which===OO.ui.MouseButtons.LEFT){this.setValue('');this.focus();return false;}};OO.ui.SearchInputWidget.prototype.updateSearchIndicator=function(){if(this.getValue()===''||this.isDisabled()||this.isReadOnly()){this.setIndicator(null);}else{this.setIndicator('clear');
this.$indicator.attr('aria-label',OO.ui.msg('ooui-item-remove'));}};OO.ui.SearchInputWidget.prototype.onChange=function(){this.updateSearchIndicator();};OO.ui.SearchInputWidget.prototype.onDisable=function(){this.updateSearchIndicator();};OO.ui.SearchInputWidget.prototype.setReadOnly=function(state){OO.ui.SearchInputWidget.super.prototype.setReadOnly.call(this,state);this.updateSearchIndicator();return this;};OO.ui.MultilineTextInputWidget=function OoUiMultilineTextInputWidget(config){config=Object.assign({type:'text'},config);this.allowLinebreaks=config.allowLinebreaks!==undefined?config.allowLinebreaks:true;OO.ui.MultilineTextInputWidget.super.call(this,config);this.autosize=!!config.autosize;this.styleHeight=null;this.minRows=config.rows!==undefined?config.rows:'';this.maxRows=config.maxRows||Math.max(2*(this.minRows||0),10);if(this.autosize){this.$clone=this.$input.clone().removeAttr('id').removeAttr('name').insertAfter(this.$input).attr('aria-hidden','true').css('overflow','hidden')
.addClass('oo-ui-element-hidden');}this.connect(this,{change:'onChange'});if(config.rows){this.$input.attr('rows',config.rows);}if(this.autosize){this.$input.addClass('oo-ui-textInputWidget-autosized');this.isWaitingToBeAttached=true;this.installParentChangeDetector();}};OO.inheritClass(OO.ui.MultilineTextInputWidget,OO.ui.TextInputWidget);OO.ui.MultilineTextInputWidget.static.gatherPreInfuseState=function(node,config){const state=OO.ui.MultilineTextInputWidget.super.static.gatherPreInfuseState(node,config);if(config.$input){state.scrollTop=config.$input.scrollTop();}return state;};OO.ui.MultilineTextInputWidget.prototype.onElementAttach=function(){OO.ui.MultilineTextInputWidget.super.prototype.onElementAttach.call(this);this.adjustSize();};OO.ui.MultilineTextInputWidget.prototype.onChange=function(){this.adjustSize();};OO.ui.MultilineTextInputWidget.prototype.updatePosition=function(){OO.ui.MultilineTextInputWidget.super.prototype.updatePosition.call(this);this.adjustSize();};OO.ui.MultilineTextInputWidget.prototype.onKeyPress=function(e){
if(!this.allowLinebreaks){if(e.which===OO.ui.Keys.ENTER){e.preventDefault();}return OO.ui.TextInputWidget.prototype.onKeyPress.call(this,e);}if((e.which===OO.ui.Keys.ENTER&&(e.ctrlKey||e.metaKey))||e.which===10){this.emit('enter',e);}};OO.ui.MultilineTextInputWidget.prototype.cleanUpValue=function(value){value=OO.ui.MultilineTextInputWidget.super.prototype.cleanUpValue(value);if(!this.allowLinebreaks){value=value.replace(/\r?\n/g,' ');}return value;};OO.ui.MultilineTextInputWidget.prototype.adjustSize=function(force){if(force||this.$input.val()!==this.valCache){if(this.autosize){this.$clone.val(this.$input.val()).attr('rows',this.minRows).css('height',0).removeClass('oo-ui-element-hidden');this.valCache=this.$input.val();this.$clone[0].scrollHeight;const scrollHeight=this.$clone[0].scrollHeight;this.$clone.css('height','');const innerHeight=this.$clone.innerHeight();const outerHeight=this.$clone.outerHeight();this.$clone.attr('rows',this.maxRows).css('height','auto').val('');const maxInnerHeight=this.$clone.innerHeight();
const measurementError=maxInnerHeight-this.$clone[0].scrollHeight;const idealHeight=Math.min(maxInnerHeight,scrollHeight+measurementError);this.$clone.addClass('oo-ui-element-hidden');const newHeight=idealHeight>innerHeight?idealHeight+(outerHeight-innerHeight):'';if(newHeight!==this.styleHeight){this.$input.css('height',newHeight);this.styleHeight=newHeight;this.emit('resize');}}const scrollWidth=this.$input[0].offsetWidth-this.$input[0].clientWidth;if(scrollWidth!==this.scrollWidth){const property=this.$element.css('direction')==='rtl'?'left':'right';this.$label.css({right:'',left:''});this.$indicator.css({right:'',left:''});if(scrollWidth){this.$indicator.css(property,scrollWidth);if(this.labelPosition==='after'){this.$label.css(property,scrollWidth);}}this.scrollWidth=scrollWidth;this.positionLabel();}}return this;};OO.ui.MultilineTextInputWidget.prototype.getInputElement=function(){return $('<textarea>');};OO.ui.MultilineTextInputWidget.prototype.isAutosizing=function(){return!!this.autosize;
};OO.ui.MultilineTextInputWidget.prototype.restorePreInfuseState=function(state){OO.ui.MultilineTextInputWidget.super.prototype.restorePreInfuseState.call(this,state);if(state.scrollTop!==undefined){this.$input.scrollTop(state.scrollTop);}};OO.ui.ComboBoxInputWidget=function OoUiComboBoxInputWidget(config){config=Object.assign({autocomplete:false},config);if(config.$input){config.$input.removeAttr('list');}OO.ui.ComboBoxInputWidget.super.call(this,config);this.$overlay=(config.$overlay===true?OO.ui.getDefaultOverlay():config.$overlay)||this.$element;this.dropdownButton=new OO.ui.ButtonWidget({classes:['oo-ui-comboBoxInputWidget-dropdownButton'],label:OO.ui.msg('ooui-combobox-button-label'),indicator:'down',invisibleLabel:true,disabled:this.disabled});this.menu=new OO.ui.MenuSelectWidget(Object.assign({widget:this,input:this,$floatableContainer:this.$element,disabled:this.isDisabled()},config.menu));this.connect(this,{change:'onInputChange',enter:'onInputEnter'});this.dropdownButton.connect(this,{
click:'onDropdownButtonClick'});this.menu.connect(this,{choose:'onMenuChoose',add:'onMenuItemsChange',remove:'onMenuItemsChange',toggle:'onMenuToggle'});this.$input.attr({role:'combobox','aria-owns':this.menu.getElementId(),'aria-autocomplete':'list'});this.dropdownButton.$button.attr({'aria-controls':this.menu.getElementId()});if(config.options!==undefined){this.setOptions(config.options);}this.$field=$('<div>').addClass('oo-ui-comboBoxInputWidget-field').append(this.$input,this.dropdownButton.$element);this.$element.addClass('oo-ui-comboBoxInputWidget').append(this.$field);this.$overlay.append(this.menu.$element);this.onMenuItemsChange();};OO.inheritClass(OO.ui.ComboBoxInputWidget,OO.ui.TextInputWidget);OO.ui.ComboBoxInputWidget.prototype.getMenu=function(){return this.menu;};OO.ui.ComboBoxInputWidget.prototype.getInput=function(){return this;};OO.ui.ComboBoxInputWidget.prototype.onEdit=function(event){OO.ui.ComboBoxInputWidget.super.prototype.onEdit.apply(this,arguments);if(this.menu.isVisible()||this.isDisabled()||!this.isVisible()){
return;}if(event.type==='input'||event.type==='mouseup'||(event.type==='keydown'&&(event.keyCode===OO.ui.Keys.ENTER||event.keyCode===OO.ui.Keys.UP||event.keyCode===OO.ui.Keys.DOWN))){this.menu.toggle(true);}};OO.ui.ComboBoxInputWidget.prototype.onInputChange=function(value){const match=this.menu.findItemFromData(value);this.menu.selectItem(match);if(this.menu.findHighlightedItem()){this.menu.highlightItem(match);}};OO.ui.ComboBoxInputWidget.prototype.onInputEnter=function(){if(!this.isDisabled()){this.menu.toggle(false);}};OO.ui.ComboBoxInputWidget.prototype.onDropdownButtonClick=function(){this.menu.toggle();this.focus();};OO.ui.ComboBoxInputWidget.prototype.onMenuChoose=function(item){this.setValue(item.getData());};OO.ui.ComboBoxInputWidget.prototype.onMenuItemsChange=function(){const match=this.menu.findItemFromData(this.getValue());this.menu.selectItem(match);if(this.menu.findHighlightedItem()){this.menu.highlightItem(match);}this.$element.toggleClass('oo-ui-comboBoxInputWidget-empty',this.menu.isEmpty());
};OO.ui.ComboBoxInputWidget.prototype.onMenuToggle=function(isVisible){this.$element.toggleClass('oo-ui-comboBoxInputWidget-open',isVisible);};OO.ui.ComboBoxInputWidget.prototype.updateControlsDisabled=function(){const disabled=this.isDisabled()||this.isReadOnly();if(this.dropdownButton){this.dropdownButton.setDisabled(disabled);}if(this.menu){this.menu.setDisabled(disabled);}return this;};OO.ui.ComboBoxInputWidget.prototype.setDisabled=function(){OO.ui.ComboBoxInputWidget.super.prototype.setDisabled.apply(this,arguments);this.updateControlsDisabled();return this;};OO.ui.ComboBoxInputWidget.prototype.setReadOnly=function(){OO.ui.ComboBoxInputWidget.super.prototype.setReadOnly.apply(this,arguments);this.updateControlsDisabled();return this;};OO.ui.ComboBoxInputWidget.prototype.setOptions=function(options){this.getMenu().clearItems().addItems(options.map((opt)=>new OO.ui.MenuOptionWidget({data:opt.data,label:opt.label!==undefined?opt.label:opt.data})));return this;};OO.ui.FieldLayout=function OoUiFieldLayout(fieldWidget,config){
if(OO.isPlainObject(fieldWidget)&&config===undefined){config=fieldWidget;fieldWidget=config.fieldWidget;}if(fieldWidget===undefined){throw new Error('Widget not found');}config=Object.assign({align:'left',helpInline:false},config);if(config.help&&!config.label){config.label=' ';}OO.ui.FieldLayout.super.call(this,config);OO.ui.mixin.LabelElement.call(this,Object.assign({$label:$('<label>')},config));OO.ui.mixin.TitledElement.call(this,Object.assign({$titled:this.$label},config));this.fieldWidget=fieldWidget;this.errors=[];this.warnings=[];this.successMessages=[];this.notices=[];this.$field=this.isFieldInline()?$('<span>'):$('<div>');this.$messages=$('<div>');this.$header=$('<span>');this.$body=$('<div>');this.align=null;this.helpInline=config.helpInline;this.fieldWidget.connect(this,{disable:'onFieldDisable'});this.$help=config.help?this.createHelpElement(config.help,config.$overlay):$([]);if(this.fieldWidget.getInputId()){this.$label.attr('for',this.fieldWidget.getInputId());if(this.helpInline){
this.$help.attr('for',this.fieldWidget.getInputId());}}else{const id=OO.ui.generateElementId();this.$label.attr('id',id);this.fieldWidget.setLabelledBy(id);this.$label.on('click',this.onLabelClick.bind(this));if(this.helpInline){this.$help.on('click',this.onLabelClick.bind(this));}}this.$element.addClass('oo-ui-fieldLayout').toggleClass('oo-ui-fieldLayout-disabled',this.fieldWidget.isDisabled()).append(this.$body);this.$body.addClass('oo-ui-fieldLayout-body');this.$header.addClass('oo-ui-fieldLayout-header');this.$messages.addClass('oo-ui-fieldLayout-messages');this.$field.addClass('oo-ui-fieldLayout-field').append(this.fieldWidget.$element);this.setErrors(config.errors||[]);this.setWarnings(config.warnings||[]);this.setSuccess(config.successMessages||[]);this.setNotices(config.notices||[]);this.setAlignment(config.align);this.updateTitle();};OO.inheritClass(OO.ui.FieldLayout,OO.ui.Layout);OO.mixinClass(OO.ui.FieldLayout,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.FieldLayout,OO.ui.mixin.TitledElement);
OO.ui.FieldLayout.prototype.onFieldDisable=function(value){this.$element.toggleClass('oo-ui-fieldLayout-disabled',value);};OO.ui.FieldLayout.prototype.onLabelClick=function(){this.fieldWidget.simulateLabelClick();};OO.ui.FieldLayout.prototype.getField=function(){return this.fieldWidget;};OO.ui.FieldLayout.prototype.isFieldInline=function(){return this.getField().$element.prop('tagName').toLowerCase()==='span';};OO.ui.FieldLayout.prototype.makeMessage=function(kind,text){return new OO.ui.MessageWidget({type:kind,inline:true,label:text}).$element;};OO.ui.FieldLayout.prototype.setAlignment=function(value){if(value!==this.align){if(!['left','right','top','inline'].includes(value)){value='left';}if(value==='inline'&&!this.isFieldInline()){value='top';}if(this.helpInline){if(value==='top'){this.$header.append(this.$label);this.$body.append(this.$header,this.$field,this.$help);}else if(value==='inline'){this.$header.append(this.$label,this.$help);this.$body.append(this.$field,this.$header);}else{
this.$header.append(this.$label,this.$help);this.$body.append(this.$header,this.$field);}}else{if(value==='top'){this.$header.append(this.$help,this.$label);this.$body.append(this.$header,this.$field);}else if(value==='inline'){this.$header.append(this.$help,this.$label);this.$body.append(this.$field,this.$header);}else{this.$header.append(this.$label);this.$body.append(this.$header,this.$help,this.$field);}}if(this.align){this.$element.removeClass('oo-ui-fieldLayout-align-'+this.align);}this.$element.addClass('oo-ui-fieldLayout-align-'+value);this.align=value;}return this;};OO.ui.FieldLayout.prototype.setErrors=function(errors){this.errors=errors.slice();this.updateMessages();return this;};OO.ui.FieldLayout.prototype.setWarnings=function(warnings){this.warnings=warnings.slice();this.updateMessages();return this;};OO.ui.FieldLayout.prototype.setSuccess=function(successMessages){this.successMessages=successMessages.slice();this.updateMessages();return this;};OO.ui.FieldLayout.prototype.setNotices=function(notices){
this.notices=notices.slice();this.updateMessages();return this;};OO.ui.FieldLayout.prototype.updateMessages=function(){this.$messages.empty();if(this.errors.length||this.warnings.length||this.successMessages.length||this.notices.length){this.$body.after(this.$messages);}else{this.$messages.remove();return;}let i;for(i=0;i<this.errors.length;i++){this.$messages.append(this.makeMessage('error',this.errors[i]));}for(i=0;i<this.warnings.length;i++){this.$messages.append(this.makeMessage('warning',this.warnings[i]));}for(i=0;i<this.successMessages.length;i++){this.$messages.append(this.makeMessage('success',this.successMessages[i]));}for(i=0;i<this.notices.length;i++){this.$messages.append(this.makeMessage('notice',this.notices[i]));}};OO.ui.FieldLayout.prototype.formatTitleWithAccessKey=function(title){if(this.fieldWidget&&this.fieldWidget.formatTitleWithAccessKey){return this.fieldWidget.formatTitleWithAccessKey(title);}return title;};OO.ui.FieldLayout.prototype.createHelpElement=function(help,$overlay){
let helpId,helpWidget;if(this.helpInline){helpWidget=new OO.ui.LabelWidget({label:help,classes:['oo-ui-inline-help']});helpId=helpWidget.getElementId();}else{helpWidget=new OO.ui.PopupButtonWidget({$overlay:$overlay,popup:{padded:true},classes:['oo-ui-fieldLayout-help'],framed:false,icon:'info',label:OO.ui.msg('ooui-field-help'),invisibleLabel:true});helpWidget.popup.on('ready',()=>{const $popupElement=helpWidget.popup.$element;$popupElement.attr('tabindex',0);$popupElement.trigger('focus');});helpWidget.popup.on('closing',()=>{helpWidget.$button.trigger('focus');});if(help instanceof OO.ui.HtmlSnippet){helpWidget.getPopup().$body.html(help.toString());}else{helpWidget.getPopup().$body.text(help);}helpId=helpWidget.getPopup().getBodyId();}(this.fieldWidget.$input||(this.fieldWidget.input&&this.fieldWidget.input.$input)||this.fieldWidget.$button||this.fieldWidget.$element).attr('aria-describedby',helpId);return helpWidget.$element;};OO.ui.ActionFieldLayout=function OoUiActionFieldLayout(fieldWidget,buttonWidget,config){
if(OO.isPlainObject(fieldWidget)&&config===undefined){config=fieldWidget;fieldWidget=config.fieldWidget;buttonWidget=config.buttonWidget;}OO.ui.ActionFieldLayout.super.call(this,fieldWidget,config);this.buttonWidget=buttonWidget;this.$button=$('<span>');this.$input=this.isFieldInline()?$('<span>'):$('<div>');this.$element.addClass('oo-ui-actionFieldLayout');this.$button.addClass('oo-ui-actionFieldLayout-button').append(this.buttonWidget.$element);this.$input.addClass('oo-ui-actionFieldLayout-input').append(this.fieldWidget.$element);this.$field.append(this.$input,this.$button);};OO.inheritClass(OO.ui.ActionFieldLayout,OO.ui.FieldLayout);OO.ui.FieldsetLayout=function OoUiFieldsetLayout(config){config=config||{};OO.ui.FieldsetLayout.super.call(this,config);OO.ui.mixin.IconElement.call(this,config);OO.ui.mixin.LabelElement.call(this,config);OO.ui.mixin.GroupElement.call(this,config);this.$header=$('<legend>');this.$header.addClass('oo-ui-fieldsetLayout-header').append(this.$icon,this.$label);
this.$group.addClass('oo-ui-fieldsetLayout-group');this.$element.addClass('oo-ui-fieldsetLayout').prepend(this.$header,this.$group);if(config.help){if(config.helpInline){const inlineHelpWidget=new OO.ui.LabelWidget({label:config.help,classes:['oo-ui-inline-help']});this.$element.prepend(this.$header,inlineHelpWidget.$element,this.$group);}else{const helpWidget=new OO.ui.PopupButtonWidget({$overlay:config.$overlay,popup:{padded:true},classes:['oo-ui-fieldsetLayout-help'],framed:false,icon:'info',label:OO.ui.msg('ooui-field-help'),invisibleLabel:true});if(config.help instanceof OO.ui.HtmlSnippet){helpWidget.getPopup().$body.html(config.help.toString());}else{helpWidget.getPopup().$body.text(config.help);}this.$header.append(helpWidget.$element);}}this.addItems(config.items||[]);};OO.inheritClass(OO.ui.FieldsetLayout,OO.ui.Layout);OO.mixinClass(OO.ui.FieldsetLayout,OO.ui.mixin.IconElement);OO.mixinClass(OO.ui.FieldsetLayout,OO.ui.mixin.LabelElement);OO.mixinClass(OO.ui.FieldsetLayout,OO.ui.mixin.GroupElement);
OO.ui.FieldsetLayout.static.tagName='fieldset';OO.ui.FormLayout=function OoUiFormLayout(config){config=config||{};OO.ui.FormLayout.super.call(this,config);OO.ui.mixin.GroupElement.call(this,Object.assign({$group:this.$element},config));this.$element.on('submit',this.onFormSubmit.bind(this));let action=config.action;if(action!==undefined&&!OO.ui.isSafeUrl(action)){action='./'+action;}this.$element.addClass('oo-ui-formLayout').attr({method:config.method,action:action,enctype:config.enctype});this.addItems(config.items||[]);};OO.inheritClass(OO.ui.FormLayout,OO.ui.Layout);OO.mixinClass(OO.ui.FormLayout,OO.ui.mixin.GroupElement);OO.ui.FormLayout.static.tagName='form';OO.ui.FormLayout.prototype.onFormSubmit=function(){if(this.emit('submit')){return false;}};OO.ui.PanelLayout=function OoUiPanelLayout(config){config=Object.assign({scrollable:false,padded:false,expanded:true,framed:false},config);OO.ui.PanelLayout.super.call(this,config);this.$element.addClass('oo-ui-panelLayout');if(config.scrollable){
this.$element.addClass('oo-ui-panelLayout-scrollable');}if(config.padded){this.$element.addClass('oo-ui-panelLayout-padded');}if(config.expanded){this.$element.addClass('oo-ui-panelLayout-expanded');}if(config.framed){this.$element.addClass('oo-ui-panelLayout-framed');}};OO.inheritClass(OO.ui.PanelLayout,OO.ui.Layout);OO.ui.PanelLayout.static.reusePreInfuseDOM=function(node,config){config=OO.ui.PanelLayout.super.static.reusePreInfuseDOM(node,config);if(config.preserveContent!==false){config.$content=$(node).contents();}return config;};OO.ui.PanelLayout.prototype.focus=function(){OO.ui.findFocusable(this.$element).focus();};OO.ui.HorizontalLayout=function OoUiHorizontalLayout(config){config=config||{};OO.ui.HorizontalLayout.super.call(this,config);OO.ui.mixin.GroupElement.call(this,Object.assign({$group:this.$element},config));this.$element.addClass('oo-ui-horizontalLayout');this.addItems(config.items||[]);};OO.inheritClass(OO.ui.HorizontalLayout,OO.ui.Layout);OO.mixinClass(OO.ui.HorizontalLayout,OO.ui.mixin.GroupElement);
OO.ui.NumberInputWidget=function OoUiNumberInputWidget(config){const $field=$('<div>').addClass('oo-ui-numberInputWidget-field');config=Object.assign({min:-Infinity,max:Infinity,showButtons:true},config);Object.assign(config,config.input);this.input=this;OO.ui.NumberInputWidget.super.call(this,Object.assign(config,{type:'number'}));if(config.showButtons){this.minusButton=new OO.ui.ButtonWidget(Object.assign({disabled:this.isDisabled(),tabIndex:-1,classes:['oo-ui-numberInputWidget-minusButton'],icon:'subtract'},config.minusButton));this.minusButton.$element.attr('aria-hidden','true');this.plusButton=new OO.ui.ButtonWidget(Object.assign({disabled:this.isDisabled(),tabIndex:-1,classes:['oo-ui-numberInputWidget-plusButton'],icon:'add'},config.plusButton));this.plusButton.$element.attr('aria-hidden','true');}this.$input.on({keydown:this.onKeyDown.bind(this),'wheel mousewheel DOMMouseScroll':this.onWheel.bind(this)});if(config.showButtons){this.plusButton.connect(this,{click:['onButtonClick',+1]
});this.minusButton.connect(this,{click:['onButtonClick',-1]});}$field.append(this.$input);if(config.showButtons){$field.prepend(this.minusButton.$element).append(this.plusButton.$element);}if(config.allowInteger||config.isInteger){config.step=1;}this.setRange(config.min,config.max);this.setStep(config.buttonStep,config.pageStep,config.step);this.setValidation(this.validateNumber.bind(this));this.$element.addClass('oo-ui-numberInputWidget').toggleClass('oo-ui-numberInputWidget-buttoned',config.showButtons).append($field);};OO.inheritClass(OO.ui.NumberInputWidget,OO.ui.TextInputWidget);OO.ui.NumberInputWidget.prototype.setAllowInteger=function(flag){this.setStep(flag?1:null);};OO.ui.NumberInputWidget.prototype.setIsInteger=OO.ui.NumberInputWidget.prototype.setAllowInteger;OO.ui.NumberInputWidget.prototype.getAllowInteger=function(){return this.step===1;};OO.ui.NumberInputWidget.prototype.getIsInteger=OO.ui.NumberInputWidget.prototype.getAllowInteger;OO.ui.NumberInputWidget.prototype.setRange=function(min,max){
if(min>max){throw new Error('Minimum ('+min+') must not be greater than maximum ('+max+')');}this.min=min;this.max=max;this.$input.attr({min:this.min,max:this.max});this.setValidityFlag();};OO.ui.NumberInputWidget.prototype.getRange=function(){return[this.min,this.max];};OO.ui.NumberInputWidget.prototype.setStep=function(buttonStep,pageStep,step){if(buttonStep===undefined){buttonStep=step||1;}if(pageStep===undefined){pageStep=10*buttonStep;}if(step!==null&&step<=0){throw new Error('Step value, if given, must be positive');}if(buttonStep<=0){throw new Error('Button step value must be positive');}if(pageStep<=0){throw new Error('Page step value must be positive');}this.step=step;this.buttonStep=buttonStep;this.pageStep=pageStep;this.$input.attr('step',this.step||'any');this.setValidityFlag();};OO.ui.NumberInputWidget.prototype.setValue=function(value){if(value===''){this.$input.val('');}return OO.ui.NumberInputWidget.super.prototype.setValue.call(this,value);};OO.ui.NumberInputWidget.prototype.getStep=function(){
return[this.buttonStep,this.pageStep,this.step];};OO.ui.NumberInputWidget.prototype.getNumericValue=function(){return+this.getValue();};OO.ui.NumberInputWidget.prototype.adjustValue=function(delta){const v=this.getNumericValue();delta=+delta;if(isNaN(delta)||!isFinite(delta)){throw new Error('Delta must be a finite number');}let n;if(isNaN(v)){n=0;}else{n=v+delta;n=Math.max(Math.min(n,this.max),this.min);if(this.step){n=Math.round(n/this.step)*this.step;}}if(n!==v){this.setValue(n);}};OO.ui.NumberInputWidget.prototype.validateNumber=function(value){const n=+value;if(value===''){return!this.isRequired();}if(isNaN(n)||!isFinite(n)){return false;}if(this.step&&Math.floor(n/this.step)!==n/this.step){return false;}if(n<this.min||n>this.max){return false;}return true;};OO.ui.NumberInputWidget.prototype.onButtonClick=function(dir){this.adjustValue(dir*this.buttonStep);};OO.ui.NumberInputWidget.prototype.onWheel=function(event){let delta=0;if(this.isDisabled()||this.isReadOnly()){return;}if(this.$input.is(':focus')){
if(event.originalEvent.deltaMode!==undefined){this.sawWheelEvent=true;}if(event.originalEvent.deltaY){delta=-event.originalEvent.deltaY;}else if(event.originalEvent.deltaX){delta=event.originalEvent.deltaX;}if(!this.sawWheelEvent){if(event.originalEvent.wheelDeltaX){delta=-event.originalEvent.wheelDeltaX;}else if(event.originalEvent.wheelDeltaY){delta=event.originalEvent.wheelDeltaY;}else if(event.originalEvent.wheelDelta){delta=event.originalEvent.wheelDelta;}else if(event.originalEvent.detail){delta=-event.originalEvent.detail;}}if(delta){delta=delta<0?-1:1;this.adjustValue(delta*this.buttonStep);}return false;}};OO.ui.NumberInputWidget.prototype.onKeyDown=function(e){if(this.isDisabled()||this.isReadOnly()){return;}switch(e.which){case OO.ui.Keys.UP:this.adjustValue(this.buttonStep);return false;case OO.ui.Keys.DOWN:this.adjustValue(-this.buttonStep);return false;case OO.ui.Keys.PAGEUP:this.adjustValue(this.pageStep);return false;case OO.ui.Keys.PAGEDOWN:this.adjustValue(-this.pageStep);
return false;}};OO.ui.NumberInputWidget.prototype.updateControlsDisabled=function(){const disabled=this.isDisabled()||this.isReadOnly();if(this.minusButton){this.minusButton.setDisabled(disabled);}if(this.plusButton){this.plusButton.setDisabled(disabled);}return this;};OO.ui.NumberInputWidget.prototype.setDisabled=function(disabled){OO.ui.NumberInputWidget.super.prototype.setDisabled.call(this,disabled);this.updateControlsDisabled();return this;};OO.ui.NumberInputWidget.prototype.setReadOnly=function(){OO.ui.NumberInputWidget.super.prototype.setReadOnly.apply(this,arguments);this.updateControlsDisabled();return this;};OO.ui.SelectFileInputWidget=function OoUiSelectFileInputWidget(config){config=config||{};this.selectButton=new OO.ui.ButtonWidget(Object.assign({$element:$('<label>'),classes:['oo-ui-selectFileInputWidget-selectButton'],label:OO.ui.msg(config.multiple?'ooui-selectfile-button-select-multiple':'ooui-selectfile-button-select')},config.button));config=Object.assign({accept:null,
placeholder:OO.ui.msg('ooui-selectfile-placeholder'),$tabIndexed:this.selectButton.$tabIndexed,droppable:true,buttonOnly:false,showDropTarget:false,thumbnailSizeLimit:20},config);this.canSetFiles=true;try{new DataTransfer();}catch(e){this.canSetFiles=false;config.droppable=false;}this.info=new OO.ui.SearchInputWidget({classes:['oo-ui-selectFileInputWidget-info'],placeholder:config.placeholder,$tabIndexed:$([])}).setIcon(config.icon);this.info.$input.attr('tabindex',-1);this.info.$indicator.attr('tabindex',0);OO.ui.SelectFileInputWidget.super.call(this,config);OO.ui.mixin.RequiredElement.call(this,Object.assign({},{indicatorElement:null},config));OO.ui.mixin.PendingElement.call(this);this.currentFiles=this.filterFiles(this.$input[0].files||[]);if(Array.isArray(config.accept)){this.accept=config.accept;}else{this.accept=null;}this.multiple=!!config.multiple;this.showDropTarget=config.droppable&&config.showDropTarget;this.thumbnailSizeLimit=config.thumbnailSizeLimit;this.fieldLayout=new OO.ui.ActionFieldLayout(this.info,this.selectButton,{align:'top'});
this.$input.attr({type:'file',tabindex:-1,'aria-disabled':null});if(this.accept){this.$input.attr('accept',this.accept.join(', '));}if(this.multiple){this.$input.attr('multiple','');}this.selectButton.$button.append(this.$input);this.$element.addClass('oo-ui-selectFileInputWidget oo-ui-selectFileWidget').append(this.fieldLayout.$element);if(this.showDropTarget){this.selectButton.setIcon('upload');this.$element.addClass('oo-ui-selectFileInputWidget-dropTarget oo-ui-selectFileWidget-dropTarget').on({click:this.onDropTargetClick.bind(this)}).append(this.info.$element,this.selectButton.$element,$('<span>').addClass('oo-ui-selectFileInputWidget-dropLabel oo-ui-selectFileWidget-dropLabel').text(OO.ui.msg(this.multiple?'ooui-selectfile-dragdrop-placeholder-multiple':'ooui-selectfile-dragdrop-placeholder')));if(!this.multiple){this.$thumbnail=$('<div>').addClass('oo-ui-selectFileInputWidget-thumbnail oo-ui-selectFileWidget-thumbnail');this.setPendingElement(this.$thumbnail);this.$element.addClass('oo-ui-selectFileInputWidget-withThumbnail oo-ui-selectFileWidget-withThumbnail')
.prepend(this.$thumbnail);}this.fieldLayout.$element.remove();}else if(config.buttonOnly){this.selectButton.$element.addClass(this.$element.attr('class')).addClass('oo-ui-selectFileInputWidget-buttonOnly oo-ui-selectFileWidget-buttonOnly');this.$element=this.selectButton.$element;}this.info.connect(this,{change:'onInfoChange'});this.selectButton.$button.on({keypress:this.onKeyPress.bind(this)});this.$input.on({change:this.onFileSelected.bind(this),click:function(e){e.stopPropagation();}});this.connect(this,{change:'updateUI'});if(config.droppable){const dragHandler=this.onDragEnterOrOver.bind(this);this.$element.on({dragenter:dragHandler,dragover:dragHandler,dragleave:this.onDragLeave.bind(this),drop:this.onDrop.bind(this)});}this.updateUI();};OO.inheritClass(OO.ui.SelectFileInputWidget,OO.ui.InputWidget);OO.mixinClass(OO.ui.SelectFileInputWidget,OO.ui.mixin.RequiredElement);OO.mixinClass(OO.ui.SelectFileInputWidget,OO.ui.mixin.PendingElement);OO.ui.SelectFileInputWidget.static.title='';
OO.ui.SelectFileInputWidget.prototype.getValue=function(){return this.multiple?this.currentFiles:this.currentFiles[0];};OO.ui.SelectFileInputWidget.prototype.setValue=function(files){if(files===undefined||typeof files==='string'){return this;}if(files&&!this.multiple){files=files.slice(0,1);}function comparableFile(file){return{size:file.size,type:file.type,lastModified:file.lastModified,name:file.name};}if(!OO.compare(files&&files.map(comparableFile),this.currentFiles&&this.currentFiles.map(comparableFile))){this.currentFiles=files||[];this.emit('change',this.currentFiles);}if(this.canSetFiles){const dataTransfer=new DataTransfer();Array.prototype.forEach.call(this.currentFiles||[],(file)=>{dataTransfer.items.add(file);});this.$input[0].files=dataTransfer.files;}else{if(!files||!files.length){OO.ui.SelectFileInputWidget.super.prototype.setValue.call(this,'');}}return this;};OO.ui.SelectFileInputWidget.prototype.getFilename=function(){return this.currentFiles.map((file)=>file.name).join(', ');
};OO.ui.SelectFileInputWidget.prototype.onFileSelected=function(e){const files=this.filterFiles(e.target.files||[]);this.setValue(files);};OO.ui.SelectFileInputWidget.prototype.onEdit=function(){};OO.ui.SelectFileInputWidget.prototype.updateUI=function(){if(!this.selectButton){return;}this.info.setValue(this.getFilename());if(this.currentFiles.length){this.$element.removeClass('oo-ui-selectFileInputWidget-empty');if(this.showDropTarget){if(!this.multiple){this.pushPending();this.loadAndGetImageUrl(this.currentFiles[0]).done((url)=>{this.$thumbnail.css('background-image','url( '+url+' )');}).fail(()=>{this.$thumbnail.append(new OO.ui.IconWidget({icon:'attachment',classes:['oo-ui-selectFileInputWidget-noThumbnail-icon oo-ui-selectFileWidget-noThumbnail-icon']}).$element);}).always(()=>{this.popPending();});}this.$element.off('click');}}else{if(this.showDropTarget){this.$element.off('click');this.$element.on({click:this.onDropTargetClick.bind(this)});if(!this.multiple){this.$thumbnail.empty()
.css('background-image','');}}this.$element.addClass('oo-ui-selectFileInputWidget-empty');}};OO.ui.SelectFileInputWidget.prototype.loadAndGetImageUrl=function(file){const deferred=$.Deferred(),reader=new FileReader();if((OO.getProp(file,'type')||'').indexOf('image/')===0&&file.size<this.thumbnailSizeLimit*1024*1024){reader.onload=function(event){const img=document.createElement('img');img.addEventListener('load',()=>{if(img.naturalWidth===0||img.naturalHeight===0||img.complete===false){deferred.reject();}else{deferred.resolve(event.target.result);}});img.src=event.target.result;};reader.readAsDataURL(file);}else{deferred.reject();}return deferred.promise();};OO.ui.SelectFileInputWidget.prototype.filterFiles=function(files){const accept=this.accept;function mimeAllowed(file){const mimeType=file.type;if(!accept||!mimeType){return true;}return accept.some((acceptedType)=>{if(acceptedType===mimeType){return true;}else if(acceptedType.slice(-2)==='/*'){if(mimeType.startsWith(acceptedType.slice(0,-1))){
return true;}}return false;});}return Array.prototype.filter.call(files,mimeAllowed);};OO.ui.SelectFileInputWidget.prototype.onInfoChange=function(value){if(value===''){this.setValue(null);}};OO.ui.SelectFileInputWidget.prototype.onKeyPress=function(e){if(!this.isDisabled()&&this.$input&&(e.which===OO.ui.Keys.SPACE||e.which===OO.ui.Keys.ENTER)){this.$input.trigger('click');this.selectButton.onDocumentKeyUp(e);return false;}};OO.ui.SelectFileInputWidget.prototype.setDisabled=function(disabled){OO.ui.SelectFileInputWidget.super.prototype.setDisabled.call(this,disabled);this.selectButton.setDisabled(disabled);this.info.setDisabled(disabled);this.info.$input.attr('disabled',true);return this;};OO.ui.SelectFileInputWidget.prototype.onDropTargetClick=function(){if(!this.isDisabled()&&this.$input){this.$input.trigger('click');return false;}};OO.ui.SelectFileInputWidget.prototype.onDragEnterOrOver=function(e){let hasDroppableFile=false;const dt=e.originalEvent.dataTransfer;e.preventDefault();e.stopPropagation();
if(this.isDisabled()){this.$element.removeClass(['oo-ui-selectFileInputWidget-canDrop','oo-ui-selectFileWidget-canDrop','oo-ui-selectFileInputWidget-cantDrop']);dt.dropEffect='none';return false;}const itemsOrFiles=dt.items||dt.files;const hasFiles=!!itemsOrFiles&&Array.prototype.some.call(itemsOrFiles,(item)=>item.kind==='file');if(hasFiles){if(this.filterFiles(itemsOrFiles).length){hasDroppableFile=true;}}else if(Array.prototype.includes.call(OO.getProp(dt,'types')||[],'Files')){hasDroppableFile=true;}this.$element.toggleClass('oo-ui-selectFileInputWidget-canDrop oo-ui-selectFileWidget-canDrop',hasDroppableFile);this.$element.toggleClass('oo-ui-selectFileInputWidget-cantDrop',!hasDroppableFile&&hasFiles);if(!hasDroppableFile){dt.dropEffect='none';}return false;};OO.ui.SelectFileInputWidget.prototype.onDragLeave=function(){this.$element.removeClass(['oo-ui-selectFileInputWidget-canDrop','oo-ui-selectFileWidget-canDrop','oo-ui-selectFileInputWidget-cantDrop']);};OO.ui.SelectFileInputWidget.prototype.onDrop=function(e){
const dt=e.originalEvent.dataTransfer;e.preventDefault();e.stopPropagation();this.$element.removeClass(['oo-ui-selectFileInputWidget-canDrop','oo-ui-selectFileWidget-canDrop','oo-ui-selectFileInputWidget-cantDrop']);if(this.isDisabled()){return false;}const files=this.filterFiles(dt.files||[]);this.setValue(files);return false;};}(OO));
(function(){let isMobile;OO.ui.getUserLanguages=mw.language.getFallbackLanguageChain;OO.ui.msg=mw.msg;OO.ui.warnDeprecation=function(message){mw.track('mw.deprecate','oojs-ui');mw.log.warn(message);};OO.ui.isMobile=function(){if(isMobile===undefined){isMobile=!!mw.config.get('wgMFMode');}return isMobile;};OO.ui.getTeleportTarget=function(){return require('mediawiki.page.ready').teleportTarget;};}());
(function(OO){'use strict';OO.ui.WikimediaUITheme=function OoUiWikimediaUITheme(){OO.ui.WikimediaUITheme.super.call(this);};OO.inheritClass(OO.ui.WikimediaUITheme,OO.ui.Theme);OO.ui.WikimediaUITheme.prototype.getElementClasses=function(element){const variants={invert:false,progressive:false,destructive:false,error:false,warning:false,success:false},classes=OO.ui.WikimediaUITheme.super.prototype.getElementClasses.call(this,element);if(element instanceof OO.ui.IconWidget&&element.$element.hasClass('oo-ui-checkboxInputWidget-checkIcon')){variants.invert=true;}else if(element.supports('hasFlag')){const isFramed=element.supports('isFramed')&&element.isFramed();const isActive=element.supports('isActive')&&element.isActive();const isToolOrGroup=(OO.ui.Tool&&element instanceof OO.ui.Tool)||(OO.ui.ToolGroup&&element instanceof OO.ui.ToolGroup);if(isFramed&&(isActive||element.isDisabled()||element.hasFlag('primary'))||isToolOrGroup&&element.hasFlag('primary')){variants.invert=true;}else if(!isFramed&&element.isDisabled()&&!element.hasFlag('invert')){
variants.invert=false;}else if(!element.isDisabled()){variants.progressive=element.hasFlag('progressive')||(isToolOrGroup&&isActive)||((element instanceof OO.ui.MenuOptionWidget||(OO.ui.OutlineOptionWidget&&element instanceof OO.ui.OutlineOptionWidget))&&(element.isPressed()||element.isSelected()));variants.destructive=element.hasFlag('destructive');variants.invert=element.hasFlag('invert');variants.error=element.hasFlag('error');variants.warning=element.hasFlag('warning');variants.success=element.hasFlag('success');}}for(const variant in variants){classes[variants[variant]?'on':'off'].push('oo-ui-image-'+variant);}return classes;};OO.ui.WikimediaUITheme.prototype.getDialogTransitionDuration=function(){return 250;};OO.ui.theme=new OO.ui.WikimediaUITheme();}(OO));
},{},{"ooui-combobox-button-label":"\ud1a0\uae00 \uc120\ud0dd","ooui-field-help":"\ub3c4\uc6c0\ub9d0","ooui-popup-widget-close-button-aria-label":"\ub2eb\uae30","ooui-selectfile-button-select":"\ud30c\uc77c\uc744 \uc120\ud0dd\ud558\uc138\uc694","ooui-selectfile-button-select-multiple":"\ud30c\uc77c \uc120\ud0dd","ooui-selectfile-dragdrop-placeholder":"\uc5ec\uae30\uc5d0 \ud30c\uc77c\uc744 \ub193\uc73c\uc138\uc694","ooui-selectfile-dragdrop-placeholder-multiple":"\uc5ec\uae30\uc5d0 \ud30c\uc77c\uc744 \ub193\uc73c\uc138\uc694","ooui-selectfile-placeholder":"\uc120\ud0dd\ud55c \ud30c\uc77c \uc5c6\uc74c"}];});
mw.loader.impl(function(){return["oojs-ui-windows@19l92",function($,jQuery,require,module){(function(OO){'use strict';OO.ui.ActionWidget=function OoUiActionWidget(config){config=Object.assign({framed:false},config);OO.ui.ActionWidget.super.call(this,config);OO.ui.mixin.PendingElement.call(this,config);this.action=config.action||'';this.modes=config.modes||[];this.width=0;this.height=0;this.$element.addClass('oo-ui-actionWidget');};OO.inheritClass(OO.ui.ActionWidget,OO.ui.ButtonWidget);OO.mixinClass(OO.ui.ActionWidget,OO.ui.mixin.PendingElement);OO.ui.ActionWidget.prototype.hasMode=function(mode){return this.modes.includes(mode);};OO.ui.ActionWidget.prototype.getAction=function(){return this.action;};OO.ui.ActionWidget.prototype.getModes=function(){return this.modes.slice();};OO.ui.ActionSet=function OoUiActionSet(config){OO.EventEmitter.call(this);this.list=[];this.categories={actions:'getAction',flags:'getFlags',modes:'getModes'};this.categorized={};this.special={};this.others=[];this.organized=false;this.changing=false;this.changed=false;};OO.mixinClass(OO.ui.ActionSet,OO.EventEmitter);
OO.ui.ActionSet.static.specialFlags=['safe','primary'];OO.ui.ActionSet.prototype.onActionChange=function(){this.organized=false;if(this.changing){this.changed=true;}else{this.emit('change');}};OO.ui.ActionSet.prototype.isSpecial=function(action){for(const flag in this.special){if(action===this.special[flag]){return true;}}return false;};OO.ui.ActionSet.prototype.get=function(filters){if(filters){this.organize();let i,len;const matches=[];for(const category in this.categorized){let list=filters[category];if(list){if(!Array.isArray(list)){list=[list];}for(i=0,len=list.length;i<len;i++){const actions=this.categorized[category][list[i]];if(Array.isArray(actions)){matches.push.apply(matches,actions);}}}}let match;for(i=0,len=matches.length;i<len;i++){match=matches[i];if((filters.visible!==undefined&&match.isVisible()!==filters.visible)||(filters.disabled!==undefined&&match.isDisabled()!==filters.disabled)){matches.splice(i,1);len--;i--;}}for(i=0,len=matches.length;i<len;i++){match=matches[i];
let index=matches.lastIndexOf(match);while(index!==i){matches.splice(index,1);len--;index=matches.lastIndexOf(match);}}return matches;}return this.list.slice();};OO.ui.ActionSet.prototype.getSpecial=function(){this.organize();return Object.assign({},this.special);};OO.ui.ActionSet.prototype.getOthers=function(){this.organize();return this.others.slice();};OO.ui.ActionSet.prototype.setMode=function(mode){this.changing=true;for(let i=0,len=this.list.length;i<len;i++){const action=this.list[i];action.toggle(action.hasMode(mode));}this.organized=false;this.changing=false;this.emit('change');return this;};OO.ui.ActionSet.prototype.setAbilities=function(actions){for(let i=0,len=this.list.length;i<len;i++){const item=this.list[i];const action=item.getAction();if(actions[action]!==undefined){item.setDisabled(!actions[action]);}}return this;};OO.ui.ActionSet.prototype.forEach=function(filter,callback){this.changed=false;this.changing=true;this.get(filter).forEach(callback);this.changing=false;
if(this.changed){this.emit('change');}return this;};OO.ui.ActionSet.prototype.add=function(actions){this.changing=true;for(let i=0,len=actions.length;i<len;i++){const action=actions[i];action.connect(this,{click:['emit','click',action],toggle:['onActionChange']});this.list.push(action);}this.organized=false;this.emit('add',actions);this.changing=false;this.emit('change');return this;};OO.ui.ActionSet.prototype.remove=function(actions){this.changing=true;for(let i=0,len=actions.length;i<len;i++){const action=actions[i];const index=this.list.indexOf(action);if(index!==-1){action.disconnect(this);this.list.splice(index,1);}}this.organized=false;this.emit('remove',actions);this.changing=false;this.emit('change');return this;};OO.ui.ActionSet.prototype.clear=function(){const removed=this.list.slice();this.changing=true;for(let i=0,len=this.list.length;i<len;i++){const action=this.list[i];action.disconnect(this);}this.list=[];this.organized=false;this.emit('remove',removed);this.changing=false;
this.emit('change');return this;};OO.ui.ActionSet.prototype.organize=function(){const specialFlags=this.constructor.static.specialFlags;if(!this.organized){this.categorized={};this.special={};this.others=[];for(let i=0,iLen=this.list.length;i<iLen;i++){const action=this.list[i];let j,jLen;for(const category in this.categories){if(!this.categorized[category]){this.categorized[category]={};}let list=action[this.categories[category]]();if(!Array.isArray(list)){list=[list];}for(j=0,jLen=list.length;j<jLen;j++){const item=list[j];if(!this.categorized[category][item]){this.categorized[category][item]=[];}this.categorized[category][item].push(action);}}if(action.isVisible()){let special=false;for(j=0,jLen=specialFlags.length;j<jLen;j++){const flag=specialFlags[j];if(!this.special[flag]&&action.hasFlag(flag)){this.special[flag]=action;special=true;break;}}if(!special){this.others.push(action);}}}this.organized=true;}return this;};OO.ui.Error=function OoUiError(message,config){if(OO.isPlainObject(message)&&config===undefined){
config=message;message=config.message;}config=config||{};this.message=message instanceof $?message:String(message);this.recoverable=config.recoverable===undefined||!!config.recoverable;this.warning=!!config.warning;};OO.initClass(OO.ui.Error);OO.ui.Error.prototype.isRecoverable=function(){return this.recoverable;};OO.ui.Error.prototype.isWarning=function(){return this.warning;};OO.ui.Error.prototype.getMessage=function(){return this.message instanceof $?this.message.clone():$('<div>').text(this.message).contents();};OO.ui.Error.prototype.getMessageText=function(){return this.message instanceof $?this.message.text():this.message;};OO.ui.Process=function(step,context){this.steps=[];if(step!==undefined){this.next(step,context);}};OO.initClass(OO.ui.Process);OO.ui.Process.prototype.execute=function(){function proceed(step){return function(){const result=step.callback.call(step.context);if(result===false){return $.Deferred().reject([]).promise();}if(typeof result==='number'){if(result<0){
throw new Error('Cannot go back in time: flux capacitor is out of service');}const deferred=$.Deferred();setTimeout(deferred.resolve,result);return deferred.promise();}if(result instanceof OO.ui.Error){return $.Deferred().reject([result]).promise();}if(Array.isArray(result)&&result.length&&result[0]instanceof OO.ui.Error){return $.Deferred().reject(result).promise();}if(result&&typeof result.then==='function'){return $.when(result).promise();}return $.Deferred().resolve().promise();};}let promise;if(this.steps.length){promise=proceed(this.steps[0])();for(let i=1,len=this.steps.length;i<len;i++){promise=promise.then(proceed(this.steps[i]));}}else{promise=$.Deferred().resolve().promise();}return promise;};OO.ui.Process.prototype.createStep=function(step,context){if(typeof step==='number'||typeof step.then==='function'){return{callback:function(){return step;},context:null};}if(typeof step==='function'){return{callback:step,context:context};}throw new Error('Cannot create process step: number, promise or function expected');
};OO.ui.Process.prototype.first=function(step,context){this.steps.unshift(this.createStep(step,context));return this;};OO.ui.Process.prototype.next=function(step,context){this.steps.push(this.createStep(step,context));return this;};OO.ui.WindowInstance=function OoUiWindowInstance(){const deferreds={opening:$.Deferred(),opened:$.Deferred(),closing:$.Deferred(),closed:$.Deferred()};this.deferreds=deferreds;this.opening=deferreds.opening.promise();this.opened=this.opening.then(()=>deferreds.opened);this.closing=this.opened.then(()=>deferreds.closing);this.closed=this.closing.then(()=>deferreds.closed);};OO.initClass(OO.ui.WindowInstance);OO.ui.WindowInstance.prototype.isOpening=function(){return this.deferreds.opened.state()==='pending';};OO.ui.WindowInstance.prototype.isOpened=function(){return this.deferreds.opened.state()==='resolved'&&this.deferreds.closing.state()==='pending';};OO.ui.WindowInstance.prototype.isClosing=function(){return this.deferreds.closing.state()==='resolved'&&
this.deferreds.closed.state()==='pending';};OO.ui.WindowInstance.prototype.isClosed=function(){return this.deferreds.closed.state()==='resolved';};OO.ui.WindowManager=function OoUiWindowManager(config){config=config||{};OO.ui.WindowManager.super.call(this,config);OO.EventEmitter.call(this);this.factory=config.factory;this.modal=config.modal===undefined||!!config.modal;this.windows={};this.compatOpened=null;this.preparingToOpen=null;this.preparingToClose=null;this.currentWindow=null;this.lastSize=null;this.globalEvents=false;this.$returnFocusTo=null;this.isolated=false;this.$ariaHidden=null;this.$inert=null;this.onWindowResizeTimeout=null;this.onWindowResizeHandler=this.onWindowResize.bind(this);this.afterWindowResizeHandler=this.afterWindowResize.bind(this);this.onWindowFocusHandler=this.onWindowFocus.bind(this);this.$element.addClass('oo-ui-windowManager').toggleClass('oo-ui-windowManager-modal',this.isModal()).toggleClass('oo-ui-windowManager-forceTrapFocus',!!config.forceTrapFocus);
if(this.isModal()){this.$element.attr('aria-hidden','true').attr('inert','');}};OO.inheritClass(OO.ui.WindowManager,OO.ui.Element);OO.mixinClass(OO.ui.WindowManager,OO.EventEmitter);OO.ui.WindowManager.static.sizes={small:{width:300},medium:{width:500},large:{width:700},larger:{width:900},full:{width:'100%',height:'100%'}};OO.ui.WindowManager.static.defaultSize='medium';OO.ui.WindowManager.prototype.isModal=function(){return this.modal;};OO.ui.WindowManager.prototype.onWindowResize=function(){clearTimeout(this.onWindowResizeTimeout);this.onWindowResizeTimeout=setTimeout(this.afterWindowResizeHandler,200);};OO.ui.WindowManager.prototype.onWindowFocus=function(){const currentWindow=this.getCurrentWindow();if(currentWindow&&!OO.ui.contains(currentWindow.$element[0],document.activeElement)){currentWindow.focus();}};OO.ui.WindowManager.prototype.afterWindowResize=function(){const currentFocusedElement=document.activeElement;if(this.currentWindow){this.updateWindowSize(this.currentWindow);if(currentFocusedElement!==document.activeElement){
currentFocusedElement.focus();}}};OO.ui.WindowManager.prototype.isOpening=function(win){return win===this.currentWindow&&!!this.lifecycle&&this.lifecycle.isOpening();};OO.ui.WindowManager.prototype.isClosing=function(win){return win===this.currentWindow&&!!this.lifecycle&&this.lifecycle.isClosing();};OO.ui.WindowManager.prototype.isOpened=function(win){return win===this.currentWindow&&!!this.lifecycle&&this.lifecycle.isOpened();};OO.ui.WindowManager.prototype.hasWindow=function(win){for(const name in this.windows){if(this.windows[name]===win){return true;}}return false;};OO.ui.WindowManager.prototype.getSetupDelay=function(){return 0;};OO.ui.WindowManager.prototype.getReadyDelay=function(){return this.isModal()?OO.ui.theme.getDialogTransitionDuration():0;};OO.ui.WindowManager.prototype.getHoldDelay=function(){return 0;};OO.ui.WindowManager.prototype.getTeardownDelay=function(){return this.isModal()?OO.ui.theme.getDialogTransitionDuration():0;};OO.ui.WindowManager.prototype.getWindow=function(name){
const deferred=$.Deferred();let win=this.windows[name];if(!(win instanceof OO.ui.Window)){if(this.factory){if(!this.factory.lookup(name)){deferred.reject(new OO.ui.Error('Cannot auto-instantiate window: symbolic name is unrecognized by the factory'));}else{win=this.factory.create(name);this.addWindows([win]);deferred.resolve(win);}}else{deferred.reject(new OO.ui.Error('Cannot get unmanaged window: symbolic name unrecognized as a managed window'));}}else{deferred.resolve(win);}return deferred.promise();};OO.ui.WindowManager.prototype.getCurrentWindow=function(){return this.currentWindow;};OO.ui.WindowManager.prototype.openWindow=function(win,data,lifecycle,compatOpening){data=data||{};lifecycle=lifecycle||new OO.ui.WindowInstance();compatOpening=compatOpening||$.Deferred();['state','always','catch','pipe','then','promise','progress','done','fail'].forEach((method)=>{lifecycle[method]=function(){OO.ui.warnDeprecation('Using the return value of openWindow as a promise is deprecated. '+
'Use .openWindow( ... ).opening.'+method+'( ... ) instead.');return compatOpening[method].apply(this,arguments);};});if(typeof win==='string'){this.getWindow(win).then((w)=>{this.openWindow(w,data,lifecycle,compatOpening);},(err)=>{lifecycle.deferreds.opening.reject(err);});return lifecycle;}let error;if(!this.hasWindow(win)){error='Cannot open window: window is not attached to manager';}else if(this.lifecycle&&this.lifecycle.isOpened()){error='Cannot open window: another window is open';}else if(this.preparingToOpen||(this.lifecycle&&this.lifecycle.isOpening())){error='Cannot open window: another window is opening';}if(error){compatOpening.reject(new OO.ui.Error(error));lifecycle.deferreds.opening.reject(new OO.ui.Error(error));return lifecycle;}this.preparingToOpen=$.when(this.lifecycle&&this.lifecycle.closed);this.preparingToOpen.done(()=>{if(this.isModal()){this.toggleGlobalEvents(true,win);this.toggleIsolation(true);}this.$returnFocusTo=data.$returnFocusTo!==undefined?data.$returnFocusTo:
$(document.activeElement);this.currentWindow=win;this.lifecycle=lifecycle;this.preparingToOpen=null;this.emit('opening',win,compatOpening,data);lifecycle.deferreds.opening.resolve(data);setTimeout(()=>{this.compatOpened=$.Deferred();win.setup(data).then(()=>{compatOpening.notify({state:'setup'});setTimeout(()=>{win.ready(data).then(()=>{compatOpening.notify({state:'ready'});lifecycle.deferreds.opened.resolve(data);compatOpening.resolve(this.compatOpened.promise(),data);this.togglePreventIosScrolling(true);},(dataOrErr)=>{lifecycle.deferreds.opened.reject();compatOpening.reject();this.closeWindow(win);if(dataOrErr instanceof Error){setTimeout(()=>{throw dataOrErr;});}});},this.getReadyDelay());},(dataOrErr)=>{lifecycle.deferreds.opened.reject();compatOpening.reject();this.closeWindow(win);if(dataOrErr instanceof Error){setTimeout(()=>{throw dataOrErr;});}});},this.getSetupDelay());});return lifecycle;};OO.ui.WindowManager.prototype.closeWindow=function(win,data){const compatClosing=$.Deferred();
let lifecycle=this.lifecycle;if(typeof win==='string'){win=this.windows[win];}else if(!this.hasWindow(win)){win=null;}let error;if(!lifecycle){error='Cannot close window: no window is currently open';}else if(!win){error='Cannot close window: window is not attached to manager';}else if(win!==this.currentWindow||this.lifecycle.isClosed()){error='Cannot close window: window already closed with different data';}else if(this.preparingToClose||this.lifecycle.isClosing()){error='Cannot close window: window already closing with different data';}if(error){lifecycle=new OO.ui.WindowInstance();lifecycle.deferreds.opening.resolve({});lifecycle.deferreds.opened.resolve({});}['state','always','catch','pipe','then','promise','progress','done','fail'].forEach((method)=>{lifecycle[method]=function(){OO.ui.warnDeprecation('Using the return value of closeWindow as a promise is deprecated. '+'Use .closeWindow( ... ).closed.'+method+'( ... ) instead.');return compatClosing[method].apply(this,arguments);};
});if(error){compatClosing.reject(new OO.ui.Error(error));lifecycle.deferreds.closing.reject(new OO.ui.Error(error));return lifecycle;}this.preparingToClose=$.when(this.lifecycle.opened);this.preparingToClose.always(()=>{this.preparingToClose=null;this.emit('closing',win,compatClosing,data);lifecycle.deferreds.closing.resolve(data);const compatOpened=this.compatOpened;this.compatOpened=null;compatOpened.resolve(compatClosing.promise(),data);this.togglePreventIosScrolling(false);setTimeout(()=>{win.hold(data).then(()=>{compatClosing.notify({state:'hold'});setTimeout(()=>{win.teardown(data).then(()=>{compatClosing.notify({state:'teardown'});if(this.isModal()){this.toggleGlobalEvents(false);this.toggleIsolation(false);}if(this.$returnFocusTo&&this.$returnFocusTo.length){this.$returnFocusTo[0].focus();}this.currentWindow=null;this.lifecycle=null;lifecycle.deferreds.closed.resolve(data);compatClosing.resolve(data);});},this.getTeardownDelay());});},this.getHoldDelay());});return lifecycle;};
OO.ui.WindowManager.prototype.addWindows=function(windows){let list;if(Array.isArray(windows)){list={};for(let i=0,len=windows.length;i<len;i++){const name=windows[i].constructor.static.name;if(!name){throw new Error('Windows must have a `name` static property defined.');}list[name]=windows[i];}}else if(OO.isPlainObject(windows)){list=windows;}for(const n in list){const win=list[n];this.windows[n]=win.toggle(false);this.$element.append(win.$element);win.setManager(this);}};OO.ui.WindowManager.prototype.removeWindows=function(names){const cleanup=(name,win)=>{delete this.windows[name];win.$element.detach();};const promises=names.map((name)=>{const win=this.windows[name];if(!win){throw new Error('Cannot remove window');}const cleanupWindow=cleanup.bind(null,name,win);return this.closeWindow(name).closed.then(cleanupWindow,cleanupWindow);});return $.when.apply($,promises);};OO.ui.WindowManager.prototype.clearWindows=function(){return this.removeWindows(Object.keys(this.windows));};OO.ui.WindowManager.prototype.updateWindowSize=function(win){
if(win!==this.currentWindow){return this;}const size=win.getSize();this.$element.removeClass('oo-ui-windowManager-size-'+this.lastSize).addClass('oo-ui-windowManager-size-'+size);this.lastSize=size;const isFullscreen=size==='full';this.$element.toggleClass('oo-ui-windowManager-fullscreen',isFullscreen);this.$element.toggleClass('oo-ui-windowManager-floating',!isFullscreen);const $body=$(this.getElementDocument().body);const stack=$body.data('windowManagerGlobalEvents')||[];$body.add($body.parent()).toggleClass('oo-ui-windowManager-modal-active-fullscreen',stack.some((w)=>w.getSize()==='full'));win.setDimensions(win.getSizeProperties());this.emit('resize',win);return this;};OO.ui.WindowManager.prototype.togglePreventIosScrolling=function(on){const isIos=/ipad|iphone|ipod/i.test(navigator.userAgent),$body=$(this.getElementDocument().body),stackDepth=($body.data('windowManagerGlobalEvents')||[]).length;if(!isIos||stackDepth!==1){return this;}const scrollableRoot=OO.ui.Element.static.getRootScrollableElement($body[0]);
if(on){this.iosOrigScrollPosition=scrollableRoot.scrollTop;if(this.getCurrentWindow().getSize()==='full'){$body.add($body.parent()).addClass('oo-ui-windowManager-ios-modal-ready');}}else{$body.add($body.parent()).removeClass('oo-ui-windowManager-ios-modal-ready');if(this.getCurrentWindow().getSize()==='full'){scrollableRoot.scrollTop=this.iosOrigScrollPosition;}}return this;};OO.ui.WindowManager.prototype.toggleGlobalEvents=function(on,win){const $body=$(this.getElementDocument().body);const $window=$(this.getElementWindow());const stack=$body.data('windowManagerGlobalEvents')||[];on=on===undefined?!!this.globalEvents:!!on;const $bodyAndParent=$body.add($body.parent());if(on){if(!this.globalEvents){$window.on({'orientationchange resize':this.onWindowResizeHandler,focus:this.onWindowFocusHandler});stack.push(win);this.globalEvents=true;}}else if(this.globalEvents){$window.off({'orientationchange resize':this.onWindowResizeHandler,focus:this.onWindowFocusHandler});stack.pop();this.globalEvents=false;
}$bodyAndParent.toggleClass('oo-ui-windowManager-modal-active',stack.length>0);if(stack.length===0){$bodyAndParent.removeClass('oo-ui-windowManager-modal-active-fullscreen');}$body.data('windowManagerGlobalEvents',stack);return this;};OO.ui.WindowManager.prototype.toggleIsolation=function(isolate){this.isolated=isolate===undefined?!this.isolated:!!isolate;if(this.isolated){this.$element.removeAttr('aria-hidden').removeAttr('inert');let $el=this.$element;const ariaHidden=[];const inert=[];while(!$el.is('body')&&$el.length){const $siblings=$el.siblings().not('script').not(OO.ui.getTeleportTarget()).not(OO.ui.getDefaultOverlay());$el.removeAttr('aria-hidden').removeAttr('inert');ariaHidden.push.apply(ariaHidden,$siblings.not('[aria-hidden=true]').toArray());inert.push.apply(inert,$siblings.not('[inert]').toArray());$el=$el.parent();}this.$ariaHidden=$(ariaHidden);this.$inert=$(inert);this.$ariaHidden.attr('aria-hidden','true');this.$inert.attr('inert','');}else{this.$ariaHidden.removeAttr('aria-hidden');
this.$inert.removeAttr('inert');this.$ariaHidden=null;this.$inert=null;this.$element.attr('aria-hidden','true').attr('inert','');}return this;};OO.ui.WindowManager.prototype.destroy=function(){const promise=this.clearWindows();this.$element.remove();return promise;};OO.ui.Window=function OoUiWindow(config){config=config||{};OO.ui.Window.super.call(this,config);OO.EventEmitter.call(this);this.manager=null;this.size=config.size||this.constructor.static.size;this.$frame=$('<div>');this.$overlay=$('<div>');this.$content=$('<div>');this.$focusTrapBefore=$('<div>').addClass('oo-ui-window-focusTrap').prop('tabIndex',0);this.$focusTrapAfter=this.$focusTrapBefore.clone();this.$focusTraps=this.$focusTrapBefore.add(this.$focusTrapAfter);this.$overlay.addClass('oo-ui-window-overlay');this.$content.addClass('oo-ui-window-content').attr('tabindex',-1);this.$frame.addClass('oo-ui-window-frame').append(this.$focusTrapBefore,this.$content,this.$focusTrapAfter);this.$element.addClass('oo-ui-window').append(this.$frame,this.$overlay);
this.visible=false;this.$element.addClass('oo-ui-element-hidden');};OO.inheritClass(OO.ui.Window,OO.ui.Element);OO.mixinClass(OO.ui.Window,OO.EventEmitter);OO.ui.Window.static.size='medium';OO.ui.Window.prototype.onMouseDown=function(e){if(e.target===this.$element[0]){return false;}};OO.ui.Window.prototype.isInitialized=function(){return!!this.manager;};OO.ui.Window.prototype.isVisible=function(){return this.visible;};OO.ui.Window.prototype.isOpening=function(){return this.manager.isOpening(this);};OO.ui.Window.prototype.isClosing=function(){return this.manager.isClosing(this);};OO.ui.Window.prototype.isOpened=function(){return this.manager.isOpened(this);};OO.ui.Window.prototype.getManager=function(){return this.manager;};OO.ui.Window.prototype.getSize=function(){const viewport=OO.ui.Element.static.getDimensions(this.getElementWindow());const sizes=this.manager.constructor.static.sizes;let size=this.size;if(!sizes[size]){size=this.manager.constructor.static.defaultSize;}if(size!=='full'&&viewport.rect.right-viewport.rect.left<sizes[size].width){
size='full';}return size;};OO.ui.Window.prototype.getSizeProperties=function(){return this.manager.constructor.static.sizes[this.getSize()];};OO.ui.Window.prototype.withoutSizeTransitions=function(callback){const oldTransition=this.$frame.css('transition-property')+' '+this.$frame.css('transition-duration')+' '+this.$frame.css('transition-timing-function')+' '+this.$frame.css('transition-delay');this.$frame.css('transition','none');callback();this.$frame.height();this.$frame.css('transition',oldTransition);};OO.ui.Window.prototype.getContentHeight=function(){const body=this.$body[0];const frame=this.$frame[0];let bodyHeight;this.withoutSizeTransitions(()=>{const oldHeight=frame.style.height;const oldPosition=body.style.position;const scrollTop=body.scrollTop;frame.style.height='1px';body.style.position='relative';bodyHeight=this.getBodyHeight();frame.style.height=oldHeight;body.style.position=oldPosition;body.scrollTop=scrollTop;});return((this.$frame.outerHeight()-this.$frame.innerHeight())+
(this.$head.outerHeight(true)+bodyHeight+this.$foot.outerHeight(true)));};OO.ui.Window.prototype.getBodyHeight=function(){return this.$body[0].scrollHeight;};OO.ui.Window.prototype.getDir=function(){return OO.ui.Element.static.getDir(this.$content)||'ltr';};OO.ui.Window.prototype.getSetupProcess=function(){return new OO.ui.Process();};OO.ui.Window.prototype.getReadyProcess=function(){return new OO.ui.Process();};OO.ui.Window.prototype.getHoldProcess=function(){return new OO.ui.Process();};OO.ui.Window.prototype.getTeardownProcess=function(){return new OO.ui.Process();};OO.ui.Window.prototype.setManager=function(manager){if(this.manager){throw new Error('Cannot set window manager, window already has a manager');}this.manager=manager;this.initialize();return this;};OO.ui.Window.prototype.setSize=function(size){this.size=size;this.updateSize();return this;};OO.ui.Window.prototype.updateSize=function(){if(!this.manager){throw new Error('Cannot update window size, must be attached to a manager');
}this.manager.updateWindowSize(this);return this;};OO.ui.Window.prototype.setDimensions=function(dim){const styleObj=this.$frame[0].style;let height;if(dim.height===undefined){this.withoutSizeTransitions(()=>{const oldWidth=styleObj.width;this.$frame.css('width',dim.width||'');height=this.getContentHeight();styleObj.width=oldWidth;});}else{height=dim.height;}this.$frame.css({width:dim.width||'',minWidth:dim.minWidth||'',maxWidth:dim.maxWidth||'',height:height||'',minHeight:dim.minHeight||'',maxHeight:dim.maxHeight||''});return this;};OO.ui.Window.prototype.initialize=function(){if(!this.manager){throw new Error('Cannot initialize window, must be attached to a manager');}this.$head=$('<div>');this.$body=$('<div>');this.$foot=$('<div>');this.$document=$(this.getElementDocument());this.$element.on('mousedown',this.onMouseDown.bind(this));this.$focusTraps.on('focus',this.onFocusTrapFocused.bind(this));this.$head.addClass('oo-ui-window-head');this.$body.addClass('oo-ui-window-body');this.$foot.addClass('oo-ui-window-foot');
this.$content.append(this.$head,this.$body,this.$foot);return this;};OO.ui.Window.prototype.onFocusTrapFocused=function(event){const backwards=this.$focusTrapBefore.is(event.target);this.focus(backwards);};OO.ui.Window.prototype.focus=function(focusLast){const element=OO.ui.findFocusable(this.$content,!!focusLast);if(element){element.focus();}else{this.$content.trigger('focus');}return this;};OO.ui.Window.prototype.open=function(data){if(!this.manager){throw new Error('Cannot open window, must be attached to a manager');}return this.manager.openWindow(this,data);};OO.ui.Window.prototype.close=function(data){if(!this.manager){throw new Error('Cannot close window, must be attached to a manager');}return this.manager.closeWindow(this,data);};OO.ui.Window.prototype.setup=function(data){this.toggle(true);return this.getSetupProcess(data).execute().then(()=>{this.updateSize();this.$element.addClass('oo-ui-window-active oo-ui-window-setup').width();this.$content.addClass('oo-ui-window-content-setup').width();
});};OO.ui.Window.prototype.ready=function(data){this.$content.trigger('focus');return this.getReadyProcess(data).execute().then(()=>{this.$element.addClass('oo-ui-window-ready').width();this.$content.addClass('oo-ui-window-content-ready').width();});};OO.ui.Window.prototype.hold=function(data){return this.getHoldProcess(data).execute().then(()=>{const $focus=this.$content.find(OO.ui.Element.static.getDocument(this.$content).activeElement);if($focus.length){$focus[0].blur();}this.$element.removeClass('oo-ui-window-ready oo-ui-window-setup').width();this.$content.removeClass('oo-ui-window-content-ready oo-ui-window-content-setup').width();});};OO.ui.Window.prototype.teardown=function(data){return this.getTeardownProcess(data).execute().then(()=>{this.$element.removeClass('oo-ui-window-active').width();this.toggle(false);});};OO.ui.Dialog=function OoUiDialog(config){OO.ui.Dialog.super.call(this,config);OO.ui.mixin.PendingElement.call(this);this.actions=new OO.ui.ActionSet();this.attachedActions=[];
this.currentAction=null;this.onDialogKeyDownHandler=this.onDialogKeyDown.bind(this);this.actions.connect(this,{click:'onActionClick',change:'onActionsChange'});this.$element.addClass('oo-ui-dialog').attr('role','dialog');};OO.inheritClass(OO.ui.Dialog,OO.ui.Window);OO.mixinClass(OO.ui.Dialog,OO.ui.mixin.PendingElement);OO.ui.Dialog.static.name='';OO.ui.Dialog.static.title='';OO.ui.Dialog.static.actions=[];OO.ui.Dialog.prototype.getEscapeAction=function(){return'';};OO.ui.Dialog.prototype.onDialogKeyDown=function(e){if(e.which===OO.ui.Keys.ESCAPE){const action=this.getEscapeAction();if(action!==null){this.executeAction(action);e.preventDefault();e.stopPropagation();}}else if(e.which===OO.ui.Keys.ENTER&&(e.ctrlKey||e.metaKey)){const actions=this.actions.get({flags:'primary',visible:true,disabled:false});if(actions.length>0){this.executeAction(actions[0].getAction());e.preventDefault();e.stopPropagation();}}};OO.ui.Dialog.prototype.onActionClick=function(action){if(!this.isPending()){this.executeAction(action.getAction());
}};OO.ui.Dialog.prototype.onActionsChange=function(){this.detachActions();if(!this.isClosing()){this.attachActions();if(!this.isOpening()){this.updateSize();}}};OO.ui.Dialog.prototype.getActions=function(){return this.actions;};OO.ui.Dialog.prototype.getActionProcess=function(action){return new OO.ui.Process().next(()=>{if(!action){this.close();}});};OO.ui.Dialog.prototype.getSetupProcess=function(data){data=data||{};return OO.ui.Dialog.super.prototype.getSetupProcess.call(this,data).next(()=>{const config=this.constructor.static,actions=data.actions!==undefined?data.actions:config.actions,title=data.title!==undefined?data.title:config.title;this.title.setLabel(title);this.actions.add(this.getActionWidgets(actions));this.$element.on('keydown',this.onDialogKeyDownHandler);});};OO.ui.Dialog.prototype.getTeardownProcess=function(data){return OO.ui.Dialog.super.prototype.getTeardownProcess.call(this,data).first(()=>{this.$element.off('keydown',this.onDialogKeyDownHandler);this.actions.clear();
this.currentAction=null;});};OO.ui.Dialog.prototype.initialize=function(){OO.ui.Dialog.super.prototype.initialize.call(this);this.title=new OO.ui.LabelWidget();this.$content.addClass('oo-ui-dialog-content');this.$element.attr('aria-labelledby',this.title.getElementId());this.setPendingElement(this.$head);};OO.ui.Dialog.prototype.getActionWidgets=function(actions){const widgets=[];for(let i=0,len=actions.length;i<len;i++){widgets.push(this.getActionWidget(actions[i]));}return widgets;};OO.ui.Dialog.prototype.getActionWidget=function(config){return new OO.ui.ActionWidget(this.getActionWidgetConfig(config));};OO.ui.Dialog.prototype.getActionWidgetConfig=function(config){return config;};OO.ui.Dialog.prototype.attachActions=function(){this.attachedActions=this.actions.get();};OO.ui.Dialog.prototype.detachActions=function(){for(let i=0,len=this.attachedActions.length;i<len;i++){this.attachedActions[i].$element.detach();}this.attachedActions=[];return this;};OO.ui.Dialog.prototype.executeAction=function(action){
const actionWidgets=this.actions.get({actions:[action],visible:true});if(actionWidgets.length&&actionWidgets.every((widget)=>widget.isDisabled())){return $.Deferred().resolve().promise();}this.pushPending();this.currentAction=action;return this.getActionProcess(action).execute().always(this.popPending.bind(this));};OO.ui.MessageDialog=function OoUiMessageDialog(config){OO.ui.MessageDialog.super.call(this,config);this.verticalActionLayout=null;this.$element.addClass('oo-ui-messageDialog');};OO.inheritClass(OO.ui.MessageDialog,OO.ui.Dialog);OO.ui.MessageDialog.static.name='message';OO.ui.MessageDialog.static.size='small';OO.ui.MessageDialog.static.title=null;OO.ui.MessageDialog.static.message=null;OO.ui.MessageDialog.static.actions=[{action:'accept',label:OO.ui.deferMsg('ooui-dialog-message-accept'),flags:'primary'},{action:'reject',label:OO.ui.deferMsg('ooui-dialog-message-reject'),flags:'safe'}];OO.ui.MessageDialog.prototype.toggleVerticalActionLayout=function(value){value=value===undefined?!this.verticalActionLayout:!!value;
if(value!==this.verticalActionLayout){this.verticalActionLayout=value;this.$actions.toggleClass('oo-ui-messageDialog-actions-vertical',value).toggleClass('oo-ui-messageDialog-actions-horizontal',!value);}return this;};OO.ui.MessageDialog.prototype.getActionProcess=function(action){if(action){return new OO.ui.Process(()=>{this.close({action:action});});}return OO.ui.MessageDialog.super.prototype.getActionProcess.call(this,action);};OO.ui.MessageDialog.prototype.getSetupProcess=function(data){data=data||{};return OO.ui.MessageDialog.super.prototype.getSetupProcess.call(this,data).next(()=>{this.title.setLabel(data.title!==undefined?data.title:this.constructor.static.title);this.message.setLabel(data.message!==undefined?data.message:this.constructor.static.message);this.size=data.size!==undefined?data.size:this.constructor.static.size;});};OO.ui.MessageDialog.prototype.getReadyProcess=function(data){data=data||{};return OO.ui.MessageDialog.super.prototype.getReadyProcess.call(this,data).next(()=>{
let actions=this.actions.get();actions=actions.filter((action)=>action.getFlags().includes('primary'));if(actions.length>0){actions[0].focus();}});};OO.ui.MessageDialog.prototype.getBodyHeight=function(){const $scrollable=this.container.$element;const oldOverflow=$scrollable[0].style.overflow;$scrollable[0].style.overflow='hidden';OO.ui.Element.static.reconsiderScrollbars($scrollable[0]);const bodyHeight=this.text.$element.outerHeight(true);$scrollable[0].style.overflow=oldOverflow;return bodyHeight;};OO.ui.MessageDialog.prototype.setDimensions=function(dim){const $scrollable=this.container.$element;OO.ui.MessageDialog.super.prototype.setDimensions.call(this,dim);setTimeout(()=>{const oldOverflow=$scrollable[0].style.overflow,activeElement=document.activeElement;$scrollable[0].style.overflow='hidden';OO.ui.Element.static.reconsiderScrollbars($scrollable[0]);if(activeElement&&activeElement!==document.activeElement&&activeElement.focus){activeElement.focus();}$scrollable[0].style.overflow=oldOverflow;
},300);this.fitActions();setTimeout(()=>{this.fitActions();},300);return this;};OO.ui.MessageDialog.prototype.initialize=function(){OO.ui.MessageDialog.super.prototype.initialize.call(this);this.$actions=$('<div>');this.container=new OO.ui.PanelLayout({scrollable:true,classes:['oo-ui-messageDialog-container']});this.text=new OO.ui.PanelLayout({padded:true,expanded:false,classes:['oo-ui-messageDialog-text']});this.message=new OO.ui.LabelWidget({classes:['oo-ui-messageDialog-message']});this.title.$element.addClass('oo-ui-messageDialog-title');this.$content.addClass('oo-ui-messageDialog-content');this.container.$element.append(this.text.$element);this.text.$element.append(this.title.$element,this.message.$element);this.$body.append(this.container.$element);this.$actions.addClass('oo-ui-messageDialog-actions');this.$foot.append(this.$actions);};OO.ui.MessageDialog.prototype.getActionWidgetConfig=function(config){return Object.assign({},config,{framed:false});};OO.ui.MessageDialog.prototype.attachActions=function(){
OO.ui.MessageDialog.super.prototype.attachActions.call(this);const special=this.actions.getSpecial();const others=this.actions.getOthers();if(special.safe){this.$actions.append(special.safe.$element);special.safe.toggleFramed(true);}for(let i=0,len=others.length;i<len;i++){this.$actions.append(others[i].$element);others[i].toggleFramed(true);}if(special.primary){this.$actions.append(special.primary.$element);special.primary.toggleFramed(true);}};OO.ui.MessageDialog.prototype.fitActions=function(){const previous=this.verticalActionLayout;this.toggleVerticalActionLayout(false);if(this.$actions[0].scrollWidth>this.$actions[0].clientWidth){this.toggleVerticalActionLayout(true);}this.$body.css('bottom',this.$foot.outerHeight(true));if(this.verticalActionLayout!==previous){this.updateSize();}};OO.ui.ProcessDialog=function OoUiProcessDialog(config){OO.ui.ProcessDialog.super.call(this,config);this.fitOnOpen=false;this.$element.addClass('oo-ui-processDialog');if(OO.ui.isMobile()){this.$element.addClass('oo-ui-isMobile');
}};OO.inheritClass(OO.ui.ProcessDialog,OO.ui.Dialog);OO.ui.ProcessDialog.prototype.onDismissErrorButtonClick=function(){this.hideErrors();};OO.ui.ProcessDialog.prototype.onRetryButtonClick=function(){this.hideErrors();this.executeAction(this.currentAction);};OO.ui.ProcessDialog.prototype.initialize=function(){OO.ui.ProcessDialog.super.prototype.initialize.call(this);this.$navigation=$('<div>');this.$location=$('<div>');this.$safeActions=$('<div>');this.$primaryActions=$('<div>');this.$otherActions=$('<div>');this.dismissButton=new OO.ui.ButtonWidget({label:OO.ui.msg('ooui-dialog-process-back')});this.retryButton=new OO.ui.ButtonWidget();this.$errors=$('<div>');this.$errorsTitle=$('<div>');this.dismissButton.connect(this,{click:'onDismissErrorButtonClick'});this.retryButton.connect(this,{click:'onRetryButtonClick'});this.title.connect(this,{labelChange:'fitLabel'});this.title.$element.addClass('oo-ui-processDialog-title');this.$location.append(this.title.$element).addClass('oo-ui-processDialog-location');
this.$safeActions.addClass('oo-ui-processDialog-actions-safe');this.$primaryActions.addClass('oo-ui-processDialog-actions-primary');this.$otherActions.addClass('oo-ui-processDialog-actions-other');this.$errorsTitle.addClass('oo-ui-processDialog-errors-title').text(OO.ui.msg('ooui-dialog-process-error'));this.$errors.addClass('oo-ui-processDialog-errors oo-ui-element-hidden').append(this.$errorsTitle,$('<div>').addClass('oo-ui-processDialog-errors-actions').append(this.dismissButton.$element,this.retryButton.$element));this.$content.addClass('oo-ui-processDialog-content').append(this.$errors);this.$navigation.addClass('oo-ui-processDialog-navigation').append(this.$primaryActions,this.$location,this.$safeActions);this.$head.append(this.$navigation);this.$foot.append(this.$otherActions);};OO.ui.ProcessDialog.prototype.getActionWidgetConfig=function(config){function checkFlag(flag){return config.flags===flag||(Array.isArray(config.flags)&&config.flags.includes(flag));}config=Object.assign({framed:true},config);
if(checkFlag('close')){Object.assign(config,{icon:'close',invisibleLabel:true});}else if(checkFlag('back')){Object.assign(config,{icon:'previous',invisibleLabel:true});}return config;};OO.ui.ProcessDialog.prototype.attachActions=function(){OO.ui.ProcessDialog.super.prototype.attachActions.call(this);const special=this.actions.getSpecial();const others=this.actions.getOthers();if(special.primary){this.$primaryActions.append(special.primary.$element);}for(let i=0,len=others.length;i<len;i++){const other=others[i];this.$otherActions.append(other.$element);}if(special.safe){this.$safeActions.append(special.safe.$element);}};OO.ui.ProcessDialog.prototype.executeAction=function(action){return OO.ui.ProcessDialog.super.prototype.executeAction.call(this,action).fail((errors)=>{this.showErrors(errors||[]);});};OO.ui.ProcessDialog.prototype.setDimensions=function(){OO.ui.ProcessDialog.super.prototype.setDimensions.apply(this,arguments);this.fitLabel();this.$body.css('bottom',this.$foot.outerHeight(true));
setTimeout(()=>{this.$body.css('bottom',this.$foot.outerHeight(true));},300);};OO.ui.ProcessDialog.prototype.fitLabel=function(){const size=this.getSizeProperties();let navigationWidth;if(typeof size.width!=='number'){if(this.isOpened()){navigationWidth=this.$head.width()-20;}else if(this.isOpening()){if(!this.fitOnOpen){this.manager.lifecycle.opened.done(this.fitLabel.bind(this));this.fitOnOpen=true;}return;}else{return;}}else{navigationWidth=size.width-20;}const safeWidth=this.$safeActions.width();const primaryWidth=this.$primaryActions.width();const biggerWidth=Math.max(safeWidth,primaryWidth);const labelWidth=this.title.$element.width();let leftWidth,rightWidth;if(!OO.ui.isMobile()&&2*biggerWidth+labelWidth<navigationWidth){leftWidth=rightWidth=biggerWidth;}else{if(this.getDir()==='ltr'){leftWidth=safeWidth;rightWidth=primaryWidth;}else{leftWidth=primaryWidth;rightWidth=safeWidth;}}this.$location.css({paddingLeft:leftWidth,paddingRight:rightWidth});return this;};OO.ui.ProcessDialog.prototype.showErrors=function(errors){
const items=[],abilities={};let recoverable=true,warning=false;if(errors instanceof OO.ui.Error){errors=[errors];}for(let i=0,len=errors.length;i<len;i++){if(!errors[i].isRecoverable()){recoverable=false;}if(errors[i].isWarning()){warning=true;}items.push(new OO.ui.MessageWidget({type:errors[i].isWarning()?'warning':'error',label:errors[i].getMessage()}).$element[0]);}this.$errorItems=$(items);if(recoverable){abilities[this.currentAction]=true;const actions=this.actions.get({actions:this.currentAction});if(actions.length){this.retryButton.clearFlags().setFlags(actions[0].getFlags());}}else{abilities[this.currentAction]=false;this.actions.setAbilities(abilities);}if(warning){this.retryButton.setLabel(OO.ui.msg('ooui-dialog-process-continue'));}else{this.retryButton.setLabel(OO.ui.msg('ooui-dialog-process-retry'));}this.retryButton.toggle(recoverable);this.$errorsTitle.after(this.$errorItems);this.$errors.removeClass('oo-ui-element-hidden').scrollTop(0);};OO.ui.ProcessDialog.prototype.hideErrors=function(){
this.$errors.addClass('oo-ui-element-hidden');if(this.$errorItems){this.$errorItems.remove();this.$errorItems=null;}};OO.ui.ProcessDialog.prototype.getTeardownProcess=function(data){return OO.ui.ProcessDialog.super.prototype.getTeardownProcess.call(this,data).first(()=>{this.hideErrors();this.fitOnOpen=false;});};OO.ui.getWindowManager=function(){if(!OO.ui.windowManager){OO.ui.windowManager=new OO.ui.WindowManager();$(OO.ui.getTeleportTarget()).append(OO.ui.windowManager.$element);OO.ui.windowManager.addWindows([new OO.ui.MessageDialog()]);}return OO.ui.windowManager;};OO.ui.alert=function(text,options){return OO.ui.getWindowManager().openWindow('message',Object.assign({message:text,actions:[OO.ui.MessageDialog.static.actions[0]]},options)).closed.then(()=>undefined);};OO.ui.confirm=function(text,options){return OO.ui.getWindowManager().openWindow('message',Object.assign({message:text},options)).closed.then((data)=>!!(data&&data.action==='accept'));};OO.ui.prompt=function(text,options){
const manager=OO.ui.getWindowManager(),textInput=new OO.ui.TextInputWidget((options&&options.textInput)||{}),textField=new OO.ui.FieldLayout(textInput,{align:'top',label:text});const instance=manager.openWindow('message',Object.assign({message:textField.$element},options));instance.opened.then(()=>{textInput.on('enter',()=>{manager.getCurrentWindow().close({action:'accept'});});textInput.focus();});return instance.closed.then((data)=>data&&data.action==='accept'?textInput.getValue():null);};}(OO));
},{"css":[".oo-ui-window{background:transparent}.oo-ui-window-frame{box-sizing:border-box}.oo-ui-window-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.oo-ui-window-content:focus{outline:0}.oo-ui-window-head,.oo-ui-window-foot{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.oo-ui-window-body{margin:0;padding:0;background:none}.oo-ui-window-overlay{position:absolute;top:0; left:0}.oo-ui-window-focusTrap{display:none}.oo-ui-windowManager-modal .oo-ui-window-focusTrap,.oo-ui-windowManager-size-full .oo-ui-window-focusTrap,.oo-ui-windowManager-forceTrapFocus .oo-ui-window-focusTrap{display:block} .oo-ui-dialog-content \u003E .oo-ui-window-head,.oo-ui-dialog-content \u003E .oo-ui-window-body,.oo-ui-dialog-content \u003E .oo-ui-window-foot{position:absolute;left:0;right:0;box-sizing:border-box}.oo-ui-dialog-content \u003E .oo-ui-window-head{overflow:hidden;z-index:3;top:0}.oo-ui-dialog-content \u003E .oo-ui-window-body{overflow:auto;-webkit-overflow-scrolling:touch;z-index:2;top:0;bottom:0}.oo-ui-dialog-content \u003E .oo-ui-window-foot{z-index:3;bottom:0} .oo-ui-messageDialog-actions .oo-ui-actionWidget{position:relative;text-align:center}.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-buttonElement-button{display:block}.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label{position:relative;top:auto;bottom:auto}.oo-ui-messageDialog-actions-horizontal{display:flex;width:100%}.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget{flex-grow:1}.oo-ui-messageDialog-actions-vertical{display:block}.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget{display:block;overflow:hidden;text-overflow:ellipsis}.oo-ui-messageDialog-content \u003E .oo-ui-window-foot{outline:1px solid var(--border-color-base,#a2a9b1)}.oo-ui-messageDialog-title,.oo-ui-messageDialog-message{display:block;line-height:1.42857143em;text-align:center}.oo-ui-messageDialog-title{font-size:1.5em;color:var(--color-emphasized,#000)}.oo-ui-messageDialog-message{font-size:1.1em;color:var(--color-base,#202122);text-align:left}.oo-ui-messageDialog-actions .oo-ui-actionWidget{min-height:2.85714286em;margin-right:0}.oo-ui-messageDialog-actions .oo-ui-actionWidget:last-child{margin-right:0}.oo-ui-messageDialog-actions .oo-ui-actionWidget:first-child{margin-left:0}.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-buttonElement-button{border:0;border-radius:0;padding-top:0;padding-bottom:0}.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement .oo-ui-labelElement-label{line-height:2.85714286em;text-align:center}.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button:active{background-color:rgba(8,126,204,0.1)}.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive .oo-ui-buttonElement-button:active{background-color:rgba(212,83,83,0.1)}.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget{border-right:1px solid var(--border-color-base,#a2a9b1);margin:0}.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:first-child \u003E .oo-ui-buttonElement-button{border-radius:0 0 0 2px}.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:last-child{border-right-width:0}.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:last-child \u003E .oo-ui-buttonElement-button{border-radius:0 0 2px 0}.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:only-child \u003E .oo-ui-buttonElement-button{border-radius:0 0 2px 2px}.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget{border-bottom:1px solid var(--border-color-base,#a2a9b1);margin:0}.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child{border-bottom-width:0}.oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child \u003E .oo-ui-buttonElement-button{border-radius:0 0 2px 2px} .oo-ui-processDialog-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oo-ui-processDialog-title{display:inline;padding:0}.oo-ui-processDialog-actions-safe .oo-ui-actionWidget,.oo-ui-processDialog-actions-primary .oo-ui-actionWidget,.oo-ui-processDialog-actions-other .oo-ui-actionWidget{white-space:nowrap}.oo-ui-processDialog-actions-safe,.oo-ui-processDialog-actions-primary{position:absolute;top:0;bottom:0}.oo-ui-processDialog-actions-safe{left:0}.oo-ui-processDialog-actions-primary{right:0}.oo-ui-processDialog-errors{position:absolute;top:0;left:0;right:0;bottom:0;z-index:4;overflow:hidden auto;-webkit-overflow-scrolling:touch}.oo-ui-processDialog-content \u003E .oo-ui-window-head,.oo-ui-processDialog-content \u003E .oo-ui-window-foot{outline:1px solid var(--border-color-subtle,#c8ccd1)}.oo-ui-processDialog-content \u003E .oo-ui-window-head{min-height:3em}.oo-ui-processDialog-content \u003E .oo-ui-window-body{top:3em}.oo-ui-processDialog-navigation{position:relative;min-height:3em}.oo-ui-processDialog-location{min-height:3em;text-align:center;cursor:default}.oo-ui-processDialog-title{font-size:1.1em;font-weight:700;line-height:2.72727273em}.oo-ui-processDialog .oo-ui-actionWidget \u003E .oo-ui-buttonElement-button{border-radius:0;border-top-color:transparent;border-bottom-color:transparent}.oo-ui-processDialog .oo-ui-actionWidget \u003E .oo-ui-buttonElement-button:hover,.oo-ui-processDialog .oo-ui-actionWidget \u003E .oo-ui-buttonElement-button:active{border-top-color:transparent;border-bottom-color:transparent}.oo-ui-processDialog .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) \u003E .oo-ui-buttonElement-button:hover,.oo-ui-processDialog .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) \u003E .oo-ui-buttonElement-button:active{border-right-color:var(--border-color-subtle,#c8ccd1);border-left-color:transparent}.oo-ui-processDialog .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) \u003E .oo-ui-buttonElement-button:focus{border-color:var(--border-color-progressive--focus,#36c)}.oo-ui-processDialog .oo-ui-actionWidget.oo-ui-iconElement \u003E .oo-ui-buttonElement-button{min-height:3em;padding-top:0;padding-left:3.14285714em;padding-right:0}.oo-ui-processDialog .oo-ui-actionWidget.oo-ui-labelElement:first-child{margin-left:0}.oo-ui-processDialog .oo-ui-actionWidget.oo-ui-labelElement \u003E .oo-ui-buttonElement-button{padding:10px 12px}.oo-ui-processDialog .oo-ui-actionWidget.oo-ui-labelElement.oo-ui-iconElement \u003E .oo-ui-buttonElement-button{padding-left:2.42857143em}.oo-ui-processDialog-actions-primary .oo-ui-actionWidget \u003E .oo-ui-buttonElement-button{border-left-color:var(--border-color-subtle,#c8ccd1);border-right-color:transparent}.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) \u003E .oo-ui-buttonElement-button:hover,.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) \u003E .oo-ui-buttonElement-button:active{border-left-color:var(--border-color-subtle,#c8ccd1);border-right-color:transparent}.oo-ui-processDialog-actions-primary .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) \u003E .oo-ui-buttonElement-button:focus{border-color:var(--border-color-progressive--focus,#36c)}.oo-ui-processDialog-actions-safe .oo-ui-actionWidget \u003E .oo-ui-buttonElement-button,.oo-ui-processDialog-actions-other .oo-ui-actionWidget \u003E .oo-ui-buttonElement-button{border-right-color:var(--border-color-subtle,#c8ccd1);border-left-color:transparent}.oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) \u003E .oo-ui-buttonElement-button{background-color:transparent;border-right-color:transparent}.oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) \u003E .oo-ui-buttonElement-button:hover{background-color:var(--background-color-interactive-subtle,#f8f9fa);border-right-color:var(--border-color-subtle,#c8ccd1)}.oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) \u003E .oo-ui-buttonElement-button:active{background-color:var(--background-color-interactive,#eaecf0);border-right-color:var(--border-color-subtle,#c8ccd1)}.oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) \u003E .oo-ui-buttonElement-button:focus{border-color:var(--border-color-progressive--focus,#36c)}.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement{margin-right:0}.oo-ui-processDialog \u003E .oo-ui-window-frame{min-height:5em}.oo-ui-processDialog-errors{background-color:var(--background-color-backdrop-light,rgba(255,255,255,0.65));background-image:linear-gradient(to bottom,var(--background-color-backdrop-light,rgba(255,255,255,0.65)),var(--background-color-backdrop-light,rgba(255,255,255,0.65)));padding:3em 3em 0 3em}.oo-ui-processDialog-errors-title{font-size:1.5em;color:var(--color-emphasized,#000);margin-bottom:1.5em;text-align:center}.oo-ui-processDialog-errors \u003E .oo-ui-messageWidget{margin:1em 0 0}.oo-ui-processDialog-errors-actions{text-align:center}.oo-ui-processDialog-errors-actions \u003E .oo-ui-buttonWidget{margin:2em 1em}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-processDialog-content \u003E .oo-ui-window-head,.oo-ui-processDialog.oo-ui-isMobile .oo-ui-processDialog-navigation,.oo-ui-processDialog.oo-ui-isMobile .oo-ui-processDialog-location{min-height:3.14285714em}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-processDialog-location{margin-left:1em;text-align:left}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-processDialog-title{line-height:2.85714286em}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-processDialog-content \u003E .oo-ui-window-body{top:3.14285714em}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-actionWidget.oo-ui-iconElement \u003E .oo-ui-buttonElement-button{min-height:3.14285714em;padding-left:3.14285714em}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-actionWidget.oo-ui-labelElement \u003E .oo-ui-buttonElement-button{min-height:3.14285714em;line-height:3.14285714em;padding:0 12px}.oo-ui-processDialog.oo-ui-isMobile .oo-ui-actionWidget.oo-ui-labelElement.oo-ui-iconElement \u003E .oo-ui-buttonElement-button{padding-left:2.42857143em} .oo-ui-windowManager-modal \u003E .oo-ui-dialog{position:fixed;width:0;height:0;overflow:hidden;z-index:4}.oo-ui-windowManager-modal \u003E .oo-ui-dialog.oo-ui-window-active{width:auto;height:auto;top:0;right:0;bottom:0;left:0;padding:1em}.oo-ui-windowManager-modal \u003E .oo-ui-dialog.oo-ui-window-active \u003E .oo-ui-window-frame{position:absolute;right:0;left:0;margin:auto;max-width:100%;max-height:100%}.oo-ui-windowManager-size-full \u003E .oo-ui-dialog \u003E .oo-ui-window-frame{width:100%;height:100%;top:0;bottom:0}body.oo-ui-windowManager-modal-active{overflow:hidden}html.oo-ui-windowManager-modal-active:not(.oo-ui-windowManager-modal-active-fullscreen){scrollbar-gutter:stable}.oo-ui-windowManager-ios-modal-ready{height:100%;overflow:hidden}.oo-ui-windowManager-modal \u003E .oo-ui-dialog{background-color:var(--background-color-backdrop-light,rgba(255,255,255,0.65));opacity:0;transition-property:opacity;transition-duration:250ms}.oo-ui-windowManager-modal \u003E .oo-ui-dialog \u003E .oo-ui-window-frame{background-color:var(--background-color-base,#fff);opacity:0;transform:scale(0.5);transition-property:all;transition-duration:250ms}.oo-ui-windowManager-modal \u003E .oo-ui-dialog.oo-ui-window-setup{opacity:1}.oo-ui-windowManager-modal \u003E .oo-ui-dialog.oo-ui-window-setup \u003E .oo-ui-window-frame{opacity:1;transform:scale(1)}.oo-ui-windowManager-modal:not(.oo-ui-windowManager-size-full) \u003E .oo-ui-dialog \u003E .oo-ui-window-frame{top:1em;bottom:1em;max-height:100%;max-height:calc(100% - 2em);border:1px solid var(--border-color-base,#a2a9b1);border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,0.2)}"]},{"ooui-dialog-message-accept":"\ud655\uc778","ooui-dialog-message-reject":"\ucde8\uc18c","ooui-dialog-process-back":"\ub4a4\ub85c","ooui-dialog-process-continue":"\uacc4\uc18d","ooui-dialog-process-dismiss":"\uc228\uae30\uae30","ooui-dialog-process-error":"\ubb34\uc5b8\uac00\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4","ooui-dialog-process-retry":"\ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc138\uc694"}];});
mw.loader.impl(function(){return["rangefix@1931e",function($,jQuery,require,module){(function(root,factory){if(typeof define==='function'&&define.amd){define(factory);}else if(typeof exports==='object'&&typeof exports.nodeName!=='string'){module.exports=factory();}else{root.RangeFix=factory();}}(this,()=>{let broken;const rangeFix={};function rectExceedsBoundingRect(range,rectOffset,edge){const rects=range.getClientRects();if(rects.length===2){const rect=range.getBoundingClientRect();return rects[rectOffset][edge]<rect[edge];}return false;}rangeFix.isBroken=function(){if(broken===undefined){const p1=document.createElement('p');const span=document.createElement('span');const t1=document.createTextNode('aa');const t2=document.createTextNode('aa');const img=document.createElement('img');img.setAttribute('src','data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=');const range=document.createRange();broken={};p1.appendChild(t1);p1.appendChild(span);span.appendChild(img);span.appendChild(t2);document.body.appendChild(p1);range.setStart(t1,1);range.setEnd(span,0);
broken.getClientRects=broken.getBoundingClientRect=range.getClientRects().length>1;if(!broken.getClientRects){range.setEnd(t2,1);broken.getClientRects=broken.getBoundingClientRect=range.getClientRects().length===2;}if(!broken.getBoundingClientRect){range.setEnd(range.startContainer,range.startOffset);const boundingRect=range.getBoundingClientRect();broken.getBoundingClientRect=boundingRect.top===0&&boundingRect.left===0;}document.body.removeChild(p1);if(!broken.getBoundingClientRect){const p2=document.createElement('p');p2.style.width='0px';p2.style.fontSize='20px';p2.style.whiteSpace='normal';p2.style.wordBreak='normal';const t3=document.createTextNode('m mm');p2.appendChild(t3);document.body.appendChild(p2);range.setStart(t3,1);range.setEnd(t3,2);if(rectExceedsBoundingRect(range,1,'left')){broken.getBoundingClientRect=true;}else{range.setStart(t3,1);range.setEnd(t3,3);if(rectExceedsBoundingRect(range,0,'top')){broken.getBoundingClientRect=true;}}document.body.removeChild(p2);}}return broken;
};function batchPush(arr,data){let index=0;const batchSize=1024;if(batchSize>=data.length){return arr.push(...data);}let length;while(index<data.length){length=arr.push(...data.slice(index,index+batchSize));index+=batchSize;}return length;}rangeFix.getClientRects=function(range){if(!this.isBroken().getClientRects){return range.getClientRects();}const rects=[];const endContainerRects=[];let endContainer=range.endContainer;let endOffset=range.endOffset;let partialRange=document.createRange();function indexOf(child){let i=0;while((child=child.previousSibling)){i++;}return i;}while(endContainer!==range.commonAncestorContainer){partialRange.setStart(endContainer,0);partialRange.setEnd(endContainer,endOffset);batchPush(endContainerRects,partialRange.getClientRects());endOffset=indexOf(endContainer);endContainer=endContainer.parentNode;}partialRange=range.cloneRange();partialRange.setEnd(endContainer,endOffset);batchPush(rects,partialRange.getClientRects());batchPush(rects,endContainerRects);
return rects;};rangeFix.getBoundingClientRect=function(range){const rects=this.getClientRects(range);if(rects.length===0){return null;}const nativeBoundingRect=range.getBoundingClientRect();if(!this.isBroken().getBoundingClientRect){return nativeBoundingRect;}if(nativeBoundingRect.width===0&&nativeBoundingRect.height===0){return rects[0];}let boundingRect;Array.prototype.forEach.call(rects,(rect)=>{if(!boundingRect){boundingRect={left:rect.left,top:rect.top,right:rect.right,bottom:rect.bottom};}else{boundingRect.left=Math.min(boundingRect.left,rect.left);boundingRect.top=Math.min(boundingRect.top,rect.top);boundingRect.right=Math.max(boundingRect.right,rect.right);boundingRect.bottom=Math.max(boundingRect.bottom,rect.bottom);}});if(boundingRect){boundingRect.width=boundingRect.right-boundingRect.left;boundingRect.height=boundingRect.bottom-boundingRect.top;}return boundingRect;};return rangeFix;}));
}];});
mw.loader.impl(function(){return["site@moni7","mw.loader.using(['mediawiki.util']).done(function(){mw.log.deprecate(window,'addPortletLink',mw.util.addPortletLink,'Use mw.util.addPortletLink instead');var extraCSS=mw.util.getParamValue('withCSS'),extraJS=mw.util.getParamValue('withJS');if(extraCSS){if(extraCSS.match(/^(MediaWiki|미디어위키):[^\u0026\u003C\u003E=%#]*\\.css$/)){mw.loader.load('/w/index.php?title='+extraCSS+'\u0026action=raw\u0026ctype=text/css','text/css');}else{mw.notify('미디어위키 이름공간의 문서만 허용됩니다.',{title:'유효하지 않은 withCSS 값'});}}if(extraJS){if(extraJS.match(/^(MediaWiki|미디어위키):[^\u0026\u003C\u003E=%#]*\\.js$/)){mw.loader.load('/w/index.php?title='+extraJS+'\u0026action=raw\u0026ctype=text/javascript');}else{mw.notify('미디어위키 이름공간의 문서만 허용됩니다.',{title:'유효하지 않은 withJS 값'});}}function makeCollapsibleMwCollapsible($content){var $tables=$content.find('table.collapsible:not(.mw-collapsible)').addClass('mw-collapsible');$.each($tables,function(index,table){if($(table).hasClass('collapsed')){\n$(table).addClass('mw-collapsed');}});if($tables.length\u003E0){mw.loader.using('jquery.makeCollapsible').then(function(){$tables.makeCollapsible();});}}mw.hook('wikipage.content').add(makeCollapsibleMwCollapsible);function mwCollapsibleSetup($collapsibleContent){var $element,$toggle,autoCollapseThreshold=2;$.each($collapsibleContent,function(index,element){$element=$(element);if($element.hasClass('collapsible')){$element.find('tr:first \u003E th:first').prepend($element.find('tr:first \u003E * \u003E .mw-collapsible-toggle'));}if($collapsibleContent.length\u003E=autoCollapseThreshold\u0026\u0026$element.hasClass('autocollapse')){$element.data('mw-collapsible').collapse();}else if($element.hasClass('innercollapse')){if($element.parents('.outercollapse').length\u003E0){$element.data('mw-collapsible').collapse();}}$toggle=$element.find('.mw-collapsible-toggle');if($toggle.length){if($toggle.parent()[0].style.color){$toggle.css('color','inherit');$toggle.find('.mw-collapsible-text').css('color','inherit');}}});}mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup);\n});"];});
mw.loader.impl(function(){return["jquery.client@1n4yo",function($,jQuery,require,module){(function(){var profileCache={};$.client={profile:function(nav){if(!nav){nav=window.navigator;}if(profileCache[nav.userAgent+'|'+nav.platform]){return profileCache[nav.userAgent+'|'+nav.platform];}var versionNumber,key=nav.userAgent+'|'+nav.platform,uk='unknown',x='x',wildFixups=[['Chrome Safari','Chrome'],['KHTML/','Konqueror/'],[/Android(?:;|\s[a-zA-Z0-9.+-]+)(.*Firefox)/,'$1']],versionPrefixes='(?:chrome|crios|firefox|fxios|opera|version|konqueror|msie|safari|android)',versionSuffix='(?:\\/|;?\\s|)([a-z0-9\\.\\+]*?)(?:;|dev|rel|\\)|\\s|$)',rName=/(chrome|crios|firefox|fxios|konqueror|msie|opera|safari|rekonq|android)/,rLayout=/(gecko|konqueror|msie|trident|edge|opera|webkit)/,layoutMap={konqueror:'khtml',msie:'trident',opera:'presto'},rLayoutVersion=/(applewebkit|gecko|trident|edge)\/(\d+)/,rPlatform=/(win|wow64|mac|linux|sunos|solaris|iphone|ipad)/,platformMap={sunos:'solaris',wow64:'win'},ua=nav.userAgent,match,name=uk,layout=uk,layoutversion=uk,platform=uk,version=x;wildFixups.forEach(function(fixup){
ua=ua.replace(fixup[0],fixup[1]);});ua=ua.toLowerCase();if((match=rName.exec(ua))){name=match[1];}if((match=rLayout.exec(ua))){layout=layoutMap[match[1]]||match[1];}if((match=rLayoutVersion.exec(ua))){layoutversion=parseInt(match[2],10);}if((match=rPlatform.exec(nav.platform.toLowerCase()))){platform=platformMap[match[1]]||match[1];}if((match=new RegExp(versionPrefixes+versionSuffix).exec(ua))){version=match[1];}if(name==='safari'&&version>400){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(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;i<conditions.length;i++){op=conditions[i][0];val=conditions[i][1];if(typeof val==='string'){pieceVersion=profile.version.toString().split('.');pieceVal=val.split('.');while(pieceVersion.length<pieceVal.length){pieceVersion.push('0');}while(pieceVal.length<pieceVersion.length){pieceVal.push('0');}compare=0;for(j=0;j<pieceVersion.length;j++){if(Number(pieceVersion[j])<Number(pieceVal[j])){
compare=-1;break;}else if(Number(pieceVersion[j])>Number(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.impl(function(){return["jquery.textSelection@16q5k",function($,jQuery,require,module){(function(){function supportsInsertText(){return $(this).data('jquery.textSelection')===undefined&&typeof document.execCommand==='function'&&typeof document.queryCommandSupported==='function'&&document.queryCommandSupported('insertText');}function execInsertText(field,content,fallback){let inserted=false;if(supportsInsertText()&&!($.client.profile().layout==='webkit'&&content.split('\n').length>100)){field.focus();try{if(document.activeElement===field&&document.execCommand('insertText',false,content)){inserted=true;}}catch(e){}}if(!inserted){fallback.call(field,content);}}const fn={getContents:function(){return this.val();},setContents:function(content){return this.each(function(){const scrollTop=this.scrollTop;this.select();execInsertText(this,content,function(){$(this).val(content);});this.scrollTop=scrollTop;});},getSelection:function(){const el=this.get(0);let val;if(!el){val='';}else{val=el.value.slice(el.selectionStart,el.selectionEnd);}return val;},replaceSelection:function(value){
return this.each(function(){execInsertText(this,value,function(){const allText=$(this).textSelection('getContents');const currSelection=$(this).textSelection('getCaretPosition',{startAndEnd:true});const startPos=currSelection[0];const endPos=currSelection[1];$(this).textSelection('setContents',allText.slice(0,startPos)+value+allText.slice(endPos));$(this).textSelection('setSelection',{start:startPos,end:startPos+value.length});});});},encapsulateSelection:function(options){return this.each(function(){let selText,isSample,pre=options.pre,post=options.post;function checkSelectedText(){if(!selText){selText=options.peri;isSample=true;}else if(options.replace){selText=options.peri;}else{while(selText.endsWith(' ')){selText=selText.slice(0,-1);post+=' ';}while(selText.startsWith(' ')){selText=selText.slice(1);pre=' '+pre;}}}function doSplitLines(text,preText,postText){const selTextArr=text.split('\n');let insText='';for(let i=0;i<selTextArr.length;i++){insText+=preText+selTextArr[i]+postText;
if(i!==selTextArr.length-1){insText+='\n';}}return insText;}isSample=false;$(this).trigger('focus');if(options.selectionStart!==undefined){$(this).textSelection('setSelection',{start:options.selectionStart,end:options.selectionEnd});}selText=$(this).textSelection('getSelection');const allText=$(this).textSelection('getContents');const currSelection=$(this).textSelection('getCaretPosition',{startAndEnd:true});let startPos=currSelection[0];const endPos=currSelection[1];checkSelectedText();let combiningCharSelectionBug=false;if(options.selectionStart!==undefined&&endPos-startPos!==options.selectionEnd-options.selectionStart){startPos=options.selectionStart;combiningCharSelectionBug=true;}let insertText=pre+selText+post;if(options.splitlines){insertText=doSplitLines(selText,pre,post);}if(options.ownline){if(startPos!==0&&allText.charAt(startPos-1)!=='\n'&&allText.charAt(startPos-1)!=='\r'){insertText='\n'+insertText;pre+='\n';}if(allText.charAt(endPos)!=='\n'&&allText.charAt(endPos)!=='\r'){
insertText+='\n';post+='\n';}}if(combiningCharSelectionBug){$(this).textSelection('setContents',allText.slice(0,startPos)+insertText+allText.slice(endPos));}else{$(this).textSelection('replaceSelection',insertText);}if(isSample&&options.selectPeri&&(!options.splitlines||(options.splitlines&&!selText.includes('\n')))){$(this).textSelection('setSelection',{start:startPos+pre.length,end:startPos+pre.length+selText.length});}else{$(this).textSelection('setSelection',{start:startPos+insertText.length});}$(this).trigger('encapsulateSelection',[options.pre,options.peri,options.post,options.ownline,options.replace,options.splitlines]);});},getCaretPosition:function(options){function getCaret(e){let caretPos=0,endPos=0;if(e){caretPos=e.selectionStart;endPos=e.selectionEnd;}return options.startAndEnd?[caretPos,endPos]:caretPos;}return getCaret(this.get(0));},setSelection:function(options){return this.each(function(){if(options.start>this.selectionEnd){this.selectionEnd=options.end;this.selectionStart=options.start;
}else{this.selectionStart=options.start;this.selectionEnd=options.end;}});},scrollToCaretPosition:function(options){return this.each(function(){const clientHeight=this.clientHeight,origValue=this.value,origSelectionStart=this.selectionStart,origSelectionEnd=this.selectionEnd,origScrollTop=this.scrollTop;this.value=this.value.slice(0,this.selectionEnd);this.scrollTop=this.scrollHeight;let calcScrollTop=this.scrollTop;this.value=origValue;this.selectionStart=origSelectionStart;this.selectionEnd=origSelectionEnd;if(!options.force){if(calcScrollTop<origScrollTop&&origScrollTop-calcScrollTop<clientHeight){calcScrollTop=origScrollTop;}}this.scrollTop=calcScrollTop;$(this).trigger('scrollToPosition');});}};$.fn.textSelection=function(command,commandOptions){const alternateFn=$(this).data('jquery.textSelection');for(const key in commandOptions){if(commandOptions[key]===undefined){delete commandOptions[key];}}switch(command){case'encapsulateSelection':commandOptions=Object.assign({pre:'',peri:'',
post:'',ownline:false,replace:false,selectPeri:true,splitlines:false,selectionStart:undefined,selectionEnd:undefined},commandOptions);break;case'getCaretPosition':commandOptions=Object.assign({startAndEnd:false},commandOptions);break;case'setSelection':commandOptions=Object.assign({start:undefined,end:undefined},commandOptions);if(commandOptions.end===undefined){commandOptions.end=commandOptions.start;}break;case'scrollToCaretPosition':commandOptions=Object.assign({force:false},commandOptions);break;case'register':if(alternateFn){throw new Error('Another textSelection API was already registered');}$(this).data('jquery.textSelection',commandOptions);return;case'unregister':$(this).removeData('jquery.textSelection');return;}const retval=(alternateFn&&alternateFn[command]||fn[command]).call(this,commandOptions);return retval;};}());
}];});
mw.loader.impl(function(){return["mediawiki.DateFormatter@y3fl6",{"main":"DateFormatter.js","files":{"DateFormatter.js":function(require,module,exports){'use strict';const config=require('./config.json');const instanceCache={user:null,utc:null,site:null};let supportsOffsetCache=null;const priv={supportsOffset(){if(supportsOffsetCache===null){try{new Intl.DateTimeFormat(undefined,{timeZone:'+01:00'});supportsOffsetCache=true;}catch(e){supportsOffsetCache=false;}}return supportsOffsetCache;},offsetToZone(offset){const hour=Math.floor(Math.abs(offset)/60);const minute=Math.abs(offset)%60;if(priv.supportsOffset()){const pad=(x)=>`${x<10?'0':''}${x}`;return`${offset<0?'-':'+'}${pad(hour)}:${pad(minute)}`;}if(minute!==0){return undefined;}return`Etc/GMT${offset<0?'+':'-'}${hour}`;},isKnownZoneName(zoneName){return Intl.supportedValuesOf&&Intl.supportedValuesOf('timeZone').includes(zoneName);},normalizeZone(optionValue,localZone,localOffset){if(optionValue){const parts=optionValue.split('|',3);if(parts[0]==='ZoneInfo'){if(priv.isKnownZoneName(parts[2])){return parts[2];}else{return priv.offsetToZone(parseInt(parts[1],10));}}else if(parts[0]==='Offset'){
return priv.offsetToZone(parts[1]);}}return priv.isKnownZoneName(localZone)?localZone:priv.offsetToZone(localOffset);},getUserZone(){return priv.normalizeZone(mw.user.options.get('timecorrection'),config.localZone,config.localOffset);},getSiteZone(){return priv.normalizeZone(null,config.localZone,config.localOffset);},getUserDateStyle(){const def=config.defaultStyle;const style=mw.user.options.get('date',def);return(!style||style==='default')?def:style;},partsToInfo(parts){const info={};for(const part of parts){const suffix=part.source==='startRange'?'1':part.source==='endRange'?'2':'';if(!(part.type in info)){info[part.type]=part.value;}if(suffix){info[`${part.type}${suffix}`]=part.value;}if(part.source==='shared'){if(info[`${part.type}1`]===undefined){info[`${part.type}1`]=part.value;}if(info[`${part.type}2`]===undefined){info[`${part.type}2`]=part.value;}}}return info;},formatPattern(info,pattern){return pattern.replace(/\{(\w+)}/g,(_,name)=>name in info?info[name]:'?');},
longOffsetToIsoOffset(offset){const m=/(GMT|UTC)?([+-][0-9]{2}:[0-9]{2})/.exec(offset);return m?m[2]:'+00:00';}};class DateFormatter{static forUser(){if(!instanceCache.user){instanceCache.user=new DateFormatter(config.locales,config.formats,priv.getUserZone(),priv.getUserDateStyle());}return instanceCache.user;}static forUtc(){if(!instanceCache.utc){instanceCache.utc=new DateFormatter(config.locales,config.formats,'Etc/GMT',priv.getUserDateStyle());}return instanceCache.utc;}static forSiteZone(){if(!instanceCache.site){instanceCache.site=new DateFormatter(config.locales,config.formats,priv.getSiteZone(),priv.getUserDateStyle());}return instanceCache.site;}static formatTimeAndDate(date){return DateFormatter.forUser().formatTimeAndDate(date);}static formatDate(date){return DateFormatter.forUser().formatDate(date);}static formatTime(date){return DateFormatter.forUser().formatTime(date);}static formatPrettyDate(date){return DateFormatter.forUser().formatPrettyDate(date);}static formatIso(date){
return DateFormatter.forUser().formatIso(date);}static formatForDateTimeInput(date){return DateFormatter.forUser().formatForDateTimeInput(date);}static formatTimeAndDateRange(date1,date2){return DateFormatter.forUser().formatTimeAndDateRange(date1,date2);}static formatTimeRange(date1,date2){return DateFormatter.forUser().formatTimeRange(date1,date2);}static formatDateRange(date1,date2){return DateFormatter.forUser().formatDateRange(date1,date2);}static getShortZoneName(date){return DateFormatter.forUser().getShortZoneName(date);}static getZoneOffsetMinutes(date){return DateFormatter.forUser().getZoneOffsetMinutes(date);}static clearInstanceCache(){instanceCache.user=null;instanceCache.utc=null;instanceCache.site=null;supportsOffsetCache=null;}static formatRelativeTimeOrDate(date,now=new Date()){if(typeof Intl==='undefined'||typeof Intl.RelativeTimeFormat!=='function'){return DateFormatter.formatTimeAndDate(date);}const seconds=(date.getTime()-now.getTime())/1000;const units=['seconds','minutes','hours','days','months','years'];
const limits=[1,60,3600,86400,2592000,31536000];let i=0;while(i<limits.length&&Math.abs(seconds)>limits[i+1]){++i;}const value=Math.round(seconds/limits[i]);return new Intl.RelativeTimeFormat(config.locales).format(value,units[i]);}constructor(locales,formats,zone,style){this.locales=locales;this.formats=Object.assign({},formats);const machineTemplate={locale:'en',options:{year:'numeric',month:'2-digit',day:'2-digit',hour:'2-digit',minute:'2-digit',second:'2-digit',hour12:false,timeZoneName:'longOffset'}};this.formats.datetime=Object.assign({pattern:'{year}-{month}-{day}T{hour}:{minute}'},machineTemplate);this.formats.iso=Object.assign({pattern:'{year}-{month}-{day}T{hour}:{minute}:{second}{mwZoneOffset}'},machineTemplate);this.formats.mw=Object.assign({pattern:'{year}{month}{day}{hour}{minute}{second}'},machineTemplate);this.formats.monthNumber={locale:'en',options:{month:'numeric'}};this.zone=zone;this.intlFormatters={};this.style=style;}formatTimeAndDate(date){return this.formatInternal(this.style,'both',date);
}formatDate(date){return this.formatInternal(this.style,'date',date);}formatTime(date){return this.formatInternal(this.style,'time',date);}formatPrettyDate(date){return this.formatInternal(this.style,'pretty',date);}formatMw(date){return this.formatInternal(null,'mw',date);}formatIso(date){return this.formatInternal(null,'iso',date);}formatForDateTimeInput(date){return this.formatInternal(null,'datetime',date);}formatTimeAndDateRange(date1,date2){return this.formatRangeInternal(this.style,'both',date1,date2);}formatTimeRange(date1,date2){return this.formatRangeInternal(this.style,'time',date1,date2);}formatDateRange(date1,date2){return this.formatRangeInternal(this.style,'date',date1,date2);}getShortZoneName(date){return this.getLocalInfoInternal('timeZoneName','short',date);}getZoneOffsetMinutes(date){const[h,m]=priv.longOffsetToIsoOffset(this.getLocalInfoInternal('timeZoneName','longOffset',date)).split(':');return h*60+Math.sign(+h)*m;}formatInternal(style,type,date){const formatName=this.makeValidFormatName(style,type);
const formatter=this.getIntlFormatInternal(formatName);const pattern=this.formats[formatName].pattern;if(pattern){const info=priv.partsToInfo(formatter.formatToParts(date));if(pattern.includes('{mwMonth')){const i=+this.getIntlFormatInternal('monthNumber').format(date);[info.mwMonth,info.mwMonthGen,info.mwMonthAbbrev]=config.months[i]||[];}if(pattern.includes('{mwZoneOffset}')){info.mwZoneOffset=priv.longOffsetToIsoOffset(info.timeZoneName);}return priv.formatPattern(info,pattern);}else{return formatter.format(date);}}makeValidFormatName(style,type){if(!style){return type;}for(const tryStyle of[style,config.defaultStyle]){const name=`${tryStyle} ${type}`;if(name in this.formats){return name;}}throw new Error(`Unable to find a valid date format for "${style} ${type}"`);}formatRangeInternal(style,type,date1,date2){const formatName=this.makeValidFormatName(style,type);const formatter=this.getIntlFormatInternal(formatName);const pattern=this.formats[formatName].rangePattern;if(pattern){
const parts=formatter.formatRangeToParts(date1,date2);if(parts.length===0){return formatter.formatRange(date1,date2);}const info=priv.partsToInfo(parts);this.fillRangeMonthInfo(info,date1,date2,pattern);this.fillRangeZoneOffsetInfo(info,pattern);return priv.formatPattern(info,pattern);}else{return formatter.formatRange(date1,date2);}}fillRangeMonthInfo(info,date1,date2,pattern){if(!pattern.includes('{mwMonth')&&!pattern.includes('{mwMonthGen')&&!pattern.includes('{mwMonthAbbrev')){return;}const monthFormatter=this.getIntlFormatInternal('monthNumber');const month1=Number(monthFormatter.format(date1));const month2=Number(monthFormatter.format(date2));const applyMonthData=(suffix,index)=>{const monthData=config.months[index]||[];if(monthData[0]){info[`mwMonth${suffix}`]=monthData[0];}if(monthData[1]){info[`mwMonthGen${suffix}`]=monthData[1];}if(monthData[2]){info[`mwMonthAbbrev${suffix}`]=monthData[2];}};applyMonthData('1',month1);applyMonthData('2',month2);if(info.mwMonth1&&!info.mwMonth){
info.mwMonth=info.mwMonth1;}if(info.mwMonthGen1&&!info.mwMonthGen){info.mwMonthGen=info.mwMonthGen1;}if(info.mwMonthAbbrev1&&!info.mwMonthAbbrev){info.mwMonthAbbrev=info.mwMonthAbbrev1;}}fillRangeZoneOffsetInfo(info,pattern){if(!pattern.includes('{mwZoneOffset')){return;}const applyOffset=(suffix,zoneName)=>{if(zoneName){info[`mwZoneOffset${suffix}`]=priv.longOffsetToIsoOffset(zoneName);}};applyOffset('1',info.timeZoneName1);applyOffset('2',info.timeZoneName2);if(info.timeZoneName){info.mwZoneOffset=priv.longOffsetToIsoOffset(info.timeZoneName);}else if(info.mwZoneOffset1){info.mwZoneOffset=info.mwZoneOffset1;}}getIntlFormatInternal(formatName){if(!(formatName in this.intlFormatters)){if(!(formatName in this.formats)){throw new Error(`Unknown date format "${formatName}"`);}const format=this.formats[formatName];const locale=format.locale||this.locales;const options=Object.assign({},format.options);options.timeZone=this.zone;this.intlFormatters[formatName]=new Intl.DateTimeFormat(locale,options);
}return this.intlFormatters[formatName];}getLocalInfoInternal(fieldName,configValue,date){const key=`info ${fieldName}.${configValue}`;if(!this.formats[key]){this.formats[key]={options:{[fieldName]:configValue}};}const formatter=this.getIntlFormatInternal(key);const info=priv.partsToInfo(formatter.formatToParts(date));return info[fieldName]||'';}}if(window.QUnit){DateFormatter.priv=priv;DateFormatter.config=config;}module.exports=DateFormatter;
},"config.json":{"locales":["ko","en"],"formats":{"ISO 8601 time":{"locale":"en","options":{"hour":"2-digit","hour12":false,"minute":"2-digit","second":"2-digit"},"pattern":"{hour}:{minute}:{second}","rangePattern":"{hour1}:{minute1}:{second1} – {hour2}:{minute2}:{second2}"},"ISO 8601 date":{"locale":"en","options":{"year":"numeric","month":"2-digit","day":"2-digit"},"pattern":"{year}-{month}-{day}","rangePattern":"{year1}-{month1}-{day1} – {year2}-{month2}-{day2}"},"ISO 8601 both":{"locale":"en","options":{"year":"numeric","month":"2-digit","day":"2-digit","hour":"2-digit","hour12":false,"minute":"2-digit","second":"2-digit"},"pattern":"{year}-{month}-{day}T{hour}:{minute}:{second}","rangePattern":"{year1}-{month1}-{day1}T{hour1}:{minute1}:{second1} – {year2}-{month2}-{day2}T{hour2}:{minute2}:{second2}"},"ISO 8601 pretty":{"locale":"en","options":{"month":"2-digit","day":"2-digit"},"pattern":"{month}-{day}","rangePattern":"{month1}-{day1} – {month2}-{day2}"},"ko time":{"options":{
"numberingSystem":"latn","hour":"2-digit","hour12":false,"minute":"2-digit"},"pattern":"{hour}:{minute}","rangePattern":"{hour1}:{minute1} – {hour2}:{minute2}"},"ko date":{"options":{"numberingSystem":"latn","year":"numeric","month":"short","day":"numeric","weekday":"short"},"pattern":"{year}년 {mwMonthAbbrev}월 {day}일 ({weekday})","rangePattern":"{year1}년 {mwMonthAbbrev1}월 {day1}일 ({weekday1}) – {year2}년 {mwMonthAbbrev2}월 {day2}일 ({weekday2})"},"ko both":{"options":{"numberingSystem":"latn","year":"numeric","month":"short","day":"numeric","weekday":"short","hour":"2-digit","hour12":false,"minute":"2-digit"},"pattern":"{year}년 {mwMonthAbbrev}월 {day}일 ({weekday}) {hour}:{minute}","rangePattern":"{year1}년 {mwMonthAbbrev1}월 {day1}일 ({weekday1}) {hour1}:{minute1} – {year2}년 {mwMonthAbbrev2}월 {day2}일 ({weekday2}) {hour2}:{minute2}"},"ko pretty":{"options":{"numberingSystem":"latn","year":"numeric","month":"short","day":"numeric","weekday":"short"},
"pattern":"{year}년 {mwMonthAbbrev}월 {day}일 ({weekday})","rangePattern":"{year1}년 {mwMonthAbbrev1}월 {day1}일 ({weekday1}) – {year2}년 {mwMonthAbbrev2}월 {day2}일 ({weekday2})"}},"defaultStyle":"ko","localZone":"Asia/Seoul","localOffset":540,"months":[[],["","","1"],["","","2"],["","","3"],["","","4"],["","","5"],["","","6"],["","","7"],["","","8"],["","","9"],["","","10"],["","","11"],["","","12"]]}}}];});
mw.loader.impl(function(){return["mediawiki.String@1xixe",function($,jQuery,require,module){(function(){function byteLength(str){return str.replace(/[\u0080-\u07FF\uD800-\uDFFF]/g,'**').replace(/[\u0800-\uD7FF\uE000-\uFFFF]/g,'***').length;}function codePointLength(str){return str.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,'*').length;}function charAt(string,offset,backwards){const maybePair=backwards?string.slice(offset-1,offset+1):string.slice(offset,offset+2);if(/^[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(maybePair)){return maybePair;}else{return string.charAt(offset);}}function lcFirst(string){const firstChar=charAt(string,0);return firstChar.toLowerCase()+string.slice(firstChar.length);}function ucFirst(string){const firstChar=charAt(string,0);return firstChar.toUpperCase()+string.slice(firstChar.length);}function trimLength(safeVal,newVal,length,lengthFn){const oldVal=safeVal;if(lengthFn(newVal)<=length){return{newVal:newVal,trimmed:false};}let startMatches=0;let endMatches=0;const matchesLen=Math.min(newVal.length,oldVal.length);while(startMatches<matchesLen){const oldChar=charAt(oldVal,startMatches,false);
const newChar=charAt(newVal,startMatches,false);if(oldChar!==newChar){break;}startMatches+=oldChar.length;}while(endMatches<(matchesLen-startMatches)){const oldChar=charAt(oldVal,oldVal.length-1-endMatches,true);const newChar=charAt(newVal,newVal.length-1-endMatches,true);if(oldChar!==newChar){break;}endMatches+=oldChar.length;}const inpParts=[newVal.slice(0,startMatches),newVal.slice(startMatches,newVal.length-endMatches),newVal.slice(newVal.length-endMatches)];while(lengthFn(inpParts.join(''))>length&&inpParts[1].length>0){const chopOff=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(inpParts[1])?2:1;inpParts[1]=inpParts[1].slice(0,-chopOff);}return{newVal:inpParts.join(''),trimmed:newVal!==inpParts.join('')};}function trimByteLength(safeVal,newVal,byteLimit,filterFunction){let lengthFn;if(filterFunction){lengthFn=function(val){return byteLength(filterFunction(val));};}else{lengthFn=byteLength;}return trimLength(safeVal,newVal,byteLimit,lengthFn);}function trimCodePointLength(safeVal,newVal,codePointLimit,filterFunction){
let lengthFn;if(filterFunction){lengthFn=function(val){return codePointLength(filterFunction(val));};}else{lengthFn=codePointLength;}return trimLength(safeVal,newVal,codePointLimit,lengthFn);}module.exports={byteLength,codePointLength,charAt,lcFirst,ucFirst,trimByteLength,trimCodePointLength};}());
}];});
mw.loader.impl(function(){return["mediawiki.Title@11zzw",{"main":"Title.js","files":{"Title.js":function(require,module,exports){let toUpperMap;const mwString=require('mediawiki.String'),namespaceIds=mw.config.get('wgNamespaceIds'),NS_MAIN=namespaceIds[''],NS_TALK=namespaceIds.talk,NS_SPECIAL=namespaceIds.special,NS_MEDIA=namespaceIds.media,NS_FILE=namespaceIds.file,FILENAME_MAX_BYTES=240,TITLE_MAX_BYTES=255,getNsIdByName=function(ns){if(typeof ns!=='string'){return false;}ns=ns.toLowerCase();if(!Object.hasOwnProperty.call(mw.config.get('wgNamespaceIds'),ns)){return false;}return mw.config.get('wgNamespaceIds')[ns];},isKnownNamespace=function(namespace){return namespace===NS_MAIN||Object.hasOwnProperty.call(mw.config.get('wgFormattedNamespaces'),namespace);},getNamespacePrefix=function(namespace){return namespace===NS_MAIN?'':(mw.config.get('wgFormattedNamespaces')[namespace].replace(/ /g,'_')+':');},rUnderscoreTrim=/^_+|_+$/g,rSplit=/^(.+?)_*:_*(.*)$/,rInvalid=new RegExp('[^'+mw.config.get('wgLegalTitleChars')+']'+'|%[\\dA-Fa-f]{2}'+'|&[\\dA-Za-z\u0080-\uFFFF]+;'),rWhitespace=/[ _\u00A0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]+/g,
rUnicodeBidi=/[\u200E\u200F\u202A-\u202E]+/g,sanitationRules=[{pattern:/~{3}/g,replace:'',generalRule:true},{pattern:/[\x00-\x1f\x7f]/g,replace:'',generalRule:true},{pattern:/%([\dA-Fa-f]{2})/g,replace:'% $1',generalRule:true},{pattern:/&(([\dA-Za-z\x80-\xff]+|#\d+|#x[\dA-Fa-f]+);)/g,replace:'& $1',generalRule:true},{pattern:new RegExp('['+mw.config.get('wgIllegalFileChars','')+']','g'),replace:'-',fileRule:true},{pattern:/[}\]>]/g,replace:')',generalRule:true},{pattern:/[{[<]/g,replace:'(',generalRule:true},{pattern:new RegExp(rInvalid.source,'g'),replace:'-',generalRule:true},{pattern:/^(\.|\.\.|\.\/.*|\.\.\/.*|.*\/\.\/.*|.*\/\.\.\/.*|.*\/\.|.*\/\.\.)$/g,replace:'',generalRule:true}],parse=function(title,defaultNamespace){let namespace=defaultNamespace===undefined?NS_MAIN:defaultNamespace;title=title.normalize('NFC').replace(rUnicodeBidi,'').replace(rWhitespace,'_').replace(rUnderscoreTrim,'');if(title.includes('\uFFFD')){return false;}if(title!==''&&title[0]===':'){namespace=NS_MAIN;
title=title.slice(1).replace(rUnderscoreTrim,'');}if(title===''){return false;}let m=title.match(rSplit);if(m){const id=getNsIdByName(m[1]);if(id!==false){namespace=id;title=m[2];if(namespace===NS_TALK&&(m=title.match(rSplit))){if(getNsIdByName(m[1])!==false){return false;}}}}const i=title.indexOf('#');let fragment;if(i===-1){fragment=null;}else{fragment=title.slice(i+1).replace(/_/g,' ');title=title.slice(0,i).replace(rUnderscoreTrim,'');}if(rInvalid.test(title)){return false;}if(title.includes('.')&&(title==='.'||title==='..'||title.startsWith('./')||title.startsWith('../')||title.includes('/./')||title.includes('/../')||title.endsWith('/.')||title.endsWith('/..'))){return false;}if(title.includes('~~~')){return false;}if(namespace!==NS_SPECIAL&&mwString.byteLength(title)>TITLE_MAX_BYTES){return false;}if(title===''&&namespace!==NS_MAIN){return false;}if(title[0]===':'){return false;}return{namespace:namespace,title:title,fragment:fragment};},text=function(s){return s.replace(/_/g,' ');
},sanitize=function(s,filter){const rules=sanitationRules;for(let i=0,ruleLength=rules.length;i<ruleLength;++i){const rule=rules[i];for(let m=0,filterLength=filter.length;m<filterLength;++m){if(rule[filter[m]]){s=s.replace(rule.pattern,rule.replace);}}}return s;},trimToByteLength=function(s,length){return mwString.trimByteLength('',s,length).newVal;},trimFileNameToByteLength=function(name,extension){return trimToByteLength(name,FILENAME_MAX_BYTES-extension.length-1)+'.'+extension;};function Title(title,namespace){const parsed=parse(title,namespace);if(!parsed){throw new Error('Unable to parse title');}this.namespace=parsed.namespace;this.title=parsed.title;this.fragment=parsed.fragment;}Title.newFromText=function(title,namespace){const parsed=parse(title,namespace);if(!parsed){return null;}const t=Object.create(Title.prototype);t.namespace=parsed.namespace;t.title=parsed.title;t.fragment=parsed.fragment;return t;};Title.makeTitle=function(namespace,title){if(!isKnownNamespace(namespace)){
return null;}else{return mw.Title.newFromText(getNamespacePrefix(namespace)+title);}};Title.newFromUserInput=function(title,defaultNamespace,options){let namespace=parseInt(defaultNamespace)||NS_MAIN;options=Object.assign({forUploading:true},options);title=title.replace(/\s/g,' ').trim();if(title!==''&&title[0]===':'){namespace=NS_MAIN;title=title.slice(1).replace(rUnderscoreTrim,'');}const m=title.match(rSplit);if(m){const id=getNsIdByName(m[1]);if(id!==false){namespace=id;title=m[2];}}if(namespace===NS_MEDIA||(options.forUploading&&(namespace===NS_FILE))){title=sanitize(title,['generalRule','fileRule']);const lastDot=title.lastIndexOf('.');if(lastDot===-1||lastDot>=title.length-1){return null;}const ext=title.slice(lastDot+1);title=title.slice(0,lastDot).trim();title=trimFileNameToByteLength(title,ext);}else{title=sanitize(title,['generalRule']);if(namespace!==NS_SPECIAL){title=trimToByteLength(title,TITLE_MAX_BYTES);}}title=title.replace(/^:+/,'');return Title.newFromText(title,namespace);
};Title.newFromFileName=function(uncleanName){return Title.newFromUserInput('File:'+uncleanName);};Title.newFromImg=function(img){const src=img.jquery?img[0].src:img.src,data=mw.util.parseImageUrl(src);return data?mw.Title.newFromText('File:'+data.name):null;};Title.isTalkNamespace=function(namespaceId){return namespaceId>NS_MAIN&&namespaceId%2===1;};Title.wantSignaturesNamespace=function(namespaceId){return Title.isTalkNamespace(namespaceId)||mw.config.get('wgExtraSignatureNamespaces').includes(namespaceId);};Title.exists=function(title){const obj=Title.exist.pages;let match;if(typeof title==='string'){match=obj[title];}else if(title instanceof Title){match=obj[title.toString()];}else{throw new Error('mw.Title.exists: title must be a string or an instance of Title');}if(typeof match!=='boolean'){return null;}return match;};Title.exist={pages:{},set:function(titles,state){const pages=this.pages;titles=Array.isArray(titles)?titles:[titles];state=state===undefined?true:!!state;for(let i=0,len=titles.length;i<len;i++){
pages[titles[i]]=state;}return true;}};Title.normalizeExtension=function(extension){const lower=extension.toLowerCase(),normalizations={htm:'html',jpeg:'jpg',mpeg:'mpg',tiff:'tif',ogv:'ogg'};if(Object.hasOwnProperty.call(normalizations,lower)){return normalizations[lower];}else if(/^[\da-z]+$/.test(lower)){return lower;}else{return'';}};Title.phpCharToUpper=function(chr){if(!toUpperMap){toUpperMap=require('./phpCharToUpper.json');}if(toUpperMap[chr]===0){return chr;}return toUpperMap[chr]||chr.toUpperCase();};Title.prototype={constructor:Title,getNamespaceId:function(){return this.namespace;},getNamespacePrefix:function(){return getNamespacePrefix(this.namespace);},getFileNameWithoutExtension:function(){const ext=this.getExtension();if(ext===null){return this.getMain();}return this.getMain().slice(0,-ext.length-1);},getFileNameTextWithoutExtension:function(){return text(this.getFileNameWithoutExtension());},getName:function(){return this.getFileNameWithoutExtension();},getNameText:function(){
return text(this.getFileNameTextWithoutExtension());},getExtension:function(){const lastDot=this.title.lastIndexOf('.');if(lastDot===-1){return null;}return this.title.slice(lastDot+1)||null;},getMain:function(){if(mw.config.get('wgCaseSensitiveNamespaces').includes(this.namespace)||!this.title.length){return this.title;}const firstChar=mwString.charAt(this.title,0);return mw.Title.phpCharToUpper(firstChar)+this.title.slice(firstChar.length);},getMainText:function(){return text(this.getMain());},getPrefixedDb:function(){return this.getNamespacePrefix()+this.getMain();},getPrefixedText:function(){return text(this.getPrefixedDb());},getRelativeText:function(namespace){if(this.getNamespaceId()===namespace){return this.getMainText();}else if(this.getNamespaceId()===NS_MAIN){return':'+this.getPrefixedText();}else{return this.getPrefixedText();}},getFragment:function(){return this.fragment;},getUrl:function(params){const fragment=this.getFragment();if(fragment){return mw.util.getUrl(this.toString()+'#'+fragment,params);
}else{return mw.util.getUrl(this.toString(),params);}},isTalkPage:function(){return Title.isTalkNamespace(this.getNamespaceId());},getTalkPage:function(){if(!this.canHaveTalkPage()){return null;}return this.isTalkPage()?this:Title.makeTitle(this.getNamespaceId()+1,this.getMainText());},getSubjectPage:function(){return this.isTalkPage()?Title.makeTitle(this.getNamespaceId()-1,this.getMainText()):this;},canHaveTalkPage:function(){return this.getNamespaceId()>=NS_MAIN;},exists:function(){return Title.exists(this);}};Title.prototype.toString=Title.prototype.getPrefixedDb;Title.prototype.toText=Title.prototype.getPrefixedText;mw.Title=Title;
},"phpCharToUpper.json":{"ß":0,"ŉ":0,"ǰ":0,"ʂ":0,"ͅ":0,"ΐ":0,"ΰ":0,"և":0,"ა":0,"ბ":0,"გ":0,"დ":0,"ე":0,"ვ":0,"ზ":0,"თ":0,"ი":0,"კ":0,"ლ":0,"მ":0,"ნ":0,"ო":0,"პ":0,"ჟ":0,"რ":0,"ს":0,"ტ":0,"უ":0,"ფ":0,"ქ":0,"ღ":0,"ყ":0,"შ":0,"ჩ":0,"ც":0,"ძ":0,"წ":0,"ჭ":0,"ხ":0,"ჯ":0,"ჰ":0,"ჱ":0,"ჲ":0,"ჳ":0,"ჴ":0,"ჵ":0,"ჶ":0,"ჷ":0,"ჸ":0,"ჹ":0,"ჺ":0,"ჽ":0,"ჾ":0,"ჿ":0,"ᶎ":0,"ẖ":0,"ẗ":0,"ẘ":0,"ẙ":0,"ẚ":0,"ὐ":0,"ὒ":0,"ὔ":0,"ὖ":0,"ᾀ":"ᾈ","ᾁ":"ᾉ","ᾂ":"ᾊ","ᾃ":"ᾋ","ᾄ":"ᾌ","ᾅ":"ᾍ","ᾆ":"ᾎ","ᾇ":"ᾏ","ᾈ":0,"ᾉ":0,"ᾊ":0,"ᾋ":0,"ᾌ":0,"ᾍ":0,"ᾎ":0,"ᾏ":0,"ᾐ":"ᾘ","ᾑ":"ᾙ","ᾒ":"ᾚ","ᾓ":"ᾛ","ᾔ":"ᾜ","ᾕ":"ᾝ","ᾖ":"ᾞ","ᾗ":"ᾟ","ᾘ":0,"ᾙ":0,"ᾚ":0,"ᾛ":0,"ᾜ":0,"ᾝ":0,"ᾞ":0,"ᾟ":0,"ᾠ":"ᾨ","ᾡ":"ᾩ","ᾢ":"ᾪ","ᾣ":"ᾫ","ᾤ":"ᾬ","ᾥ":"ᾭ","ᾦ":"ᾮ","ᾧ":"ᾯ","ᾨ":0,"ᾩ":0,"ᾪ":0,"ᾫ":0,"ᾬ":0,"ᾭ":0,"ᾮ":0,"ᾯ":0,"ᾲ":0,"ᾳ":"ᾼ",
"ᾴ":0,"ᾶ":0,"ᾷ":0,"ᾼ":0,"ῂ":0,"ῃ":"ῌ","ῄ":0,"ῆ":0,"ῇ":0,"ῌ":0,"ῒ":0,"ΐ":0,"ῖ":0,"ῗ":0,"ῢ":0,"ΰ":0,"ῤ":0,"ῦ":0,"ῧ":0,"ῲ":0,"ῳ":"ῼ","ῴ":0,"ῶ":0,"ῷ":0,"ῼ":0,"ⅰ":0,"ⅱ":0,"ⅲ":0,"ⅳ":0,"ⅴ":0,"ⅵ":0,"ⅶ":0,"ⅷ":0,"ⅸ":0,"ⅹ":0,"ⅺ":0,"ⅻ":0,"ⅼ":0,"ⅽ":0,"ⅾ":0,"ⅿ":0,"ⓐ":0,"ⓑ":0,"ⓒ":0,"ⓓ":0,"ⓔ":0,"ⓕ":0,"ⓖ":0,"ⓗ":0,"ⓘ":0,"ⓙ":0,"ⓚ":0,"ⓛ":0,"ⓜ":0,"ⓝ":0,"ⓞ":0,"ⓟ":0,"ⓠ":0,"ⓡ":0,"ⓢ":0,"ⓣ":0,"ⓤ":0,"ⓥ":0,"ⓦ":0,"ⓧ":0,"ⓨ":0,"ⓩ":0,"ꞔ":0,"ꞹ":0,"ꞻ":0,"ꞽ":0,"ꞿ":0,"ꟃ":0,"ﬀ":0,"ﬁ":0,"ﬂ":0,"ﬃ":0,"ﬄ":0,"ﬅ":0,"ﬆ":0,"ﬓ":0,"ﬔ":0,"ﬕ":0,"ﬖ":0,"ﬗ":0,"𖹠":0,"𖹡":0,"𖹢":0,"𖹣":0,"𖹤":0,"𖹥":0,"𖹦":0,"𖹧":0,"𖹨":0,"𖹩":0,"𖹪":0,"𖹫":0,"𖹬":0,"𖹭":0,"𖹮":0,"𖹯":0,"𖹰":0,"𖹱":0,"𖹲":0,"𖹳":0,"𖹴":0,"𖹵":0,"𖹶":0,"𖹷":0,"𖹸":0,"𖹹":0,"𖹺":0,"𖹻":0,"𖹼":0,"𖹽":0,"𖹾":0,"𖹿":0}}}];});
mw.loader.impl(function(){return["mediawiki.api@3ljul",{"main":"resources/src/mediawiki.api/index.js","files":{"resources/src/mediawiki.api/index.js":function(require,module,exports){(function(){const defaultOptions={parameters:{action:'query',format:'json'},ajax:{url:mw.util.wikiScript('api'),timeout:30*1000,dataType:'json'}};mw.Api=function(options){const defaults=Object.assign({},options),setsUrl=options&&options.ajax&&options.ajax.url!==undefined;defaults.parameters=Object.assign({},defaultOptions.parameters,defaults.parameters);defaults.ajax=Object.assign({},defaultOptions.ajax,defaults.ajax);defaults.userAgent=defaults.userAgent||('MediaWiki-JS/'+mw.config.get('wgVersion'));if(setsUrl){defaults.ajax.url=String(defaults.ajax.url);}if(defaults.useUS===undefined){defaults.useUS=!setsUrl;}this.defaults=defaults;this.requests=[];};function normalizeTokenType(type){const csrfActions=['edit','delete','protect','move','block','unblock','email','import','options'];if(csrfActions.includes(type)){return'csrf';}return type;}function createTokenCache(){const tokenPromises={};tokenPromises[defaultOptions.ajax.url]={};const tokens=mw.user.tokens.get();for(const tokenKey in tokens){
const value=tokens[tokenKey];tokenPromises[defaultOptions.ajax.url][tokenKey]=$.Deferred().resolve(value).promise({abort:function(){}});}return tokenPromises;}let promises=createTokenCache();const ABORTED_BY_ABORTABLE_PROMISE=new Error('ABORTED_BY_ABORTABLE_PROMISE');mw.Api.prototype={abort:function(){this.requests.forEach((request)=>{if(request){request.abort();}});},get:function(parameters,ajaxOptions){ajaxOptions=ajaxOptions||{};ajaxOptions.type='GET';return this.ajax(parameters,ajaxOptions);},post:function(parameters,ajaxOptions){ajaxOptions=ajaxOptions||{};ajaxOptions.type='POST';return this.ajax(parameters,ajaxOptions);},preprocessParameters:function(parameters,useUS){let key;for(key in parameters){if(Array.isArray(parameters[key])){if(!useUS||!parameters[key].join('').includes('|')){parameters[key]=parameters[key].join('|');}else{parameters[key]='\x1f'+parameters[key].join('\x1f');}}else if(parameters[key]===false||parameters[key]===undefined){delete parameters[key];}}},ajax:function(parameters,ajaxOptions){
const apiDeferred=$.Deferred();parameters=Object.assign({},this.defaults.parameters,parameters);ajaxOptions=Object.assign({},this.defaults.ajax,ajaxOptions);if(ajaxOptions.signal&&ajaxOptions.signal.aborted){if(ajaxOptions.signal.reason!==ABORTED_BY_ABORTABLE_PROMISE){apiDeferred.reject(ajaxOptions.signal.reason,ajaxOptions.signal.reason);}else{apiDeferred.reject('http',{textStatus:'abort',exception:'abort'});}return apiDeferred.promise({abort:function(){}});}let token;if(parameters.token){token=parameters.token;delete parameters.token;}this.preprocessParameters(parameters,this.defaults.useUS);if(ajaxOptions.type==='POST'&&window.FormData&&ajaxOptions.contentType==='multipart/form-data'){const formData=new FormData();for(const key in parameters){formData.append(key,parameters[key]);}if(token){formData.append('token',token);}ajaxOptions.data=formData;ajaxOptions.processData=false;ajaxOptions.contentType=false;}else{ajaxOptions.data=$.param(parameters);if(token){ajaxOptions.data+='&token='+encodeURIComponent(token);
}if(ajaxOptions.contentType==='multipart/form-data'){delete ajaxOptions.contentType;}}ajaxOptions.headers=ajaxOptions.headers||{};const lowercaseHeaders=Object.keys(ajaxOptions.headers||{}).map((k)=>k.toLowerCase());if(!lowercaseHeaders.includes('api-user-agent')){ajaxOptions.headers['Api-User-Agent']=this.defaults.userAgent;}if(ajaxOptions.type==='GET'&&ajaxOptions.data.length>7500){ajaxOptions.type='POST';ajaxOptions.headers['Promise-Non-Write-API-Action']='true';mw.log.warn('API request method changed from GET to POST due to URL length',ajaxOptions);}if(ajaxOptions.type==='POST'&&parameters.action!==undefined){ajaxOptions.url+=(ajaxOptions.url.includes('?')?'&':'?')+'action='+encodeURIComponent(parameters.action);}const xhr=$.ajax(ajaxOptions).fail((jqXHR,textStatus,exception)=>{apiDeferred.reject('http',{xhr:jqXHR,textStatus:textStatus,exception:exception});}).done((result,textStatus,jqXHR)=>{let code;if(result===undefined||result===null||result===''){apiDeferred.reject('ok-but-empty',
'OK response but empty result (check HTTP headers?)',result,jqXHR);}else if(result.error){code=result.error.code===undefined?'unknown':result.error.code;apiDeferred.reject(code,result,result,jqXHR);}else if(result.errors){code=result.errors[0].code===undefined?'unknown':result.errors[0].code;apiDeferred.reject(code,result,result,jqXHR);}else{apiDeferred.resolve(result,jqXHR);}});const requestIndex=this.requests.length;this.requests.push(xhr);xhr.always(()=>{this.requests[requestIndex]=null;});if(ajaxOptions.signal){ajaxOptions.signal.addEventListener('abort',()=>{if(ajaxOptions.signal.reason!==ABORTED_BY_ABORTABLE_PROMISE){apiDeferred.reject(ajaxOptions.signal.reason,ajaxOptions.signal.reason);}xhr.abort();});}return apiDeferred.promise({abort:xhr.abort}).fail((code,details)=>{if(!((code==='http'&&details&&details.textStatus==='abort')||(details instanceof DOMException&&details.name==='AbortError'))){mw.log('mw.Api error: ',code,details);const inSample=Math.random()<require('./config.json').ApiClientErrorSampleRate;
if(code==='http'&&details.xhr.status===429&&inSample){let logParameters=`action=${parameters.action}`;if(parameters.action==='query'){for(const param of['prop','list','meta']){if(parameters[param]){logParameters+=`&${param}=${parameters[param]}`;}}}mw.errorLogger.logError(new Error(`HTTP 429 ${logParameters}`),'error.mw-api');}}});},makeAbortablePromise:function(ajaxOptions){const abort=new mw.Api.AbortController();if(ajaxOptions.signal){if(ajaxOptions.signal.aborted){abort.abort(ajaxOptions.signal.reason);}else{ajaxOptions.signal.addEventListener('abort',()=>{abort.abort(ajaxOptions.signal.reason);});}}ajaxOptions.signal=abort.signal;return{abort:()=>abort.abort(ABORTED_BY_ABORTABLE_PROMISE)};},postWithToken:function(tokenType,params,ajaxOptions){const assertParams={assert:params.assert,assertuser:params.assertuser};ajaxOptions=ajaxOptions||{};const abortable=this.makeAbortablePromise(ajaxOptions);return this.getToken(tokenType,assertParams).then((token)=>{params.token=token;return this.post(params,ajaxOptions).catch((code,...args)=>{
if(code==='badtoken'){this.badToken(tokenType);return this.getToken(tokenType,assertParams).then((t)=>{params.token=t;return this.post(params,ajaxOptions);});}return $.Deferred().reject(code,...args);});}).promise(abortable);},getToken:function(type,additionalParams,ajaxOptions){type=normalizeTokenType(type);if(typeof additionalParams==='string'){additionalParams={assert:additionalParams};}const cacheKey=type+'Token';let promiseGroup=promises[this.defaults.ajax.url];if(!promiseGroup){promiseGroup=promises[this.defaults.ajax.url]={};}let promise=promiseGroup&&promiseGroup[cacheKey];const reject=(...args)=>{delete promiseGroup[cacheKey];return $.Deferred().reject(...args);};if(!promise){const apiPromise=this.get(Object.assign({action:'query',meta:'tokens',type:type},additionalParams),ajaxOptions);promise=apiPromise.then((res)=>{if(!res.query){return reject('query-missing',res);}if(!res.query.tokens[type+'token']){return $.Deferred().reject('token-missing',res);}return res.query.tokens[type+'token'];
},reject).promise({abort:apiPromise.abort});promiseGroup[cacheKey]=promise;}return promise;},badToken:function(type){const promiseGroup=promises[this.defaults.ajax.url];type=normalizeTokenType(type);if(promiseGroup){delete promiseGroup[type+'Token'];}},getErrorMessage:function(data){if(data===undefined||data===null||data===''||data==='OK response but empty result (check HTTP headers?)'){return $('<div>').append(mw.message('api-clientside-error-invalidresponse').parseDom());}else if(data instanceof DOMException&&data.name==='TimeoutError'){return $('<div>').append(mw.message('api-clientside-error-timeout').parseDom());}else if(data instanceof DOMException&&data.name==='AbortError'){return $('<div>').append(mw.message('api-clientside-error-aborted').parseDom());}else if(data.xhr){if(data.textStatus==='timeout'){return $('<div>').append(mw.message('api-clientside-error-timeout').parseDom());}else if(data.textStatus==='abort'){return $('<div>').append(mw.message('api-clientside-error-aborted').parseDom());
}else if(data.textStatus==='parsererror'){return $('<div>').append(mw.message('api-clientside-error-invalidresponse').parseDom());}else if(data.xhr.status===429){const retryAfter=data.xhr.getResponseHeader('Retry-After');if(retryAfter){const segments=[];if(Math.floor(retryAfter/3600)>0){segments.push(mw.msg('duration-hours',mw.language.convertNumber(Math.floor(retryAfter/3600))));}if(Math.floor(retryAfter%3600/60)>0){segments.push(mw.msg('duration-minutes',mw.language.convertNumber(Math.floor(retryAfter%3600/60))));}if(Math.floor(retryAfter%60)>0){segments.push(mw.msg('duration-seconds',mw.language.convertNumber(Math.floor(retryAfter%60))));}if(segments.length===0){segments.push(mw.msg('duration-seconds',mw.language.convertNumber(0)));}const formattedDuration=mw.language.listToText(segments);return $('<div>').append(mw.message('api-clientside-error-http-429-retry',formattedDuration).parseDom());}else{return $('<div>').append(mw.message('api-clientside-error-http-429').parseDom());}}else if(data.xhr.status){
return $('<div>').append(mw.message('api-clientside-error-http',data.xhr.status).parseDom());}else{return $('<div>').append(mw.message('api-clientside-error-noconnect').parseDom());}}else if(data.error){return $('<div>').text(data.error.info);}else if(data.errors){return $(data.errors.map((err)=>{const $node=$('<div>');if(err.html){$node.html(err.html);}else if(err.text){$node.text(err.text);}else{$node.text(err['*']);}return $node[0];}));}else{mw.log.warn('mw.Api#getErrorMessage could not handle the response:',data);return $('<div>').append(mw.message('api-clientside-error-invalidresponse').parseDom());}},prepareExtensibleApiRequest:function(hookName){const data={params:{},promise:$.Deferred().resolve().promise()};mw.hook(hookName).fire(data);return data.promise.then(()=>data.params);}};if(window.QUnit){mw.Api.resetTokenCacheForTest=function(){promises=createTokenCache();};}}());require('./AbortablePromise.js');require('./AbortController.js');require('./rest.js');require('./category.js');
require('./edit.js');require('./login.js');require('./messages.js');require('./options.js');require('./parse.js');require('./rollback.js');require('./upload.js');require('./user.js');require('./watch.js');
},"resources/src/mediawiki.api/AbortablePromise.js":function(require,module,exports){
},"resources/src/mediawiki.api/AbortController.js":function(require,module,exports){mw.Api.AbortController=function(){this.signal={aborted:false,reason:undefined,handlers:$.Callbacks(),addEventListener:function(event,handler){if(event==='abort'){this.handlers.add(handler);}}};this.abort=function(reason){if(reason===undefined){reason=new DOMException('The operation was aborted.','AbortError');}this.signal.aborted=true;this.signal.reason=reason;this.signal.handlers.fire();};};
},"resources/src/mediawiki.api/rest.js":function(require,module,exports){(function(){const defaultOptions={ajax:{url:mw.util.wikiScript('rest'),timeout:30*1000}};function objectKeysToLowerCase(headers){const updatedHeaders={};for(const key in headers){updatedHeaders[key.toLowerCase()]=headers[key];}return updatedHeaders;}mw.Rest=function(options){const defaults=Object.assign({},options);defaults.ajax=Object.assign({},defaultOptions.ajax,defaults.ajax);this.url=defaults.ajax.url;delete defaults.ajax.url;this.defaults=defaults;this.requests=[];};mw.Rest.prototype={abort:function(){this.requests.forEach((request)=>{if(request){request.abort();}});},get:function(path,query,headers){return this.ajax(path,{type:'GET',data:query,headers:headers||{}});},post:function(path,body,headers){if(body===undefined){body={};}headers=objectKeysToLowerCase(headers||{});return this.ajax(path,{type:'POST',headers:Object.assign(headers,{'content-type':'application/json'}),data:JSON.stringify(body)});},put:function(path,body,headers){headers=objectKeysToLowerCase(headers||{});
return this.ajax(path,{type:'PUT',headers:Object.assign(headers,{'content-type':'application/json'}),data:JSON.stringify(body)});},delete:function(path,body,headers){headers=objectKeysToLowerCase(headers||{});return this.ajax(path,{type:'DELETE',headers:Object.assign(headers,{'content-type':'application/json'}),data:JSON.stringify(body)});},ajax:function(path,ajaxOptions){const apiDeferred=$.Deferred();ajaxOptions=Object.assign({},this.defaults.ajax,ajaxOptions);ajaxOptions.url=this.url+path;const xhr=$.ajax(ajaxOptions);const requestIndex=this.requests.length;this.requests.push(xhr);xhr.always(()=>{this.requests[requestIndex]=null;});xhr.then((result,textStatus,jqXHR)=>{apiDeferred.resolve(result,jqXHR);},(jqXHR,textStatus,exception)=>{apiDeferred.reject('http',{xhr:jqXHR,textStatus:textStatus,exception:exception});});return apiDeferred.promise({abort:xhr.abort});}};}());
},"resources/src/mediawiki.api/category.js":function(require,module,exports){(function(){Object.assign(mw.Api.prototype,{isCategory:function(title){const apiPromise=this.get({formatversion:2,prop:'categoryinfo',titles:[String(title)]});return apiPromise.then((data)=>!!(data.query&&data.query.pages&&data.query.pages[0].categoryinfo)).promise({abort:apiPromise.abort});},getCategoriesByPrefix:function(prefix){const apiPromise=this.get({formatversion:2,list:'allpages',apprefix:prefix,apnamespace:mw.config.get('wgNamespaceIds').category});return apiPromise.then((data)=>data.query.allpages.map((category)=>new mw.Title(category.title).getMainText())).promise({abort:apiPromise.abort});},getCategories:function(title){const apiPromise=this.get({formatversion:2,prop:'categories',titles:[String(title)]});return apiPromise.then((data)=>{if(!data.query||!data.query.pages){return false;}const page=data.query.pages[0];if(!page.categories){return false;}return page.categories.map((cat)=>new mw.Title(cat.title));}).promise({abort:apiPromise.abort});}});}());
},"resources/src/mediawiki.api/edit.js":function(require,module,exports){(function(){Object.assign(mw.Api.prototype,{postWithEditToken:function(params,ajaxOptions){return this.postWithToken('csrf',params,ajaxOptions);},getEditToken:function(){return this.getToken('csrf');},create:function(title,params,content){return this.postWithEditToken(Object.assign(this.assertCurrentUser({action:'edit',title:String(title),text:content,formatversion:'2',createonly:true}),params)).then((data)=>data.edit);},edit:function(title,transform){title=String(title);let basetimestamp,curtimestamp;return this.get({action:'query',prop:'revisions',rvprop:['content','timestamp'],rvslots:'main',titles:[title],formatversion:'2',curtimestamp:true}).then((data)=>{if(!data.query||!data.query.pages){return $.Deferred().reject('unknown');}const page=data.query.pages[0];if(!page||page.invalid){return $.Deferred().reject('invalidtitle');}if(page.missing){return $.Deferred().reject('nocreate-missing');}const revision=page.revisions[0];basetimestamp=revision.timestamp;curtimestamp=data.curtimestamp;
return transform({timestamp:revision.timestamp,content:revision.slots.main.content});}).then((params)=>{const editParams=typeof params==='object'?params:{text:String(params)};return this.postWithEditToken(Object.assign({action:'edit',title:title,formatversion:'2',assert:mw.config.get('wgUserName')?'user':undefined,basetimestamp:basetimestamp,starttimestamp:curtimestamp,nocreate:true},editParams));}).then((data)=>data.edit);},newSection:function(title,header,message,additionalParams){return this.postWithEditToken(Object.assign({action:'edit',section:'new',title:String(title),summary:header,text:message},additionalParams));}});}());
},"resources/src/mediawiki.api/login.js":function(require,module,exports){(function(){'use strict';Object.assign(mw.Api.prototype,{login:function(username,password){const params={action:'login',lgname:username,lgpassword:password};const ajaxOptions={};const abortable=this.makeAbortablePromise(ajaxOptions);return this.post(params,ajaxOptions).then((data)=>{params.lgtoken=data.login.token;return this.post(params,ajaxOptions).then((response)=>{let code;if(response.login.result!=='Success'){code=response.error&&response.error.code||'unknown';return $.Deferred().reject(code,response);}return response;});}).promise(abortable);}});}());
},"resources/src/mediawiki.api/messages.js":function(require,module,exports){(function(){'use strict';Object.assign(mw.Api.prototype,{getMessages:function(messages,options){options=options||{};messages=Array.isArray(messages)?messages:[messages];return this.get(Object.assign({action:'query',meta:'allmessages',ammessages:messages.slice(0,50),amlang:mw.config.get('wgUserLanguage'),formatversion:2},options)).then((data)=>{const result={};data.query.allmessages.forEach((obj)=>{if(!obj.missing){result[obj.name]=obj.content;}});if(messages.length<=50){return result;}return this.getMessages(messages.slice(50),options).then((innerResult)=>Object.assign(result,innerResult));});},loadMessages:function(messages,options){return this.getMessages(messages,options).then(mw.messages.set.bind(mw.messages));},loadMessagesIfMissing:function(messages,options){if(!Array.isArray(messages)){messages=[messages];}const missing=messages.filter((msg)=>msg&&!mw.message(msg).exists());return missing.length?this.loadMessages(missing,options):$.Deferred().resolve();}});}());
},"resources/src/mediawiki.api/options.js":function(require,module,exports){(function(){const saveOptionsRequests={};Object.assign(mw.Api.prototype,{saveOption:function(name,value,params){const options={};options[name]=value;return this.saveOptions(options,params);},saveOptions:function(options,params){const grouped=[];if(mw.config.get('wgUserName')===null||mw.config.get('wgUserIsTemp')){return $.Deferred().reject('notloggedin').promise();}let promise;if(saveOptionsRequests[this.defaults.ajax.url]&&saveOptionsRequests[this.defaults.ajax.url].state()==='pending'){promise=saveOptionsRequests[this.defaults.ajax.url].then(()=>$.Deferred().resolve(),()=>$.Deferred().resolve());}else{promise=$.Deferred().resolve();}for(const name in options){const value=options[name]===null?null:String(options[name]);let bundleable;if(this.defaults.useUS){bundleable=!name.includes('=');}else{bundleable=(value===null||!value.includes('|'))&&(!name.includes('|')&&!name.includes('='));}if(bundleable){if(value!==null){grouped.push(name+'='+value);}else{grouped.push(name);}}else{if(value!==null){
promise=promise.then(function(n,v){return this.postWithToken('csrf',Object.assign({formatversion:2,action:'options',optionname:n,optionvalue:v},params));}.bind(this,name,value));}else{promise=promise.then(function(n){return this.postWithToken('csrf',Object.assign({formatversion:2,action:'options',optionname:n},params));}.bind(this,name));}}}if(grouped.length){promise=promise.then(()=>this.postWithToken('csrf',Object.assign({formatversion:2,action:'options',change:grouped},params)));}saveOptionsRequests[this.defaults.ajax.url]=promise;return promise;}});}());
},"resources/src/mediawiki.api/parse.js":function(require,module,exports){(function(){Object.assign(mw.Api.prototype,{parse:function(content,additionalParams){const config=Object.assign({formatversion:2,action:'parse',prop:'text',contentmodel:'wikitext'},additionalParams);let apiPromise;if(mw.Title&&content instanceof mw.Title){config.page=content.getPrefixedDb();apiPromise=this.get(config);}else{config.text=String(content);apiPromise=this.post(config);}return apiPromise.then((data)=>data.parse.text).promise({abort:apiPromise.abort});}});}());
},"resources/src/mediawiki.api/rollback.js":function(require,module,exports){(function(){Object.assign(mw.Api.prototype,{rollback:function(page,user,params){return this.postWithToken('rollback',Object.assign({action:'rollback',title:String(page),user:user,uselang:mw.config.get('wgUserLanguage')},params)).then((data)=>data.rollback);}});}());
},"resources/src/mediawiki.api/upload.js":function(require,module,exports){(function(){const fieldsAllowed={stash:true,filekey:true,filename:true,comment:true,license:true,copystatus:true,source:true,autotext:true,tags:true,text:true,watchlist:true,watchlistexpiry:true,ignorewarnings:true,chunk:true,offset:true,filesize:true,async:true};function getFirstKey(obj){return obj[Object.keys(obj)[0]];}Object.assign(mw.Api.prototype,{upload:function(file,data){if(file&&file.nodeType===Node.ELEMENT_NODE&&file.files){file=file.files[0];}if(!file){throw new Error('No file');}if(!(file instanceof window.File||file instanceof window.Blob)){throw new Error('Unsupported argument type passed to mw.Api.upload');}return this.uploadWithFormData(file,data);},uploadWithFormData:function(file,data){const deferred=$.Deferred();for(const key in data){if(!fieldsAllowed[key]){delete data[key];}}data=Object.assign({},this.defaults.parameters,{action:'upload'},data);if(!data.chunk){data.file=file;}if(!data.filename&&!data.stash){throw new Error('Filename not included in file data.');}
const request=this[this.needToken()?'postWithEditToken':'post'](data,{contentType:'multipart/form-data',timeout:0,xhr:function(){const xhr=$.ajaxSettings.xhr();if(xhr.upload){xhr.upload.addEventListener('progress',(ev)=>{if(ev.lengthComputable){deferred.notify(ev.loaded/ev.total);}});}return xhr;}}).done((result)=>{deferred.notify(1);if(result.upload&&result.upload.warnings){deferred.reject(getFirstKey(result.upload.warnings),result);}else{deferred.resolve(result);}}).fail((errorCode,result)=>{deferred.notify(1);deferred.reject(errorCode,result);});return deferred.promise({abort:request.abort});},chunkedUpload:function(file,data,chunkSize,chunkRetries){const deferred=$.Deferred();chunkSize=chunkSize===undefined?5*1024*1024:chunkSize;chunkRetries=chunkRetries===undefined?1:chunkRetries;if(!data.filename){throw new Error('Filename not included in file data.');}let promise;let active=promise=this.uploadChunk(file,data,0,chunkSize,'',chunkRetries).done(chunkSize>=file.size?deferred.resolve:null)
.fail(deferred.reject).progress(deferred.notify);for(let start=chunkSize;start<file.size;start+=chunkSize){const end=Math.min(start+chunkSize,file.size);const next=$.Deferred();promise.done(function(s,e,n,result){const filekey=result.upload.filekey;active=this.uploadChunk(file,data,s,e,filekey,chunkRetries).done(e===file.size?deferred.resolve:n.resolve).fail(deferred.reject).progress(deferred.notify);}.bind(this,start,end,next));promise=next;}return deferred.promise({abort:()=>active.abort()});},uploadChunk:function(file,data,start,end,filekey,retries){const chunk=this.slice(file,start,end);retries=retries===undefined?1:retries;data.filesize=file.size;data.chunk=chunk;data.offset=start;if(filekey&&start!==0){data.filekey=filekey;}const upload=this.uploadWithFormData(file,data);return upload.then(null,(code,result)=>{if(result.upload&&result.upload.warnings){if(end===file.size){return $.Deferred().reject(result.upload.warnings.code||'unknown',result);}else{return $.Deferred().resolve(result);
}}if(retries===0){return $.Deferred().reject(code,result);}const retry=this.uploadChunk.bind(this,file,data,start,end,filekey,retries-1);return this.retry(code,result,retry);},(fraction)=>(start+fraction*(end-start))/file.size).promise({abort:upload.abort});},retry:function(code,result,callable){let uploadPromise;const deferred=$.Deferred(),retry=function(){uploadPromise=callable();uploadPromise.then(deferred.resolve,deferred.reject);};if(code!=='http'||result.textStatus==='abort'){return deferred.reject(code,result);}const retryTimer=setTimeout(retry,1000);return deferred.promise({abort:function(){if(retryTimer){clearTimeout(retryTimer);}if(uploadPromise.abort){uploadPromise.abort();}}});},slice:function(file,start,stop){if(file.mozSlice){return file.mozSlice(start,stop,file.type);}else if(file.webkitSlice){return file.webkitSlice(start,stop,file.type);}else{return file.slice(start,stop,file.type);}},finishUploadToStash:function(uploadPromise,data){let filekey;const finishUpload=(moreData)=>this.uploadFromStash(filekey,Object.assign({},data,moreData));
return uploadPromise.then((result)=>{filekey=result.upload.filekey;return finishUpload;},(errorCode,result)=>{if(result&&result.upload&&result.upload.result==='Success'&&result.upload.filekey){filekey=result.upload.filekey;return $.Deferred().resolve(finishUpload);}return $.Deferred().reject(errorCode,result);});},uploadToStash:function(file,data){if(!data.filename){throw new Error('Filename not included in file data.');}const promise=this.upload(file,{stash:true,filename:data.filename,ignorewarnings:data.ignorewarnings});return this.finishUploadToStash(promise,data);},chunkedUploadToStash:function(file,data,chunkSize,chunkRetries){if(!data.filename){throw new Error('Filename not included in file data.');}const promise=this.chunkedUpload(file,{stash:true,filename:data.filename,ignorewarnings:data.ignorewarnings},chunkSize,chunkRetries);return this.finishUploadToStash(promise,data);},uploadFromStash:function(filekey,data){data.filekey=filekey;data.action='upload';data.format='json';if(!data.filename){
throw new Error('Filename not included in file data.');}return this.postWithEditToken(data).then((result)=>{if(result.upload&&result.upload.warnings){return $.Deferred().reject(getFirstKey(result.upload.warnings),result).promise();}return result;});},needToken:function(){return true;}});}());
},"resources/src/mediawiki.api/user.js":function(require,module,exports){(function(){Object.assign(mw.Api.prototype,{getUserInfo:function(){return this.get({action:'query',meta:'userinfo',uiprop:['groups','rights']}).then((data)=>{if(data.query&&data.query.userinfo){return data.query.userinfo;}return $.Deferred().reject().promise();});},assertCurrentUser:function(query){const user=mw.config.get('wgUserName'),assertParams={};if(user!==null){assertParams.assert='user';assertParams.assertuser=user;}else{assertParams.assert='anon';}return Object.assign(assertParams,query);}});}());
},"resources/src/mediawiki.api/watch.js":function(require,module,exports){(function(){function doWatchInternal(pages,addParams){const apiPromise=this.postWithToken('watch',Object.assign({formatversion:2,action:'watch',titles:Array.isArray(pages)?pages:String(pages)},addParams));return apiPromise.then((data)=>Array.isArray(pages)?data.watch:data.watch[0]).promise({abort:apiPromise.abort});}Object.assign(mw.Api.prototype,{watch:function(pages,expiry){return doWatchInternal.call(this,pages,{expiry:expiry});},unwatch:function(pages){return doWatchInternal.call(this,pages,{unwatch:1});}});}());
},"resources/src/mediawiki.api/config.json":{"ApiClientErrorSampleRate":0.01}}},{},{"api-clientside-error-aborted":"\uc694\uccad\uc774 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","api-clientside-error-http":"\uc11c\ubc84\uac00 \uc624\ub958\ub97c \ubc18\ud658\ud588\uc2b5\ub2c8\ub2e4: HTTP $1.","api-clientside-error-http-429":"\uc9e7\uc740 \uc2dc\uac04 \uc548\uc5d0 \ub108\ubb34 \ub9ce\uc740 \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc2b5\ub2c8\ub2e4. \ub098\uc911\uc5d0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc138\uc694.","api-clientside-error-http-429-retry":"\uc9e7\uc740 \uc2dc\uac04 \uc548\uc5d0 \ub108\ubb34 \ub9ce\uc740 \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc2b5\ub2c8\ub2e4. $1 \ub4a4\uc5d0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc138\uc694.","api-clientside-error-invalidresponse":"\uc11c\ubc84\ub85c\ubd80\ud130 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc751\ub2f5\uc774 \uc654\uc2b5\ub2c8\ub2e4.","api-clientside-error-noconnect":"\uc11c\ubc84\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc778\ud130\ub137 \uc5f0\uacb0\uc774 \uc62c\ubc14\ub974\uac8c \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud558\uace0 \ub2e4\uc2dc \uc2dc\ub3c4\ud574 \uc8fc\uc2ed\uc2dc\uc624.","api-clientside-error-timeout":"\uc11c\ubc84\uac00 \uc608\uce21\ub41c \uc2dc\uac04 \ub0b4\uc5d0 \uc751\ub2f5\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.","duration-hours":"$1{{PLURAL:$1|\uc2dc\uac04}}","duration-minutes":"$1{{PLURAL:$1|\ubd84}}","duration-seconds":"$1{{PLURAL:$1|\ucd08}}"}];});
mw.loader.impl(function(){return["mediawiki.base@5c081",{"main":"mediawiki.base.js","files":{"mediawiki.base.js":function(require,module,exports){'use strict';const slice=Array.prototype.slice;const config=require('./config.json');for(const key in config){if(!mw.config.exists(key)){mw.config.set(key,config[key]);}}require('./log.js');function Message(map,key,parameters){this.map=map;this.key=key;this.parameters=parameters||[];}Message.prototype={parser:function(format){let text=this.map.get(this.key);if(mw.config.get('wgUserLanguage')==='qqx'&&(!text||text==='('+this.key+')')){text='('+this.key+'$*)';}text=mw.format(text,...this.parameters);if(format==='parse'){text=mw.html.escape(text);}return text;},params:function(parameters){this.parameters.push(...parameters);return this;},toString:function(format){if(!this.exists()){if(mw.config.get('wgUserLanguage')!=='qqx'){return'⧼'+mw.html.escape(this.key)+'⧽';}}if(!format){format='text';}if(format==='plain'||format==='text'||format==='parse'){return this.parser(format);}return mw.html.escape(this.parser('escaped'));},parse:function(){return this.toString('parse');},parseDom:function(){
return $(document.createTextNode(this.toString('text')));},plain:function(){return this.toString('plain');},text:function(){return this.toString('text');},escaped:function(){return this.toString('escaped');},exists:function(){return this.map.exists(this.key);}};mw.libs={};mw.widgets={};mw.inspect=function(...reports){mw.loader.using('mediawiki.inspect',()=>{mw.inspect.runReports(...reports);});};mw.internalDoTransformFormatForQqx=function(formatString,parameters){if(formatString.includes('$*')){let replacement='';if(parameters.length){replacement=': '+parameters.map((_,i)=>'$'+(i+1)).join(', ');}return formatString.replace('$*',replacement);}return formatString;};mw.internalWikiUrlencode=function(str){return encodeURIComponent(String(str)).replace(/'/g,'%27').replace(/%20/g,'_').replace(/%3B/g,';').replace(/%40/g,'@').replace(/%24/g,'$').replace(/%2C/g,',').replace(/%2F/g,'/').replace(/%3A/g,':');};mw.format=function(formatString,...parameters){formatString=mw.internalDoTransformFormatForQqx(formatString,parameters);
return formatString.replace(/\$(\d+)/g,(str,match)=>{const index=parseInt(match,10)-1;return parameters[index]!==undefined?parameters[index]:'$'+match;});};mw.Message=Message;mw.message=function(key){const parameters=slice.call(arguments,1);return new Message(mw.messages,key,parameters);};mw.msg=function(key,...parameters){return mw.message(key,...parameters).text();};mw.notify=function(message,options){return mw.loader.using('mediawiki.notification').then(()=>mw.notification.notify(message,options));};const trackCallbacks=$.Callbacks('memory');let trackHandlers=[];mw.track=function(topic,...data){mw.trackQueue.push({topic,args:data});trackCallbacks.fire(mw.trackQueue);};mw.trackSubscribe=function(topic,callback){let seen=0;function handler(trackQueue){for(;seen<trackQueue.length;seen++){const event=trackQueue[seen];if(event.topic.startsWith(topic)){callback(event.topic,...event.args);}}}trackHandlers.push([handler,callback]);trackCallbacks.add(handler);};mw.trackUnsubscribe=function(callback){
trackHandlers=trackHandlers.filter((fns)=>{if(fns[1]===callback){trackCallbacks.remove(fns[0]);return false;}return true;});};trackCallbacks.fire(mw.trackQueue);const hooks=Object.create(null);mw.hook=function(name){return hooks[name]||(hooks[name]=(function(){let memory;let deprecated;const fns=[];function rethrow(e){setTimeout(()=>{throw e;});}return{add:function(...handlers){if(deprecated){deprecated();}fns.push(...handlers);if(memory){for(const handler of handlers){try{handler(...memory);}catch(e){rethrow(e);}}}return this;},remove:function(...handlers){for(const handler of handlers){let j;while((j=fns.indexOf(handler))!==-1){fns.splice(j,1);}}return this;},deprecate:function(msg){deprecated=mw.log.makeDeprecated(`hook_${name}`,`mw.hook "${name}" is deprecated.`+(msg?' '+msg:''));return this;},fire:function(...data){if(deprecated&&fns.length){deprecated();}for(const fn of fns){try{fn.apply(null,arguments);}catch(e){rethrow(e);}}memory=data;return this;}};}()));};function escapeCallback(s){
switch(s){case'\'':return'&#039;';case'"':return'&quot;';case'<':return'&lt;';case'>':return'&gt;';case'&':return'&amp;';}}mw.html={escape:function(s){return s.replace(/['"<>&]/g,escapeCallback);},element:function(name,attrs,contents){let s='<'+name;if(attrs){for(const attrName in attrs){let v=attrs[attrName];if(v===true){v=attrName;}else if(v===false){continue;}s+=' '+attrName+'="'+this.escape(String(v))+'"';}}if(contents===undefined||contents===null){s+='/>';return s;}s+='>';if(typeof contents==='string'){s+=this.escape(contents);}else if(typeof contents==='number'||typeof contents==='boolean'){s+=String(contents);}else if(contents instanceof this.Raw){s+=contents.value;}else{throw new Error('Invalid content type');}s+='</'+name+'>';return s;},Raw:function(value){this.value=value;}};window.addOnloadHook=function(fn){$(()=>{fn();});};const loadedScripts={};window.importScriptURI=function(url){if(loadedScripts[url]){return null;}loadedScripts[url]=true;return mw.loader.addScriptTag(url);
};window.importScript=function(title){return window.importScriptURI(mw.config.get('wgScript')+'?title='+mw.internalWikiUrlencode(title)+'&action=raw&ctype=text/javascript');};window.importStylesheet=function(title){return mw.loader.addLinkTag(mw.config.get('wgScript')+'?title='+mw.internalWikiUrlencode(title)+'&action=raw&ctype=text/css');};window.importStylesheetURI=function(url,media){return mw.loader.addLinkTag(url,media);};mw.loader.getModuleNames=function(){return Object.keys(mw.loader.moduleRegistry);};mw.loader.using=function(dependencies,ready,error){const deferred=$.Deferred();if(!Array.isArray(dependencies)){dependencies=[dependencies];}if(ready){deferred.done(ready);}if(error){deferred.fail(error);}try{dependencies=mw.loader.resolve(dependencies);}catch(e){return deferred.reject(e).promise();}mw.loader.enqueue(dependencies,()=>{deferred.resolve(mw.loader.require);},deferred.reject);return deferred.promise();};mw.loader.getScript=function(url){return $.ajax(url,{dataType:'script',cache:true})
.catch(()=>{throw new Error('Failed to load script');});};mw.user={options:new mw.Map(),tokens:new mw.Map()};mw.user.options.set(require('./user.json'));const queue=window.RLQ;window.RLQ={push:function(entry){if(typeof entry==='function'){entry();}else{mw.loader.using(entry[0],entry[1]);}}};while(queue[0]){window.RLQ.push(queue.shift());}['write','writeln'].forEach((func)=>{mw.log.deprecate(document,func,function(){$(document.body).append($.parseHTML(slice.call(arguments).join('')));},'Use jQuery or mw.loader.load instead.','document.'+func);});require('./errorLogger.js');
},"log.js":function(require,module,exports){function stackSet(){let stacks;return function isFirst(){if(!stacks){stacks=new Set();}const stack=new Error().stack;if(!stacks.has(stack)){stacks.add(stack);return true;}};}mw.log.error=Function.prototype.bind.call(console.error,console);mw.log.makeDeprecated=function(key,msg){const isFirst=stackSet();return function maybeLog(){if(isFirst()){if(key){mw.track('mw.deprecate',key);}mw.log.warn(msg);}};};mw.log.deprecate=function(obj,key,val,msg,logName){const maybeLog=mw.log.makeDeprecated(logName||(obj===window?key:null),'Use of "'+(logName||key)+'" is deprecated.'+(msg?' '+msg:''));Object.defineProperty(obj,key,{configurable:true,enumerable:true,get:function(){maybeLog();return val;},set:function(newVal){maybeLog();val=newVal;}});};
},"errorLogger.js":function(require,module,exports){'use strict';function installGlobalHandler(window){const oldHandler=window.onerror||function(){return false;};window.onerror=function(errorMessage,url,line,column,errorObject){mw.track('global.error',{errorMessage:errorMessage,url:url,lineNumber:line,columnNumber:column,stackTrace:errorObject?errorObject.stack:'',errorObject:errorObject});if(errorObject){mw.track('error.uncaught',errorObject);}return oldHandler.apply(this,arguments);};}mw.errorLogger={logError:function(error,topic){mw.track(topic||'error.caught',error);}};if(window.QUnit){mw.errorLogger.installGlobalHandler=installGlobalHandler;}else{installGlobalHandler(window);}
},"config.json":{"debug":0,"skin":"minerva","stylepath":"/w/skins","wgArticlePath":"/wiki/$1","wgScriptPath":"/w","wgScript":"/w/index.php","wgSearchType":"CirrusSearch","wgVariantArticlePath":false,"wgServer":"//ko.wikipedia.org","wgServerName":"ko.wikipedia.org","wgUserLanguage":"ko","wgContentLanguage":"ko","wgVersion":"1.47.0-wmf.15","wgFormattedNamespaces":{"-2":"미디어","-1":"특수","0":"","1":"토론","2":"사용자","3":"사용자토론","4":"위키백과","5":"위키백과토론","6":"파일","7":"파일토론","8":"미디어위키","9":"미디어위키토론","10":"틀","11":"틀토론","12":"도움말","13":"도움말토론","14":"분류","15":"분류토론","100":"포털","101":"포털토론","102":"위키프로젝트","103":"위키프로젝트토론","118":"초안","119":"초안토론","710":"TimedText","711":"TimedText talk","828":"모듈","829":"모듈토론","1728":"행사","1729":"행사토론"},"wgNamespaceIds":{"미디어":-2,"특수":-1,"":0,"토론":1,"사용자":2,
"사용자토론":3,"위키백과":4,"위키백과토론":5,"파일":6,"파일토론":7,"미디어위키":8,"미디어위키토론":9,"틀":10,"틀토론":11,"도움말":12,"도움말토론":13,"분류":14,"분류토론":15,"포털":100,"포털토론":101,"위키프로젝트":102,"위키프로젝트토론":103,"초안":118,"초안토론":119,"timedtext":710,"timedtext_talk":711,"모듈":828,"모듈토론":829,"행사":1728,"행사토론":1729,"백":4,"백토":5,"사":2,"사토":3,"들머리":100,"들머리토론":101,"들":100,"들토":101,"프":102,"프토":103,"draft":118,"draft_talk":119,"wikipedia":4,"wikipedia_talk":5,"wp":4,"특":-1,"특수기능":-1,"mediawiki토론":9,"그림":6,"그림토론":7,"image":6,"image_talk":7,"media":-2,"special":-1,"talk":1,"user":2,"user_talk":3,"project":4,"project_talk":5,"file":6,"file_talk":7,"mediawiki":8,"mediawiki_talk":9,"template":10,"template_talk":11,"help":12,"help_talk":13,"category":14,"category_talk":15,"module":828,"module_talk":829,
"event":1728,"event_talk":1729},"wgContentNamespaces":[640,0],"wgSiteName":"위키백과","wgDBname":"kowiki","wgWikiID":"kowiki","wgCaseSensitiveNamespaces":[],"wgCommentCodePointLimit":500,"wgExtensionAssetsPath":"/w/extensions","wgUrlProtocols":"bitcoin\\:|ftp\\:\\/\\/|ftps\\:\\/\\/|geo\\:|git\\:\\/\\/|gopher\\:\\/\\/|http\\:\\/\\/|https\\:\\/\\/|irc\\:\\/\\/|ircs\\:\\/\\/|magnet\\:|mailto\\:|matrix\\:|mms\\:\\/\\/|news\\:|nntp\\:\\/\\/|redis\\:\\/\\/|sftp\\:\\/\\/|sip\\:|sips\\:|sms\\:|ssh\\:\\/\\/|svn\\:\\/\\/|tel\\:|telnet\\:\\/\\/|urn\\:|wikipedia\\:\\/\\/|worldwind\\:\\/\\/|xmpp\\:|\\/\\/","wgActionPaths":{},"wgTranslateNumerals":true,"wgExtraSignatureNamespaces":[4,12],"wgLegalTitleChars":" %!\"$\u0026'()*,\\-./0-9:;=?@A-Z\\\\\\^_`a-z~+\\u0080-\\uFFFF","wgIllegalFileChars":":/\\\\","wgCentralNoticeActiveBannerDispatcher":"//meta.wikimedia.org/w/index.php?title=Special:BannerLoader","wgCentralBannerRecorder":"/beacon/impression","wgCentralNoticeSampleRate":0.01,
"wgCentralNoticeImpressionEventSampleRate":0,"wgNoticeNumberOfBuckets":4,"wgNoticeBucketExpiry":7,"wgNoticeNumberOfControllerBuckets":2,"wgNoticeCookieDurations":{"close":604800,"donate":21600000},"wgNoticeHideUrls":["//en.wikipedia.org/w/index.php?title=Special:HideBanners","//meta.wikimedia.org/w/index.php?title=Special:HideBanners","//commons.wikimedia.org/w/index.php?title=Special:HideBanners","//species.wikimedia.org/w/index.php?title=Special:HideBanners","//en.wikibooks.org/w/index.php?title=Special:HideBanners","//en.wikiquote.org/w/index.php?title=Special:HideBanners","//en.wikisource.org/w/index.php?title=Special:HideBanners","//en.wikinews.org/w/index.php?title=Special:HideBanners","//en.wikiversity.org/w/index.php?title=Special:HideBanners","//www.mediawiki.org/w/index.php?title=Special:HideBanners"],"wgCentralNoticeMaxCampaignFallback":5,"wgCentralNoticePerCampaignBucketExtension":30,"wgCiteVisualEditorOtherGroup":false,"wgCiteResponsiveReferences":true,
"wgCiteSubReferencing":true,"wgCirrusSearchFeedbackLink":false,"wgMediaViewer":true,"wgPopupsVirtualPageViews":true,"wgPopupsGateway":"restbaseHTML","wgPopupsRestGatewayEndpoint":"/api/rest_v1/page/summary/","wgPopupsStatsvSamplingRate":0.01,"wgPopupsTextExtractsIntroOnly":true,"wgVisualEditorConfig":{"usePageImages":true,"usePageDescriptions":true,"namespaces":[0,2,6,12,14,100,118,1728],"contentModels":{"wikitext":"article"},"pluginModules":["ext.wikihiero.visualEditor","ext.cite.visualEditor","ext.geshi.visualEditor","ext.spamBlacklist.visualEditor","ext.titleblacklist.visualEditor","ext.score.visualEditor","ext.confirmEdit.visualEditor","ext.confirmEdit.hCaptcha","ext.abuseFilter.visualEditor","ext.CodeMirror.visualEditor.init","ext.citoid.visualEditor","ext.templateDataGenerator.editPage","ext.math.visualEditor","ext.disambiguator.visualEditor","ext.wikimediaEvents.visualEditor","ext.TemplateSandbox.visualeditor","ext.chart.visualEditor","ext.kartographer.editing",
"ext.kartographer.visualEditor","ext.campaignEvents.postEdit","ext.templateData.templateDiscovery"],"thumbLimits":{"2":180,"5":250,"7":400},"galleryOptions":{"imagesPerRow":0,"imageWidth":120,"imageHeight":120,"captionLength":true,"showBytes":true,"mode":"traditional","showDimensions":true},"editCheckReliabilityAvailable":true,"namespacesWithSubpages":[1,2,3,4,5,7,8,9,10,11,12,13,15,100,101,102,103,118,119,828,829,1728,1729],"specialBooksources":"특수:책찾기","cirrusSearchLookup":true,"defaultSortPrefix":"기본정렬","displayTitlePrefix":"보일제목","disableForAnons":false,"enableBetaFeature":false,"preloadModules":["site","user"],"tabPosition":"before","tabMessages":{"editsource":"visualeditor-ca-editsource","createsource":"visualeditor-ca-createsource","editlocaldescriptionsource":"visualeditor-ca-editlocaldescriptionsource","createlocaldescriptionsource":"visualeditor-ca-createlocaldescriptionsource","editsection":"editsection","editsectionhint":"editsectionhint",
"editsectionsource":"visualeditor-ca-editsource-section","editsectionsourcehint":"visualeditor-ca-editsource-section-hint"},"useSingleEditTab":true,"enableVisualSectionEditing":"mobile","showBetaWelcome":true,"allowExternalLinkPaste":false,"enableHelpCompletion":true,"enableWikitext":true,"rebaserURL":false,"feedbackAPIURL":"https://www.mediawiki.org/w/api.php","suggestionFeedbackAPIURL":"https://www.mediawiki.org/w/api.php","textMatchFeedbackAPIURL":false,"useChangeTagging":true,"editCheckTagging":true,"editCheck":true,"editCheckABTest":false,"enableEditCheckExperimental":false,"enableEditCheckSuggestionsBeta":true,"feedbackTitle":"VisualEditor/Feedback","sourceFeedbackTitle":"2017 wikitext editor/Feedback","suggestionFeedbackTitle":"VisualEditor/Suggestion_Mode/Feedback","textMatchFeedbackTitle":false,"mobileInsertMenu":["citoid","syntaxhighlightDialog","hiero"]},"wgCitoidConfig":{"citoidServiceUrl":"/api/rest_v1/data/citation","fullRestbaseUrl":false,"isbnScannerEnabled":{"mobile":true,
"desktop":false},"wbFullRestbaseUrl":false},"wgTemplateWizardConfig":{"cirrusSearchLookup":true},"wgMinervaABSamplingRate":0,"wgMinervaReadOnly":false,"wgMathEntitySelectorUrl":"https://www.wikidata.org/w/api.php","wgRelatedArticlesCardLimit":3,"wgULSIMEEnabled":true,"wgULSWebfontsEnabled":false,"wgULSAnonCanChangeLanguage":false,"wgULSImeSelectors":["input:not([type])","input[type=text]","input[type=search]","textarea","[contenteditable]"],"wgULSNoImeSelectors":["#wpCaptchaWord",".ace_text-input",".ve-ce-surface-paste",".ve-ce-surface-clipboardHandler",".ve-ce-surface-readOnly [contenteditable]"],"wgULSNoWebfontsSelectors":["#p-lang li.interlanguage-link \u003E a"],"wgULSDisplaySettingsInInterlanguage":false,"wgULSCompactLinksPrepend":[],"wgULSFontRepositoryBasePath":"/w/extensions/UniversalLanguageSelector/data/fontrepo/fonts/","wgExternalGuidanceMTReferrers":["translate.google.com","translate.googleusercontent.com"],"wgExternalGuidanceSiteTemplates":{"view":"https://$1.wikipedia.org/wiki/$2",
"action":"https://$1.wikipedia.org/w/index.php?title=$2","api":"https://$1.wikipedia.org/w/api.php"},"wgExternalGuidanceDomainCodeMapping":{"be-x-old":"be-tarask","bho":"bh","crh-latn":"crh","en-simple":"simple","gsw":"als","lzh":"zh-classical","nan":"zh-min-nan","nb":"no","rup":"roa-rup","sgs":"bat-smg","vro":"fiu-vro","yue":"zh-yue"},"wgReadingListsEnableBetaQuickSurvey":true,"wgParserMigrationConfig":{"onlyLoggedIn":true,"isMobile":false,"feedbackApiUrl":"https://www.mediawiki.org/w/api.php","feedbackTitle":"Parsoid/Feedback","iwp":"kowiki"}},"user.json":{"vector-limited-width":1,"vector-page-tools-pinned":1,"vector-main-menu-pinned":1,"vector-toc-pinned":1,"vector-appearance-pinned":1,"vector-font-size":1,"vector-theme":"day","wikimedia-donor":"{ \"value\": 0 }","echo-subscriptions-web-boardelection":true,"echo-subscriptions-email-boardelection":true,"echo-subscriptions-web-2fa-warning":true,"echo-subscriptions-email-2fa-warning":false,"advancedsearch-disable":0,"usebetatoolbar":1,"wikieditor-realtimepreview":0,"usecodemirror":0,"usecodemirror-code":1,"usecodemirror-colorblind":0,"codemirror-preferences":"","codemirror-preferences-code":"","betafeatures-auto-enroll":false,"popups":"1","visualeditor-autodisable":0,"visualeditor-betatempdisable":0,"visualeditor-collab":0,"visualeditor-editor":"visualeditor","visualeditor-enable":0,"visualeditor-hidebetawelcome":0,"visualeditor-hidetabdialog":0,"visualeditor-newwikitext":0,"visualeditor-tabs":"remember-last","visualeditor-editcheck-suggestions-toggle":1,"templatedata-favorite-templates":"[]",
"minerva-theme":"day","mobile-editor":"","math":"mathml","math-popups":"1","echo-subscriptions-web-login-fail":true,"echo-subscriptions-email-login-fail":true,"echo-subscriptions-web-login-success":false,"echo-subscriptions-email-login-success":true,"echo-email-frequency":0,"echo-dont-email-read-notifications":false,"echo-subscriptions-web-edit-thank":true,"echo-subscriptions-email-edit-thank":false,"discussiontools-betaenable":0,"discussiontools-editmode":"","discussiontools-newtopictool":1,"discussiontools-newtopictool-createpage":1,"discussiontools-replytool":1,"discussiontools-sourcemodetoolbar":1,"discussiontools-topicsubscription":1,"discussiontools-autotopicsub":0,"discussiontools-visualenhancements":1,"usecodeeditor":1,"revisionslider-disable":0,"twocolconflict-enabled":1,"eventlogging-display-console":0,"uls-preferences":"","compact-language-links":1,"mw-preferred-languages":"","echo-subscriptions-web-cx":true,"cx":false,"cx-enable-entrypoints":true,"cx-entrypoint-fd-status":"notshown",
"cx_campaign_newarticle_shown":false,"rcshowwikidata":0,"wlshowwikibase":0,"echo-subscriptions-web-oauth-owner":true,"echo-subscriptions-email-oauth-owner":true,"echo-subscriptions-web-oauth-admin":true,"echo-subscriptions-email-oauth-admin":true,"ores-damaging-flag-rc":false,"oresDamagingPref":"soft","rcOresDamagingPref":"soft","oresHighlight":false,"oresRCHideNonDamaging":false,"oresWatchlistHideNonDamaging":false,"checkuser-temporary-account-enable":false,"echo-subscriptions-web-personal-info":false,"echo-subscriptions-email-personal-info":false,"ipinfo-use-agreement":0,"displayquicksurveys":1,"readinglists-web-ui-enabled":"0","echo-subscriptions-email-campaign-events-notification-registration":true,"echo-subscriptions-web-campaign-events-notification-registration":false,"campaignevents-allow-invitations":true,"campaignevents-opt-out-event-discovery":true,"twl-notified":null,"parsermigration":"0","parsermigration-parsoid-readviews":"0","ccmeonemails":0,"date":"default","diffonly":0,
"diff-type":"table","disablemail":0,"editfont":"monospace","editondblclick":0,"editrecovery":0,"editsectiononrightclick":0,"email-allow-new-users":1,"enotifminoredits":false,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"fancysig":0,"forceeditsummary":0,"forcesafemode":0,"gender":"unknown","hidecategorization":1,"hideminor":0,"hidepatrolled":0,"imagesize":2,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"prefershttps":1,"previewonfirst":0,"previewontop":1,"pst-cssjs":1,"rcdays":1,"rcenhancedfilters-disable":0,"rclimit":50,"requireemail":0,"search-match-redirect":true,"search-special-page":"Search","search-thumbnail-extra-namespaces":true,"searchlimit":20,"showhiddencats":false,"shownumberswatching":1,"showrollbackconfirmation":0,"skin":"vector-2022","skin-responsive":1,"thumbsize":5,"underline":2,"useeditwarning":1,"uselivepreview":0,"usenewrc":0,"watchcreations":true,"watchcreations-expiry":"infinite",
"watchdefault":0,"watchdefault-expiry":"infinite","watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthidecategorization":1,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchlistreloadautomatically":0,"watchlistunwatchlinks":0,"watchmoves":0,"watchrollback":0,"watchuploads":1,"watchrollback-expiry":"infinite","watchstar-expiry":"infinite","wlenhancedfilters-disable":0,"wllimit":250,"wikilove-enabled":1,"echo-cross-wiki-notifications":1,"growthexperiments-addimage-desktop":1,"timecorrection":"System|540","centralnotice-display-campaign-type-advocacy":1,"centralnotice-display-campaign-type-article-writing":1,"centralnotice-display-campaign-type-photography":1,"centralnotice-display-campaign-type-event":1,"centralnotice-display-campaign-type-fundraising":1,"centralnotice-display-campaign-type-governance":1,"centralnotice-display-campaign-type-maintenance":1,"centralnotice-display-campaign-type-special":1,
"language":"ko","variant":"ko","variant-ban":"ban","variant-crh":"crh","variant-en":"en","variant-gan":"gan","variant-iu":"iu","variant-ku":"ku","variant-mni":"mni","variant-sh":"sh-latn","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-tly":"tly","variant-uz":"uz","variant-wuu":"wuu","variant-zgh":"zgh","variant-zh":"zh","searchNs0":1,"searchNs1":0,"searchNs2":0,"searchNs3":0,"searchNs4":0,"searchNs5":0,"searchNs6":0,"searchNs7":0,"searchNs8":0,"searchNs9":0,"searchNs10":0,"searchNs11":0,"searchNs12":0,"searchNs13":0,"searchNs14":0,"searchNs15":0,"searchNs100":0,"searchNs101":0,"searchNs102":0,"searchNs103":0,"searchNs118":0,"searchNs119":0,"searchNs710":0,"searchNs711":0,"searchNs828":0,"searchNs829":0,"searchNs1728":0,"searchNs1729":0,"popups-reference-previews":"1","gadget-modrollback":0,"gadget-removeAccessKeys":0,"gadget-searchFocus":0,"gadget-GoogleTrans":0,"gadget-directcommons":1,"gadget-Navigation_popups":0,"gadget-exlinks":0,"gadget-search-new-tab":0,
"gadget-ReferenceTooltips":0,"gadget-Twinkle":0,"gadget-Prosesize":0,"gadget-DotsSyntaxHighlighter":0,"gadget-HotCat":0,"gadget-wikEdDiff":0,"gadget-ProveIt":0,"gadget-Shortdesc-helper-loader":0,"gadget-WikiVault":0,"gadget-wikEd":0,"gadget-edittools":1,"gadget-charinsert":0,"gadget-refToolbar":1,"gadget-noSignAlert":0,"gadget-siteNotice":1,"gadget-edittop":0,"gadget-UTCLiveClock":0,"gadget-LiveClock":0,"gadget-purgetab":0,"gadget-righteditlinks":0,"gadget-CompareLink":0,"gadget-RollbackComment":0,"gadget-quickeditcounter":0,"gadget-XTools-ArticleInfo":0,"gadget-Copyviolink":0,"gadget-disablesuggestions":0,"gadget-dark-mode-toggle":0,"gadget-font-15px":0,"gadget-widensearch":0,"gadget-DisambiguationLinks":0,"gadget-markblocked":0,"gadget-NoAnimations":0,"gadget-OldDiff":0,"gadget-UrlShortener":0,"gadget-editsummary":0,"gadget-scrollUpButton":1,"gadget-CategoryTop":0,"gadget-RecentChangesSidebar":0,"gadget-strikethroughTOC":1,"gadget-switcher":1,"gadget-LangLinksTranslate":0,
"gadget-contribsrange":0,"gadget-RTRC":0,"gadget-ShowJavascriptErrors":0,"gadget-WikiMiniAtlas":1,"gadget-Calculator":1,"gadget-protectionIndicator":1,"gadget-owidslider":1,"gadget-dark-mode":0,"cirrussearch-pref-completion-profile":"fuzzy","multimediaviewer-enable":1,"enable_image_carousel":1,"mf_amc_optin":"0","echo-email-format":"html","echo-subscriptions-email-system":true,"echo-subscriptions-web-system":true,"echo-subscriptions-push-system":true,"echo-subscriptions-email-system-noemail":false,"echo-subscriptions-web-system-noemail":true,"echo-subscriptions-push-system-noemail":true,"echo-subscriptions-email-system-emailonly":false,"echo-subscriptions-web-system-emailonly":true,"echo-subscriptions-push-system-emailonly":true,"echo-subscriptions-email-user-rights":true,"echo-subscriptions-web-user-rights":true,"echo-subscriptions-push-user-rights":true,"echo-subscriptions-email-block":false,"echo-subscriptions-web-block":true,"echo-subscriptions-push-block":true,
"echo-subscriptions-email-other":false,"echo-subscriptions-web-other":true,"echo-subscriptions-push-other":true,"echo-subscriptions-email-edit-user-talk":false,"echo-subscriptions-web-edit-user-talk":true,"echo-subscriptions-push-edit-user-talk":true,"echo-subscriptions-email-edit-user-page":false,"echo-subscriptions-web-edit-user-page":true,"echo-subscriptions-push-edit-user-page":true,"echo-subscriptions-email-reverted":false,"echo-subscriptions-web-reverted":true,"echo-subscriptions-push-reverted":true,"echo-subscriptions-email-article-linked":false,"echo-subscriptions-web-article-linked":false,"echo-subscriptions-push-article-linked":false,"echo-subscriptions-email-mention":false,"echo-subscriptions-web-mention":true,"echo-subscriptions-push-mention":true,"echo-subscriptions-email-mention-failure":false,"echo-subscriptions-web-mention-failure":false,"echo-subscriptions-push-mention-failure":false,"echo-subscriptions-email-mention-success":false,
"echo-subscriptions-web-mention-success":false,"echo-subscriptions-push-mention-success":false,"echo-subscriptions-email-emailuser":false,"echo-subscriptions-web-emailuser":true,"echo-subscriptions-push-emailuser":true,"echo-subscriptions-email-thank-you-edit":false,"echo-subscriptions-web-thank-you-edit":true,"echo-subscriptions-push-thank-you-edit":true,"echo-subscriptions-email-verify-email-reminder":true,"echo-subscriptions-web-verify-email-reminder":true,"echo-subscriptions-push-verify-email-reminder":true,"echo-subscriptions-push-boardelection":true,"echo-subscriptions-push-2fa-warning":true,"echo-subscriptions-push-edit-thank":true,"echo-subscriptions-email-cx":false,"echo-subscriptions-push-cx":true,"echo-subscriptions-email-ge-mentorship":false,"echo-subscriptions-web-ge-mentorship":true,"echo-subscriptions-push-ge-mentorship":true,"echo-subscriptions-email-ge-newcomer":true,"echo-subscriptions-web-ge-newcomer":true,"echo-subscriptions-push-ge-newcomer":true,
"echo-subscriptions-push-login-fail":true,"echo-subscriptions-push-login-success":true,"echo-subscriptions-email-dt-subscription":false,"echo-subscriptions-web-dt-subscription":true,"echo-subscriptions-push-dt-subscription":true,"echo-subscriptions-email-dt-subscription-archiving":false,"echo-subscriptions-web-dt-subscription-archiving":true,"echo-subscriptions-push-dt-subscription-archiving":true,"echo-subscriptions-email-wikibase-action":false,"echo-subscriptions-web-wikibase-action":true,"echo-subscriptions-push-wikibase-action":true,"echo-subscriptions-push-campaign-events-notification-registration":true,"checkuser-userinfocard-enable":false,"growthexperiments-help-panel-tog-help-panel":false,"growthexperiments-homepage-suggestededits-guidance-blue-dot":"{\"vector\":{\"link-recommendation\":true,\"image-recommendation\":true},\"minerva\":{\"link-recommendation\":true,\"image-recommendation\":true}}","growthexperiments-homepage-se-topic-filters-mode":"OR",
"growthexperiments-mentee-overview-presets":"{\"usersToShow\":10,\"filters\":{\"minedits\":1,\"maxedits\":500}}","growthexperiments-homepage-mentorship-enabled":1,"growthexperiments-mentorship-was-praised":false,"growthexperiments-personalized-praise-skipped-until":null,"growthexperiments-personalized-praise-settings":"{}","growthexperiments-tour-help-panel":true,"growthexperiments-tour-homepage-mentorship":true,"growthexperiments-tour-homepage-welcome":true,"growthexperiments-tour-homepage-discovery":true}}}];});
mw.loader.impl(function(){return["mediawiki.cldr@13x6e",function($,jQuery,require,module){(function(){'use strict';mw.cldr={getPluralForm:function(number,pluralRules){const pluralRuleParser=require('mediawiki.libs.pluralruleparser');let i;for(i=0;i<pluralRules.length;i++){if(pluralRuleParser(pluralRules[i],number)){break;}}return i;}};}());
}];});
mw.loader.impl(function(){return["mediawiki.cookie@1nyms",{"main":"index.js","files":{"index.js":function(require,module,exports){'use strict';const config=require('./config.json'),jar=require('./jar.js');let defaults={prefix:config.prefix,domain:config.domain,path:config.path,expires:config.expires,secure:false,sameSite:''};require('./jquery.js');mw.cookie={set:function(key,value,options){if(arguments.length>2&&(!options||options instanceof Date||typeof options==='number')){options={expires:options};}options=Object.assign({},defaults,options);const prefix=options.prefix;delete options.prefix;if(!options.expires){delete options.expires;}else if(typeof options.expires==='number'){const date=new Date();date.setTime(Number(date)+(options.expires*1000));options.expires=date;}delete options.sameSiteLegacy;if(value!==null){value=String(value);}jar.cookie(prefix+key,value,options);},get:function(key,prefix,defaultValue){if(prefix===undefined||prefix===null){prefix=defaults.prefix;}if(arguments.length<3){defaultValue=null;}const result=jar.cookie(prefix+key);return result!==null?result:defaultValue;},getCrossSite:function(key,prefix,defaultValue){
return this.get(key,prefix,defaultValue);}};mw.log.deprecate(mw.cookie,'getCrossSite',mw.cookie.getCrossSite,'Use mw.cookie.get instead.','mw.cookie.getCrossSite');if(window.QUnit){module.exports={jar,setDefaults:function(value){const prev=defaults;defaults=value;return prev;}};}
},"jar.js":function(require,module,exports){(function(){const pluses=/\+/g;let config=null,cookie;function decode(s){if(config.raw){return s;}try{return decodeURIComponent(s.replace(pluses,' '));}catch(e){return'';}}function decodeAndParse(s){if(s.startsWith('"')){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');}s=decode(s);try{return config.json?JSON.parse(s):s;}catch(e){}}config=cookie=function(key,value,options){if(value!==undefined){options=Object.assign({},config.defaults,options);if(value===null){options.expires=-1;}if(typeof options.expires==='number'){const days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days);}value=config.json?JSON.stringify(value):String(value);try{return(document.cookie=[encodeURIComponent(key),'=',config.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':'',options.sameSite?'; samesite='+options.sameSite:''].join(''));
}catch(e){return'';}}let cookies;try{cookies=document.cookie.split('; ');}catch(e){cookies=[];}let result=key?null:{};for(let i=0,l=cookies.length;i<l;i++){const parts=cookies[i].split('=');const name=decode(parts.shift());const s=parts.join('=');if(key&&key===name){result=decodeAndParse(s);break;}if(!key){result[name]=decodeAndParse(s);}}return result;};config.defaults={};function removeCookie(key,options){if(cookie(key)!==null){cookie(key,null,options);return true;}return false;}module.exports={cookie,removeCookie};}());
},"jquery.js":function(require,module,exports){const jar=require('./jar.js');$.cookie=jar.cookie;$.removeCookie=jar.removeCookie;
},"config.json":{"prefix":"kowiki","domain":"","path":"/","expires":2592000}}}];});
mw.loader.impl(function(){return["mediawiki.experiments@1jfeg",function($,jQuery,require,module){(function(){const CONTROL_BUCKET='control',MAX_INT32_UNSIGNED=4294967295;function hashString(string){let hash=0,i=string.length;while(i--){hash+=string.charCodeAt(i);hash+=(hash<<10);hash^=(hash>>6);}hash+=(hash<<3);hash^=(hash>>11);hash+=(hash<<15);return hash>>>0;}mw.experiments={getBucket:function(experiment,token){const buckets=experiment.buckets;let range=0,acc=0;if(!experiment.enabled||!Object.keys(experiment.buckets).length){return CONTROL_BUCKET;}for(const key in buckets){range+=buckets[key];}const hash=hashString(experiment.name+':'+token);const max=(hash/MAX_INT32_UNSIGNED)*range;for(const key in buckets){acc+=buckets[key];if(max<=acc){return key;}}}};}());
}];});
mw.loader.impl(function(){return["mediawiki.jqueryMsg@1c7v7",{"main":"mediawiki.jqueryMsg.js","files":{"mediawiki.jqueryMsg.js":function(require,module,exports){const slice=Array.prototype.slice,util=require('mediawiki.util'),mwString=require('mediawiki.String'),parserDefaults={magic:{PAGENAME:mw.config.get('wgPageName'),PAGENAMEE:util.wikiUrlencode(mw.config.get('wgPageName')),SERVERNAME:mw.config.get('wgServerName'),CONTENTLANGUAGE:mw.config.get('wgContentLanguage')},allowedHtmlElements:[],allowedSelfClosingHtmlElements:['br','wbr','hr'],allowedHtmlCommonAttributes:['id','class','lang','dir','title','role'],allowedHtmlAttributesByElement:{},messages:mw.messages,language:mw.language,format:'parse'};$.extend(true,parserDefaults,require('./parserDefaults.json'));function appendWithoutParsing($parent,children){let i,len;if(!Array.isArray(children)){children=[children];}for(i=0,len=children.length;i<len;i++){if(children[i]!==Object(children[i])){children[i]=document.createTextNode(children[i]);}if(children[i]instanceof $&&children[i].hasClass('mediaWiki_htmlEmitter')){children[i]=children[i].contents();}}return $parent.append(children);}function decodePrimaryHtmlEntities(encoded){
return encoded.replace(/&#039;/g,'\'').replace(/&quot;/g,'"').replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');}function textify(input){if(input instanceof $){input=input.text();}return String(input);}function getFailableParserFn(options){return function(args){const parser=new Parser(options),key=args[0],argsArray=Array.isArray(args[1])?args[1]:slice.call(args,1);try{return parser.parse(key,argsArray);}catch(e){const fallback=parser.settings.messages.get(key);mw.log.warn('mediawiki.jqueryMsg: '+key+': '+e.message);mw.track('mediawiki.jqueryMsg.error',{messageKey:key,errorMessage:e.message});return $('<span>').text(fallback);}};}const setParserDefaults=function(data){Object.assign(parserDefaults,data);};const getParserDefaults=function(){return Object.assign({},parserDefaults);};const defaultMessageFunction=function(options){let failableParserFn,format;if(options&&options.format!==undefined){format=options.format;}else{format=parserDefaults.format;}return function(){if(!failableParserFn){
failableParserFn=getFailableParserFn(options);}const $result=failableParserFn(arguments);if(format==='text'||format==='escaped'){return $result.text();}else{return $result.html();}};};let messageFunction=defaultMessageFunction;const getMessageFunction=function(options){return messageFunction(options);};const setMessageFunction=function(msgFunction){messageFunction=msgFunction;return function(){messageFunction=defaultMessageFunction;};};const getPlugin=function(options){let failableParserFn;return function(){if(!failableParserFn){failableParserFn=getFailableParserFn(options);}const $result=failableParserFn(arguments);return this.empty().append($result.contents());};};function Parser(options){this.settings=Object.assign({},parserDefaults,options);this.settings.onlyCurlyBraceTransform=(this.settings.format==='text'||this.settings.format==='escaped');this.astCache={};this.emitter=new HtmlEmitter(this.settings.language,this.settings.magic,this.settings.messages);}Parser.prototype={parse:function(key,replacements){
const ast=this.getAst(key,replacements);return this.emitter.emit(ast,replacements);},getAst:function(key,replacements){if(!Object.prototype.hasOwnProperty.call(this.astCache,key)){let wikiText=this.settings.messages.get(key);if(mw.config.get('wgUserLanguage')==='qqx'&&(!wikiText||wikiText==='('+key+')')){wikiText='('+key+'$*)';}else if(typeof wikiText!=='string'){wikiText='⧼'+key+'⧽';}wikiText=mw.internalDoTransformFormatForQqx(wikiText,replacements);this.astCache[key]=this.wikiTextToAst(wikiText);}return this.astCache[key];},wikiTextToAst:function(input){let nonWhitespaceExpression=null,expression=null,templateContents=null,paramExpression=null,colon=null;const settings=this.settings;let pos=0;function choice(ps){return function(){let i,result;for(i=0;i<ps.length;i++){result=ps[i]();if(result!==null){return result;}}return null;};}function sequence(ps){const originalPos=pos,result=[];for(let i=0;i<ps.length;i++){const r=ps[i]();if(r===null){pos=originalPos;return null;}result.push(r);
}return result;}function nOrMore(n,p){return function(){const originalPos=pos,result=[];let parsed=p();while(parsed!==null){result.push(parsed);parsed=p();}if(result.length<n){pos=originalPos;return null;}return result;};}function makeStringParser(s){const len=s.length;return function(){let result=null;if(input.slice(pos,pos+len)===s){result=s;pos+=len;}return result;};}function makeRegexParser(regex){return function(){const matches=input.slice(pos).match(regex);if(matches===null){return null;}pos+=matches[0].length;return matches[0];};}const regularLiteral=makeRegexParser(/^[^{}\[\]$<\\]/);const regularLiteralWithoutBar=makeRegexParser(/^[^{}\[\]$\\|]/);const regularLiteralWithoutSpace=makeRegexParser(/^[^{}\[\]$\s]/);const backslash=makeStringParser('\\');const anyCharacter=makeRegexParser(/^./);function escapedLiteral(){const result=sequence([backslash,anyCharacter]);return result===null?null:result[1];}const escapedOrLiteralWithoutSpace=choice([escapedLiteral,
regularLiteralWithoutSpace]);const escapedOrLiteralWithoutBar=choice([escapedLiteral,regularLiteralWithoutBar]);const escapedOrRegularLiteral=choice([escapedLiteral,regularLiteral]);function literalWithoutSpace(){const result=nOrMore(1,escapedOrLiteralWithoutSpace)();return result===null?null:result.join('');}function literalWithoutBar(){const result=nOrMore(1,escapedOrLiteralWithoutBar)();return result===null?null:result.join('');}function literal(){const result=nOrMore(1,escapedOrRegularLiteral)();return result===null?null:result.join('');}const asciiAlphabetLiteral=makeRegexParser(/^[A-Za-z]+/);const whitespace=makeRegexParser(/^\s+/);const dollar=makeStringParser('$');const digits=makeRegexParser(/^\d+/);function replacement(){const result=sequence([dollar,digits]);if(result===null){return null;}return['REPLACE',parseInt(result[1],10)-1];}const openExtlink=makeStringParser('[');const closeExtlink=makeStringParser(']');function extlink(){const parsedResult=sequence([openExtlink,
nOrMore(1,nonWhitespaceExpression),whitespace,nOrMore(1,expression),closeExtlink]);if(parsedResult===null){return null;}const target=parsedResult[1].length===1?parsedResult[1][0]:['CONCAT',...parsedResult[1]];return['EXTLINK',target,['CONCAT',...parsedResult[3]]];}const pipe=makeStringParser('|');const openTemplate=makeStringParser('{{');const closeTemplate=makeStringParser('}}');function template(){const result=sequence([openTemplate,templateContents,closeTemplate]);return result===null?null:result[1];}function templateName(){const templateNameRegex=makeRegexParser(/^#?[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/);const result=templateNameRegex();return result===null?null:result.toString();}function templateParam(){const result=sequence([pipe,nOrMore(0,paramExpression)]);if(result===null){return null;}const expr=result[1];return expr.length>1?['CONCAT',...expr]:expr[0];}function templateNameWithParam(){const result=sequence([templateName,colon,nOrMore(0,paramExpression)]);if(result===null){
return null;}const expr=result[2];return[result[0],expr.length>1?['CONCAT',...expr]:expr[0]];}colon=makeStringParser(':');templateContents=choice([function(){const result=sequence([templateNameWithParam,nOrMore(0,templateParam)]);return result===null?null:[...result[0],...result[1]];},function(){const result=sequence([templateName,nOrMore(0,templateParam)]);if(result===null){return null;}return[result[0],...result[1]];}]);function pipedWikilink(){const result=sequence([nOrMore(1,paramExpression),pipe,nOrMore(1,expression)]);return result===null?null:[['CONCAT',...result[0]],['CONCAT',...result[2]]];}function unpipedWikilink(){const result=sequence([nOrMore(1,paramExpression)]);return result===null?null:[['CONCAT',...result[0]]];}const wikilinkContents=choice([pipedWikilink,unpipedWikilink]);const openWikilink=makeStringParser('[[');const closeWikilink=makeStringParser(']]');function wikilink(){const parsedResult=sequence([openWikilink,wikilinkContents,closeWikilink]);return parsedResult===null?null:['WIKILINK',...parsedResult[1]];
}const doubleQuote=makeStringParser('"');const htmlDoubleQuoteAttributeValue=makeRegexParser(/^[^"]*/);function doubleQuotedHtmlAttributeValue(){const parsedResult=sequence([doubleQuote,htmlDoubleQuoteAttributeValue,doubleQuote]);return parsedResult===null?null:parsedResult[1];}const singleQuote=makeStringParser('\'');const htmlSingleQuoteAttributeValue=makeRegexParser(/^[^']*/);function singleQuotedHtmlAttributeValue(){const parsedResult=sequence([singleQuote,htmlSingleQuoteAttributeValue,singleQuote]);return parsedResult===null?null:parsedResult[1];}const htmlAttributeEquals=makeRegexParser(/^\s*=\s*/);function htmlAttribute(){const parsedResult=sequence([whitespace,asciiAlphabetLiteral,htmlAttributeEquals,choice([doubleQuotedHtmlAttributeValue,singleQuotedHtmlAttributeValue])]);return parsedResult===null?null:[parsedResult[1],parsedResult[3]];}function isAllowedHtml(startTagName,endTagName,attributes){startTagName=startTagName.toLowerCase();const isSelfClosing=endTagName===null;if((isSelfClosing&&!settings.allowedSelfClosingHtmlElements.includes(startTagName))||
(!isSelfClosing&&(startTagName!==endTagName.toLowerCase()||!settings.allowedHtmlElements.includes(startTagName)))){return false;}let attributeName;for(let i=0,len=attributes.length;i<len;i+=2){attributeName=attributes[i];if(!settings.allowedHtmlCommonAttributes.includes(attributeName)&&!(settings.allowedHtmlAttributesByElement[startTagName]||[]).includes(attributeName)){return false;}}return true;}function htmlAttributes(){const parsedResult=nOrMore(0,htmlAttribute)();return['HTMLATTRIBUTES'].concat(...parsedResult);}const openHtmlStartTag=makeStringParser('<');const optionalWhitespace=makeRegexParser(/\s*/);const optionalForwardSlash=makeRegexParser(/^\/?/);const openHtmlEndTag=makeStringParser('</');const closeHtmlTag=makeRegexParser(/^\s*>/);function html(){const startOpenTagPos=pos;const parsedOpenTagResult=sequence([openHtmlStartTag,asciiAlphabetLiteral,htmlAttributes,optionalWhitespace,optionalForwardSlash,closeHtmlTag]);if(parsedOpenTagResult===null){return null;}const endOpenTagPos=pos;
const startTagName=parsedOpenTagResult[1];const wrappedAttributes=parsedOpenTagResult[2];const attributes=wrappedAttributes.slice(1);if(settings.allowedSelfClosingHtmlElements.includes(startTagName)){if(isAllowedHtml(startTagName,null,attributes)){return['HTMLELEMENT',startTagName,wrappedAttributes];}return['CONCAT',input.slice(startOpenTagPos,endOpenTagPos)];}const parsedHtmlContents=nOrMore(0,expression)();const startCloseTagPos=pos;const parsedCloseTagResult=sequence([openHtmlEndTag,asciiAlphabetLiteral,closeHtmlTag]);if(parsedCloseTagResult===null){return['CONCAT',input.slice(startOpenTagPos,endOpenTagPos),...parsedHtmlContents];}const endCloseTagPos=pos;const endTagName=parsedCloseTagResult[1];if(isAllowedHtml(startTagName,endTagName,attributes)){return['HTMLELEMENT',startTagName,wrappedAttributes,...parsedHtmlContents];}return['CONCAT',input.slice(startOpenTagPos,endOpenTagPos),...parsedHtmlContents,input.slice(startCloseTagPos,endCloseTagPos)];}function nowiki(){const parsedResult=sequence([
makeStringParser('<nowiki>'),makeRegexParser(/^.*?(?=<\/nowiki>)/),makeStringParser('</nowiki>')]);return parsedResult===null?null:['CONCAT',...parsedResult[1]];}nonWhitespaceExpression=choice([template,wikilink,extlink,replacement,literalWithoutSpace]);paramExpression=choice([template,wikilink,extlink,replacement,literalWithoutBar]);expression=choice([template,wikilink,extlink,replacement,nowiki,html,literal]);const regularLiteralWithSquareBrackets=makeRegexParser(/^[^{}$\\]/);function curlyBraceTransformExpressionLiteral(){const result=nOrMore(1,regularLiteralWithSquareBrackets)();return result===null?null:result.join('');}const curlyBraceTransformExpression=choice([template,replacement,curlyBraceTransformExpressionLiteral]);function start(rootExpression){const result=nOrMore(0,rootExpression)();if(result===null){return null;}return['CONCAT',...result];}const res=start(this.settings.onlyCurlyBraceTransform?curlyBraceTransformExpression:expression);if(res===null||pos!==input.length){
throw new Error('Parse error at position '+pos.toString()+' in input: '+input);}return res;}};function HtmlEmitter(language,magic,messages){this.language=language;for(const key in(magic||{})){const val=magic[key];this[key.toLowerCase()]=function(){return val;};}this.map=messages||mw.messages;this.emit=(node,replacements)=>{switch(typeof node){case'string':case'number':return node;case'object':{const subnodes=$.map(node.slice(1),(n)=>this.emit(n,replacements));const operation=node[0].toLowerCase();if(typeof this[operation]==='function'){return this[operation](subnodes,replacements);}else{throw new Error('Unknown operation "'+operation+'"');}}case'undefined':return'';default:throw new Error('Unexpected type in AST: '+typeof node);}};}const strongDirRegExp=new RegExp('(?:'+'('+
'[\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u02bb-\u02c1\u02d0\u02d1\u02e0-\u02e4\u02ee\u0370-\u0373\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0482\u048a-\u052f\u0531-\u0556\u0559-\u055f\u0561-\u0587\u0589\u0903-\u0939\u093b\u093d-\u0940\u0949-\u094c\u094e-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd-\u09c0\u09c7\u09c8\u09cb\u09cc\u09ce\u09d7\u09dc\u09dd\u09df-\u09e1\u09e6-\u09f1\u09f4-\u09fa\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3e-\u0a40\u0a59-\u0a5c\u0a5e\u0a66-\u0a6f\u0a72-\u0a74\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd-\u0ac0\u0ac9\u0acb\u0acc\u0ad0\u0ae0\u0ae1\u0ae6-\u0af0\u0af9\u0b02\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0b5c\u0b5d\u0b5f-\u0b61\u0b66-\u0b77\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd0\u0bd7\u0be6-\u0bf2\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c41-\u0c44\u0c58-\u0c5a\u0c60\u0c61\u0c66-\u0c6f\u0c7f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd-\u0cc4\u0cc6-\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0cde\u0ce0\u0ce1\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d4e\u0d57\u0d5f-\u0d61\u0d66-\u0d75\u0d79-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dcf-\u0dd1\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e4f-\u0e5b\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f17\u0f1a-\u0f34\u0f36\u0f38\u0f3e-\u0f47\u0f49-\u0f6c\u0f7f\u0f85\u0f88-\u0f8c\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce-\u0fda\u1000-\u102c\u1031\u1038\u103b\u103c\u103f-\u1057\u105a-\u105d\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108c\u108e-\u109c\u109e-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1360-\u137c\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u167f\u1681-\u169a\u16a0-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1735\u1736\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17b6\u17be-\u17c5\u17c7\u17c8\u17d4-\u17da\u17dc\u17e0-\u17e9\u1810-\u1819\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a16\u1a19\u1a1a\u1a1e-\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1a80-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1b04-\u1b33\u1b35\u1b3b\u1b3d-\u1b41\u1b43-\u1b4b\u1b50-\u1b6a\u1b74-\u1b7c\u1b82-\u1ba1\u1ba6\u1ba7\u1baa\u1bae-\u1be5\u1be7\u1bea-\u1bec\u1bee\u1bf2\u1bf3\u1bfc-\u1c2b\u1c34\u1c35\u1c3b-\u1c49\u1c4d-\u1c7f\u1cc0-\u1cc7\u1cd3\u1ce1\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200e\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u214f\u2160-\u2188\u2336-\u237a\u2395\u249c-\u24e9\u26ac\u2800-\u28ff\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d70\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u302e\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u3190-\u31ba\u31f0-\u321c\u3220-\u324f\u3260-\u327b\u327f-\u32b0\u32c0-\u32cb\u32d0-\u32fe\u3300-\u3376\u337b-\u33dd\u33e0-\u33fe\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua60c\ua610-\ua62b\ua640-\ua66e\ua680-\ua69d\ua6a0-\ua6ef\ua6f2-\ua6f7\ua722-\ua787\ua789-\ua7ad\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua824\ua827\ua830-\ua837\ua840-\ua873\ua880-\ua8c3\ua8ce-\ua8d9\ua8f2-\ua8fd\ua900-\ua925\ua92e-\ua946\ua952\ua953\ua95f-\ua97c\ua983-\ua9b2\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9e4\ua9e6-\ua9fe\uaa00-\uaa28\uaa2f\uaa30\uaa33\uaa34\uaa40-\uaa42\uaa44-\uaa4b\uaa4d\uaa50-\uaa59\uaa5c-\uaa7b\uaa7d-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaaeb\uaaee-\uaaf5\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab65\uab70-\uabe4\uabe6\uabe7\uabe9-\uabec\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\ue000-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b]|\ud800[\udc0d-\udc26]|\ud800[\udc28-\udc3a]|\ud800\udc3c|\ud800\udc3d|\ud800[\udc3f-\udc4d]|\ud800[\udc50-\udc5d]|\ud800[\udc80-\udcfa]|\ud800\udd00|\ud800\udd02|\ud800[\udd07-\udd33]|\ud800[\udd37-\udd3f]|\ud800[\uddd0-\uddfc]|\ud800[\ude80-\ude9c]|\ud800[\udea0-\uded0]|\ud800[\udf00-\udf23]|\ud800[\udf30-\udf4a]|\ud800[\udf50-\udf75]|\ud800[\udf80-\udf9d]|\ud800[\udf9f-\udfc3]|\ud800[\udfc8-\udfd5]|\ud801[\udc00-\udc9d]|\ud801[\udca0-\udca9]|\ud801[\udd00-\udd27]|\ud801[\udd30-\udd63]|\ud801\udd6f|\ud801[\ude00-\udf36]|\ud801[\udf40-\udf55]|\ud801[\udf60-\udf67]|\ud804\udc00|\ud804[\udc02-\udc37]|\ud804[\udc47-\udc4d]|\ud804[\udc66-\udc6f]|\ud804[\udc82-\udcb2]|\ud804\udcb7|\ud804\udcb8|\ud804[\udcbb-\udcc1]|\ud804[\udcd0-\udce8]|\ud804[\udcf0-\udcf9]|\ud804[\udd03-\udd26]|\ud804\udd2c|\ud804[\udd36-\udd43]|\ud804[\udd50-\udd72]|\ud804[\udd74-\udd76]|\ud804[\udd82-\uddb5]|\ud804[\uddbf-\uddc9]|\ud804\uddcd|\ud804[\uddd0-\udddf]|\ud804[\udde1-\uddf4]|\ud804[\ude00-\ude11]|\ud804[\ude13-\ude2e]|\ud804\ude32|\ud804\ude33|\ud804\ude35|\ud804[\ude38-\ude3d]|\ud804[\ude80-\ude86]|\ud804\ude88|\ud804[\ude8a-\ude8d]|\ud804[\ude8f-\ude9d]|\ud804[\ude9f-\udea9]|\ud804[\udeb0-\udede]|\ud804[\udee0-\udee2]|\ud804[\udef0-\udef9]|\ud804\udf02|\ud804\udf03|\ud804[\udf05-\udf0c]|\ud804\udf0f|\ud804\udf10|\ud804[\udf13-\udf28]|\ud804[\udf2a-\udf30]|\ud804\udf32|\ud804\udf33|\ud804[\udf35-\udf39]|\ud804[\udf3d-\udf3f]|\ud804[\udf41-\udf44]|\ud804\udf47|\ud804\udf48|\ud804[\udf4b-\udf4d]|\ud804\udf50|\ud804\udf57|\ud804[\udf5d-\udf63]|\ud805[\udc80-\udcb2]|\ud805\udcb9|\ud805[\udcbb-\udcbe]|\ud805\udcc1|\ud805[\udcc4-\udcc7]|\ud805[\udcd0-\udcd9]|\ud805[\udd80-\uddb1]|\ud805[\uddb8-\uddbb]|\ud805\uddbe|\ud805[\uddc1-\udddb]|\ud805[\ude00-\ude32]|\ud805\ude3b|\ud805\ude3c|\ud805\ude3e|\ud805[\ude41-\ude44]|\ud805[\ude50-\ude59]|\ud805[\ude80-\udeaa]|\ud805\udeac|\ud805\udeae|\ud805\udeaf|\ud805\udeb6|\ud805[\udec0-\udec9]|\ud805[\udf00-\udf19]|\ud805\udf20|\ud805\udf21|\ud805\udf26|\ud805[\udf30-\udf3f]|\ud806[\udca0-\udcf2]|\ud806\udcff|\ud806[\udec0-\udef8]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e]|\ud809[\udc70-\udc74]|\ud809[\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38]|\ud81a[\ude40-\ude5e]|\ud81a[\ude60-\ude69]|\ud81a\ude6e|\ud81a\ude6f|\ud81a[\uded0-\udeed]|\ud81a\udef5|\ud81a[\udf00-\udf2f]|\ud81a[\udf37-\udf45]|\ud81a[\udf50-\udf59]|\ud81a[\udf5b-\udf61]|\ud81a[\udf63-\udf77]|\ud81a[\udf7d-\udf8f]|\ud81b[\udf00-\udf44]|\ud81b[\udf50-\udf7e]|\ud81b[\udf93-\udf9f]|\ud82c\udc00|\ud82c\udc01|\ud82f[\udc00-\udc6a]|\ud82f[\udc70-\udc7c]|\ud82f[\udc80-\udc88]|\ud82f[\udc90-\udc99]|\ud82f\udc9c|\ud82f\udc9f|\ud834[\udc00-\udcf5]|\ud834[\udd00-\udd26]|\ud834[\udd29-\udd66]|\ud834[\udd6a-\udd72]|\ud834\udd83|\ud834\udd84|\ud834[\udd8c-\udda9]|\ud834[\uddae-\udde8]|\ud834[\udf60-\udf71]|\ud835[\udc00-\udc54]|\ud835[\udc56-\udc9c]|\ud835\udc9e|\ud835\udc9f|\ud835\udca2|\ud835\udca5|\ud835\udca6|\ud835[\udca9-\udcac]|\ud835[\udcae-\udcb9]|\ud835\udcbb|\ud835[\udcbd-\udcc3]|\ud835[\udcc5-\udd05]|\ud835[\udd07-\udd0a]|\ud835[\udd0d-\udd14]|\ud835[\udd16-\udd1c]|\ud835[\udd1e-\udd39]|\ud835[\udd3b-\udd3e]|\ud835[\udd40-\udd44]|\ud835\udd46|\ud835[\udd4a-\udd50]|\ud835[\udd52-\udea5]|\ud835[\udea8-\udeda]|\ud835[\udedc-\udf14]|\ud835[\udf16-\udf4e]|\ud835[\udf50-\udf88]|\ud835[\udf8a-\udfc2]|\ud835[\udfc4-\udfcb]|\ud836[\udc00-\uddff]|\ud836[\ude37-\ude3a]|\ud836[\ude6d-\ude74]|\ud836[\ude76-\ude83]|\ud836[\ude85-\ude8b]|\ud83c[\udd10-\udd2e]|\ud83c[\udd30-\udd69]|\ud83c[\udd70-\udd9a]|\ud83c[\udde6-\ude02]|\ud83c[\ude10-\ude3a]|\ud83c[\ude40-\ude48]|\ud83c\ude50|\ud83c\ude51|[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\uded6]|\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf34]|\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1d]|\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]|[\udb80-\udbbe][\udc00-\udfff]|\udbbf[\udc00-\udffd]|[\udbc0-\udbfe][\udc00-\udfff]|\udbff[\udc00-\udffd]'+
')|('+
'[\u0590\u05be\u05c0\u05c3\u05c6\u05c8-\u05ff\u07c0-\u07ea\u07f4\u07f5\u07fa-\u0815\u081a\u0824\u0828\u082e-\u0858\u085c-\u089f\u200f\ufb1d\ufb1f-\ufb28\ufb2a-\ufb4f\u0608\u060b\u060d\u061b-\u064a\u066d-\u066f\u0671-\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u0710\u0712-\u072f\u074b-\u07a5\u07b1-\u07bf\u08a0-\u08e2\ufb50-\ufd3d\ufd40-\ufdcf\ufdf0-\ufdfc\ufdfe\ufdff\ufe70-\ufefe]|\ud802[\udc00-\udd1e]|\ud802[\udd20-\ude00]|\ud802\ude04|\ud802[\ude07-\ude0b]|\ud802[\ude10-\ude37]|\ud802[\ude3b-\ude3e]|\ud802[\ude40-\udee4]|\ud802[\udee7-\udf38]|\ud802[\udf40-\udfff]|\ud803[\udc00-\ude5f]|\ud803[\ude7f-\udfff]|\ud83a[\udc00-\udccf]|\ud83a[\udcd7-\udfff]|\ud83b[\udc00-\uddff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\ude00-\udeef]|\ud83b[\udef2-\udeff]'+
')'+')');function strongDirFromContent(text){const m=text.match(strongDirRegExp);if(!m){return null;}if(m[2]===undefined){return'ltr';}return'rtl';}HtmlEmitter.prototype={concat:function(nodes){const $span=$('<span>').addClass('mediaWiki_htmlEmitter');Array.from(nodes).forEach((node)=>{appendWithoutParsing($span,node);});return $span;},replace:function(nodes,replacements){const index=parseInt(nodes[0],10);if(index<replacements.length){if(typeof replacements[index]==='object'){if(!replacements[index].mwJQueryMsgHasAlreadyBeenUsedAsAReplacement){Object.defineProperty(replacements[index],'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement',{value:true,enumerable:false,writable:false});return replacements[index];}if(typeof replacements[index].clone==='function'){return replacements[index].clone(true);}if(typeof replacements[index].cloneNode==='function'){return replacements[index].cloneNode(true);}return replacements[index];}return replacements[index];}else{return'$'+(index+1);}},wikilink:function(nodes){
let page=textify(nodes[0]);if(page.startsWith(':')){page=page.slice(1);}const title=new mw.Title(page);let anchor;if(nodes.length===1){anchor=page;}else{anchor=nodes[1];}const $el=$('<a>').attr({title:title.getPrefixedText()||null,href:title.getUrl()});return appendWithoutParsing($el,anchor);},htmlattributes:function(nodes){const mapping={};for(let i=0,len=nodes.length;i<len;i+=2){mapping[nodes[i]]=decodePrimaryHtmlEntities(nodes[i+1]);}return mapping;},htmlelement:function(nodes){const tagName=nodes.shift();const attributes=nodes.shift();const contents=nodes;const $element=$(document.createElement(tagName)).attr(attributes);return appendWithoutParsing($element,contents);},extlink:function(nodes){const arg=nodes[0],contents=nodes[1];let $el;if(arg instanceof $&&!arg.hasClass('mediaWiki_htmlEmitter')){$el=arg;}else{$el=$('<a>');if(typeof arg==='function'){$el.attr({role:'button',tabindex:0}).on('click keypress',function(e){if(e.type==='click'||e.type==='keypress'&&e.which===13){arg.call(this,e);
}});}else{const target=textify(arg);if(target.search(new RegExp('^(/|'+mw.config.get('wgUrlProtocols')+')'))!==-1){$el.attr('href',target);const externalRegex='^(?:'+mw.config.get('wgArticlePath').replace(/\$1/g,'.+?')+'|'+mw.config.get('wgScript')+'.+?)$';if(target.search(externalRegex)===-1){$el.addClass('external');}}else{mw.log('External link in message had illegal target '+target);return appendWithoutParsing($('<span>'),['['+target+' '].concat(contents).concat(']')).contents();}}}return appendWithoutParsing($el.empty(),contents);},'#formal':function(nodes){const formalityIndex=this.language.getData(mw.config.get('wgUserLanguage'),'formalityIndex');if(nodes.length===0){return'';}else if(nodes.length===1){return nodes[0];}return nodes[formalityIndex];},plural:function(nodes){const explicitPluralForms={};const count=parseFloat(this.language.convertNumber(textify(nodes[0]),true));let forms=nodes.slice(1);for(let formIndex=0;formIndex<forms.length;formIndex++){const form=forms[formIndex];
if(form instanceof $&&form.hasClass('mediaWiki_htmlEmitter')){const firstChild=form.contents().get(0);if(firstChild&&firstChild.nodeType===Node.TEXT_NODE){const firstChildText=firstChild.textContent;if(/^\d+=/.test(firstChildText)){const explicitPluralFormNumber=parseInt(firstChildText.split(/=/)[0],10);firstChild.textContent=firstChildText.slice(firstChildText.indexOf('=')+1);explicitPluralForms[explicitPluralFormNumber]=form;forms[formIndex]=undefined;}}}else if(/^\d+=/.test(form)){const explicitPluralFormNumber=parseInt(form.split(/=/)[0],10);explicitPluralForms[explicitPluralFormNumber]=form.slice(form.indexOf('=')+1);forms[formIndex]=undefined;}}forms=$.map(forms,(f)=>f);return this.language.convertPlural(count,forms,explicitPluralForms);},gender:function(nodes){const forms=nodes.slice(1);let maybeUser=nodes[0];if(maybeUser===''){maybeUser=mw.user;}let gender;if(maybeUser&&maybeUser.options instanceof mw.Map){gender=maybeUser.options.get('gender');}else{gender=textify(maybeUser);}
return this.language.gender(gender,forms);},bidi:function(nodes){const dir=strongDirFromContent(nodes[0]);if(dir==='ltr'){return'\u202A'+nodes[0]+'\u202C';}if(dir==='rtl'){return'\u202B'+nodes[0]+'\u202C';}return nodes[0];},grammar:function(nodes){const form=nodes[0],word=nodes[1];if(typeof form==='string'&&typeof word==='string'){return this.language.convertGrammar(word,form);}return word;},int:function(nodes){const msg=textify(nodes[0]);return getMessageFunction({messages:this.map})(mwString.lcFirst(msg));},ns:function(nodes){let ns=textify(nodes[0]).trim();if(!/^\d+$/.test(ns)){ns=mw.config.get('wgNamespaceIds')[ns.replace(/ /g,'_').toLowerCase()];}ns=mw.config.get('wgFormattedNamespaces')[ns];return ns||'';},formatnum:function(nodes){const isInteger=!!nodes[1]&&nodes[1]==='R',number=nodes[0];if(typeof number==='string'||typeof number==='number'){return this.language.convertNumber(number,isInteger);}return number;},fullurl:function(nodes){const targetPage=textify(nodes[0]),
queryObject={};let queryStrings=nodes[1];if(queryStrings){queryStrings=textify(queryStrings);queryStrings=new URLSearchParams(queryStrings);for(const[key,value]of queryStrings.entries()){queryObject[key]=value;}}return mw.config.get('wgServer')+util.getUrl(targetPage,queryObject);},lc:function(nodes){return textify(nodes[0]).toLowerCase();},uc:function(nodes){return textify(nodes[0]).toUpperCase();},lcfirst:function(nodes){const text=textify(nodes[0]);return mwString.lcFirst(text);},ucfirst:function(nodes){const text=textify(nodes[0]);return mwString.ucFirst(text);}};$.fn.msg=getPlugin();const oldParser=mw.Message.prototype.parser;mw.Message.prototype.parser=function(format){if(format==='plain'||(!/\{\{|[<>[&]/.test(this.map.get(this.key))&&!this.parameters.some((param)=>param===Object(param)))){return oldParser.call(this,format);}if(!Object.prototype.hasOwnProperty.call(this.map,format)){this.map[format]=getMessageFunction({messages:this.map,format:format});}return this.map[format](this.key,this.parameters);
};mw.Message.prototype.parseDom=(function(){let failableParserFn;return function(){if(!failableParserFn){failableParserFn=getFailableParserFn();}const $result=failableParserFn([this.key,this.parameters]);return $result.contents();};}());mw.Message.prototype.isParseable=function(){const parser=new Parser({messages:this.map});try{parser.parse(this.key,this.parameters);return true;}catch(e){return false;}};mw.jqueryMsg={Parser};mw.log.deprecate(mw,'jqueryMsg',mw.jqueryMsg,'mw.jqueryMsg is a @private library.');module.exports={test:{getMessageFunction,setMessageFunction,getParserDefaults,setParserDefaults,Parser}};
},"parserDefaults.json":{"allowedHtmlElements":["b","bdi","del","i","ins","u","font","big","small","sub","sup","h1","h2","h3","h4","h5","h6","cite","code","em","s","strike","strong","tt","var","div","center","blockquote","ol","ul","dl","table","caption","pre","ruby","rb","rp","rt","rtc","p","span","abbr","dfn","kbd","samp","data","time","mark","li","dt","dd"],"magic":{"SITENAME":"위키백과","WBREPONAME":"위키데이터"}}}}];});
mw.loader.impl(function(){return["mediawiki.language@1gvse",function($,jQuery,require,module){(function(){mw.language={data:{},getData:function(langCode,dataKey){const langData=mw.language.data;langCode=langCode.toLowerCase();if(langData&&langData[langCode]instanceof mw.Map){return langData[langCode].get(dataKey);}return undefined;},setData:function(langCode,dataKey,value){const langData=mw.language.data;langCode=langCode.toLowerCase();if(!(langData[langCode]instanceof mw.Map)){langData[langCode]=new mw.Map();}if(arguments.length>2){langData[langCode].set(dataKey,value);}else{langData[langCode].set(dataKey);}}};}());
(function(){Object.assign(mw.language,{convertPlural:function(count,forms,explicitPluralForms){let pluralFormIndex=0;if(explicitPluralForms&&(explicitPluralForms[count]!==undefined)){return explicitPluralForms[count];}if(!forms||forms.length===0){return'';}const pluralRules=mw.language.getData(mw.config.get('wgUserLanguage'),'pluralRules');if(!pluralRules){return(count===1)?forms[0]:forms[1];}pluralFormIndex=mw.cldr.getPluralForm(count,pluralRules);pluralFormIndex=Math.min(pluralFormIndex,forms.length-1);return forms[pluralFormIndex];},preConvertPlural:function(forms,count){while(forms.length<count){forms.push(forms[forms.length-1]);}return forms;},gender:function(gender,forms){if(!forms||forms.length===0){return'';}forms=mw.language.preConvertPlural(forms,2);if(gender==='male'){return forms[0];}if(gender==='female'){return forms[1];}return(forms.length===3)?forms[2]:forms[0];},convertGrammarMapping:{},convertGrammar:function(word,form){const userLanguage=mw.config.get('wgUserLanguage');
const forms=mw.language.getData(userLanguage,'grammarForms');if(forms&&forms[form]&&forms[form][word]){return forms[form][word];}if(Object.prototype.hasOwnProperty.call(mw.language.convertGrammarMapping,userLanguage)){return mw.language.convertGrammarMapping[userLanguage](word,form);}const transformations=mw.language.getData(userLanguage,'grammarTransformations');if(!(transformations&&transformations[form])){return word;}let patterns=transformations[form];if(typeof patterns==='string'){patterns=transformations[patterns];}for(let i=0;i<patterns.length;i++){const rule=patterns[i];const sourcePattern=rule[0];if(sourcePattern==='@metadata'){continue;}const regexp=new RegExp(sourcePattern);const replacement=rule[1];if(word.match(regexp)){return word.replace(regexp,replacement);}}return word;},listToText:function(list){let text='';for(let i=0;i<list.length;i++){text+=list[i];if(list.length-2===i){text+=mw.message('and').escaped()+mw.message('word-separator').escaped();}else if(list.length-1!==i){
text+=mw.message('comma-separator').escaped();}}return text;},bcp47:function(languageTag){let isFirstSegment=true,isPrivate=false;languageTag=languageTag.toLowerCase();const bcp47Map=mw.language.getData(mw.config.get('wgUserLanguage'),'bcp47Map');if(bcp47Map&&Object.prototype.hasOwnProperty.call(bcp47Map,languageTag)){languageTag=bcp47Map[languageTag];}const segments=languageTag.split('-');const formatted=segments.map((segment)=>{let newSegment;if(isPrivate){newSegment=segment.toLowerCase();}else if(segment.length===2&&!isFirstSegment){newSegment=segment.toUpperCase();}else if(segment.length===4&&!isFirstSegment){newSegment=segment.charAt(0).toUpperCase()+segment.slice(1).toLowerCase();}else{newSegment=segment.toLowerCase();}isPrivate=segment.toLowerCase()==='x';isFirstSegment=false;return newSegment;});return formatted.join('-');}});}());
(function(){function pad(text,size,ch,end){if(!ch){ch='0';}const out=String(text);const count=Math.ceil((size-out.length)/ch.length);const padStr=ch.repeat(Math.max(0,count));return end?out+padStr:padStr+out;}function commafyNumber(value,pattern,options){const patternParts=pattern.split('.'),maxPlaces=(patternParts[1]||[]).length,valueParts=String(Math.abs(value)).split('.'),fractional=valueParts[1]||'',pieces=[];let groupSize=0,groupSize2=0;options=options||{group:',',decimal:'.'};if(isNaN(value)){return value;}let padLength;if(patternParts[1]){padLength=(patternParts[1]&&patternParts[1].lastIndexOf('0')+1);if(padLength>fractional.length){valueParts[1]=pad(fractional,padLength,'0',true);}if(maxPlaces<fractional.length){valueParts[1]=fractional.slice(0,maxPlaces);}}else{if(valueParts[1]){valueParts.pop();}}const patternDigits=patternParts[0].replace(',','');padLength=patternDigits.indexOf('0');if(padLength!==-1){padLength=patternDigits.length-padLength;if(padLength>valueParts[0].length){
valueParts[0]=pad(valueParts[0],padLength);}if(!patternDigits.includes('#')&&padLength){valueParts[0]=valueParts[0].slice(-padLength);}}let index=patternParts[0].lastIndexOf(',');if(index!==-1){groupSize=patternParts[0].length-index-1;const remainder=patternParts[0].slice(0,index);index=remainder.lastIndexOf(',');if(index!==-1){groupSize2=remainder.length-index-1;}}if(options.minimumGroupingDigits===null||valueParts[0].length>=groupSize+options.minimumGroupingDigits){for(let whole=valueParts[0];whole;){const off=groupSize?whole.length-groupSize:0;pieces.push((off>0)?whole.slice(off):whole);whole=(off>0)?whole.slice(0,off):'';if(groupSize2){groupSize=groupSize2;groupSize2=null;}}valueParts[0]=pieces.reverse().join(options.group);}return valueParts.join(options.decimal);}function commafyInternal(value,pattern,minimumGroupingDigits){const transformTable=mw.language.getSeparatorTransformTable(),group=transformTable[',']||',',numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/,decimal=transformTable['.']||'.',
patternList=pattern.split(';'),positivePattern=patternList[0];pattern=patternList[(value<0)?1:0]||('-'+positivePattern);const numberPattern=positivePattern.match(numberPatternRE);minimumGroupingDigits=minimumGroupingDigits!==undefined?minimumGroupingDigits:null;if(!numberPattern){throw new Error('unable to find a number expression in pattern: '+pattern);}return pattern.replace(numberPatternRE,commafyNumber(value,numberPattern[0],{minimumGroupingDigits:minimumGroupingDigits,decimal:decimal,group:group}));}function flipTransform(){const flipped={};flipped[',']='';for(let i=0;i<arguments.length;i++){const table=arguments[i];for(const key in table){flipped[table[key]]=key===','?'':key;}}return flipped;}Object.assign(mw.language,{convertNumber:function(num,integer){if(integer&&parseInt(num,10)===num){return num;}const digitTransformTable=mw.language.getDigitTransformTable();const separatorTransformTable=mw.language.getSeparatorTransformTable();let transformTable,numberString;if(integer){
transformTable=flipTransform(separatorTransformTable,digitTransformTable);numberString=String(num);}else{if(mw.config.get('wgTranslateNumerals')){transformTable=digitTransformTable;}const pattern=mw.language.getData(mw.config.get('wgUserLanguage'),'digitGroupingPattern')||'#,##0.###';const minimumGroupingDigits=mw.language.getData(mw.config.get('wgUserLanguage'),'minimumGroupingDigits')||null;numberString=commafyInternal(num,pattern,minimumGroupingDigits);}let convertedNumber;if(transformTable){convertedNumber='';for(let i=0;i<numberString.length;i++){if(Object.prototype.hasOwnProperty.call(transformTable,numberString[i])){convertedNumber+=transformTable[numberString[i]];}else{convertedNumber+=numberString[i];}}}else{convertedNumber=numberString;}if(integer){convertedNumber=parseInt(convertedNumber,10);}return convertedNumber;},getDigitTransformTable:function(){return mw.language.getData(mw.config.get('wgUserLanguage'),'digitTransformTable')||[];},getSeparatorTransformTable:function(){
return mw.language.getData(mw.config.get('wgUserLanguage'),'separatorTransformTable')||[];}});}());
(function(){Object.assign(mw.language,{getFallbackLanguages:function(){return mw.language.getData(mw.config.get('wgUserLanguage'),'fallbackLanguages')||[];},getFallbackLanguageChain:function(){return[mw.config.get('wgUserLanguage')].concat(mw.language.getFallbackLanguages());}});}());
mw.language.setData("ko",{"digitTransformTable":null,"separatorTransformTable":null,"minimumGroupingDigits":1,"formalityIndex":0,"grammarForms":[],"grammarTransformations":[],"pluralRules":["i = 1 and v = 0 @integer 1"],"digitGroupingPattern":"#,##0.###","fallbackLanguages":["en"],"bcp47Map":{"als":"gsw","bat-smg":"sgs","be-x-old":"be-tarask","fiu-vro":"vro","roa-rup":"rup","zh-classical":"lzh","zh-min-nan":"nan","zh-yue":"yue","cbk-zam":"cbk","de-formal":"de-x-formal","eml":"egl","en-rtl":"en-x-rtl","es-formal":"es-x-formal","hu-formal":"hu-x-formal","map-bms":"jv-x-bms","mo":"ro-Cyrl-MD","nrm":"nrf","nl-informal":"nl-x-informal","roa-tara":"nap-x-tara","simple":"en-simple","sr-ec":"sr-Cyrl","sr-el":"sr-Latn","crh-ro":"crh-Latn-RO","kk-cn":"kk-Arab-CN","kk-tr":"kk-Latn-TR","zh-cn":"zh-Hans-CN","zh-sg":"zh-Hans-SG","zh-my":"zh-Hans-MY","zh-tw":"zh-Hant-TW","zh-hk":"zh-Hant-HK","zh-mo":"zh-Hant-MO"}});
},{},{"and":" \uadf8\ub9ac\uace0","comma-separator":", ","word-separator":" "}];});
mw.loader.impl(function(){return["mediawiki.router@x9r1o",{"main":"resources/src/mediawiki.router/router.js","files":{"resources/src/mediawiki.router/router.js":function(require,module,exports){'use strict';class Router extends OO.Registry{constructor(){super();this.enabled=true;this.oldHash=this.getPath();window.addEventListener('popstate',()=>{this.emit('popstate');});window.addEventListener('hashchange',()=>{this.emit('hashchange');});this.connect(this,{hashchange:'onRouterHashChange'});}onRouterHashChange(){if(this.enabled){const routeEvent=$.Event('route',{path:this.getPath(),oldPath:this.oldHash});this.emit('route',routeEvent);if(!routeEvent.isDefaultPrevented()){this.checkRoute();}else{this.enabled=false;this.navigate(this.oldHash,true);}}else{this.enabled=true;}this.oldHash=this.getPath();}checkRoute(){const hash=this.getPath();for(const id in this.registry){const entry=this.registry[id];const match=hash.match(entry.path);if(match){entry.callback.apply(this,match.slice(1));return;}}}addRoute(path,callback,teardownCallback){const entry={path:typeof path==='string'?new RegExp('^'+path.replace(/[\\^$*+?.()|[\]{}]/g,'\\$&')+'$'):path,callback:callback};this.register(entry.path.toString(),entry);
if(teardownCallback){this.on('route',(ev)=>{if(ev.oldPath.match(entry.path)&&!ev.path.match(entry.path)){teardownCallback(entry,ev);}});}if(''.match(entry.path)||'/'.match(entry.path)){mw.log.warn('router.addRoute called with a path that matches an empty route; provide a teardownCallback instead');}}route(){this.addRoute.apply(this,arguments);}navigateTo(title,options){const oldHash=this.getPath();if(options.useReplaceState){history.replaceState(null,title,options.path);}else{history.pushState(null,title,options.path);}if(this.getPath()!==oldHash){this.onRouterHashChange();}}navigate(path,fromHashchange){if(path===''){path=window.location.href.replace(/#.*$/,'');history.pushState(null,document.title,path);if(!fromHashchange){this.onRouterHashChange();}else{this.checkRoute();}}else{window.location.hash=path;}}back(){let timeoutID;const deferred=$.Deferred();this.once('popstate',()=>{clearTimeout(timeoutID);deferred.resolve();});window.history.back();return deferred.promise();}getPath(){
return window.location.hash.slice(1);}isSupported(){return true;}resetForTest(){if(window.QUnit){this.bindings={};this.registry={};this.enabled=true;this.connect(this,{hashchange:'onRouterHashChange'});}}}OO.Router=Router;module.exports=new Router();
}}}];});
mw.loader.impl(function(){return["mediawiki.storage@dnxpi",{"main":"resources/src/mediawiki.storage/index.js","files":{"resources/src/mediawiki.storage/index.js":function(require,module,exports){'use strict';const localStorage=(function(){try{return window.localStorage;}catch(e){}}()),sessionStorage=(function(){try{return window.sessionStorage;}catch(e){}}());const SafeStorage=require('./SafeStorage.js');mw.storage=new SafeStorage(localStorage);mw.storage.session=new SafeStorage(sessionStorage);module.exports={local:mw.storage,session:mw.storage.session};
},"resources/src/mediawiki.storage/SafeStorage.js":function(require,module,exports){'use strict';const EXPIRY_PREFIX='_EXPIRY_';function SafeStorage(store){this.store=store;if(!window.QUnit){setTimeout(()=>{this.clearExpired();},2000);}}SafeStorage.prototype.get=function(key){if(this.isExpired(key)){return null;}try{return this.store.getItem(key);}catch(e){}return false;};SafeStorage.prototype.set=function(key,value,expiry){if(key.startsWith(EXPIRY_PREFIX)){throw new Error('Key can\'t have a prefix of '+EXPIRY_PREFIX);}if(this.setExpires(key,expiry)===false){return false;}try{this.store.setItem(key,value);return true;}catch(e){}return false;};SafeStorage.prototype.remove=function(key){try{this.store.removeItem(key);this.setExpires(key);return true;}catch(e){}return false;};SafeStorage.prototype.getObject=function(key){const json=this.get(key);if(json===false){return false;}try{return JSON.parse(json);}catch(e){}return null;};SafeStorage.prototype.setObject=function(key,value,expiry){let json;try{json=JSON.stringify(value);return this.set(key,json,expiry);}catch(e){}
return false;};SafeStorage.prototype.setExpires=function(key,expiry){if(expiry){try{this.store.setItem(EXPIRY_PREFIX+key,Math.floor(Date.now()/1000)+expiry);return true;}catch(e){}}else{try{this.store.removeItem(EXPIRY_PREFIX+key);return true;}catch(e){}}return false;};const MIN_WORK_TIME=3;SafeStorage.prototype.clearExpired=function(){return this.getExpiryKeys().then((keys)=>$.Deferred((d)=>{const iterate=(deadline)=>{while(keys[0]!==undefined&&deadline.timeRemaining()>MIN_WORK_TIME){const key=keys.shift();if(this.isExpired(key)){this.remove(key);}}if(keys[0]!==undefined){mw.requestIdleCallback(iterate);}else{return d.resolve();}};mw.requestIdleCallback(iterate);}));};SafeStorage.prototype.getExpiryKeys=function(){const store=this.store;return $.Deferred((d)=>{mw.requestIdleCallback((deadline)=>{const prefixLength=EXPIRY_PREFIX.length;const keys=[];let length=0;try{length=store.length;}catch(e){}for(let i=0;(i<length&&deadline.timeRemaining()>MIN_WORK_TIME);i++){let key=null;try{key=store.key(i);
}catch(e){}if(key!==null&&key.startsWith(EXPIRY_PREFIX)){keys.push(key.slice(prefixLength));}}d.resolve(keys);});}).promise();};SafeStorage.prototype.isExpired=function(key){let expiry;try{expiry=this.store.getItem(EXPIRY_PREFIX+key);}catch(e){return false;}return!!expiry&&expiry<Math.floor(Date.now()/1000);};module.exports=SafeStorage;
}}}];});
mw.loader.impl(function(){return["mediawiki.template@1blsn",function($,jQuery,require,module){(function(){const compiledTemplates={},compilers={};mw.template={registerCompiler:function(name,compiler){if(!compiler.compile){throw new Error('Compiler must implement a compile method');}compilers[name]=compiler;},getCompilerName:function(templateName){const nameParts=templateName.split('.');if(nameParts.length<2){throw new Error('Template name must have a suffix');}return nameParts[nameParts.length-1];},getCompiler:function(name){const compiler=compilers[name];if(!compiler){throw new Error('Unknown compiler '+name);}return compiler;},add:function(moduleName,templateName,templateBody){const compiled=this.compile(templateBody,this.getCompilerName(templateName));if(!compiledTemplates[moduleName]){compiledTemplates[moduleName]={};}compiledTemplates[moduleName][templateName]=compiled;return compiled;},get:function(moduleName,templateName){if(compiledTemplates[moduleName]&&compiledTemplates[moduleName][templateName]){return compiledTemplates[moduleName][templateName];}const moduleTemplates=mw.templates.get(moduleName);
if(!moduleTemplates||moduleTemplates[templateName]===undefined){throw new Error('Template '+templateName+' not found in module '+moduleName);}return this.add(moduleName,templateName,moduleTemplates[templateName]);},compile:function(templateBody,compilerName){return this.getCompiler(compilerName).compile(templateBody);}};mw.template.registerCompiler('html',{compile:function(src){return{render:function(){return $($.parseHTML(src.trim()));}};}});}());
}];});
mw.loader.impl(function(){return["mediawiki.user@1lcpm",function($,jQuery,require,module){(function(){let userInfoPromise,tempUserNamePromise,pageviewRandomId,sessionId;const CLIENTPREF_COOKIE_NAME='mwclientpreferences';const CLIENTPREF_SUFFIX='-clientpref-';const CLIENTPREF_DELIMITER=',';function getUserInfo(){if(!userInfoPromise){userInfoPromise=new mw.Api().getUserInfo();}return userInfoPromise;}function saveClientPrefs(feature,value){const existingCookie=mw.cookie.get(CLIENTPREF_COOKIE_NAME)||'';const data={};existingCookie.split(CLIENTPREF_DELIMITER).forEach((keyValuePair)=>{const m=keyValuePair.match(/^([\w-]+)-clientpref-(\w+)$/);if(m){data[m[1]]=m[2];}});data[feature]=value;const newCookie=Object.keys(data).map((key)=>key+CLIENTPREF_SUFFIX+data[key]).join(CLIENTPREF_DELIMITER);mw.cookie.set(CLIENTPREF_COOKIE_NAME,newCookie);}function isValidFeatureName(value){return value.match(/^[a-zA-Z0-9-]+$/)!==null;}function isValidFeatureValue(value){return value.match(/^[a-zA-Z0-9]+$/)!==null;}Object.assign(mw.user,{generateRandomSessionId:function(){let rnds;try{rnds=new Uint16Array(5);
crypto.getRandomValues(rnds);}catch(e){rnds=new Array(5);for(let i=0;i<5;i++){rnds[i]=Math.floor(Math.random()*0x10000);}}return(rnds[0]+0x10000).toString(16).slice(1)+(rnds[1]+0x10000).toString(16).slice(1)+(rnds[2]+0x10000).toString(16).slice(1)+(rnds[3]+0x10000).toString(16).slice(1)+(rnds[4]+0x10000).toString(16).slice(1);},getPageviewToken:function(){if(!pageviewRandomId){pageviewRandomId=mw.user.generateRandomSessionId();}return pageviewRandomId;},getId:function(){return mw.config.get('wgUserId')||0;},isNamed:function(){return!mw.user.isAnon()&&!mw.user.isTemp();},isTemp:function(){return mw.config.get('wgUserIsTemp')||false;},getName:function(){return mw.config.get('wgUserName');},acquireTempUserName:function(){if(tempUserNamePromise!==undefined){return tempUserNamePromise;}if(mw.config.get('wgUserId')){tempUserNamePromise=$.Deferred().resolve(null);}else if(mw.config.get('wgTempUserName')){tempUserNamePromise=$.Deferred().resolve(mw.config.get('wgTempUserName'));}else{const api=new mw.Api();
tempUserNamePromise=api.post({action:'acquiretempusername'}).then((resp)=>{mw.config.set('wgTempUserName',resp.acquiretempusername);return resp.acquiretempusername;}).catch(()=>null);}return tempUserNamePromise;},getRegistration:function(){if(mw.user.isAnon()){return false;}const registration=mw.config.get('wgUserRegistration');return!registration?null:new Date(registration);},getFirstRegistration:function(){if(mw.user.isAnon()){return false;}const registration=mw.config.get('wgUserFirstRegistration');return registration?new Date(registration):null;},isAnon:function(){return mw.user.getName()===null;},sessionId:function(){if(sessionId===undefined){sessionId=mw.cookie.get('mwuser-sessionId');if(sessionId===null||!/^[0-9a-f]{20}$/.test(sessionId)){sessionId=mw.user.generateRandomSessionId();mw.cookie.set('mwuser-sessionId',sessionId,{expires:null});}}return sessionId;},id:function(){return mw.user.getName()||mw.user.sessionId();},getGroups:function(callback){const userGroups=mw.config.get('wgUserGroups',[]);
return $.Deferred().resolve(userGroups).then(callback);},getRights:function(callback){return getUserInfo().then((userInfo)=>userInfo.rights,()=>[]).then(callback);},clientPrefs:{set:function(feature,value){if(mw.user.isNamed()){throw new Error('clientPrefs are for unregistered users only');}if(!isValidFeatureName(feature)||!isValidFeatureValue(value)){return false;}const currentValue=mw.user.clientPrefs.get(feature);if(!currentValue){return false;}const oldFeatureClass=feature+CLIENTPREF_SUFFIX+currentValue;const newFeatureClass=feature+CLIENTPREF_SUFFIX+value;document.documentElement.classList.remove(oldFeatureClass);document.documentElement.classList.add(newFeatureClass);saveClientPrefs(feature,value);return true;},get:function(feature){const featurePrefix=feature+CLIENTPREF_SUFFIX;const docClass=document.documentElement.className;const featureRegEx=new RegExp('(^| )'+mw.util.escapeRegExp(featurePrefix)+'([a-zA-Z0-9]+)( |$)');const match=docClass.match(featureRegEx);const isAmbiguous=docClass.replace(featureRegEx,'$1$3').match(featureRegEx)!==null;
return!isAmbiguous&&match?match[2]:false;}}});}());
}];});
mw.loader.impl(function(){return["mediawiki.util@15zox",{"main":"util.js","files":{"util.js":function(require,module,exports){'use strict';let config=require('./config.json');const portletLinkOptions=require('./portletLinkOptions.json');const infinityValues=require('./infinityValues.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);}}const util={rawurlencode:rawurlencode,escapeIdForAttribute(str){return escapeIdInternal(str,config.FragmentMode[0]);},escapeIdForLink(str){return escapeIdInternal(str,config.FragmentMode[0]);},getTargetFromFragment(hash){hash=hash||location.hash.slice(1);if(!hash){return null;}const element=document.getElementById(hash);if(element){return element;
}const decodedHash=this.percentDecodeFragment(hash);if(!decodedHash){return null;}return document.getElementById(decodedHash);},percentDecodeFragment(text){const params=new URLSearchParams('q='+text.replace(/\+/g,'%2B').replace(/&/g,'%26').replace(/=/g,'%3D'));return params.get('q');},debounce(func,wait,immediate){if(typeof func==='number'){const tmpWait=wait;wait=func;func=tmpWait;}let timeout;return function(){const context=this,args=arguments,later=function(){timeout=null;if(!immediate){func.apply(context,args);}};if(immediate&&!timeout){func.apply(context,args);}if(!timeout||wait){clearTimeout(timeout);timeout=setTimeout(later,wait);}};},throttle(func,wait){let context,args,timeout,previous=Date.now()-wait;const run=function(){timeout=null;previous=Date.now();func.apply(context,args);};return function(){const remaining=Math.max(wait-(Date.now()-previous),0);context=this;args=arguments;if(!timeout){timeout=setTimeout(run,remaining);}};},wikiUrlencode:mw.internalWikiUrlencode,getUrl(pageName,params){
let url,query,fragment,title=typeof pageName==='string'?pageName:mw.config.get('wgPageName');const fragmentIdx=title.indexOf('#');if(fragmentIdx!==-1){fragment=title.slice(fragmentIdx+1);title=title.slice(0,fragmentIdx);}const variantArticlePath=mw.config.get('wgVariantArticlePath');let variant=mw.config.get('wgUserVariant');let isVariantOnly=false;if(params){if(variantArticlePath&&params.variant&&Object.keys(params).length===1){variant=params.variant;isVariantOnly=true;}else{query=$.param(params);}}else if(variantArticlePath&&variant){isVariantOnly=true;}if(!title&&fragment){url='';}else if(query){url=title?util.wikiScript()+'?title='+util.wikiUrlencode(title)+'&'+query:util.wikiScript()+'?'+query;}else if(isVariantOnly){url=variantArticlePath.replace('$2',()=>util.wikiUrlencode(variant)).replace('$1',()=>util.wikiUrlencode(title));}else{url=mw.config.get('wgArticlePath').replace('$1',()=>util.wikiUrlencode(title));}if(fragment){url+='#'+util.escapeIdForLink(fragment);}return url;},
wikiScript(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(text){const s=mw.loader.addStyleTag(text);return s.sheet;},getParamValue(param,url){const re=new RegExp('^[^#]*[&?]'+util.escapeRegExp(param)+'=([^&#]*)'),m=re.exec(url!==undefined?url:location.href);if(m){try{return decodeURIComponent(m[1].replace(/\+/g,'%20'));}catch(e){}}return null;},getArrayParam(param,params){const paramRe=new RegExp('^'+util.escapeRegExp(param)+'\\[(\\d*)\\]$');if(!params){params=new URLSearchParams(location.search);}const arr=[];params.forEach((v,k)=>{const paramMatch=k.match(paramRe);if(paramMatch){let i=paramMatch[1];if(i===''){i=arr.length;}arr[i]=v;}});return arr.length?arr:null;},$content:null,hidePortlet(portletId){const portlet=document.getElementById(portletId);if(portlet){portlet.classList.add('emptyPortlet');}},isPortletVisible(portletId){const portlet=document.getElementById(portletId);
return portlet&&!portlet.classList.contains('emptyPortlet');},showPortlet(portletId){const portlet=document.getElementById(portletId);if(portlet){portlet.classList.remove('emptyPortlet');}},clearSubtitle(){const subtitle=document.getElementById('mw-content-subtitle');if(subtitle){subtitle.innerHTML='';}},messageBox(textOrElement,type='notice',inline=false){const msgBoxElement=document.createElement('div');msgBoxElement.classList.add('cdx-message');if(['error','warning','success','notice'].includes(type)){msgBoxElement.classList.add(`cdx-message--${type}`);}msgBoxElement.classList.add(inline?'cdx-message--inline':'cdx-message--block');if(type==='error'){msgBoxElement.setAttribute('role','alert');}else{msgBoxElement.setAttribute('aria-live','polite');}const iconElement=document.createElement('span');iconElement.classList.add('cdx-message__icon');const contentElement=document.createElement('div');contentElement.classList.add('cdx-message__content');if(typeof textOrElement==='string'){
contentElement.textContent=textOrElement;}else{contentElement.appendChild(textOrElement);}msgBoxElement.appendChild(iconElement);msgBoxElement.appendChild(contentElement);return msgBoxElement;},addSubtitle(nodeOrHTMLString){const subtitle=document.getElementById('mw-content-subtitle');if(!subtitle){return false;}if(typeof nodeOrHTMLString==='string'){subtitle.innerHTML+=nodeOrHTMLString;}else{subtitle.appendChild(nodeOrHTMLString);}return true;},addPortlet(id,labelOrOptions,_selectorHint){const options=$.isPlainObject(labelOrOptions)?labelOrOptions:{label:labelOrOptions,selectorHint:_selectorHint};const{label,selectorHint,useDivLabel}=options;const portlet=document.createElement('div');portlet.classList.add('mw-portlet','mw-portlet-'+id,'emptyPortlet','mw-portlet-js');portlet.id=id;if(label){const labelNode=document.createElement(useDivLabel?'div':'label');labelNode.textContent=label;portlet.appendChild(labelNode);}const listWrapper=document.createElement('div');const list=document.createElement('ul');
listWrapper.appendChild(list);portlet.appendChild(listWrapper);if(selectorHint){let referenceNode;try{referenceNode=document.querySelector(selectorHint);}catch(e){}if(referenceNode){referenceNode.after(portlet);}else{return null;}}mw.hook('util.addPortlet').fire(portlet,selectorHint);return portlet;},addPortletLink(portletId,hrefOrOptions,_text,_id,_tooltip,_accesskey,_nextnode){const options=$.isPlainObject(hrefOrOptions)?hrefOrOptions:{href:hrefOrOptions,text:_text,id:_id,tooltip:_tooltip,accesskey:_accesskey,nextnode:_nextnode};const{href,text,id,tooltip,accesskey}=options;let{nextnode}=options;if(!portletId){return null;}const portlet=document.getElementById(portletId);if(!portlet){return null;}const link=document.createElement('a');link.href=href;let linkChild=document.createTextNode(text);let i=portletLinkOptions['text-wrapper'].length;while(i--){const wrapper=portletLinkOptions['text-wrapper'][i];const wrapperElement=document.createElement(wrapper.tag);if(wrapper.attributes){$(wrapperElement).attr(wrapper.attributes);
}wrapperElement.appendChild(linkChild);linkChild=wrapperElement;}link.appendChild(linkChild);if(tooltip){link.title=tooltip;}if(accesskey){link.accessKey=accesskey;}util.showPortlet(portletId);const item=$('<li>').append(link)[0];item.className='mw-list-item mw-list-item-js';if(id){item.id=id;}let ul=portlet.tagName.toLowerCase()==='ul'?portlet:portlet.querySelector('ul');if(!ul){ul=document.createElement('ul');const portletDiv=portlet.querySelector('div');if(portletDiv){portletDiv.appendChild(ul);}else{portlet.appendChild(ul);}}let next;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=true;}}if(!next){ul.appendChild(item);}if(accesskey){$(link).updateTooltipAccessKeys();}mw.hook('util.addPortletLink').fire(item,options);return item;},validateEmail(email){if(email===''){return null;}const rfc5322Atext='a-z0-9!#$%&\'*+\\-/=?^_`{|}~';const rfc1034LdhStr='a-z0-9\\-';
const html5EmailRegexp=new RegExp('^'+'['+rfc5322Atext+'\\.]+'+'@'+'['+rfc1034LdhStr+']+'+'(?:\\.['+rfc1034LdhStr+']+)*'+'$','i');return(email.match(html5EmailRegexp)!==null);},isIPv4Address(address,allowBlock){if(typeof address!=='string'){return false;}const RE_IP_BYTE='(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9])';const RE_IP_ADD='(?:'+RE_IP_BYTE+'\\.){3}'+RE_IP_BYTE;const block=allowBlock?'(?:\\/(?:3[0-2]|[12]?\\d))?':'';return(new RegExp('^'+RE_IP_ADD+block+'$').test(address));},isIPv6Address(address,allowBlock){if(typeof address!=='string'){return false;}const block=allowBlock?'(?:\\/(?:12[0-8]|1[01][0-9]|[1-9]?\\d))?':'';let 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(address,allowBlock){return util.isIPv4Address(address,allowBlock)||util.isIPv6Address(address,allowBlock);},parseImageUrl(url){let name,decodedName,width,urlTemplate;if(/thumb\.php/.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{const regexes=[/\/[\da-f]\/[\da-f]{2}\/([^\s/]+)\/(?:[^\s/]+-)?(\d+)px-(?:\1|thumbnail|[a-z\d]{31})(?:\.[^\s/?]+)?(?:\?[^\s]+)?$/,/\/[\da-f]\/[\da-f]{2}\/([^\s/?]+)(?:\?[^\s]+)?$/,/\/([^\s/]+)\/(?:[^\s/]+-)?(\d+)px-(?:\1|thumbnail|[a-z\d]{31})[^\s/?]*(?:\?[^\s]+)?$/,/\/([^\s/?]+)(?:\?[^\s]+)?$/];for(let i=0;i<regexes.length;i++){const match=url.match(regexes[i]);if(match){name=match[1];decodedName=decodeURIComponent(name);width=match[2]||null;break;}}}if(name){if(width!==null){width=parseInt(width,10)||null;}if(config.GenerateThumbnailOnParse){
urlTemplate=mw.util.getUrl('Special:Redirect/file/'+decodedName,{width:'{width}'}).replace('%7Bwidth%7D','{width}');}else if(width&&!urlTemplate){const strippedUrl=url.replace(name,'{name}').replace(name,'{name}').replace(width+'px-','{width}px-');urlTemplate=strippedUrl.replace(/\{name\}/g,name);}return{name:decodedName.replace(/_/g,' '),width,resizeUrl:urlTemplate?(w)=>urlTemplate.replace('{width}',w):null};}return null;},adjustThumbWidthForSteps(thumbWidth,originalWidth,isVectorized=false){const steps=config.ThumbnailSteps;if(!steps){return thumbWidth;}for(const widthStep of steps){if(widthStep>originalWidth&&!isVectorized){return originalWidth;}if(widthStep>=thumbWidth){return widthStep;}}return thumbWidth;},escapeRegExp(str){return str.replace(/([\\{}()|.?*+\-^$\[\]])/g,'\\$1');},sanitizeIP(ip){if(typeof ip!=='string'){return null;}ip=ip.trim();if(ip===''){return null;}if(!this.isIPAddress(ip,true)){return ip;}if(this.isIPv4Address(ip,true)){return ip.replace(/(^|\.)0+(\d)/g,'$1$2');
}ip=ip.toUpperCase();const abbrevPos=ip.indexOf('::');if(abbrevPos!==-1){const CIDRStart=ip.indexOf('/');const addressEnd=(CIDRStart!==-1)?CIDRStart-1:ip.length-1;let repeatStr,extra,pad;if(abbrevPos===0){repeatStr='0:';extra=ip==='::'?'0':'';pad=9;}else if(abbrevPos===addressEnd-1){repeatStr=':0';extra='';pad=9;}else{repeatStr=':0';extra=':';pad=8;}const count=pad-(ip.split(':').length-1);ip=ip.replace('::',repeatStr.repeat(count)+extra);}return ip.replace(/(^|:)0+(([0-9A-Fa-f]{1,4}))/g,'$1$2');},prettifyIP(ip){ip=this.sanitizeIP(ip);if(ip===null){return null;}if(this.isIPv6Address(ip,true)){let cidr,replaceZeros;if(ip.includes('/')){const ipCidrSplit=ip.split('/',2);ip=ipCidrSplit[0];cidr=ipCidrSplit[1];}else{cidr='';}const matches=ip.match(/(?:^|:)0(?::0)+(?:$|:)/g);if(matches){replaceZeros=matches[0];for(let i=1;i<matches.length;i++){if(matches[i].length>replaceZeros.length){replaceZeros=matches[i];}}}ip=ip.replace(replaceZeros,'::');if(cidr!==''){ip=ip.concat('/',cidr);}ip=ip.toLowerCase();
}return ip;},isTemporaryUser(username){if(!config.AutoCreateTempUser.enabled&&!config.AutoCreateTempUser.known){return false;}if(username===null){return false;}let matchPatterns=config.AutoCreateTempUser.matchPattern;if(typeof matchPatterns==='string'){matchPatterns=[matchPatterns];}else if(matchPatterns===null){matchPatterns=[config.AutoCreateTempUser.genPattern];}for(let i=0;i<matchPatterns.length;i++){const autoCreateUserMatchPattern=matchPatterns[i];const position=autoCreateUserMatchPattern.indexOf('$1');if(position===-1){return false;}const prefix=autoCreateUserMatchPattern.slice(0,position);const suffix=autoCreateUserMatchPattern.slice(position+'$1'.length);let match=true;if(prefix!==''){match=username.startsWith(prefix);}if(match&&suffix!==''){match=(username.endsWith(suffix))&&(username.length>=prefix.length+suffix.length);}if(match){return true;}}return false;},isInfinity(str){return infinityValues.includes(str);}};function init(){const content=document.querySelector('.mw-body-primary')||
document.querySelector('.mw-body')||document.querySelector('#mw-content-text')||document.body;util.$content=$(content);}mw.RegExp={};mw.log.deprecate(mw.RegExp,'escape',util.escapeRegExp,'Use mw.util.escapeRegExp() instead.','mw.RegExp.escape');if(window.QUnit){util.setOptionsForTest=function(opts){config=!opts?require('./config.json'):Object.assign({},config,opts);};util.init=init;}else{$(init);}mw.util=util;module.exports=util;
},"jquery.accessKeyLabel.js":function(require,module,exports){let testMode=false;let cachedModifiers;function getAccessKeyModifiers(nav){if(!nav&&cachedModifiers){return cachedModifiers;}const profile=$.client.profile(nav);let accessKeyModifiers;switch(profile.name){case'opera':case'chrome':if(profile.platform==='mac'){accessKeyModifiers='ctrl-option';}else{accessKeyModifiers='alt';}break;case'firefox':case'iceweasel':if(profile.platform==='mac'){if(profile.versionNumber<14){accessKeyModifiers='ctrl';}else{accessKeyModifiers='ctrl-option';}}else{accessKeyModifiers='alt-shift';}break;case'safari':accessKeyModifiers='ctrl-option';break;case'msie':case'edge':accessKeyModifiers='alt';break;default:accessKeyModifiers=profile.platform==='mac'?'ctrl':'alt';break;}if(!nav){cachedModifiers=accessKeyModifiers;}return accessKeyModifiers;}function getAccessKeyLabel(element){if(!element.accessKey){return'';}if(!testMode&&element.accessKeyLabel){return element.accessKeyLabel;}return(testMode?'test':getAccessKeyModifiers())+'-'+element.accessKey;}function updateTooltipOnElement(element,titleElement){
const oldTitle=titleElement.title;if(!oldTitle){return;}const separatorMsg=mw.message('word-separator').plain();const parts=(separatorMsg+mw.message('brackets').plain()).split('$1');const regexp=new RegExp(parts.map(mw.util.escapeRegExp).join('.*?')+'$');let newTitle=oldTitle.replace(regexp,'');const accessKeyLabel=getAccessKeyLabel(element);if(accessKeyLabel){newTitle+=separatorMsg+mw.message('brackets',accessKeyLabel).plain();}if(oldTitle!==newTitle){titleElement.title=newTitle;}}const labelable='button, input, textarea, keygen, meter, output, progress, select';function updateTooltip(element){updateTooltipOnElement(element,element);const $element=$(element);if($element.is(labelable)){const id=element.id.replace(/"/g,'\\"');if(id){const $label=$('label[for="'+id+'"]');if($label.length===1){updateTooltipOnElement(element,$label[0]);}}const $labelParent=$element.parents('label');if($labelParent.length===1){updateTooltipOnElement(element,$labelParent[0]);}}}$.fn.updateTooltipAccessKeys=function(){
return this.each(function(){updateTooltip(this);});};$.fn.updateTooltipAccessKeys.getAccessKeyLabel=getAccessKeyLabel;$.fn.updateTooltipAccessKeys.getAccessKeyPrefix=function(nav){return getAccessKeyModifiers(nav)+'-';};$.fn.updateTooltipAccessKeys.setTestMode=function(mode){testMode=mode;};
},"config.json":{"FragmentMode":["html5","legacy"],"GenerateThumbnailOnParse":false,"LoadScript":"/w/load.php","AutoCreateTempUser":{"known":true,"enabled":true,"actions":["edit"],"genPattern":"~$1","matchPattern":"~2$1","reservedPattern":"~2$1","serialProvider":{"type":"centralauth","numShards":30,"useYear":true},"serialMapping":{"type":"readable-numeric","offset":1500},"expireAfterDays":90,"notifyBeforeExpirationDays":10},"ThumbnailSteps":[20,40,60,120,250,330,500,960,1280,1920,3840]},"portletLinkOptions.json":{"text-wrapper":[{"tag":"span"}]},"infinityValues.json":["infinite","indefinite","infinity","never"]}},{},{"brackets":"[$1]","word-separator":" "}];});
mw.loader.impl(function(){return["mediawiki.visibleTimeout@ehbob",{"main":"visibleTimeout.js","files":{"visibleTimeout.js":function(require,module,exports){let doc,HIDDEN,VISIBILITY_CHANGE,nextId=1;const clearHandles=Object.create(null);function init(overrideDoc){doc=overrideDoc||document;if(doc.hidden!==undefined){HIDDEN='hidden';VISIBILITY_CHANGE='visibilitychange';}else if(doc.mozHidden!==undefined){HIDDEN='mozHidden';VISIBILITY_CHANGE='mozvisibilitychange';}else if(doc.webkitHidden!==undefined){HIDDEN='webkitHidden';VISIBILITY_CHANGE='webkitvisibilitychange';}}init();module.exports={set:function(fn,delay){let nativeId=null,lastStartedAt=mw.now();const visibleId=nextId++;function clearHandle(){if(nativeId!==null){clearTimeout(nativeId);nativeId=null;}delete clearHandles[visibleId];if(VISIBILITY_CHANGE){doc.removeEventListener(VISIBILITY_CHANGE,visibilityCheck,false);}}function onComplete(){clearHandle();fn();}function visibilityCheck(){const now=mw.now();if(HIDDEN&&doc[HIDDEN]){if(nativeId!==null){delay=Math.max(0,delay-Math.max(0,now-lastStartedAt));if(delay===0){onComplete();}else{clearTimeout(nativeId);nativeId=null;}}}else{if(nativeId===null){
lastStartedAt=now;nativeId=setTimeout(onComplete,delay);}}}clearHandles[visibleId]=clearHandle;if(VISIBILITY_CHANGE){doc.addEventListener(VISIBILITY_CHANGE,visibilityCheck,false);}visibilityCheck();return visibleId;},clear:function(visibleId){if(visibleId in clearHandles){clearHandles[visibleId]();}}};if(window.QUnit){module.exports.init=init;}
}}}];});
mw.loader.impl(function(){return["mediawiki.libs.pluralruleparser@1utt8",function($,jQuery,require,module){function e(e,t){let n,r,i=e.indexOf(`.`);for(i===-1?(n=e,r=``):(n=e.slice(0,i),r=e.slice(i+1));r.length<t;)r+=`0`;let a=n+r.slice(0,t),o=r.slice(t),s=a.replace(/^0+/,``)||`0`;return o.length>0?`${s}.${o}`:s}function t(t,n){if(t=t.split(`@`)[0].replace(/^\s*/,``).replace(/\s*$/,``),!t.length)return!0;let r=/^(\d+(?:\.\d+)?)[ce](\d+)$/.exec(n),i=r?parseInt(r[2],10):0,a=r?e(r[1],i):String(n),o=0,s=j(/^\s+/),c=j(/^\d+/),l=A(`n`),u=A(`i`),d=A(`f`),f=A(`t`),p=A(`v`),m=A(`w`),h=A(`e`),g=A(`c`),_=A(`is`),v=A(`is not`),y=A(`!=`),ee=A(`=`),te=A(`mod`),ne=A(`%`),b=A(`not`),x=A(`in`),S=A(`within`),C=A(`..`),w=A(`,`),T=A(`or`),E=A(`and`);function D(e){return()=>{let t,n;for(t=0;t<e.length;t++)if(n=e[t](),n!==null)return n;return null}}function O(e){let t,n,r=o,i=[];for(t=0;t<e.length;t++){if(n=e[t](),n===null)return o=r,null;i.push(n)}return i}function k(e,t){return()=>{let n=o,r=[],i=t();for(;i!==null;)r.push(i),i=t();return r.length<e?(o=n,null):r}}function A(e){let n=e.length;return()=>{let r=null;return t.substr(o,n)===e&&(r=e,o+=n),r}}function j(e){return()=>{let n=t.substr(o).match(e);return n===null?null:(o+=n[0].length,n[0])}}function M(){let e=u();return e===null||(e=parseInt(a,10)),e}function N(){let e=l();return e===null||(e=parseFloat(a)),e}function P(){let e=d();return e===null||(e=`${a}.`.split(`.`)[1]||0),e}function F(){let e=f();return e===null||(e=`${a}.`.split(`.`)[1].replace(/0+$/,``)||0),e}function re(){let e=p();return e===null||(e=`${a}.`.split(`.`)[1].length||0),e}function I(){let e=m();return e===null||(e=`${a}.`.split(`.`)[1].replace(/0+$/,``).length||0),e}function L(){let e=h();return e===null||(e=i),e}function R(){let e=g();return e===null||(e=i),e}let z=D([N,M,P,F,re,I,L,R]),B=D([V,z]);function V(){let e=O([z,s,D([te,ne]),s,c]);return e===null?null:(parseInt(e[0],10),e[2],parseInt(e[4],10),parseFloat(e[0])%parseInt(e[4],10))}function H(){let e=O([s,b]);return e===null?null:e[1]}function U(){let e=O([B,s,D([_]),s,c]);return e===null?null:(e[0],parseInt(e[4],10),e[0]===parseInt(e[4],10))}function W(){let e=O([B,s,D([v,y]),s,c]);return e===null?null:(e[0],parseInt(e[4],10),e[0]!==parseInt(e[4],10))}function G(){let e,t,n=O([B,s,y,s,K]);if(n!==null){for(n[0],n[4],t=n[4],e=0;e<t.length;e++)if(parseInt(t[e],10)===parseFloat(n[0]))return!1;return!0}return null}function K(){let e=O([D([J,c]),k(0,q)]),t=[];return e===null?null:(t=t.concat(e[0]),e[1][0]&&(t=t.concat(e[1][0])),t)}function q(){let e=O([w,K]);return e===null?null:e[1]}function J(){let e,t,n,r,i=O([c,C,c]);if(i!==null){for(t=[],n=parseInt(i[0],10),r=parseInt(i[2],10),e=n;e<=r;e++)t.push(e);return t}return null}function Y(){let e=O([B,k(0,H),s,D([x,ee]),s,K]);if(e!==null){let t=e[5];for(let n=0;n<t.length;n++)if(parseInt(t[n],10)===parseFloat(e[0]))return e[1][0]!==`not`;return e[1][0]===`not`}return null}function X(){let e=O([B,k(0,H),s,S,s,K]);if(e!==null){let t=e[5];return e[0]>=parseInt(t[0],10)&&e[0]<parseInt(t[t.length-1],10)?e[1][0]!==`not`:e[1][0]===`not`}return null}let Z=D([U,G,W,Y,X]);function Q(){let e,t=O([Z,k(0,ie)]);if(t){if(!t[0])return!1;for(e=0;e<t[1].length;e++)if(!t[1][e])return!1;return!0}return null}function ie(){let e=O([s,E,s,Z]);return e===null?null:e[3]}function ae(){let e=O([s,T,s,Q]);return e===null?null:(e[3],e[3])}function oe(){let e,t=O([Q,k(0,ae)]);if(t){for(e=0;e<t[1].length;e++)if(t[1][e])return!0;return t[0]}return!1}let $=oe();if($===null)throw Error(`Parse error at position ${o.toString()} for rule: ${t}`);return o!==t.length&&t.substr(0,o),$}module.exports=t;
window.pluralRuleParser=mw.libs.pluralRuleParser=module.exports;
}];});
mw.loader.impl(function(){return["mediawiki.page.ready@1mqpu",{"main":"ready.js","files":{"ready.js":function(require,module,exports){const checkboxShift=require('./checkboxShift.js');const config=require('./config.json');const teleportTarget=require('./teleportTarget.js');const enableSearchDialog=require('./enableSearchDialog.js');const clearAddressBar=require('./clearAddressBar.js');const share=require('./share.js');const{updateThumbnailsToPreferredSize}=require('./updateThumbnailsToPreferredSize.js');if(mw.config.get('wgBreakFrames')){if(window.top!==window.self){window.top.location.href=location.href;}}mw.hook('wikipage.content').add(($content)=>{const modules=[];let $collapsible;if(config.collapsible){$collapsible=$content.find('.mw-collapsible');if($collapsible.length){modules.push('jquery.makeCollapsible');}}let $sortable;if(config.sortable){$sortable=$content.find('table.sortable');if($sortable.length){modules.push('jquery.tablesorter');}}if(modules.length){mw.loader.using(modules).then(()=>{if($sortable&&$sortable.length){$sortable.tablesorter();}if($collapsible&&$collapsible.length){$collapsible.makeCollapsible();
}});}if($content[0]&&$content[0].isConnected===false){mw.log.warn('wikipage.content hook should not be fired on unattached content');}checkboxShift($content.find('input[type="checkbox"]:not(.noshiftselect)'));});const wprov=require('./wprovStrip.js').stripWprov();require('./toggleAllCollapsibles.js');$(()=>{$('[accesskey]').updateTooltipAccessKeys();const node=document.querySelector('.mw-indicators');if(node&&node.children.length){mw.hook('wikipage.indicators').fire($(node.children));}const $content=$('#mw-content-text');if($content.length){mw.hook('wikipage.content').fire($content);}let $nodes=$('.catlinks[data-mw-interface]');if($nodes.length){mw.hook('wikipage.categories').fire($nodes);}$nodes=$('table.diff[data-mw-interface]');if($nodes.length){mw.hook('wikipage.diff').fire($nodes.eq(0));}$('#t-print a').on('click',(e)=>{window.print();e.preventDefault();});const $permanentLink=$('#t-permalink a');function updatePermanentLinkHash(){if(mw.util.getTargetFromFragment()){$permanentLink[0].hash=location.hash;
}else{$permanentLink[0].hash='';}}if($permanentLink.length){$(window).on('hashchange',updatePermanentLinkHash);updatePermanentLinkHash();}const LOGOUT_EVENT='skin.logout';function logoutViaPost(href){let confirmedPromise;if(mw.user.isTemp()){confirmedPromise=mw.loader.using(['oojs-ui-windows','mediawiki.jqueryMsg']).then(()=>{const $confirmDialogContent=$('<div>').append($('<p>').append(mw.message('userlogout-temp').parseDom()));const $moreInfoContent=mw.message('userlogout-temp-moreinfo').parseDom();if($moreInfoContent.text().trim().length){$confirmDialogContent.append($('<p>').append($moreInfoContent));}$confirmDialogContent.append(new OO.ui.MessageWidget({type:'notice',label:$('<div>').append($('<strong>').text(mw.msg('userlogout-temp-messagebox-title')),$('<br>'),mw.message('userlogout-temp-messagebox-body').parseDom())}).$element);return OO.ui.confirm($confirmDialogContent,{size:'medium',title:mw.msg('temp-user-logout-confirm-title'),actions:[{action:'accept',label:mw.msg('userlogout-submit'),
flags:['primary','progressive']},{action:'reject',label:mw.msg('ooui-dialog-message-reject'),flags:'safe'}]});});}else{confirmedPromise=$.Deferred().resolve(true).promise();}confirmedPromise.then((confirmed)=>{if(!confirmed){return;}mw.notify(mw.message('logging-out-notify'),{tag:'logout',autoHide:false});const api=new mw.Api();if(mw.user.isTemp()){const url=new URL(href);url.searchParams.append('wasTempUser',1);href=url;}api.prepareExtensibleApiRequest('extendLogout').then((params)=>{const logoutParams=Object.assign({},params,{action:'logout'});api.postWithToken('csrf',logoutParams).then(()=>{location.href=href;},(err,data)=>{mw.notify(api.getErrorMessage(data),{type:'error',tag:'logout',autoHide:false});});});});}mw.hook(LOGOUT_EVENT).add(logoutViaPost);$(config.selectorLogoutLink).on('click',function(e){mw.hook(LOGOUT_EVENT).fire(this.href);e.preventDefault();});teleportTarget.attach();});function isSearchInput(element){return element.id==='searchInput'||element.classList.contains('mw-searchInput');
}function loadSearchModule(moduleName){function requestSearchModule(){mw.loader.using(moduleName).then(()=>{const{init}=require(moduleName);if(init){init();}});}function eventListener(e){if(e.target&&e.target.nodeType===1&&isSearchInput(e.target)){requestSearchModule();document.removeEventListener('focusin',eventListener);}}if(document.activeElement&&isSearchInput(document.activeElement)){requestSearchModule();return;}document.addEventListener('focusin',eventListener);}if(config.search){loadSearchModule(config.searchModule);}try{if(sessionStorage.getItem('mw-PostEdit'+mw.config.get('wgPageName'))){mw.loader.load('mediawiki.action.view.postEdit');}}catch(err){}updateThumbnailsToPreferredSize($('#mw-content-text .mw-parser-output'));mw.hook('wikipage.content').add(updateThumbnailsToPreferredSize);$(document.body).on('click','.mw-heading a.mw-section-share',function(event){event.preventDefault();const url=new URL(this.getAttribute('href'),location);let link=url.toString();try{const decodedLink=decodeURI(link);
if(new URL(decodedLink).toString()===link){link=decodedLink;}}catch(err){}share({url:link});});window.addEventListener('beforeprint',()=>{Array.prototype.forEach.call(document.querySelectorAll('img[loading]'),(img)=>{img.loading='eager';});});module.exports={config,share,clearAddressBar,enableSearchDialog,loadSearchModule,checkboxHack:require('./checkboxHack.js'),teleportTarget:teleportTarget.target,wprov};
},"updateThumbnailsToPreferredSize.js":function(require,module,exports){const makeSrcSetMap=(srcset)=>{const srcsetMap={};srcset.split(',').map((a)=>a.trim().split(' ')).forEach((combo)=>{if(combo.length===2&&combo[1].endsWith('x')){srcsetMap[combo[1].replace('x','')]=combo[0];}});return srcsetMap;};const shuffleSrcSet=(srcsetMap)=>Object.keys(srcsetMap).filter((key)=>parseInt(key,10)-1>1).map((key)=>`${srcsetMap[key]} ${parseInt(key,10)-1}x`).join(', ');const updateThumbnailToPreferredSize=(img)=>{const srcsetMap=makeSrcSetMap(img.srcset);if(Object.keys(srcsetMap).length>0){const newSrcset=shuffleSrcSet(srcsetMap);const upgradedSrc=srcsetMap['2'];if(upgradedSrc){img.src=upgradedSrc;}if(newSrcset){img.srcset=newSrcset;if(upgradedSrc&&img.src!==upgradedSrc){img.src=upgradedSrc;}}}};function updateThumbnailsToPreferredSize($element){if(mw.user.clientPrefs.get('skin-thumbsize')==='large'){const observer=new IntersectionObserver((entries)=>{entries.forEach((entry)=>{if(entry.isIntersecting){updateThumbnailToPreferredSize(entry.target);observer.unobserve(entry.target);
}});});$element.find('.mw-default-size img[srcset]').each((_,img)=>{observer.observe(img);});}}module.exports={test:{shuffleSrcSet,makeSrcSetMap,updateThumbnailToPreferredSize},updateThumbnailsToPreferredSize};
},"enableSearchDialog.js":function(require,module,exports){const config=require('./config.json');const clearAddressBar=require('./clearAddressBar.js');const searchRoute=new RegExp(/\/search/);let tempInput=null;function addRoutes(router,trigger){let searchOpen=false;clearAddressBar(router,searchRoute);router.addRoute(searchRoute,()=>{searchOpen=true;const searchModuleName=config.searchModule;mw.loader.using(searchModuleName).then(()=>{const{init}=require(searchModuleName);if(init){init();if(tempInput){transferFocusToRealInput();}}});});router.on('route',(ev)=>{if(searchOpen&&!ev.path.match(searchRoute)){searchOpen=false;requestAnimationFrame(()=>{trigger.focus();});}});}function createTempInput(){if(tempInput){tempInput.remove();}tempInput=document.createElement('input');tempInput.type='text';tempInput.style.position='absolute';tempInput.style.left='0';tempInput.style.top='0';tempInput.style.fontSize='16px';tempInput.style.opacity='0';tempInput.style.pointerEvents='none';tempInput.setAttribute('readonly',true);document.body.appendChild(tempInput);
tempInput.focus();}function transferFocusToRealInput(){const realInput=document.querySelector('.cdx-typeahead-search .cdx-text-input__input');if(realInput&&tempInput){requestAnimationFrame(()=>{realInput.focus();tempInput.remove();tempInput=null;});}}module.exports=function(trigger){mw.loader.using('mediawiki.router').then(()=>{const router=require('mediawiki.router');addRoutes(router,trigger);});trigger.addEventListener('click',(ev)=>{ev.preventDefault();window.location.hash='/search';createTempInput();});};
},"checkboxShift.js":function(require,module,exports){let prev;function clickHandler(e){if(prev&&e.shiftKey){const $checkboxes=e.data.$checkboxes;$checkboxes.slice(Math.min($checkboxes.index(prev),$checkboxes.index(e.target)),Math.max($checkboxes.index(prev),$checkboxes.index(e.target))+1).filter(function(){return!this.disabled&&this.checked!==e.target.checked;}).prop('checked',e.target.checked).trigger('change');}prev=e.target;}module.exports=function($checkboxes){$checkboxes.off('click',clickHandler).on('click',{$checkboxes:$checkboxes},clickHandler);};
},"checkboxHack.js":function(require,module,exports){function updateAriaExpanded(checkbox,button){if(button){mw.log.warn('[1.38] The button parameter in updateAriaExpanded is deprecated, aria-expanded will be applied to the checkbox going forward. View the updated checkbox hack documentation for more details.');button.setAttribute('aria-expanded',checkbox.checked.toString());return;}checkbox.setAttribute('aria-expanded',checkbox.checked.toString());}function setCheckedState(checkbox,checked){checkbox.checked=checked;const e=new Event('input',{bubbles:true,composed:true});checkbox.dispatchEvent(e);}function containsEventTarget(checkbox,button,target,event){return event.target instanceof Node&&(checkbox.contains(event.target)||button.contains(event.target)||target.contains(event.target));}function dismissIfExternalEventTarget(checkbox,button,target,event){if(checkbox.checked&&!containsEventTarget(checkbox,button,target,event)){setCheckedState(checkbox,false);}}function bindUpdateAriaExpandedOnInput(checkbox,button){if(button){mw.log.warn('[1.38] The button parameter in bindUpdateAriaExpandedOnInput is deprecated, aria-expanded will be applied to the checkbox going forward. View the updated checkbox hack documentation for more details.');
}const listener=updateAriaExpanded.bind(undefined,checkbox,button);checkbox.addEventListener('input',listener);return function(){checkbox.removeEventListener('input',listener);};}function bindToggleOnClick(checkbox,button){function listener(event){event.preventDefault();setCheckedState(checkbox,!checkbox.checked);}button.addEventListener('click',listener,true);return function(){button.removeEventListener('click',listener,true);};}function bindToggleOnSpaceEnter(checkbox,button){mw.log.warn('[1.38] bindToggleOnSpaceEnter is deprecated. Use `bindToggleOnEnter` instead.');function isEnterOrSpace(event){return event.key===' '||event.key==='Enter';}function onKeydown(event){if(!isEnterOrSpace(event)){return;}event.preventDefault();}function onKeyup(event){if(!isEnterOrSpace(event)){return;}button.click();}button.addEventListener('keydown',onKeydown);button.addEventListener('keyup',onKeyup);return function(){button.removeEventListener('keydown',onKeydown);button.removeEventListener('keyup',onKeyup);
};}function bindToggleOnEnter(checkbox){function onKeyup(event){if(event.key!=='Enter'){return;}setCheckedState(checkbox,!checkbox.checked);}checkbox.addEventListener('keyup',onKeyup);return function(){checkbox.removeEventListener('keyup',onKeyup);};}function bindDismissOnClickOutside(window,checkbox,button,target){const listener=dismissIfExternalEventTarget.bind(undefined,checkbox,button,target);window.addEventListener('click',listener,true);return function(){window.removeEventListener('click',listener,true);};}function bindDismissOnFocusLoss(window,checkbox,button,target){const listener=dismissIfExternalEventTarget.bind(undefined,checkbox,button,target);window.addEventListener('focusin',listener,true);return function(){window.removeEventListener('focusin',listener,true);};}function bindDismissOnClickLink(checkbox,target){function dismissIfClickLinkEvent(event){if(event.target&&event.target.parentNode&&(event.target.nodeName==='A'||event.target.parentNode.nodeName==='A')){
setCheckedState(checkbox,false);}}target.addEventListener('click',dismissIfClickLinkEvent);return function(){target.removeEventListener('click',dismissIfClickLinkEvent);};}function bind(window,checkbox,button,target){const cleanups=[bindUpdateAriaExpandedOnInput(checkbox),bindToggleOnClick(checkbox,button),bindToggleOnEnter(checkbox),bindDismissOnClickOutside(window,checkbox,button,target),bindDismissOnFocusLoss(window,checkbox,button,target),bindDismissOnClickLink(checkbox,target)];return function(){cleanups.forEach((cleanup)=>{cleanup();});};}module.exports={updateAriaExpanded,bindUpdateAriaExpandedOnInput,bindToggleOnClick,bindToggleOnSpaceEnter,bindToggleOnEnter,bindDismissOnClickOutside,bindDismissOnFocusLoss,bindDismissOnClickLink,bind};
},"clearAddressBar.js":function(require,module,exports){function clearAddressBar(router,route){if(!route||route.test(router.getPath())){router.navigateTo(document.title,{path:'#',useReplaceState:true});}}module.exports=clearAddressBar;
},"teleportTarget.js":function(require,module,exports){const ID='mw-teleport-target';const target=document.createElement('div');target.id=ID;module.exports={target,attach(){document.body.appendChild(target);}};
},"toggleAllCollapsibles.js":function(require,module,exports){let toggleAll;mw.hook('wikipage.content').add(()=>{if(toggleAll){return;}if(!document.querySelector('#mw-content-text .mw-parser-output .mw-collapsible')){return;}const portletLink=mw.util.addPortletLink('p-tb','#',mw.msg('collapsible-expand-all-text'),'t-collapsible-toggle-all',mw.msg('collapsible-expand-all-tooltip'));if(!portletLink){return;}toggleAll=portletLink.querySelector('a');toggleAll.setAttribute('role','button');toggleAll.setAttribute('aria-expanded','false');let allExpanded=false;toggleAll.addEventListener('click',(e)=>{e.preventDefault();if(!allExpanded){const collapsed=document.querySelectorAll('#mw-content-text .mw-parser-output .mw-made-collapsible.mw-collapsed');Array.prototype.forEach.call(collapsed,(collapsible)=>{$(collapsible).data('mw-collapsible').expand();});toggleAll.textContent=mw.msg('collapsible-collapse-all-text');toggleAll.title=mw.msg('collapsible-collapse-all-tooltip');toggleAll.setAttribute('aria-expanded','true');allExpanded=true;}else{const expanded=document.querySelectorAll('#mw-content-text .mw-parser-output .mw-made-collapsible:not( .mw-collapsed )');
Array.prototype.forEach.call(expanded,(collapsible)=>{$(collapsible).data('mw-collapsible').collapse();});toggleAll.textContent=mw.msg('collapsible-expand-all-text');toggleAll.title=mw.msg('collapsible-expand-all-tooltip');toggleAll.setAttribute('aria-expanded','false');allExpanded=false;}});});
},"wprovStrip.js":function(require,module,exports){function stripWprov(loc=window.location.href){const uri=new URL(loc);const wprov=uri.searchParams.get('wprov');if(window.history.replaceState&&wprov){uri.searchParams.delete('wprov');if(uri.searchParams.has('title')&&uri.searchParams.size===1&&uri.pathname===mw.config.get('wgScript')){const canonUrl=mw.util.getUrl(uri.searchParams.get('title'));if(!canonUrl.includes('?')){uri.pathname=canonUrl;uri.searchParams.delete('title');}}window.history.replaceState({},'',uri.toString());}return wprov;}module.exports={stripWprov};
},"share.js":function(require,module,exports){function share(shareData){if(navigator.canShare&&navigator.canShare(shareData)){navigator.share(shareData);}navigator.clipboard.writeText(shareData.url);mw.notify(mw.msg('sharesection-clipboard-message'));}module.exports=share;
},"config.json":{"watchLoadingStates":true,"search":true,"searchModule":"skins.minerva.search","collapsible":true,"sortable":true,"selectorLogoutLink":"a.menu__item--logout[data-mw-interface]"}}},{"css":["#mw-teleport-target{position:absolute;z-index:450}"]},{"collapsible-collapse-all-text":"\ubaa8\ub450 \uc228\uae30\uae30","collapsible-collapse-all-tooltip":"\ud604\uc7ac \ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uc744 \uc218 \uc788\ub294 \uc694\uc18c\ub97c \ubaa8\ub450 \uc811\uc2b5\ub2c8\ub2e4","collapsible-expand-all-text":"\ubaa8\ub450 \ud3bc\uce58\uae30","collapsible-expand-all-tooltip":"\ud604\uc7ac \ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uc744 \uc218 \uc788\ub294 \uc694\uc18c\ub97c \ubaa8\ub450 \ud3bc\uce69\ub2c8\ub2e4","logging-out-notify":"\ub85c\uadf8\uc544\uc6c3 \uc911\uc785\ub2c8\ub2e4. \uae30\ub2e4\ub824 \uc8fc\uc2ed\uc2dc\uc624.","sharesection-clipboard-message":"\ub9c1\ud06c\uac00 \ud074\ub9bd\ubcf4\ub4dc\uc5d0 \ubcf5\uc0ac\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","temp-user-logout-confirm-title":"\uc138\uc158 \ub098\uac00\uae30","userlogout-submit":"\ub85c\uadf8\uc544\uc6c3","userlogout-temp":"\ub3c4\uc11c\uad00\uc774\ub098 \ud559\uad50 \ucef4\ud4e8\ud130\uc640 \uac19\uc740 \uacf5\uc6a9 \uae30\uae30\uc5d0\uc11c \ud3b8\uc9d1\ud558\ub294 \uacbd\uc6b0, \uc774 \uc138\uc158\uc744 \uc885\ub8cc\ud558\uba74 \ub2e4\ub978 \uc0ac\ub78c\uc774 \uc774 \uc784\uc2dc \uacc4\uc815\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \ubc29\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.","userlogout-temp-messagebox-body":"\ub85c\uadf8\uc544\uc6c3\ud558\uba74 \uc774 \uc784\uc2dc \uacc4\uc815\uc5d0 \ub354 \uc774\uc0c1 \uc811\uadfc\ud560 \uc218 \uc5c6\uac8c \ub429\ub2c8\ub2e4.","userlogout-temp-messagebox-title":"\uc138\uc158\uc744 \ub098\uac00\uace0 \ub85c\uadf8\uc544\uc6c3\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?","userlogout-temp-moreinfo":""}];});
mw.loader.impl(function(){return["mediawiki.page.watch.ajax@1fwuy",{"main":"watch-ajax.js","files":{"watch-ajax.js":function(require,module,exports){(function(){const pageTitle=mw.config.get('wgRelevantPageName'),pageReadyConfig=require('mediawiki.page.ready').config,config=require('./config.json'),isWatchlistExpiryEnabled=config.WatchlistExpiry,watchlistLabelsEnabled=config.EnableWatchlistLabels,watchstarsByTitle=Object.create(null),enablePopover=config.EnableWatchstarPopover;function updateWatchLinkAttributes($link,action,state,expiry){if(!$link.length){return;}expiry=expiry||'infinity';if(action!=='watch'&&action!=='unwatch'){throw new Error('Invalid action');}const otherAction=action==='watch'?'unwatch':'watch';const $li=$link.closest('li');if(state!=='loading'){$li.trigger('watchpage.mw',[otherAction,mw.util.isInfinity(expiry)?null:expiry]);}let tooltipAction=action;let daysLeftExpiry=null;let watchExpiry=null;if(isWatchlistExpiryEnabled&&action==='unwatch'){if(mw.util.isInfinity(expiry)){tooltipAction='unwatch';}else{const expiryDate=new Date(expiry);const currentDate=new Date();daysLeftExpiry=Math.ceil((expiryDate-currentDate)/(1000*60*60*24));
if(daysLeftExpiry>0){tooltipAction='unwatch-expiring';}else{tooltipAction='unwatch-expiring-hours';}watchExpiry=expiryDate.toISOString();}}const msgKey=pageReadyConfig.watchLoadingStates&&state==='loading'?action+'ing':action;const msg=mw.msg(msgKey);const link=$link.get(0);if(link.children.length>1&&link.lastElementChild.tagName==='SPAN'){link.lastElementChild.textContent=msg;}else{link.textContent=msg;}$link.toggleClass('loading',state==='loading').attr('title',mw.msg('tooltip-ca-'+tooltipAction,daysLeftExpiry)).updateTooltipAccessKeys().attr('href',mw.util.getUrl(pageTitle,{action:action})).attr('data-mw-expiry',watchExpiry);$li.toggleClass('mw-watchlink-temp',expiry!==null&&expiry!=='infinity');if(state!=='loading'&&$li.prop('id')==='ca-'+otherAction){$li.prop('id','ca-'+action);}}function notifyPageWatchStatus(isWatched,expiry,expirySelected){expiry=expiry||'infinity';expirySelected=expirySelected||'infinite';mw.hook('wikipage.watchlistChange').fire(isWatched,expiry,expirySelected
);}function updatePageWatchStatus(isWatched,expiry,expirySelected){(watchstarsByTitle[pageTitle]||[]).forEach((w)=>{w.update(isWatched,expiry);});notifyPageWatchStatus(isWatched,expiry,expirySelected);}function updateWatchLink(titleOrLink,action,state,expiry,expirySelected){if(titleOrLink instanceof $){updateWatchLinkAttributes(titleOrLink,action,state,expiry);}else{const isWatched=action==='unwatch';const normalizedTitle=titleOrLink.getPrefixedDb();(watchstarsByTitle[normalizedTitle]||[]).forEach((w)=>{w.update(isWatched,expiry,expirySelected);});if(normalizedTitle===pageTitle){notifyPageWatchStatus(isWatched,expiry,expirySelected);}}}function mwUriGetAction(url){const action=mw.util.getParamValue('action',url);if(action!==null){return action;}const actionPaths=mw.config.get('wgActionPaths');for(const key in actionPaths){let parts=actionPaths[key].split('$1');parts=parts.map(mw.util.escapeRegExp);const m=new RegExp(parts.join('(.+)')).exec(url);if(m&&m[1]){return key;}}return'view';}
function init(){let $pageWatchLinks=$('.mw-watchlink a[data-mw-interface]');if(!$pageWatchLinks.length){$pageWatchLinks=$('.mw-watchlink a, a.mw-watchlink');$pageWatchLinks=$pageWatchLinks.filter(':not( #bodyContent *, #content * )');}if($pageWatchLinks.length){watchstar($pageWatchLinks,pageTitle);}}function Watchstar($link,title,callback){this.$link=$link;this.title=title;this.callback=callback;}Watchstar.prototype.update=function(isWatched,expiry){expiry=expiry||'infinity';updateWatchLinkAttributes(this.$link,isWatched?'unwatch':'watch','idle',expiry);if(this.callback){this.callback(this.$link,isWatched,expiry);}};function watchstar($links,title,callback){let notificationId='mw-watchlink-notification';if(enablePopover){notificationId='mw-watchstar-WatchlistPopup';}let vueWatchlistPopup;const mwTitle=mw.Title.newFromText(title);const preferredExpiry=mw.user.options.get('watchstar-expiry','infinity');if(!mwTitle){return;}const normalizedTitle=mwTitle.getPrefixedDb();watchstarsByTitle[normalizedTitle]=watchstarsByTitle[normalizedTitle]||[];
$links.each(function(){watchstarsByTitle[normalizedTitle].push(new Watchstar($(this),mwTitle,callback));});$links.attr('aria-controls',notificationId);$links.on('click',function(e){let action=mwUriGetAction(this.href);if(!mwTitle||(action!=='watch'&&action!=='unwatch')){return true;}e.preventDefault();e.stopPropagation();const $link=$(this);if(!enablePopover){if($link.hasClass('loading')){return;}}updateWatchLinkAttributes($link,action,'loading');const modulesToLoad=['mediawiki.notification'];if(isWatchlistExpiryEnabled||watchlistLabelsEnabled){if(enablePopover){modulesToLoad.push('mediawiki.watchstar.popover');}else{modulesToLoad.push('mediawiki.watchstar.widgets');}}if(watchlistLabelsEnabled){modulesToLoad.push('mediawiki.widgets.MenuTagMultiselectWidget');}mw.loader.load(modulesToLoad);if(!enablePopover){const api=new mw.Api();api[action](title,preferredExpiry).done((watchResponse)=>{const isWatched=watchResponse.watched===true;let watchlistPopup;let notifyPromise;let message=isWatched?'addedwatchtext':'removedwatchtext';
if(mwTitle.isTalkPage()){message+='-talk';}if(isWatchlistExpiryEnabled||watchlistLabelsEnabled){if(isWatched){if(!preferredExpiry||mw.util.isInfinity(preferredExpiry)){message=mwTitle.isTalkPage()?'addedwatchindefinitelytext-talk':'addedwatchindefinitelytext';}else{message=mwTitle.isTalkPage()?'addedwatchexpirytext-talk':'addedwatchexpirytext';}}notifyPromise=mw.loader.using('mediawiki.watchstar.widgets').then((require)=>{const WatchlistPopup=require('mediawiki.watchstar.widgets');if(!watchlistPopup){watchlistPopup=new WatchlistPopup(action,title,watchResponse.expiry,updateWatchLink,{expiryEnabled:isWatchlistExpiryEnabled,labelsEnabled:watchlistLabelsEnabled,message:mw.message(message,mwTitle.getPrefixedText(),preferredExpiry).parseDom(),$link:$link});}mw.notify(watchlistPopup.$element,{tag:'watch-self',id:notificationId,autoHideSeconds:'short'});});}else{notifyPromise=mw.notify(mw.message(message,mwTitle.getPrefixedText()).parseDom(),{tag:'watch-self',id:notificationId});}
notifyPromise.always(()=>{watchstarsByTitle[normalizedTitle].forEach((w)=>{w.update(isWatched);});if(normalizedTitle===pageTitle){notifyPageWatchStatus(isWatched,watchResponse.expiry);}});}).fail((code,data)=>{updateWatchLinkAttributes($link,action);const $msg=api.getErrorMessage(data);mw.notify($msg,{tag:'watch-self',type:'error',id:notificationId});});}else{mw.loader.using('mediawiki.watchstar.popover').then(()=>{if(!vueWatchlistPopup){const Vue=require('vue');const watchlistWidgets=require('mediawiki.watchstar.popover');const WatchlistPopup=watchlistWidgets.WatchlistPopup;const wrapper=document.createElement('span');wrapper.classList.add('mw-watchlink-popup');document.body.append(wrapper);vueWatchlistPopup=Vue.createMwApp(WatchlistPopup,{initialAction:action,expiryEnabled:isWatchlistExpiryEnabled,labelsEnabled:watchlistLabelsEnabled,title:mwTitle,dataExpiryOptions:watchlistWidgets.dataExpiryOptions,preferredExpiry,link:$link[0]}).mount(wrapper);window.addEventListener('WatchlistPopup.loading',()=>{
updateWatchLinkAttributes($link,action,'loading');});window.addEventListener('WatchlistPopup.watch',(event)=>{action='unwatch';watchstarsByTitle[normalizedTitle].forEach((w)=>{w.update(true);});if(normalizedTitle===pageTitle){notifyPageWatchStatus(true,event.detail.watchResponse.expiry);}});window.addEventListener('WatchlistPopup.unwatch',()=>{action='watch';watchstarsByTitle[normalizedTitle].forEach((w)=>{w.update(false);});if(normalizedTitle===pageTitle){notifyPageWatchStatus(false);}});}updateWatchLinkAttributes($link,action,'idle');});if(vueWatchlistPopup){if(vueWatchlistPopup.isOpen){vueWatchlistPopup.isOpen=false;}else{vueWatchlistPopup.openPopup($link[0]);}}}});}$(init);module.exports={watchstar:watchstar,updateWatchLink:updateWatchLink,updatePageWatchStatus:updatePageWatchStatus};}());
},"config.json":{"WatchlistExpiry":true,"EnableWatchlistLabels":true,"EnableWatchstarPopover":false}}},{},{"addedwatchtext":"\"[[:$1]]\" \ubb38\uc11c\uc640 \uadf8 \ud1a0\ub860 \ubb38\uc11c\uac00 [[Special:Watchlist|\uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d]]\uc5d0 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","addedwatchtext-talk":"\"[[:$1]]\" \ubb38\uc11c\uc640 \uad00\ub828 \ubb38\uc11c\uac00 [[Special:Watchlist|\uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d]]\uc5d0 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","removedwatchtext":"\"[[:$1]]\" \ubb38\uc11c\uc640 \uadf8 \ud1a0\ub860 \ubb38\uc11c\uac00 [[Special:Watchlist|\uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d]]\uc5d0\uc11c \uc81c\uac70\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","removedwatchtext-talk":"\"[[:$1]]\" \ubb38\uc11c\uc640 \uad00\ub828 \ubb38\uc11c\uac00 [[Special:Watchlist|\uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d]]\uc5d0\uc11c \uc81c\uac70\ub418\uc5c8\uc2b5\ub2c8\ub2e4.","tooltip-ca-unwatch":"\uc774 \ubb38\uc11c\ub97c \uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d\uc5d0\uc11c \uc81c\uac70","tooltip-ca-unwatch-expiring":"\uc8fc\uc2dc \uae30\uac04\uc774 {{PLURAL:$1|$1\uc77c}} \ub0a8\uc544\uc788\uc2b5\ub2c8\ub2e4. \ud074\ub9ad\ud558\uc5ec \uc81c\uac70\ud558\uc138\uc694.","tooltip-ca-unwatch-expiring-hours":"\uc8fc\uc2dc \uae30\uac04\uc774 \uba87 \uc2dc\uac04 \ub0a8\uc558\uc2b5\ub2c8\ub2e4. \ud074\ub9ad\ud558\uc5ec \uc81c\uac70\ud558\uc138\uc694.","tooltip-ca-watch":"\uc774 \ubb38\uc11c\ub97c \uc8fc\uc2dc\ubb38\uc11c \ubaa9\ub85d\uc5d0 \ucd94\uac00","unwatch":"\uc8fc\uc2dc \ud574\uc81c","unwatching":"\uc8fc\uc2dc \ud574\uc81c \uc911\u2026","watch":"\uc8fc\uc2dc","watching":"\uc8fc\uc2dc \ucd94\uac00 \uc911\u2026"}];});
mw.loader.impl(function(){return["mediawiki.template.mustache@1niba",function($,jQuery,require,module){(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define(factory):(global=global||self,global.Mustache=factory());}(this,(function(){'use strict';var objectToString=Object.prototype.toString;var isArray=Array.isArray||function isArrayPolyfill(object){return objectToString.call(object)==='[object Array]';};function isFunction(object){return typeof object==='function';}function typeStr(obj){return isArray(obj)?'array':typeof obj;}function escapeRegExp(string){return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,'\\$&');}function hasProperty(obj,propName){return obj!=null&&typeof obj==='object'&&(propName in obj);}function primitiveHasOwnProperty(primitive,propName){return(primitive!=null&&typeof primitive!=='object'&&primitive.hasOwnProperty&&primitive.hasOwnProperty(propName));}var regExpTest=RegExp.prototype.test;function testRegExp(re,string){return regExpTest.call(re,string);}var nonSpaceRe=/\S/;
function isWhitespace(string){return!testRegExp(nonSpaceRe,string);}var entityMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;','/':'&#x2F;','`':'&#x60;','=':'&#x3D;'};function escapeHtml(string){return String(string).replace(/[&<>"'`=\/]/g,function fromEntityMap(s){return entityMap[s];});}var whiteRe=/\s*/;var spaceRe=/\s+/;var equalsRe=/\s*=/;var curlyRe=/\s*\}/;var tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var lineHasNonSpace=false;var sections=[];var tokens=[];var spaces=[];var hasTag=false;var nonSpace=false;var indentation='';var tagIndex=0;function stripSpace(){if(hasTag&&!nonSpace){while(spaces.length)delete tokens[spaces.pop()];}else{spaces=[];}hasTag=false;nonSpace=false;}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tagsToCompile){if(typeof tagsToCompile==='string')tagsToCompile=tagsToCompile.split(spaceRe,2);if(!isArray(tagsToCompile)||tagsToCompile.length!==2)throw new Error('Invalid tags: '+tagsToCompile);
openingTagRe=new RegExp(escapeRegExp(tagsToCompile[0])+'\\s*');closingTagRe=new RegExp('\\s*'+escapeRegExp(tagsToCompile[1]));closingCurlyRe=new RegExp('\\s*'+escapeRegExp('}'+tagsToCompile[1]));}compileTags(tags||mustache.tags);var scanner=new Scanner(template);var start,type,value,chr,token,openSection;while(!scanner.eos()){start=scanner.pos;value=scanner.scanUntil(openingTagRe);if(value){for(var i=0,valueLength=value.length;i<valueLength;++i){chr=value.charAt(i);if(isWhitespace(chr)){spaces.push(tokens.length);indentation+=chr;}else{nonSpace=true;lineHasNonSpace=true;indentation+=' ';}tokens.push(['text',chr,start,start+1]);start+=1;if(chr==='\n'){stripSpace();indentation='';tagIndex=0;lineHasNonSpace=false;}}}if(!scanner.scan(openingTagRe))break;hasTag=true;type=scanner.scan(tagRe)||'name';scanner.scan(whiteRe);if(type==='='){value=scanner.scanUntil(equalsRe);scanner.scan(equalsRe);scanner.scanUntil(closingTagRe);}else if(type==='{'){value=scanner.scanUntil(closingCurlyRe);scanner.scan(curlyRe);
scanner.scanUntil(closingTagRe);type='&';}else{value=scanner.scanUntil(closingTagRe);}if(!scanner.scan(closingTagRe))throw new Error('Unclosed tag at '+scanner.pos);if(type=='>'){token=[type,value,start,scanner.pos,indentation,tagIndex,lineHasNonSpace];}else{token=[type,value,start,scanner.pos];}tagIndex++;tokens.push(token);if(type==='#'||type==='^'){sections.push(token);}else if(type==='/'){openSection=sections.pop();if(!openSection)throw new Error('Unopened section "'+value+'" at '+start);if(openSection[1]!==value)throw new Error('Unclosed section "'+openSection[1]+'" at '+start);}else if(type==='name'||type==='{'||type==='&'){nonSpace=true;}else if(type==='='){compileTags(value);}}stripSpace();openSection=sections.pop();if(openSection)throw new Error('Unclosed section "'+openSection[1]+'" at '+scanner.pos);return nestTokens(squashTokens(tokens));}function squashTokens(tokens){var squashedTokens=[];var token,lastToken;for(var i=0,numTokens=tokens.length;i<numTokens;++i){token=tokens[i];
if(token){if(token[0]==='text'&&lastToken&&lastToken[0]==='text'){lastToken[1]+=token[1];lastToken[3]=token[3];}else{squashedTokens.push(token);lastToken=token;}}}return squashedTokens;}function nestTokens(tokens){var nestedTokens=[];var collector=nestedTokens;var sections=[];var token,section;for(var i=0,numTokens=tokens.length;i<numTokens;++i){token=tokens[i];switch(token[0]){case'#':case'^':collector.push(token);sections.push(token);collector=token[4]=[];break;case'/':section=sections.pop();section[5]=token[2];collector=sections.length>0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token);}}return nestedTokens;}function Scanner(string){this.string=string;this.tail=string;this.pos=0;}Scanner.prototype.eos=function eos(){return this.tail==='';};Scanner.prototype.scan=function scan(re){var match=this.tail.match(re);if(!match||match.index!==0)return'';var string=match[0];this.tail=this.tail.substring(string.length);this.pos+=string.length;return string;};
Scanner.prototype.scanUntil=function scanUntil(re){var index=this.tail.search(re),match;switch(index){case-1:match=this.tail;this.tail='';break;case 0:match='';break;default:match=this.tail.substring(0,index);this.tail=this.tail.substring(index);}this.pos+=match.length;return match;};function Context(view,parentContext){this.view=view;this.cache={'.':this.view};this.parent=parentContext;}Context.prototype.push=function push(view){return new Context(view,this);};Context.prototype.lookup=function lookup(name){var cache=this.cache;var value;if(cache.hasOwnProperty(name)){value=cache[name];}else{var context=this,intermediateValue,names,index,lookupHit=false;while(context){if(name.indexOf('.')>0){intermediateValue=context.view;names=name.split('.');index=0;while(intermediateValue!=null&&index<names.length){if(index===names.length-1)lookupHit=(hasProperty(intermediateValue,names[index])||primitiveHasOwnProperty(intermediateValue,names[index]));intermediateValue=intermediateValue[names[index++]];
}}else{intermediateValue=context.view[name];lookupHit=hasProperty(context.view,name);}if(lookupHit){value=intermediateValue;break;}context=context.parent;}cache[name]=value;}if(isFunction(value))value=value.call(this.view);return value;};function Writer(){this.templateCache={_cache:{},set:function set(key,value){this._cache[key]=value;},get:function get(key){return this._cache[key];},clear:function clear(){this._cache={};}};}Writer.prototype.clearCache=function clearCache(){if(typeof this.templateCache!=='undefined'){this.templateCache.clear();}};Writer.prototype.parse=function parse(template,tags){var cache=this.templateCache;var cacheKey=template+':'+(tags||mustache.tags).join(':');var isCacheEnabled=typeof cache!=='undefined';var tokens=isCacheEnabled?cache.get(cacheKey):undefined;if(tokens==undefined){tokens=parseTemplate(template,tags);isCacheEnabled&&cache.set(cacheKey,tokens);}return tokens;};Writer.prototype.render=function render(template,view,partials,config){var tags=this.getConfigTags(config);
var tokens=this.parse(template,tags);var context=(view instanceof Context)?view:new Context(view,undefined);return this.renderTokens(tokens,context,partials,template,config);};Writer.prototype.renderTokens=function renderTokens(tokens,context,partials,originalTemplate,config){var buffer='';var token,symbol,value;for(var i=0,numTokens=tokens.length;i<numTokens;++i){value=undefined;token=tokens[i];symbol=token[0];if(symbol==='#')value=this.renderSection(token,context,partials,originalTemplate,config);else if(symbol==='^')value=this.renderInverted(token,context,partials,originalTemplate,config);else if(symbol==='>')value=this.renderPartial(token,context,partials,config);else if(symbol==='&')value=this.unescapedValue(token,context);else if(symbol==='name')value=this.escapedValue(token,context,config);else if(symbol==='text')value=this.rawValue(token);if(value!==undefined)buffer+=value;}return buffer;};Writer.prototype.renderSection=function renderSection(token,context,partials,originalTemplate,config){
var self=this;var buffer='';var value=context.lookup(token[1]);function subRender(template){return self.render(template,context,partials,config);}if(!value)return;if(isArray(value)){for(var j=0,valueLength=value.length;j<valueLength;++j){buffer+=this.renderTokens(token[4],context.push(value[j]),partials,originalTemplate,config);}}else if(typeof value==='object'||typeof value==='string'||typeof value==='number'){buffer+=this.renderTokens(token[4],context.push(value),partials,originalTemplate,config);}else if(isFunction(value)){if(typeof originalTemplate!=='string')throw new Error('Cannot use higher-order sections without the original template');value=value.call(context.view,originalTemplate.slice(token[3],token[5]),subRender);if(value!=null)buffer+=value;}else{buffer+=this.renderTokens(token[4],context,partials,originalTemplate,config);}return buffer;};Writer.prototype.renderInverted=function renderInverted(token,context,partials,originalTemplate,config){var value=context.lookup(token[1]);
if(!value||(isArray(value)&&value.length===0))return this.renderTokens(token[4],context,partials,originalTemplate,config);};Writer.prototype.indentPartial=function indentPartial(partial,indentation,lineHasNonSpace){var filteredIndentation=indentation.replace(/[^ \t]/g,'');var partialByNl=partial.split('\n');for(var i=0;i<partialByNl.length;i++){if(partialByNl[i].length&&(i>0||!lineHasNonSpace)){partialByNl[i]=filteredIndentation+partialByNl[i];}}return partialByNl.join('\n');};Writer.prototype.renderPartial=function renderPartial(token,context,partials,config){if(!partials)return;var tags=this.getConfigTags(config);var value=isFunction(partials)?partials(token[1]):partials[token[1]];if(value!=null){var lineHasNonSpace=token[6];var tagIndex=token[5];var indentation=token[4];var indentedValue=value;if(tagIndex==0&&indentation){indentedValue=this.indentPartial(value,indentation,lineHasNonSpace);}var tokens=this.parse(indentedValue,tags);return this.renderTokens(tokens,context,partials,indentedValue,config);
}};Writer.prototype.unescapedValue=function unescapedValue(token,context){var value=context.lookup(token[1]);if(value!=null)return value;};Writer.prototype.escapedValue=function escapedValue(token,context,config){var escape=this.getConfigEscape(config)||mustache.escape;var value=context.lookup(token[1]);if(value!=null)return(typeof value==='number'&&escape===mustache.escape)?String(value):escape(value);};Writer.prototype.rawValue=function rawValue(token){return token[1];};Writer.prototype.getConfigTags=function getConfigTags(config){if(isArray(config)){return config;}else if(config&&typeof config==='object'){return config.tags;}else{return undefined;}};Writer.prototype.getConfigEscape=function getConfigEscape(config){if(config&&typeof config==='object'&&!isArray(config)){return config.escape;}else{return undefined;}};var mustache={name:'mustache.js',version:'4.2.0',tags:['{{','}}'],clearCache:undefined,escape:undefined,parse:undefined,render:undefined,Scanner:undefined,Context:undefined,
Writer:undefined,set templateCache(cache){defaultWriter.templateCache=cache;},get templateCache(){return defaultWriter.templateCache;}};var defaultWriter=new Writer();mustache.clearCache=function clearCache(){return defaultWriter.clearCache();};mustache.parse=function parse(template,tags){return defaultWriter.parse(template,tags);};mustache.render=function render(template,view,partials,config){if(typeof template!=='string'){throw new TypeError('Invalid template! Template should be a "string" '+'but "'+typeStr(template)+'" was given as the first '+'argument for mustache#render(template, view, partials)');}return defaultWriter.render(template,view,partials,config);};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context;mustache.Writer=Writer;return mustache;})));
(function(){mw.template.registerCompiler('mustache',{compile:function(src){return{getSource:function(){return src;},render:function(data,partialTemplates){const partials={};if(partialTemplates){for(const name in partialTemplates){const template=partialTemplates[name];partials[name]=template.getSource();}}return $($.parseHTML(Mustache.render(src,data,partials)));}};}});}());
}];});
mw.loader.impl(function(){return["mobile.codex.styles@1frpm",null,{"css":[".cdx-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:32px;max-width:28rem;margin:0;border-width:1px;border-style:solid;border-radius:2px;padding-right:11px;padding-left:11px;font-family:inherit;font-size:var(--font-size-medium,1rem);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;transition-property:background-color,color,border-color,box-shadow;transition-duration:.1s}.cdx-button--size-small{gap:4px;min-height:1.5rem;padding-right:5px;padding-left:5px}.cdx-button--size-large{min-height:44px;padding-right:15px;padding-left:15px}.cdx-button--icon-only{min-width:32px;padding-right:0;padding-left:0}.cdx-button--icon-only.cdx-button--size-small{min-width:1.5rem}.cdx-button--icon-only.cdx-button--size-large{min-width:44px}.cdx-button::-moz-focus-inner{border:0;padding:0}.cdx-button .cdx-button__icon,.cdx-button .cdx-icon{vertical-align:middle}.cdx-button .cdx-icon{color:inherit}.cdx-button--fake-button,.cdx-button--fake-button:hover,.cdx-button--fake-button:focus{text-decoration:none}.cdx-button:enabled,.cdx-button.cdx-button--fake-button--enabled{background-color:var(--background-color-interactive-subtle,#f8f9fa);color:var(--color-neutral,#404244);border-color:var(--border-color-interactive,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled .cdx-button__icon{background-color:var(--color-neutral,#404244)}}.cdx-button:enabled:hover,.cdx-button.cdx-button--fake-button--enabled:hover{background-color:var(--background-color-interactive-subtle--hover,#eaecf0);border-color:var(--border-color-interactive--hover,#27292d);cursor:pointer}.cdx-button:enabled:active,.cdx-button.cdx-button--fake-button--enabled:active,.cdx-button:enabled.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--is-active{background-color:var(--background-color-interactive-subtle--active,#dadde3);border-color:var(--border-color-interactive--active,#202122)}.cdx-button:enabled:focus,.cdx-button.cdx-button--fake-button--enabled:focus{outline:1px solid transparent}.cdx-button:enabled:focus:not(:active):not(.cdx-button--is-active),.cdx-button.cdx-button--fake-button--enabled:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c)}.cdx-button:enabled.cdx-button--action-progressive,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive{background-color:var(--background-color-progressive-subtle,#e8eeff);color:var(--color-progressive,#36c);border-color:var(--border-color-progressive,#36c)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--action-progressive .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive .cdx-button__icon{background-color:var(--color-progressive,#36c)}}.cdx-button:enabled.cdx-button--action-progressive:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive:hover{background-color:var(--background-color-progressive-subtle--hover,#d9e2ff);color:var(--color-progressive--hover,#3056a9);border-color:var(--border-color-progressive--hover,#3056a9)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--action-progressive:hover .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive:hover .cdx-button__icon{background-color:var(--color-progressive--hover,#3056a9)}}.cdx-button:enabled.cdx-button--action-progressive:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive:active,.cdx-button:enabled.cdx-button--action-progressive.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive.cdx-button--is-active{background-color:var(--background-color-progressive-subtle--active,#b6d4fb);color:var(--color-progressive--active,#233566);border-color:var(--border-color-progressive--active,#233566)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--action-progressive:active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive:active .cdx-button__icon,.cdx-button:enabled.cdx-button--action-progressive.cdx-button--is-active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-progressive.cdx-button--is-active .cdx-button__icon{background-color:var(--color-progressive--active,#233566)}}.cdx-button:enabled.cdx-button--action-destructive,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive{background-color:var(--background-color-destructive-subtle,#ffe9e5);color:var(--color-destructive,#bf3c2c);border-color:var(--border-color-destructive,#f54739)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--action-destructive .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive .cdx-button__icon{background-color:var(--color-destructive,#bf3c2c)}}.cdx-button:enabled.cdx-button--action-destructive:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive:hover{background-color:var(--background-color-destructive-subtle--hover,#ffdad3);color:var(--color-destructive--hover,#9f3526);border-color:var(--border-color-destructive--hover,#9f3526)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--action-destructive:hover .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive:hover .cdx-button__icon{background-color:var(--color-destructive--hover,#9f3526)}}.cdx-button:enabled.cdx-button--action-destructive:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive:active,.cdx-button:enabled.cdx-button--action-destructive.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive.cdx-button--is-active{background-color:var(--background-color-destructive-subtle--active,#ffc8bd);color:var(--color-destructive--active,#612419);border-color:var(--border-color-destructive--active,#612419)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--action-destructive:active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive:active .cdx-button__icon,.cdx-button:enabled.cdx-button--action-destructive.cdx-button--is-active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive.cdx-button--is-active .cdx-button__icon{background-color:var(--color-destructive--active,#612419)}}.cdx-button:enabled.cdx-button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.cdx-button.cdx-button--fake-button--enabled.cdx-button--action-destructive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-destructive--focus,#36c)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive{background-color:var(--background-color-progressive,#36c);color:var(--color-inverted-fixed,#fff);border-color:var(--border-color-transparent,transparent)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive:hover{background-color:var(--background-color-progressive--hover,#3056a9)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive:active,.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive.cdx-button--is-active{background-color:var(--background-color-progressive--active,#233566)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive:focus:not(:active):not(.cdx-button--is-active),.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-inverted,#fff)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive .cdx-button__icon{background-color:var(--color-inverted-fixed,#fff)}}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-destructive,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-destructive{background-color:var(--background-color-destructive,#bf3c2c);color:var(--color-inverted-fixed,#fff);border-color:var(--border-color-transparent,transparent)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-destructive:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-destructive:hover{background-color:var(--background-color-destructive--hover,#9f3526)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-destructive:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-destructive:active,.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-destructive.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-destructive.cdx-button--is-active{background-color:var(--background-color-destructive--active,#612419)}.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-destructive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-destructive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-inverted,#fff)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-destructive .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-destructive .cdx-button__icon{background-color:var(--color-inverted-fixed,#fff)}}.cdx-button:enabled.cdx-button--weight-quiet,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet{background-color:var(--background-color-transparent,transparent);border-color:var(--border-color-transparent,transparent)}.cdx-button:enabled.cdx-button--weight-quiet:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet:hover{background-color:var(--background-color-interactive-subtle--hover,#eaecf0);mix-blend-mode:var(--mix-blend-mode-blend,multiply)}.cdx-button:enabled.cdx-button--weight-quiet:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet:active,.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--is-active{background-color:var(--background-color-interactive-subtle--active,#dadde3)}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive{color:var(--color-progressive,#36c)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive .cdx-button__icon{background-color:var(--color-progressive,#36c)}}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive:hover{background-color:var(--background-color-progressive-subtle--hover,#d9e2ff);color:var(--color-progressive--hover,#3056a9);border-color:var(--border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive:hover .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive:hover .cdx-button__icon{background-color:var(--color-progressive--hover,#3056a9)}}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive:active,.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive.cdx-button--is-active{background-color:var(--background-color-progressive-subtle--active,#b6d4fb);color:var(--color-progressive--active,#233566);border-color:var(--border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive:active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive:active .cdx-button__icon,.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive.cdx-button--is-active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive.cdx-button--is-active .cdx-button__icon{background-color:var(--color-progressive--active,#233566)}}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-progressive:focus:not(:active):not(.cdx-button--is-active),.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c)}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive{color:var(--color-destructive,#bf3c2c)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive .cdx-button__icon{background-color:var(--color-destructive,#bf3c2c)}}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive:hover,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive:hover{background-color:var(--background-color-destructive-subtle--hover,#ffdad3);color:var(--color-destructive--hover,#9f3526);border-color:var(--border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive:hover .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive:hover .cdx-button__icon{background-color:var(--color-destructive--hover,#9f3526)}}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive:active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive:active,.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive.cdx-button--is-active,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive.cdx-button--is-active{background-color:var(--background-color-destructive-subtle--active,#ffc8bd);color:var(--color-destructive--active,#612419);border-color:var(--border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive:active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive:active .cdx-button__icon,.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive.cdx-button--is-active .cdx-button__icon,.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive.cdx-button--is-active .cdx-button__icon{background-color:var(--color-destructive--active,#612419)}}.cdx-button:enabled.cdx-button--weight-quiet.cdx-button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-destructive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-destructive--focus,#36c)}.cdx-button:disabled,.cdx-button.cdx-button--fake-button--disabled{background-color:var(--background-color-disabled,#dadde3);color:var(--color-disabled-emphasized,#a2a9b1);border-color:var(--border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:disabled .cdx-button__icon,.cdx-button.cdx-button--fake-button--disabled .cdx-button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:disabled.cdx-button--weight-quiet,.cdx-button.cdx-button--fake-button--disabled.cdx-button--weight-quiet{background-color:var(--background-color-transparent,transparent);color:var(--color-disabled,#a2a9b1)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-button:disabled.cdx-button--weight-quiet .cdx-button__icon,.cdx-button.cdx-button--fake-button--disabled.cdx-button--weight-quiet .cdx-button__icon{background-color:var(--color-disabled,#a2a9b1)}}.cdx-icon{color:var(--color-base,#202122);display:inline-flex;align-items:center;justify-content:center;vertical-align:text-bottom}.cdx-icon svg{fill:currentcolor;width:100%;height:100%}.cdx-icon--x-small{min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) - 4px);height:calc(var(--font-size-medium,1rem) - 4px)}.cdx-icon--small{min-width:14px;min-height:14px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem)}.cdx-icon--medium{min-width:18px;min-height:18px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px)}.cdx-icon--flipped svg{transform:scaleX(-1)}.cdx-message{background-color:var(--background-color-notice-subtle,#eaecf0);color:var(--color-base,#202122);display:flex;align-items:flex-start;position:relative;border:1px solid var(--border-color-notice,#72777d);border-radius:2px;padding:12px}.cdx-message__icon,.cdx-message__icon--vue{flex-shrink:0}.cdx-message .cdx-message__icon{min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message .cdx-message__icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px);background-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message .cdx-message__icon{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px);mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message .cdx-message__icon{background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8 9v2h1v2H8v2h4v-2h-1V9zm1-4v2h2V5z\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message .cdx-message__icon{-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8 9v2h1v2H8v2h4v-2h-1V9zm1-4v2h2V5z\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8 9v2h1v2H8v2h4v-2h-1V9zm1-4v2h2V5z\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-notice,#72777d)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message .cdx-message__icon:lang(ar){background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M13 20H7v-2h6zM10 0c1.938 0 3.58.556 4.745 1.644C15.918 2.738 16.5 4.27 16.5 6c0 2.22-1.15 3.732-2.04 4.727-.644.72-.96 1.633-.96 2.662V16h-7v-2.611c0-1.029-.317-1.942-.96-2.662C4.65 9.732 3.5 8.22 3.5 6c0-1.627.593-3.145 1.743-4.255C6.395.634 8.032 0 10 0\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message .cdx-message__icon:lang(ar){-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M13 20H7v-2h6zM10 0c1.938 0 3.58.556 4.745 1.644C15.918 2.738 16.5 4.27 16.5 6c0 2.22-1.15 3.732-2.04 4.727-.644.72-.96 1.633-.96 2.662V16h-7v-2.611c0-1.029-.317-1.942-.96-2.662C4.65 9.732 3.5 8.22 3.5 6c0-1.627.593-3.145 1.743-4.255C6.395.634 8.032 0 10 0\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M13 20H7v-2h6zM10 0c1.938 0 3.58.556 4.745 1.644C15.918 2.738 16.5 4.27 16.5 6c0 2.22-1.15 3.732-2.04 4.727-.644.72-.96 1.633-.96 2.662V16h-7v-2.611c0-1.029-.317-1.942-.96-2.662C4.65 9.732 3.5 8.22 3.5 6c0-1.627.593-3.145 1.743-4.255C6.395.634 8.032 0 10 0\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-notice,#72777d)}}.cdx-message .cdx-message__icon--vue{color:var(--color-icon-notice,#72777d)}.cdx-message--subtle{background-color:var(--background-color-transparent,transparent);border-color:var(--border-color-base,#a2a9b1)}.cdx-message--progressive{background-color:var(--background-color-progressive-subtle,#e8eeff);border-color:var(--border-color-progressive,#36c)}.cdx-message--progressive .cdx-message__icon{min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--progressive .cdx-message__icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px);background-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--progressive .cdx-message__icon{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px);mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--progressive .cdx-message__icon{background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8 9v2h1v2H8v2h4v-2h-1V9zm1-4v2h2V5z\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--progressive .cdx-message__icon{-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8 9v2h1v2H8v2h4v-2h-1V9zm1-4v2h2V5z\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8 9v2h1v2H8v2h4v-2h-1V9zm1-4v2h2V5z\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-progressive,#36c)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--progressive .cdx-message__icon:lang(ar){background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M13 20H7v-2h6zM10 0c1.938 0 3.58.556 4.745 1.644C15.918 2.738 16.5 4.27 16.5 6c0 2.22-1.15 3.732-2.04 4.727-.644.72-.96 1.633-.96 2.662V16h-7v-2.611c0-1.029-.317-1.942-.96-2.662C4.65 9.732 3.5 8.22 3.5 6c0-1.627.593-3.145 1.743-4.255C6.395.634 8.032 0 10 0\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--progressive .cdx-message__icon:lang(ar){-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M13 20H7v-2h6zM10 0c1.938 0 3.58.556 4.745 1.644C15.918 2.738 16.5 4.27 16.5 6c0 2.22-1.15 3.732-2.04 4.727-.644.72-.96 1.633-.96 2.662V16h-7v-2.611c0-1.029-.317-1.942-.96-2.662C4.65 9.732 3.5 8.22 3.5 6c0-1.627.593-3.145 1.743-4.255C6.395.634 8.032 0 10 0\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M13 20H7v-2h6zM10 0c1.938 0 3.58.556 4.745 1.644C15.918 2.738 16.5 4.27 16.5 6c0 2.22-1.15 3.732-2.04 4.727-.644.72-.96 1.633-.96 2.662V16h-7v-2.611c0-1.029-.317-1.942-.96-2.662C4.65 9.732 3.5 8.22 3.5 6c0-1.627.593-3.145 1.743-4.255C6.395.634 8.032 0 10 0\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-progressive,#36c)}}.cdx-message--progressive .cdx-message__icon--vue{color:var(--color-icon-progressive,#36c)}.cdx-message--warning{background-color:var(--background-color-warning-subtle,#fdf2d5);border-color:var(--border-color-warning,#ab7f2a)}.cdx-message--warning .cdx-message__icon{min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--warning .cdx-message__icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px);background-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--warning .cdx-message__icon{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px);mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--warning .cdx-message__icon{background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M9.5 1h1L19 17.2V19H1v-1.8zM9 7v6h2V7zm0 8v2h2v-2z\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--warning .cdx-message__icon{-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M9.5 1h1L19 17.2V19H1v-1.8zM9 7v6h2V7zm0 8v2h2v-2z\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M9.5 1h1L19 17.2V19H1v-1.8zM9 7v6h2V7zm0 8v2h2v-2z\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-warning,#ab7f2a)}}.cdx-message--warning .cdx-message__icon--vue{color:var(--color-icon-warning,#ab7f2a)}.cdx-message--error{background-color:var(--background-color-error-subtle,#ffe9e5);border-color:var(--border-color-error,#f54739)}.cdx-message--error .cdx-message__icon{min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--error .cdx-message__icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px);background-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--error .cdx-message__icon{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px);mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--error .cdx-message__icon{background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--error .cdx-message__icon{-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-error,#f54739)}}.cdx-message--error .cdx-message__icon--vue{color:var(--color-icon-error,#f54739)}.cdx-message--success{background-color:var(--background-color-success-subtle,#dff2eb);border-color:var(--border-color-success,#099979)}.cdx-message--success .cdx-message__icon{min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--success .cdx-message__icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px);background-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--success .cdx-message__icon{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px);mask-size:max(calc(var(--font-size-medium,1rem) + 4px),10px)}}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-message--success .cdx-message__icon{background-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8.823 11.118 6.8 9.6l-1.2 1.6 2.8 2.1h1.1l4.905-5.956-1.561-1.25z\"/\u003E\u003C/svg\u003E');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,.87)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-message--success .cdx-message__icon{-webkit-mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8.823 11.118 6.8 9.6l-1.2 1.6 2.8 2.1h1.1l4.905-5.956-1.561-1.25z\"/\u003E\u003C/svg\u003E');mask-image:url('data:image/svg+xml;utf8,\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000\"\u003E\u003Cpath d=\"M10 1a9 9 0 110 18 9 9 0 010-18M8.823 11.118 6.8 9.6l-1.2 1.6 2.8 2.1h1.1l4.905-5.956-1.561-1.25z\"/\u003E\u003C/svg\u003E');background-color:var(--color-icon-success,#099979)}}.cdx-message--success .cdx-message__icon--vue{color:var(--color-icon-success,#099979)}.cdx-message--user-dismissable{padding-right:48px}@media screen and (min-width:640px){.cdx-message--user-dismissable{padding-right:56px}}.cdx-message--inline{background-color:var(--background-color-transparent,transparent);border:0;padding:0}.cdx-message--inline.cdx-message--error{color:var(--color-error,#bf3c2c)}.cdx-message .cdx-message__icon,.cdx-message .cdx-message__icon--vue{height:var(--line-height-medium,1.625rem)}.cdx-message__content{word-wrap:break-word;align-self:center;flex-grow:1;margin-left:8px;font-size:var(--font-size-medium,1rem);line-height:var(--line-height-medium,1.625rem)}@supports (word-break:break-word){.cdx-message__content{word-wrap:unset;word-break:break-word}}@supports (overflow-wrap:anywhere){.cdx-message__content{word-break:normal;overflow-wrap:anywhere}}.cdx-message__content:lang(de),.cdx-message__content:lang(de-AT),.cdx-message__content:lang(de-CH),.cdx-message__content:lang(de-DE),.cdx-message__content:lang(de-LI),.cdx-message__content:lang(de-LU),.cdx-message__content:lang(de-x-formal){-webkit-hyphens:auto;hyphens:auto}.cdx-message__content\u003E*{font-size:var(--font-size-medium,1rem);line-height:var(--line-height-medium,1.625rem)}.cdx-message__content\u003E*:first-child{margin-top:0;padding-top:0}.cdx-message__content\u003E*:last-child{margin-bottom:0;padding-bottom:0}.cdx-message__action-button.cdx-button{flex-shrink:0;position:relative;margin-bottom:-8px;line-height:0}.cdx-message__dismiss-button.cdx-button{position:absolute;top:8px;right:8px;padding:5px;line-height:0}.cdx-message+.cdx-message{margin-top:8px}.cdx-message-enter-active,.cdx-message-leave-active-system{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease}.cdx-message-leave-active-user{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-out}.cdx-message-enter-from,.cdx-message-leave-to{opacity:0}.cdx-text-input{position:relative;box-sizing:border-box;min-width:256px;border-radius:2px;overflow:hidden}.cdx-text-input .cdx-text-input__start-icon{position:absolute;top:50%;min-width:18px;min-height:18px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);transition-property:color;transition-duration:.1s;left:9px;transform:translateY(-50%)}.cdx-text-input__icon.cdx-text-input__end-icon{min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem)}@supports not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-text-input__icon.cdx-text-input__end-icon{background-position:center;background-repeat:no-repeat;background-size:var(--font-size-medium,1rem);background-size:max(var(--font-size-medium,1rem),10px)}}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-text-input__icon.cdx-text-input__end-icon{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--font-size-medium,1rem);mask-size:var(--font-size-medium,1rem);-webkit-mask-size:max(var(--font-size-medium,1rem),10px);mask-size:max(var(--font-size-medium,1rem),10px)}}.cdx-text-input__clear-icon.cdx-icon,.cdx-text-input .cdx-text-input__end-icon{position:absolute;top:50%;min-width:14px;min-height:14px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);transition-property:color;transition-duration:.1s;right:9px;transform:translateY(-50%)}.cdx-text-input__clear-icon.cdx-icon:hover{cursor:pointer}.cdx-text-input__end-icon.cdx-icon+.cdx-text-input__clear-icon.cdx-icon{right:calc(calc(8px * 2 + var(--font-size-medium,1rem)) + 1px)}.cdx-text-input__input{display:block;box-sizing:border-box;min-height:32px;width:100%;max-height:2rem;margin:0;border-width:1px;border-style:solid;border-radius:inherit;padding:4px 8px;font-family:inherit;font-size:var(--font-size-medium,1rem);line-height:var(--line-height-small,1.375rem)}.cdx-text-input__input:enabled{background-color:var(--background-color-base,#fff);color:var(--color-base,#202122);border-color:var(--border-color-interactive,#72777d);box-shadow:inset 0 0 0 1px var(--box-shadow-color-transparent,transparent);transition-property:background-color,color,border-color,box-shadow;transition-duration:.25s}.cdx-text-input__input:enabled~.cdx-text-input__icon-vue{color:var(--color-placeholder,#72777d)}.cdx-text-input__input:enabled~.cdx-text-input__icon{opacity:var(--opacity-icon-placeholder,.51)}.cdx-text-input__input:enabled:hover{border-color:var(--border-color-interactive--hover,#27292d)}.cdx-text-input__input:enabled:focus~.cdx-text-input__icon-vue,.cdx-text-input__input:enabled.cdx-text-input__input--has-value~.cdx-text-input__icon-vue{color:var(--color-subtle,#54595d)}.cdx-text-input__input:enabled:focus~.cdx-text-input__clear-icon,.cdx-text-input__input:enabled.cdx-text-input__input--has-value~.cdx-text-input__clear-icon{color:var(--color-base,#202122)}.cdx-text-input__input:enabled:focus~.cdx-text-input__icon,.cdx-text-input__input:enabled.cdx-text-input__input--has-value~.cdx-text-input__icon{opacity:1}.cdx-text-input__input:enabled:focus{border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c);outline:1px solid transparent}.cdx-text-input__input:enabled:read-only{background-color:var(--background-color-neutral-subtle,#f8f9fa);border-color:var(--border-color-base,#a2a9b1)}.cdx-text-input__input:disabled{background-color:var(--background-color-disabled-subtle,#eaecf0);color:var(--color-disabled,#a2a9b1);-webkit-text-fill-color:var(--color-disabled,#a2a9b1);border-color:var(--border-color-disabled,#c8ccd1)}.cdx-text-input__input:disabled~.cdx-text-input__icon-vue{color:var(--color-disabled,#a2a9b1);pointer-events:none}.cdx-text-input__input:disabled~.cdx-text-input__icon{opacity:var(--opacity-icon-base--disabled,.51)}.cdx-text-input__input::placeholder{color:var(--color-placeholder,#72777d);opacity:1}.cdx-text-input__input[type=search]{-webkit-appearance:none;-moz-appearance:textfield}.cdx-text-input__input[type=search]::-webkit-search-decoration,.cdx-text-input__input[type=search]::-webkit-search-cancel-button{display:none}.cdx-text-input--has-start-icon .cdx-text-input__input{padding-left:calc(8px + 8px + calc(var(--font-size-medium,1rem) + 4px))}.cdx-text-input--has-end-icon .cdx-text-input__input,.cdx-text-input--clearable .cdx-text-input__input{padding-right:calc(8px + 8px + var(--font-size-medium,1rem))}.cdx-text-input--has-end-icon.cdx-text-input--clearable .cdx-text-input__input{padding-right:calc(8px + calc(8px * 2 + var(--font-size-medium,1rem)) + var(--font-size-medium,1rem))}.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus){background-color:var(--background-color-error-subtle,#ffe9e5);color:var(--color-error,#bf3c2c);border-color:var(--border-color-error,#f54739)}.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus)::placeholder,.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus)~.cdx-text-input__start-icon,.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus)~.cdx-text-input__end-icon{color:var(--color-error,#bf3c2c)}.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus):hover{background-color:var(--background-color-error-subtle--hover,#ffdad3);color:var(--color-error--hover,#9f3526);border-color:var(--border-color-error--hover,#9f3526)}.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus):hover::placeholder,.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus):hover~.cdx-text-input__start-icon,.cdx-text-input--status-error .cdx-text-input__input:enabled:not(:read-only):not(:focus):hover~.cdx-text-input__end-icon{color:var(--color-error--hover,#9f3526)}"]}];});
mw.loader.impl(function(){return["mobile.init@k7mq9",function($,jQuery,require,module){(self.webpackChunkmfModules=self.webpackChunkmfModules||[]).push([[243],{"./src/mobile.init/Toggler.js":(e,t,i)=>{const o=i("./src/mobile.startup/util.js"),n=o.escapeSelector,a={icon:"expand",isSmall:!0,additionalClassNames:"indicator"},l=i("./src/mobile.startup/Icon.js"),s=i("./src/mobile.init/isCollapsedByDefault.js");e.exports=class{constructor(e){this.eventBus=e.eventBus,this.$container=e.$container,this.prefix=e.prefix,this.page=e.page,this._enable()}isCollapsedByDefault(){if(void 0===this._isCollapsedByDefault){const e=this.$container.closest(".collapsible-headings-collapsed, .collapsible-headings-expanded");e.length?this._isCollapsedByDefault=e.hasClass("collapsible-headings-collapsed"):this._isCollapsedByDefault=s()}return this._isCollapsedByDefault}toggle(e,t){if(!t&&e.hasClass("collapsible-heading-disabled"))return!1;const i=e.is(".open-block");e.toggleClass("open-block"),a.rotation=i?0:180;const o=new l(a),n=e.data("indicator");n&&(n.replaceWith(o.$el),e.data("indicator",o.$el)),e.attr("aria-expanded",!i);const s=e.next();return s.hasClass("open-block")?(s.removeClass("open-block"),s.get(0).setAttribute("hidden","until-found")):(s.addClass("open-block"),s.removeAttr("hidden")),mw.requestIdleCallback((()=>{mw.hook("readerExperiments.section-toggled").fire({heading:e.get(0),isExpanded:!i})})),!0}reveal(e){let t;try{t=this.$container.find("#"+n(e))}catch(e){}if(!t||!t.length)return!1;let i=t.parents(".collapsible-heading");return i.length||(i=t.parents(".collapsible-block").prev(".collapsible-heading")),i.length&&!i.hasClass("open-block")&&this.toggle(i),i.length&&window.scrollTo(0,t.offset().top),!0}_enable(){this.$container.children(".section-heading").each(((e,t)=>{const i=this.$container.find(t),o=i.find(".indicator"),n=this.prefix+"collapsible-block-"+e;if(i.next().is("section")){const t=i.next("section"),s=i.hasClass("open-block");i.addClass("collapsible-heading ").data("section-number",e).on("click",(e=>{const t=e.target.closest("a");t&&t.href||(e.preventDefault(),this.toggle(i))})),i.attr({tabindex:0,role:"button","aria-controls":n,"aria-expanded":s}),a.rotation=s||!this.isCollapsedByDefault()?180:0;const r=new l(a);o.length?o.replaceWith(r.$el):r.prependTo(i),i.data("indicator",r.$el),t.addClass("collapsible-block").attr({id:n}).on("beforematch",(()=>this.toggle(i))).addClass("collapsible-block-js"),s||t.get(0).setAttribute("hidden","until-found"),function(e,t){t.on("keypress",(i=>{13!==i.which&&32!==i.which||e.toggle(t)})).find("a").on("keypress mouseup",(e=>e.stopPropagation()))}(this,i),this.isCollapsedByDefault()||this.toggle(i)}}));const e=()=>{let e=window.location.hash;if(0===e.indexOf("#")&&(e=e.slice(1),!this.reveal(e))){const t=mw.util.percentDecodeFragment(e);t&&this.reveal(t)}};!function(){const e=mw.config.get("wgInternalRedirectTargetUrl"),t=!!e&&e.split("#")[1];t&&(window.location.hash=t)}(),e(),o.getWindow().on("hashchange",(()=>e()))}}},"./src/mobile.init/editor.js":(e,t,i)=>{const o=i("./src/mobile.startup/util.js"),n=i("./src/mobile.init/fakeToolbar.js"),a=i("./src/mobile.init/editorLoadingOverlay.js"),l=i("./src/mobile.startup/OverlayManager.js"),s=$("#ca-edit, #ca-editsource, #ca-viewsource, #ca-ve-edit, #ca-ve-create, #ca-createsource"),r=s.length>1,c=".mw-editsection a, .edit-link",d=mw.user,u=i("./src/mobile.startup/CtaDrawer.js"),m=mw.config.get("wgVisualEditorConfig"),g=/^\/editor\/(\d+|T-\d+|all)$/;let p=null;function f(e,t,i){let o;o=0===$(c).length?"all":mw.util.getParamValue("section",e.href)||"all",mw.config.get("wgPageName")===mw.util.getParamValue("title",e.href)&&(r&&("ca-ve-edit"===e.id||"ca-ve-create"===e.id?p="VisualEditor":"ca-editsource"!==e.id&&"ca-createsource"!==e.id||(p="SourceEditor")),i.navigate("#/editor/"+o),t.preventDefault())}function h(){if(p)return p;const e=mw.user.options.get("mobile-editor")||mw.storage.get("preferredEditor");if(e)return e;switch(mw.config.get("wgMFDefaultEditor")){case"source":return"SourceEditor";case"visual":return"VisualEditor";case"preference":return mw.user.options.get("visualeditor-hidebetawelcome")||mw.user.options.get("visualeditor-hideusered")?"visualeditor"===mw.user.options.get("visualeditor-editor")?"VisualEditor":"SourceEditor":"visual"===mw.config.get("wgMFFallbackEditor")?"VisualEditor":"SourceEditor"}return"SourceEditor"}function w(e,t){s.on("click",(t=>{mw.notify(e),t.preventDefault()})),mw.hook("wikipage.content").add((t=>{t.find(c).on("click",(t=>{mw.notify(e),t.preventDefault()}))})),t.addRoute(g,(()=>{mw.notify(e)})),t.checkRoute()}e.exports=function(e,t,i){if(!mw.config.get("wgMFIsSupportedEditRequest"))return;const r=require("mediawiki.router");e.inNamespace("file")&&0===e.id?w(mw.msg("mobile-frontend-editor-uploadenable"),r):function(e,t,i,r){let b,v;const y=mw.config.get("wgMinervaReadOnly");if(!y&&mw.config.get("wgIsProbablyEditable"))!function(e,t,i,r){const u=l.getSingleton(),w=0===e.id;if(s.add(".edit-link").on("click.mfeditlink",(function(e){f(this,e,u.router)})),mw.hook("wikipage.content").add((e=>{e.find(c).off("click.mfeditlink").on("click.mfeditlink",(function(e){f(this,e,u.router)}))})),u.add(g,(l=>{const s=window.pageYOffset,r=$("#mw-content-text"),c=new URL(location.href),g={fakeToolbar:n,overlayManager:u,currentPageHTMLParser:i,fakeScroll:0,api:new mw.Api,licenseMsg:t.getLicenseMsg(),title:e.title,titleObj:e.titleObj,isAnon:d.isAnon(),isNewPage:w,oldId:mw.util.getParamValue("oldid"),returnToApp:null!==mw.util.getParamValue("returntoapp"),contentLang:r.attr("lang"),contentDir:r.attr("dir"),preload:c.searchParams.get("preload"),preloadparams:mw.util.getArrayParam("preloadparams",c.searchParams),editintro:c.searchParams.get("editintro")},f=$.Deferred(),b=o.Deferred();let v,y,k=mw.util.getParamValue("redlink")?"new":"click";function E(e){mw.track("editAttemptStep",{action:"init",type:"section",mechanism:k,integration:"page",editor_interface:e})}function x(){const t=h();return e.isVESourceAvailable()||e.isVEVisualAvailable()&&"VisualEditor"===t}function C(){return E("wikitext"),mw.hook("mobileFrontend.editorOpening").fire(),mw.loader.using("mobile.editor.overlay").then((()=>new(0,require("mobile.editor.overlay").SourceEditorOverlay)(g)))}"all"!==l&&(g.sectionId=e.isWikiText()?l:void 0);const S=a((function(){let e,t,i;$(document.body).addClass("ve-loading");const o=$("#mw-mf-page-center"),n=$("#content");"0"===l||"all"===l?e=$("#bodyContent"):(e=$('a[href$="section='+l+'"],a[href*="section='+l+'&"]').closest(".mw-heading, h1, h2, h3, h4, h5, h6"),e.length||(e=$("#bodyContent"))),o.prop("scrollTop",s),t=e[0].getBoundingClientRect().top,t-=48,x()?(i=!0===m.enableVisualSectionEditing||"mobile"===m.enableVisualSectionEditing,("0"===l||"all"===l||i)&&(t-=16)):"0"!==l&&"all"!==l||(t-=16),n.css({transform:"translate( 0, "+-t+"px )","padding-bottom":"+="+t,"margin-bottom":"-="+t}),g.fakeScroll=t,setTimeout(b.resolve,500)}),(function(){v&&v.abort&&v.abort(),$("#content").css({transform:"","padding-bottom":"","margin-bottom":""}),$(document.body).removeClass("ve-loading")}),x()?function(){k="tooslow",f.reject(),v&&v.abort&&v.abort()}:null);return y=x()?function(){E("visualeditor"),mw.hook("mobileFrontend.editorOpening").fire(),g.mode=mw.config.get("wgMFEnableVEWikitextEditor")&&"SourceEditor"===h()?"source":"visual",g.dataPromise=mw.loader.using("ext.visualEditor.targetLoader").then((()=>(v=mw.libs.ve.targetLoader.requestPageData(g.mode,g.titleObj.getPrefixedDb(),{sessionStore:!0,section:void 0===g.sectionId?null:g.sectionId,oldId:g.oldId||void 0,preload:g.preload,preloadparams:g.preloadparams,editintro:g.editintro,targetName:"mobile"}),v)));const e=mw.loader.using("ext.visualEditor.targetLoader").then((()=>mw.loader.using("mobile.editor.overlay").then((()=>(mw.libs.ve.targetLoader.addPlugin("ext.visualEditor.mobileArticleTarget"),mw.config.get("wgMFEnableVEWikitextEditor")&&mw.libs.ve.targetLoader.addPlugin("ext.visualEditor.mwwikitext"),mw.libs.ve.targetLoader.loadModules(g.mode)))))),t=$.Deferred();return e.then(t.resolve,t.reject),f.then(t.reject,t.reject),t.then((()=>{const e=require("mobile.editor.overlay"),t=e.VisualEditorOverlay,i=e.SourceEditorOverlay;return g.SourceEditorOverlay=i,new t(g)}),(()=>C()))}():C(),o.Promise.all([y,b]).then((e=>{e.getLoadingPromise().catch((t=>"rejected"===f.state()?C().then((t=>(e=t).getLoadingPromise())):$.Deferred().reject(t).promise())).then((()=>{const t=u.stack[0];t&&t.overlay===S&&u.replaceCurrent(e)}),((e,t)=>{u.router.back(),e.show?(document.body.appendChild(e.$el[0]),e.show()):t?mw.notify(g.api.getErrorMessage(t)):mw.notify(mw.msg("mobile-frontend-editor-error-loading"))}))})),p=null,S})),$("#ca-edit a, a#ca-edit, #ca-editsource a, a#ca-editsource").prop("href",((e,t)=>{const i=new URL(t,location.href);return i.searchParams.set("section","0"),i.toString()})),!r.getPath()&&(mw.util.getParamValue("veaction")||"edit"===mw.config.get("wgAction"))){"edit"===mw.util.getParamValue("veaction")?p="VisualEditor":"editsource"===mw.util.getParamValue("veaction")&&(p="SourceEditor");const e="#/editor/"+(mw.util.getParamValue("section")||("edit"===mw.config.get("wgAction")?"all":"0"));if(window.history&&history.pushState){const e=new URL(location.href);e.searchParams.delete("action"),e.searchParams.delete("veaction"),e.searchParams.delete("section"),history.replaceState(null,document.title,e)}o.docReady((()=>{r.navigate(e)}))}}(e,i,t,r);else if(function(e){e.$el.find(".mw-editsection").hide()}(t),v=mw.config.get("wgRestrictionEdit"),mw.user.isAnon()&&Array.isArray(v)&&!v.length)!function(e){let t;function i(){t||(t=new u({content:mw.msg("mobile-frontend-editor-disabled-anon"),signupQueryParams:{warning:"mobile-frontend-watchlist-signup-action"}}),document.body.appendChild(t.$el[0])),t.show()}s.on("click",(e=>{i(),e.preventDefault()})),mw.hook("wikipage.content").add((e=>{e.find(c).on("click",(e=>{i(),e.preventDefault()}))})),e.addRoute(g,(()=>{i()})),e.checkRoute()}(r);else{const e=$("<a>").attr("href",mw.util.getUrl(mw.config.get("wgPageName"),{action:"edit"}));b=y?mw.msg("apierror-readonly"):mw.message("mobile-frontend-editor-disabled",e).parseDom(),w(b,r)}}(e,t,i,r)}},"./src/mobile.init/editorLoadingOverlay.js":(e,t,i)=>{const o=i("./src/mobile.init/fakeToolbar.js"),n=i("./src/mobile.startup/IconButton.js"),a=i("./src/mobile.startup/Overlay.js");e.exports=function(e,t,i){let l;const s=o(),r=$("<div>").addClass("ve-loadbasiceditor"),c=new n({label:mw.msg("mobile-frontend-editor-loadbasiceditor"),action:"progressive",weight:"normal",size:"medium",isIconOnly:!1,icon:null}),d=new a({className:"overlay overlay-loading",noHeader:!0,isBorderBox:!1,onBeforeExit:e=>{e(),t(),l&&clearTimeout(l)}}),u=function(e,t){mw.track("visualEditorFeatureUse",{feature:e,action:t,editor_interface:"visualeditor"})};return d.show=function(){a.prototype.show.call(this),e()},d.$el.find(".overlay-content").append(s),i&&(d.$el.find(".overlay-content").append(r.append($("<p>").text(mw.msg("mobile-frontend-editor-loadingtooslow")),c.$el)),l=setTimeout((()=>{r.addClass("ve-loadbasiceditor-shown"),u("mobileVisualFallback","context-show")}),3e3),c.$el.on("click",(()=>{r.removeClass("ve-loadbasiceditor-shown"),u("mobileVisualFallback","fallback-confirm"),i()}))),s.addClass("toolbar-hidden"),setTimeout((()=>{s.addClass("toolbar-shown"),setTimeout((()=>{s.addClass("toolbar-shown-done")}),250)})),d}},"./src/mobile.init/fakeToolbar.js":(e,t,i)=>{const o=i("./src/mobile.startup/icons.js");e.exports=function(){const e=o.cancel().$el,t=o.spinner({tagName:"span",isIconOnly:!1,label:mw.msg("mobile-frontend-editor-loading")}).$el;return $("<div>").addClass("ve-mobile-fakeToolbar-container").append($("<div>").addClass("ve-mobile-fakeToolbar-header").addClass("overlay-header").append($("<div>").addClass("ve-mobile-fakeToolbar").append(e,t)))}},"./src/mobile.init/isCollapsedByDefault.js":(e,t,i)=>{const o=i("./src/mobile.startup/Browser.js").getSingleton();e.exports=function(){return!o.isWideScreen()&&!document.documentElement.classList.contains("mf-expand-sections-clientpref-1")}},"./src/mobile.init/lazyLoadedImages.js":(e,t,i)=>{const o=i("./src/mobile.startup/lazyImages/lazyImageLoader.js");function n(e){if(!(e[0]instanceof HTMLElement))return;const t=o.queryPlaceholders(e[0]);if(window.addEventListener("beforeprint",(()=>{o.loadImages(t)})),!mw.config.get("wgMFLazyLoadImages"))return;const i=new IntersectionObserver((e=>{e.forEach((e=>{const t=e.target;e.isIntersecting&&(o.loadImage(t),i.unobserve(t))}))}),{rootMargin:"0px 0px 50% 0px",threshold:0});t.forEach((e=>{i.observe(e)}))}mw.hook("mobileFrontend.loadLazyImages").add((e=>{const t=o.queryPlaceholders(e[0]);o.loadImages(t)})),e.exports=function(){mw.hook("wikipage.content").add(n)}},"./src/mobile.init/mobile.init.js":(e,t,i)=>{let o;const n=i("./src/mobile.init/toggling.js"),a=i("./src/mobile.init/lazyLoadedImages.js"),l=i("./src/mobile.init/editor.js"),s=i("./src/mobile.startup/currentPage.js")(),r=i("./src/mobile.startup/currentPageHTMLParser.js")(),c=i("./src/mobile.startup/util.js").getWindow(),d=i("./src/mobile.startup/Skin.js"),u=i("./src/mobile.startup/eventBusSingleton.js"),m=d.getSingleton();function g(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}c.on("resize",g(mw.util.debounce((()=>{u.emit("resize")}),100),mw.util.throttle((()=>{u.emit("resize:throttled")}),200))).on("scroll",g(mw.util.debounce((()=>{u.emit("scroll")}),100),mw.util.throttle((()=>{u.emit("scroll:throttled")}),200))),window.history&&history.pushState&&(o=new URL(window.location.href),(o.searchParams.has("venotify")||o.searchParams.has("mfnotify"))&&(o.searchParams.delete("venotify"),o.searchParams.delete("mfnotify"),window.history.replaceState(null,document.title,o.toString()))),window.console&&window.console.log&&window.console.log.apply&&mw.config.get("wgMFEnableJSConsoleRecruitment")&&console.log(mw.msg("mobile-frontend-console-recruit")),l(s,r,m),n(),a()},"./src/mobile.init/sectionCollapsing.js":(e,t,i)=>{const o=i("./src/mobile.init/isCollapsedByDefault.js");function n(e,t,i){const o=t.querySelector(".mf-collapsible-icon");i?(t.setAttribute("aria-expanded","false"),o.classList.add("mf-icon-expand"),o.classList.remove("mf-icon-collapse")):(t.setAttribute("aria-expanded","true"),o.classList.add("mf-icon-collapse"),o.classList.remove("mf-icon-expand")),mw.hook("readerExperiments.section-toggled").fire({heading:e,isExpanded:!i})}function a(e,t,i,o){e.hidden=!!o&&"until-found",n(t,i,o)}function l(e,t){try{return e.querySelector("#"+CSS.escape(t))}catch(e){return null}}function s(e){const t=window.location.hash;if(0!==t.indexOf("#"))return null;const i=t.slice(1),o=l(e,i);if(o)return o;const n=mw.util.percentDecodeFragment(i);return n?l(e,n):null}function r(e){let t=e.closest(".mf-collapsible-heading");if(!t){const i=e.closest(".mf-collapsible-content");i&&(t=i.previousElementSibling,t&&!t.classList.contains("mf-collapsible-heading")&&(t=null))}if(t){const e=t.querySelector("button.mf-collapsible-toggle");if(e&&"false"===e.getAttribute("aria-expanded")){const i=t.nextElementSibling;i&&a(i,t,e,!1)}}setTimeout((()=>{e.scrollIntoView()}),250)}e.exports={init:function(e){let t;const i=e.closest(".collapsible-headings-collapsed, .collapsible-headings-expanded");t=i?i.classList.contains("collapsible-headings-collapsed"):o();const l=Array.from(e.querySelectorAll(".mw-parser-output > section > .mw-heading"));!function(){const e=mw.config.get("wgInternalRedirectTargetUrl"),t=!!e&&e.split("#")[1];t&&(window.location.hash=t)}();const c=s(e);l.forEach((e=>{const i=e.nextElementSibling;if(!i||"DIV"!==i.tagName)return;const o=i.classList.contains("mf-collapsible-content")&&!i.getAttribute("hidden"),l=function(e,t){let i=e.querySelector("button.mf-collapsible-toggle");if(!i){const o=e.querySelector("h1, h2, h3, h4, h5, h6");if(!o)return null;e.classList.add("mf-collapsible-heading"),t.classList.add("mf-collapsible-content"),t.id||(t.id=o.id+"-collapsible-content"),i=document.createElement("button"),i.type="button",i.classList.add("mf-collapsible-toggle"),i.setAttribute("aria-controls",t.id),i.setAttribute("aria-labelledby",o.id);const n=document.createElement("span");n.classList.add("mf-icon","mf-icon--small","mf-collapsible-icon"),n.setAttribute("aria-hidden","true"),i.appendChild(n),o.after(i)}return i}(e,i);if(!l)return;!function(e,t,i){t.addEventListener("beforematch",(()=>{n(e,i,!1)})),e.addEventListener("click",(o=>{o.target.closest("a")||function(e,t,i){a(e,t,i,!e.hidden)}(t,e,i)}))}(e,i,l);const s=t&&!o&&!(c&&(i.contains(c)||e.contains(c)));a(i,e,l,s)})),c&&r(c),window.addEventListener("hashchange",(()=>function(e){const t=s(e);t&&r(t)}(e))),void 0!==window.mfTempClickHandler&&(document.removeEventListener("click",window.mfTempClickHandler),delete window.mfTempClickHandler)}}},"./src/mobile.init/toggling.js":(e,t,i)=>{e.exports=function(){const e=i("./src/mobile.startup/currentPage.js")(),t=i("./src/mobile.init/Toggler.js"),o=i("./src/mobile.init/sectionCollapsing.js"),n=i("./src/mobile.startup/eventBusSingleton.js");e.inNamespace("special")||"view"!==mw.config.get("wgAction")&&"edit"!==mw.config.get("wgAction")||mw.hook("wikipage.content").add((i=>{let a=i.find(".mw-parser-output");0===a.length&&(a=i),function(e,i,a){document.querySelector(".mw-parser-output[data-mw-parsoid-version]")?o.init(e[0]):(e.find(".section-heading").removeAttr("onclick"),void 0!==window.mfTempOpenSection&&delete window.mfTempOpenSection,new t({$container:e,prefix:"content-",page:a,eventBus:n}))}(a,0,e)}))}}},e=>{e.O(0,[569],(()=>e(e.s="./src/mobile.init/mobile.init.js")));var t=e.O();(this.mfModules=this.mfModules||{})["mobile.init"]=t}]);
},{"css":[".ve-mobile-fakeToolbar-container{position:fixed;z-index:2;left:0;right:0;top:0;height:3em;background:var(--background-color-base,#fff);border-bottom:1px solid var(--border-color-subtle,#c8ccd1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.ve-mobile-fakeToolbar-header{height:3em}.ve-mobile-fakeToolbar{height:3em;display:flex;align-items:center;width:100%;box-sizing:content-box;border-color:var(--border-color-subtle,#c8ccd1);border-style:solid;border-width:0 1px;margin:0 -1px}.ve-mobile-fakeToolbar \u003E button{border-right:1px solid var(--background-color-neutral,#eaecf0) !important}.ve-mobile-fakeToolbar \u003E .loading \u003E .mf-icon{margin-left:1em}"]},{"apierror-readonly":"\uc704\ud0a4\ub294 \ud604\uc7ac \uc77d\uae30 \uc804\uc6a9 \ubaa8\ub4dc\uc785\ub2c8\ub2e4.","mobile-frontend-console-recruit":"\uc800\ud76c\uac00 \ubaa8\ubc14\uc77c \uc0ac\uc774\ud2b8\ub97c \uc5b4\ub5bb\uac8c \ub9cc\ub4e4\uc5b4\ub098\uac00\ub294\uc9c0 \ub354 \uc54c\uc544\ubcf4\uc138\uc694 @ https:\/\/www.mediawiki.org\/wiki\/Special:MyLanguage\/Extension:MobileFrontend","mobile-frontend-editor-disabled":"\uc774 \ubb38\uc11c\ub294 \ud6fc\uc190\uc744 \ub9c9\uae30 \uc704\ud574 \ubcf4\ud638\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. [$1 \uc6d0\ubcf8 \ubcf4\uae30]","mobile-frontend-editor-disabled-anon":"\uc774 \ubb38\uc11c\ub97c \ud3b8\uc9d1\ud558\ub824\uba74 \ub85c\uadf8\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.","mobile-frontend-editor-error-loading":"\uc624\ub958, \ud3b8\uc9d1\uae30\ub97c \ubd88\ub7ec\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.","mobile-frontend-editor-loadbasiceditor":"\uc18c\uc2a4 \ud3b8\uc9d1\uae30\ub85c \uc804\ud658\ud558\uae30","mobile-frontend-editor-loading":"\ud3b8\uc9d1\uae30\ub97c \ubd88\ub7ec\uc624\ub294 \uc911...","mobile-frontend-editor-loadingtooslow":"\uc5f0\uacb0\uc774 \ub290\ub9b0\uac00\uc694?","mobile-frontend-editor-uploadenable":"\ud3b8\uc9d1\uc744 \ud65c\uc131\ud654\ud558\uae30 \uc704\ud574 \uba3c\uc800 \uc0ac\uc9c4\uc744 \uc62c\ub824\uc8fc\uc2ed\uc2dc\uc624."}];});
mw.loader.impl(function(){return["mobile.startup@i2eih",function($,jQuery,require,module){mw.config.set({"wgMFEnableJSConsoleRecruitment":true,"wgMFDeviceWidthTablet":"640px","wgMFTrackBlockNotices":true,"wgMFDefaultEditor":"preference","wgMFFallbackEditor":"visual","wgMFEnableVEWikitextEditor":false,"wgMFEnableAbandonSurvey":false});
(()=>{"use strict";var r,e={},o={};function t(r){var n=o[r];if(void 0!==n)return n.exports;var s=o[r]={exports:{}};return e[r](s,s.exports,t),s.exports}t.m=e,r=[],t.O=(e,o,n,s)=>{if(!o){var a=1/0;for(u=0;u<r.length;u++){for(var[o,n,s]=r[u],f=!0,l=0;l<o.length;l++)(!1&s||a>=s)&&Object.keys(t.O).every((r=>t.O[r](o[l])))?o.splice(l--,1):(f=!1,s<a&&(a=s));if(f){r.splice(u--,1);var i=n();void 0!==i&&(e=i)}}return e}s=s||0;for(var u=r.length;u>0&&r[u-1][2]>s;u--)r[u]=r[u-1];r[u]=[o,n,s]},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={715:0};t.O.j=e=>0===r[e];var e=(e,o)=>{var n,s,[a,f,l]=o,i=0;if(a.some((e=>0!==r[e]))){for(n in f)t.o(f,n)&&(t.m[n]=f[n]);if(l)var u=l(t)}for(e&&e(o);i<a.length;i++)s=a[i],t.o(r,s)&&r[s]&&r[s][0](),r[s]=0;return t.O(u)},o=self.webpackChunkmfModules=self.webpackChunkmfModules||[];o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})()})();
(self.webpackChunkmfModules=self.webpackChunkmfModules||[]).push([[569],{"./src/mobile.startup/Anchor.js":(e,t,s)=>{const i=s("./src/mobile.startup/View.js"),n=s("./src/mobile.startup/util.js");e.exports=class extends i{get isTemplateMode(){return!0}get defaults(){return{progressive:void 0,destructive:void 0,additionalClassNames:"",href:void 0,label:void 0}}get template(){return n.template('\n<a {{#href}}href="{{href}}"{{/href}} class="mw-mf-anchor\n\t{{#progressive}} mw-mf-anchor-progressive{{/progressive}}\n\t{{#destructive}} mw-mf-anchor-destructive{{/destructive}}\n\t {{additionalClassNames}}">{{label}}</a>\n\t')}}},"./src/mobile.startup/Browser.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js");let n;function a(e){const t=function(){const s=this["__cache"+t.cacheId]||(this["__cache"+t.cacheId]={}),i=[].join.call(arguments,"|");return Object.prototype.hasOwnProperty.call(s,i)?s[i]:s[i]=e.apply(this,arguments)};return t.cacheId=Date.now().toString()+Math.random().toString(),t}class r{constructor(e,t){this.userAgent=e,this.$el=t,this.isIos=a((function(e){const t=this.userAgent,s=/ipad|iphone|ipod/i.test(t);if(!s||!e)return s;switch(e){case 8:return/OS 8_/.test(t)||/Version\/8/.test(t);case 4:return/OS 4_/.test(t);case 5:return/OS 5_/.test(t);default:return!1}})),this.isWideScreen=a((()=>{const e=parseInt(mw.config.get("wgMFDeviceWidthTablet"),10);return window.innerWidth>=e})),this.supportsTouchEvents=a((()=>"ontouchstart"in window))}static getSingleton(){let e;return n||(e=i.getDocument(),n=new r(window.navigator.userAgent,e)),n}}e.exports=r},"./src/mobile.startup/Button.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n=s("./src/mobile.startup/View.js"),a=s("./src/mobile.startup/IconButton.js");e.exports=class extends n{constructor(e){super(e)}get isTemplateMode(){return!0}get defaults(){return{tagName:"a",disabled:!1,progressive:void 0,destructive:void 0,quiet:void 0,additionalClassNames:"",href:void 0,label:void 0,size:"medium"}}get template(){return i.template("{{{_buttonHTML}}}")}preRender(){let e="default";this.options.progressive?e="progressive":this.options.destructive&&(e="destructive");let t=this.options.quiet?"quiet":"normal";(this.options.progressive||this.options.destructive)&&(t="primary");const s=i.extend({weight:t,action:e,isIconOnly:!1,icon:null},this.options);this._button=new a(s),this.options._buttonHTML=this._button.$el.get(0).outerHTML}}},"./src/mobile.startup/CtaDrawer.js":(e,t,s)=>{const i=s("./src/mobile.startup/Drawer.js"),n=s("./src/mobile.startup/util.js"),a=s("./src/mobile.startup/Button.js"),r=s("./src/mobile.startup/Anchor.js");function o(e={}){const t=l(e.queryParams,e.returnTo);return new i(n.extend({children:[n.parseHTML("<p>").text(e.content),new a(n.extend({progressive:!0,href:mw.util.getUrl("Special:UserLogin",t),label:mw.msg("mobile-frontend-watchlist-cta-button-login")},e.progressiveButton)).$el,n.parseHTML("<div>").addClass("cta-drawer__anchors").append(new r(n.extend({href:mw.util.getUrl("Special:UserLogin",c(t,e.signupQueryParams)),progressive:!0,label:mw.msg("mobile-frontend-watchlist-cta-button-createaccount")},e.actionAnchor)).$el)]},e))}function l(e,t){return n.extend({returnto:t||mw.config.get("wgPageName")},e)}function c(){[].push.call(arguments,{type:"signup"});const e=n.extend.apply(n,arguments);if(mw.config.get("wgMFInAccountCreationCTAControl")){const t="readingListsAccountCreationCta=1";e.returntoquery?e.returntoquery+=`&${t}`:e.returntoquery=t}return e}o.prototype.test={redirectParams:l,signUpParams:c},e.exports=o},"./src/mobile.startup/Drawer.js":(e,t,s)=>{const i=s("./src/mobile.startup/View.js"),n=s("./src/mobile.startup/util.js"),a=s("./src/mobile.startup/IconButton.js");e.exports=class extends i{constructor(e){super(n.extend({onBeforeHide:()=>{},showCollapseIcon:!0},e,{events:n.extend({"click .drawer-container__mask":()=>{this.hide()},"click .cancel":e=>{e.preventDefault(),this.hide()},click(e){e.stopPropagation()}},e.events)}))}initialize(e){this.drawerClassName=e.className||"",e.className="drawer-container",this.collapseIcon=new a({icon:"expand",additionalClassNames:"cancel",label:mw.msg("mobile-frontend-drawer-arrow-label")}),this.minHideDelay=100,super.initialize(e)}show(){const e=n.Deferred();this.$el.prepend(this.$mask),this.$el.width();const t=this.$el.find(".drawer");return this.$mask.addClass("drawer-container__mask--visible"),t.hasClass("visible")?e.resolve():(t.addClass("visible"),mw.hook("mobileFrontend.loadLazyImages").fire(this.$el),this.options.onShow&&this.options.onShow(e),requestAnimationFrame((()=>e.resolve()))),e.promise()}hide(){const e=n.Deferred();return this.$el.find(".drawer").removeClass("visible"),this.$mask.removeClass("drawer-container__mask--visible"),requestAnimationFrame((()=>{this.options.onBeforeHide(this),setTimeout((()=>{this.$mask.detach(),e.resolve()}),100)})),e.promise()}postRender(){this.$mask=n.parseHTML("<div>").addClass("drawer-container__mask");const e=this.options,t=n.parseHTML("<div>").addClass(`drawer drawer-container__drawer position-fixed ${this.drawerClassName}`.trim());e.showCollapseIcon&&t.prepend(this.collapseIcon.$el),e.children&&t.append(e.children),this.$el.append(t)}}},"./src/mobile.startup/Icon.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n=s("./src/mobile.startup/View.js");e.exports=class extends n{constructor(e){super(e)}preRender(){this.options._iconClasses=this.getIconClasses()}getRotationClass(){let e="";if(this.options.rotation)switch(this.options.rotation){case-180:case 180:e="mf-icon-rotate-flip";break;case-90:e="mf-icon-rotate-anti-clockwise";break;case 90:e="mf-icon-rotate-clockwise";break;case 0:break;default:throw new Error("Bad value for rotation given. Must be ±90, 0 or ±180.")}return e}getIconClasses(){const e=this.options.base,t=this.options.icon,s=this.options.isSmall,i=this.getRotationClass(),n=this.options.additionalClassNames;let a=e+" ";return t&&(a+=this.getGlyphClassName()+" "),s&&(a+="mf-icon--small "),n&&(a+=n+" "),a+i}get isTemplateMode(){return!0}get defaults(){return{base:"mf-icon",glyphPrefix:null,icon:"",rotation:0,isSmall:!1,additionalClassNames:null}}getClassName(){return this.$el.attr("class")}getGlyphClassName(){return this.options.glyphPrefix?"mf-icon-"+this.options.glyphPrefix+"-"+this.options.icon:"mf-icon-"+this.options.icon}get template(){return i.template('<span class="{{_iconClasses}}"> </span>')}}},"./src/mobile.startup/IconButton.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n=s("./src/mobile.startup/View.js"),a=s("./src/mobile.startup/Icon.js");e.exports=class extends n{constructor(e){e.href&&(e.tagName="a"),"button"===e.tagName&&(e.isTypeButton=!0),super(e)}preRender(){this.options._buttonClasses=this.getButtonClasses(),this.options._iconHTML="",this.options.icon&&(this._icon=new a({base:this.options.base,glyphPrefix:this.options.glyphPrefix,icon:this.options.icon,rotation:this.options.rotation,isSmall:this.options.isSmall}),this.options._iconHTML=this._icon.$el.get(0).outerHTML)}getButtonClasses(){const e=this.options.additionalClassNames,t=this.options.size,s=this.options.weight,i=this.options.action,n=this.options.isIconOnly;let a="cdx-button ";return"button"!==this.options.tagName&&(a+="cdx-button--fake-button cdx-button--fake-button--enabled "),t&&(a+=`cdx-button--size-${t} `),s&&(a+=`cdx-button--weight-${s} `),i&&(a+=`cdx-button--action-${i} `),n&&(a+="cdx-button--icon-only "),a+e}get isTemplateMode(){return!0}get defaults(){return{tagName:"button",href:void 0,additionalClassNames:"",title:"",size:"large",weight:"quiet",action:"",isIconOnly:!0,disabled:!1,base:"mf-icon",icon:"",rotation:0,isSmall:!1}}getClassName(){return this.$el.attr("class")}getIcon(){return this._icon}get template(){return i.template('\n\t\t<{{tagName}}\n\t\t\ttype="button"\n\t\t\t{{#isTypeButton}}{{#disabled}}disabled{{/disabled}}{{/isTypeButton}}\n\t\t\tclass="{{_buttonClasses}}"\n\t\t\t{{#id}}id="{{id}}"{{/id}}\n\t\t\t{{#href}}href="{{href}}"{{/href}}\n\t\t\t{{#title}}title="{{title}}"{{/title}}>\n\t\t\t\t{{{_iconHTML}}}\n\t\t\t\t<span>{{label}}</span>\n\t\t</{{tagName}}>\n\t\t')}}},"./src/mobile.startup/Overlay.js":(e,t,s)=>{const i=s("./src/mobile.startup/View.js"),n=s("./src/mobile.startup/headers.js").header,a=s("./src/mobile.startup/Anchor.js"),r=s("./src/mobile.startup/util.js"),o=s("./src/mobile.startup/Browser.js").getSingleton();class l extends i{constructor(e){super(r.extend(!0,{headerChrome:!1,className:"overlay"},e,{events:r.extend({"click .cancel, .confirm, .initial-header .back":"onExitClick",click:e=>e.stopPropagation()},e.events)}))}get template(){return r.template('\n{{^noHeader}}\n<div class="overlay-header-container header-container{{#headerChrome}}\n\theader-chrome{{/headerChrome}} position-fixed">\n</div>\n{{/noHeader}}\n<div class="overlay-content">\n\t{{>content}}\n</div>\n<div class="overlay-footer-container position-fixed"></div>\n\t')}get isIos(){return o.isIos()}set hideTimeout(e){this._hideTimeout=e}get hideTimeout(){return this._hideTimeout}showSpinner(){this.$el.find(".spinner").removeClass("hidden")}hideSpinner(){this.$el.find(".spinner").addClass("hidden")}postRender(){const e=this.options.footerAnchor;this.$overlayContent=this.$el.find(".overlay-content"),this.isIos&&this.$el.addClass("overlay-ios"),e&&this.$el.find(".overlay-footer-container").append(new a(e).$el);const t=this.options.headers||[n(this.options.heading,this.options.headerActions)];this.$el.find(".overlay-header-container").append(t)}onExitClick(e){const t=()=>{this.hide()};e.preventDefault(),e.stopPropagation(),this.options.onBeforeExit?this.options.onBeforeExit(t,(()=>{})):t()}show(){const e=r.getDocument();this.scrollTop=window.pageYOffset,e.addClass("overlay-enabled"),window.scrollTo(0,1),this.$el.addClass("visible"),null!==this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}hide(){return r.getDocument().removeClass("overlay-enabled"),window.scrollTo(window.pageXOffset,this.scrollTop),this.hideTimeout=setTimeout((()=>{this.$el.detach(),this.hideTimeout=null}),0),this.emit("hide"),!0}showHidden(e){this.$el.find(".hideable").addClass("hidden"),this.$el.find(e).removeClass("hidden")}}function c(e){mw.log.warn("[1.44] Extending Overlay class constructor is deprecated. Please use Overlay.make"),i.ClassES5.call(this,r.extend(!0,{headerChrome:!1,className:"overlay"},e,{events:r.extend({"click .cancel, .confirm, .initial-header .back":"onExitClick",click:e=>e.stopPropagation()},e.events)}))}l.make=function(e,t){const s=new l(e);return s.$el.find(".overlay-content").append(t.$el),s},c.prototype=l.prototype,c.make=l.make,l.ClassES5=c,e.exports=l},"./src/mobile.startup/OverlayManager.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js");let n=null;const a="MobileFrontend OverlayManager was here!";class r{constructor(e,t){e.on("route",this._checkRoute.bind(this)),this.router=e,this.entries={},this.stack=[],this.hideCurrent=!0,this.container=t}_onHideOverlayOutsideOverlayManager(){if(!this.stack.length)return;const e=this.stack[0].route,t="string"==typeof e,s=this.router.getPath(),i=t&&s===e||s.match(e);this.hideCurrent=!1,i&&this.router.back()}_attachOverlay(e){e.$el.parents().length||this.container.appendChild(e.$el[0])}_show(e){window.history.replaceState(a,null,window.location.href),e.once("_om_hide",(()=>this._onHideOverlayOutsideOverlayManager())),this._attachOverlay(e),e.show()}_hideOverlay(e,t){let s;function i(){s=!0,e.hide()}return e.off("_om_hide"),e.options&&e.options.onBeforeExit?e.options.onBeforeExit(i,t):i(),s||e.once("_om_hide",(()=>this._onHideOverlayOutsideOverlayManager())),s}_processMatch(e){if(e)if(e.overlay)this._show(e.overlay);else{const t=e.factoryResult;t&&(e.overlay=t,o(e.overlay),this._show(t))}}_checkRoute(e){const t=this.stack[0];if(t||(this.scrollTop=window.pageYOffset),t&&void 0!==t.overlay&&this.hideCurrent&&!this._hideOverlay(t.overlay,(()=>{e.preventDefault()})))return;const s=Object.keys(this.entries).reduce(((t,s)=>t||this._matchRoute(e.path,this.entries[s])),null);s||(this.stack=[],window.scrollTo(window.pageXOffset,this.scrollTop)),this.hideCurrent=!0,this._processMatch(s)}_matchRoute(e,t){let s,i,n;const a=this.stack[1];"string"==typeof t.route?(s=t.route===e,i=[]):(n=e.match(t.route),s=!!n,i=s?n.slice(1):[]);const r=()=>({path:e,route:t.route,factoryResult:t.factory.apply(this,i)});if(s){if(a&&a.path===e)return this.stack.shift(),a;{const e=r();return this.stack[0]&&e.path===this.stack[0].path?this.stack[0]=e:this.stack.unshift(e),e}}return null}add(e,t){const s={route:e,factory:t};this.entries[e]=s,i.docReady((()=>this._processMatch(this._matchRoute(this.router.getPath(),s))))}replaceCurrent(e){if(0===this.stack.length)throw new Error("Trying to replace OverlayManager's current overlay, but stack is empty");const t=this.stack[0].overlay;t&&this._hideOverlay(t),this.stack[0].overlay=e,o(e),this._show(e)}static getSingleton(){if(!n){const e=require("mediawiki.router"),t=document.createElement("div"),s=e.getPath(),i=window.history.state;t.className="mw-overlays-container",document.body.appendChild(t),s&&i!==a&&(window.history.replaceState(null,null,"#"),window.history.pushState(a,null,`#${s}`)),n=new r(e,t)}return n}}function o(e){e.on("hide",(()=>e.emit("_om_hide")))}r.test={MANAGED_STATE:a,__clearCache:()=>{n=null}},e.exports=r},"./src/mobile.startup/Page.js":(e,t,s)=>{const i=mw.html,n=s("./src/mobile.startup/util.js");e.exports=class{constructor(e){const t=e.title||"";n.extend(this,{id:e.id||0,title:t,relevantTitle:e.relevantTitle||t,titleObj:e.titleObj,displayTitle:e.displayTitle||i.escape(t),namespaceNumber:e.namespaceNumber||0,protection:e.protection,url:e.url||mw.util.getUrl(t),wikidataDescription:e.wikidataDescription,_isMainPage:e.isMainPage||!1,isMissing:void 0!==e.isMissing?e.isMissing:0===e.id,anchor:e.anchor,revId:e.revId,_isWatched:e.isWatched,thumbnail:!!Object.prototype.hasOwnProperty.call(e,"thumbnail")&&e.thumbnail}),this.thumbnail&&this.thumbnail.width&&(this.thumbnail.isLandscape=this.thumbnail.width>this.thumbnail.height)}getDisplayTitle(){return this.displayTitle}inNamespace(e){return this.namespaceNumber===mw.config.get("wgNamespaceIds")[e]}isWikiText(){return"wikitext"===mw.config.get("wgPageContentModel")}isVEAvailable(){return!!mw.config.get("wgVisualEditorConfig")&&!mw.config.get("wgVisualEditorDisabledByHook")&&this.isWikiText()}isVEVisualAvailable(){return!!this.isVEAvailable()&&(mw.config.get("wgVisualEditorConfig").namespaces||[]).includes(mw.config.get("wgNamespaceNumber"))}isVESourceAvailable(){return this.isVEAvailable()&&mw.config.get("wgMFEnableVEWikitextEditor")}isMainPage(){return this._isMainPage}isWatched(){return this._isWatched}getRevisionId(){return this.revId}getTitle(){return this.title}getNamespaceId(){let e;const t=this.title.split(":");return e=t[1]&&mw.config.get("wgNamespaceIds")[t[0].toLowerCase().replace(" ","_")]||0,e}}},"./src/mobile.startup/PageHTMLParser.js":(e,t,s)=>{const i=s("./src/mobile.startup/Thumbnail.js"),n=".mw-heading",a=["noviewer","metadata"],r=a.map((e=>`:not(.${e})`)).join(""),o=["a.image","a.thumbimage, a.mw-file-description"].map((e=>`${e}${r}`)).join(",");class l{constructor(e){this.$el=e,this.$headings=this.$el.find(n)}findSectionHeadingByIndex(e){return e<1?$([]):this.$headings.filter('.mw-parser-output > *, [class^="mf-section-"] > *').eq(e-1)}findChildInSectionLead(e,t){let s,i;const a=n;function r(e){return e.find(t).addBack()}if(0===e){const e=this.getLeadSectionElement();if(e&&e.length){const s=e.find('section[data-mw-section-id="0"]');return s.length?r(s.children(t)):r(e.children(t))}return s=this.findSectionHeadingByIndex(1),s.length?r(s.prevAll(t)):this.$el.find(t)}if(s=this.findSectionHeadingByIndex(e),s.hasClass("section-heading")){const e=s.next();return i=e.find(a).eq(0),i.length?r(i.prevAll(t)):r(e.children(t))}return i=s.eq(0).nextAll(a).eq(0),s.nextUntil(i,t)}getLeadSectionElement(){const e=this.$el.find(".mf-section-0");return e.length?e:null}getThumbnail(e){const t="."+a.join(",."),s=e.find(".lazy-image-placeholder"),n=e.attr("href"),r=n&&new URL(n,location.href),o=r&&r.searchParams.get("title"),l=r&&r.pathname.match(/[^/]+$/);let c=0===e.parents(t).length&&0===e.find(t).length;return s.length&&c&&(c=!new RegExp("\\b("+a.join("|")+")\\b").test(s.data("class"))),c&&(null!==o||l)?new i({el:e,filename:mw.util.percentDecodeFragment(null!==o?o:l[0])}):null}getThumbnails(e){const t=[];return(e=e||this.$el).find(o).each(((s,i)=>{const n=e.find(i),a=this.getThumbnail(n);a&&t.push(a)})),t}getRedLinks(){return this.$el.find(".new")}getLanguages(e){const t=t=>{const s=t.textContent,i=t.getAttribute("data-language-local-name")||s,n=t.getAttribute("data-title")||e;return{lang:t.getAttribute("hreflang"),autonym:s,langname:i,title:n,url:t.getAttribute("href")}};return{languages:Array.prototype.map.call(document.querySelectorAll("#p-lang .interlanguage-link a"),t),variants:Array.prototype.map.call(document.querySelectorAll("#p-variants li a"),t)}}}l.HEADING_SELECTOR=n,l.THUMB_SELECTOR=o,e.exports=l},"./src/mobile.startup/Skin.js":(e,t,s)=>{const i=s("./src/mobile.startup/Browser.js").getSingleton(),n=s("./src/mobile.startup/View.js"),a=s("./src/mobile.startup/util.js"),r=s("./src/mobile.startup/currentPage.js"),o=s("./src/mobile.startup/eventBusSingleton.js");let l;class c extends n{constructor(e){const t=a.extend({isBorderBox:!1},e);super(t),this.page=t.page,this.name=t.name,this.eventBus=t.eventBus}get defaults(){return{page:void 0}}postRender(){const e=this.$el;i.supportsTouchEvents()&&e.addClass("touch-events"),this.$el.find("#mw-mf-page-center").on("click",(e=>{this.emit("click",e)}))}getLicenseLinks(){const e=mw.message("mobile-frontend-license-links"),t=e.exists()&&e.text();return"qqx"===mw.config.get("wgUserLanguage")||t?e.parseDom():this.$el.find("#footer-info-copyright a").clone()}getLicenseMsg(){const e=this.getLicenseLinks();let t;if(e.length){const s=mw.language.convertNumber(e.filter("a").length);if(this.$el.find("#footer-places-terms-use").length>0){const i=mw.message("mobile-frontend-editor-terms-link",this.$el.find("#footer-places-terms-use a").attr("href")).parseDom();t=mw.message("mobile-frontend-editor-licensing-with-terms",i,e,s).parse()}else t=mw.message("mobile-frontend-editor-licensing",e,s).parse()}return t}}c.getSingleton=function(){return l||(l=new c({el:"body",page:r(),eventBus:o})),l},e.exports=c},"./src/mobile.startup/Thumbnail.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n=s("./src/mobile.startup/View.js");e.exports=class extends n{constructor(e){super(i.extend({isBorderBox:!1},e))}get defaults(){return{filename:void 0}}postRender(){this.options.description=this.$el.siblings(".thumbcaption, figcaption").prop("innerText")||""}getDescription(){return this.options.description}getFileName(){return this.options.filename}}},"./src/mobile.startup/View.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n=/^(\S+)\s*(.*)$/;let a=0;class r{constructor(e){this.initialize(e)}get template(){}get templatePartials(){return{}}get defaults(){return{}}get tagName(){return this.options.tagName||"div"}get isTemplateMode(){return!1}initialize(e){OO.EventEmitter.call(this),e=i.extend({},this.defaults,e),this.options=e,this.cid=function(e){const t=(++a).toString();return e?e+t:t}("view"),e.el?this.$el=$(e.el):this.$el=this.parseHTML("<"+this.tagName+">"),this.$el.length?this._postInitialize(e):i.docReady((()=>{this.$el=$(e.el),this._postInitialize(e)}))}_postInitialize(e){this.$el.addClass(e.className),!1!==e.isBorderBox&&this.$el.addClass("view-border-box"),this.render({})}preRender(){}postRender(){}render(e){let t,s;return i.extend(this.options,e),this.preRender(),this.undelegateEvents(),this.template&&!this.options.skipTemplateRender&&(s=this.template.render(this.options,this.templatePartials),this.isTemplateMode?(t=$(s),this.$el.replaceWith(t),this.$el=t):this.$el.html(s)),this.postRender(),this.delegateEvents(),this}delegateEvents(e){let t,s,i;if(e=e||this.options.events)for(s in this.undelegateEvents(),e)i=e[s],"function"!=typeof i&&(i=this[e[s]]),i&&(t=s.match(n),this.delegate(t[1],t[2],i.bind(this)))}delegate(e,t,s){this.$el.on(e+".delegateEvents"+this.cid,t,s)}undelegateEvents(){this.$el&&this.$el.off(".delegateEvents"+this.cid)}undelegate(e,t,s){this.$el.off(e+".delegateEvents"+this.cid,t,s)}parseHTML(e){return i.parseHTML(e,document)}static make(e={},t=[]){const s=new r(e);return t.forEach((e=>s.append(e))),s}}function o(e){mw.log.warn("[1.44] Extending View class constructor is deprecated. Please use View.make"),this.initialize(e)}OO.mixinClass(r,OO.EventEmitter),["append","prepend","appendTo","prependTo","after","before","insertAfter","insertBefore","remove","detach"].forEach((e=>{r.prototype[e]=function(){return this.$el[e].apply(this.$el,arguments),this}})),o.prototype=r.prototype,o.make=r.make,r.ClassES5=o,e.exports=r},"./src/mobile.startup/actionParams.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n={action:"query",formatversion:2};e.exports=function(e){const t=mw.config.get("wgMFScriptPath");return i.extend({},n,{origin:t?"*":void 0},e)}},"./src/mobile.startup/currentPage.js":(e,t,s)=>{const i=s("./src/mobile.startup/Page.js");let n;e.exports=function(){if(n)return n;const e=[].concat(mw.config.get("wgRestrictionEdit",[])),t=mw.Title.newFromText(mw.config.get("wgRelevantPageName")),s=mw.Title.newFromText(mw.config.get("wgPageName"));return 0===e.length&&e.push("*"),n=new i({title:s.getPrefixedText(),titleObj:s,relevantTitle:t.getPrefixedText(),protection:{edit:e},revId:mw.config.get("wgRevisionId"),isMainPage:mw.config.get("wgIsMainPage"),isWatched:$("#ca-watch").hasClass("watched"),isMissing:0===mw.config.get("wgArticleId"),id:mw.config.get("wgArticleId"),namespaceNumber:mw.config.get("wgNamespaceNumber")}),n}},"./src/mobile.startup/currentPageHTMLParser.js":(e,t,s)=>{const i=s("./src/mobile.startup/PageHTMLParser.js");let n;e.exports=function(){return n||(n=new i($("#content #bodyContent")),n)}},"./src/mobile.startup/eventBusSingleton.js":e=>{e.exports=new OO.EventEmitter},"./src/mobile.startup/headers.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n=s("./src/mobile.startup/Button.js"),a=s("./src/mobile.startup/icons.js");function r(e,t,s,n){const r="string"==typeof e?e:void 0,o={hasActions:t&&t.length,isHidden:!1,heading:r},l=i.template(`\n<div class="overlay-header header ${n||""} hideable">\n\t<ul class="header-cancel">\n\t\t<li></li>\n\t</ul>\n\t{{{heading}}}\n\t{{#hasActions}}\n\t<div class="header-action"></div>\n\t{{/hasActions}}\n</div>\n\t\t`).render(o);s=s||a.cancel();const c=i.parseHTML(l);return c.find("h2 span").addClass("truncated-text"),c.find(".header-cancel li").append(s.$el),void 0===r&&e.$el.insertAfter(c.find(".header-cancel")),t&&t.length&&c.find(".header-action").append(t.map((e=>e.$el))),c[0]}function o(e,t,s,i){return r(e=`<div class="overlay-title"><h2>${e}</h2></div>`,t,s,i)}e.exports={savingHeader:function(e){return o(e,[a.spinner({additionalClassNames:"savespinner loading"})],a.cancel(),"saving-header hidden")},saveHeader:function(e,t){return o(e,[new n({tagName:"button",additionalClassNames:"save submit",disabled:!0,label:i.saveButtonMessage(),size:"large"})],a.back(),t)},formHeader:function(e,t,s,i){return r(e,t,s,i)},header:o}},"./src/mobile.startup/icons.js":(e,t,s)=>{const i="close",n=s("./src/mobile.startup/Icon.js"),a=s("./src/mobile.startup/IconButton.js"),r={CANCEL_GLYPH:i,Icon:n,IconButton:a,back:()=>new r.IconButton({tagName:"button",icon:"previous",additionalClassNames:"back",label:mw.msg("mobile-frontend-overlay-close")}),cancel(e,t={}){const s=e?`${i}-${e}`:`${i}`;return t.additionalClassNames=t.additionalClassNames||"",t.additionalClassNames+=" cancel",new r.IconButton(Object.assign({tagName:"button",icon:s,label:mw.msg("mobile-frontend-overlay-close")},t))},spinner(e={}){void 0===e.additionalClassNames&&(e.additionalClassNames="spinner loading");const t=new r.IconButton(Object.assign({tagName:"span",icon:"spinner",label:mw.msg("mobile-frontend-loading-message")},e));return t.$el.removeClass(),t.$el.addClass(e.additionalClassNames),t.$el.attr("type",""),t.options.isIconOnly&&t.$el.addClass("mf-spinner-icon-element"),t},error:()=>new r.IconButton({icon:"alert-invert",additionalClassNames:"load-fail-msg-icon"}),watch:(e={})=>(e.additionalClassNames=e.additionalClassNames||"",e.additionalClassNames+=" watch-this-article",new r.IconButton(Object.assign({icon:"star-subtle"},e))),watched:(e={})=>(e.additionalClassNames=e.additionalClassNames||"",e.additionalClassNames+=" watch-this-article watched",new r.IconButton(Object.assign({icon:"unStar-progressive"},e)))};e.exports=r},"./src/mobile.startup/lazyImages/lazyImageLoader.js":(e,t,s)=>{const i=s("./src/mobile.startup/util.js"),n="lazy-image-placeholder";e.exports={placeholderClass:n,queryPlaceholders:function(e){return Array.prototype.slice.call(e.getElementsByClassName(n))},loadImages:function(t){return i.Promise.all(t.map((t=>e.exports.loadImage(t).promise)))},loadImage:function(e){const t=i.Deferred(),s=e.dataset.width,n=e.dataset.height,a=new Image;s&&a.setAttribute("width",parseInt(s,10)),n&&a.setAttribute("height",parseInt(n,10)),a.className=e.dataset.class||"",a.alt=e.dataset.alt||"",a.useMap=e.dataset.usemap,a.style.cssText=e.style.cssText||"",a.addEventListener("load",(()=>{a.classList.add("image-lazy-loaded"),e.parentNode&&e.parentNode.replaceChild(a,e),t.resolve("load")}),{once:!0}),a.addEventListener("error",(()=>{e.parentNode&&e.parentNode.replaceChild(a,e),t.resolve("error")}),{once:!0});const r=e.dataset.mwSrc||"";return r&&(a.src=r,a.srcset=e.dataset.mwSrcset||""),{promise:t,image:a}},test:{placeholderClass:n}}},"./src/mobile.startup/moduleLoader.js":e=>{e.exports=class{constructor(){this._register={}}require(e){const t=this._register;function s(){if(!Object.hasOwnProperty.call(t,e))throw new Error("MobileFrontend Module not found: "+e);return t[e]}const i=e.split("/");try{const e=require(i[0]);return e[i[1]]?e[i[1]]:s()}catch(e){return s()}}define(e,t){if(Object.hasOwnProperty.call(this._register,e))throw new Error("Module already exists: "+e);return this._register[e]=t,{deprecate:s=>{this.deprecate(s,t,e)}}}deprecate(e,t,s){let i;s&&(i="Use "+s+" instead."),mw.log.deprecate(this._register,e,t,i)}}},"./src/mobile.startup/moduleLoaderSingleton.js":(e,t,s)=>{const i=s("./src/mobile.startup/moduleLoader.js");e.exports=new i},"./src/mobile.startup/showOnPageReload.js":e=>{const t="mobileFrontend/toast";mw.requestIdleCallback((function(){let e=mw.storage.get(t);e&&(e=JSON.parse(e),mw.notify(e.content,e.options),mw.storage.remove(t))})),e.exports={showOnPageReload:function(e,s){mw.storage.get(t)?mw.log.warn("A pending toast message already exits. The page should have been reloaded by now."):mw.storage.set(t,JSON.stringify({content:e,options:s}))}}},"./src/mobile.startup/util.js":e=>{e.exports={saveButtonMessage:()=>mw.config.get("wgEditSubmitButtonLabelPublish")?mw.msg("mobile-frontend-editor-publish"):mw.msg("mobile-frontend-editor-save"),Promise:{all:e=>$.when.apply($,e)},escapeSelector:e=>$.escapeSelector(e),docReady:e=>$(e),Deferred:()=>$.Deferred(),getDocument:()=>$(document.documentElement),getWindow:()=>$(window),parseHTML:(e,t)=>(t=t||document,$($.parseHTML(e,t))),extend(){return $.extend.apply($,arguments)},template:e=>({getSource:()=>e,render(t,s){const i={};return Object.keys(s||{}).forEach((e=>{i[e]=s[e].getSource()})),Mustache.render(e.trim(),t,i)}})}}}]);
(self.webpackChunkmfModules=self.webpackChunkmfModules||[]).push([[380],{"./src/mobile.startup/LanguageInfo.js":(e,s,t)=>{const r=t("./src/mobile.startup/util.js"),a=t("./src/mobile.startup/actionParams.js");e.exports=class{constructor(e){this.api=e}getLanguages(){return this.api.get(a({meta:"languageinfo",liprop:"code|autonym|name|bcp47"})).then((e=>{const s=[];return Object.keys(e.query.languageinfo).forEach((t=>{const r=e.query.languageinfo[t];r.code.toLowerCase()===r.bcp47.toLowerCase()&&r.autonym&&s.push(r)})),s}),(()=>r.Deferred().reject())).then((e=>({languages:e.map((e=>(e.url="#",e.lang=e.code,e.langname=e.name,e.title=e.name,e)))})),(()=>r.Deferred().reject()))}}},"./src/mobile.startup/MessageBox.js":(e,s,t)=>{const r=t("./src/mobile.startup/View.js"),a=t("./src/mobile.startup/util.js");e.exports=class extends r{constructor(e){super(e)}get isTemplateMode(){return!0}get defaults(){return{}}get template(){return a.template('\n<div\n  class="cdx-message cdx-message--block cdx-message--{{type}} {{className}}"\n  aria-live="polite"\n>\n  \x3c!-- Empty span for message icon. --\x3e\n  <span class="cdx-message__icon"></span>\n  \x3c!-- Div for content. --\x3e\n  <div class="cdx-message__content">\n  {{#heading}}<h2>{{heading}}</h2>{{/heading}}\n  {{{msg}}}\n  </div>\n</div>\n\t')}}},"./src/mobile.startup/Section.js":(e,s,t)=>{const r=t("./src/mobile.startup/util.js"),a=t("./src/mobile.startup/View.js");class n extends a{constructor(e){e.tag="h"+e.level,super(e),this.line=e.line,this.text=e.text,this.hasReferences=e.hasReferences||!1,this.id=e.id||null,this.anchor=e.anchor,this.subsections=[],(e.subsections||[]).forEach((e=>this.subsections.push(new n(e))))}get template(){return r.template('\n<h{{level}} id="{{anchor}}">{{{line}}}</h{{level}}>\n{{{text}}}\n\t')}get defaults(){return{line:void 0,text:""}}}e.exports=n},"./src/mobile.startup/languageOverlay/getDeviceLanguage.js":e=>{e.exports=function(e){const s=e.languages?e.languages[0]:e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;return s?s.toLowerCase():void 0}},"./src/mobile.startup/languageOverlay/languageInfoOverlay.js":(e,s,t)=>{const r=t("./src/mobile.startup/moduleLoaderSingleton.js"),a=t("./src/mobile.startup/languageOverlay/getDeviceLanguage.js"),n=t("./src/mobile.startup/Overlay.js"),o=t("./src/mobile.startup/promisedView.js");function i(e,s){return mw.loader.using("mobile.languages.structured").then((()=>e.getLanguages())).then((e=>new(r.require("mobile.languages.structured/LanguageSearcher"))({languages:e.languages,variants:e.variants,showSuggestedLanguages:s,deviceLanguage:a(navigator)})))}function l(e,s){return n.make({heading:mw.msg("mobile-frontend-language-heading"),className:"overlay language-info-overlay"},o(i(e,s)))}l.test={loadLanguageInfoSearcher:i},e.exports=l},"./src/mobile.startup/languageOverlay/languageOverlay.js":(e,s,t)=>{const r=t("./src/mobile.startup/moduleLoaderSingleton.js"),a=t("./src/mobile.startup/languageOverlay/getDeviceLanguage.js"),n=t("./src/mobile.startup/Overlay.js"),o=t("./src/mobile.startup/MessageBox.js"),i=t("./src/mobile.startup/currentPageHTMLParser.js")(),l=t("./src/mobile.startup/promisedView.js");function c(){return mw.loader.using("mobile.languages.structured").then((()=>i.getLanguages(mw.config.get("wgTitle")))).then((e=>new(r.require("mobile.languages.structured/LanguageSearcher"))({languages:e.languages,variants:e.variants,showSuggestedLanguages:!0,deviceLanguage:a(navigator),onOpen:e=>mw.hook("mobileFrontend.languageSearcher.onOpen").fire(e)})),(()=>new o({type:"error",className:"content",msg:mw.msg("mobile-frontend-languages-structured-overlay-error")})))}function u(){return n.make({heading:mw.msg("mobile-frontend-language-heading"),className:"overlay language-overlay"},l(c()))}u.test={loadLanguageSearcher:c},e.exports=u},"./src/mobile.startup/mediaViewer/overlay.js":(e,s,t)=>{const r=t("./src/mobile.startup/moduleLoaderSingleton.js"),a=t("./src/mobile.startup/promisedView.js"),n=t("./src/mobile.startup/util.js"),o=t("./src/mobile.startup/headers.js").header,i=t("./src/mobile.startup/icons.js"),l=t("./src/mobile.startup/Overlay.js");e.exports=function(e){return l.make({headers:[o("",[],i.cancel("gray"))],className:"overlay media-viewer"},a(n.Promise.all([mw.loader.using("mobile.mediaViewer")]).then((()=>new(0,r.require("mobile.mediaViewer").ImageCarousel)(e)))))}},"./src/mobile.startup/mobile.startup.js":(e,s,t)=>{const r=t("./src/mobile.startup/currentPageHTMLParser.js"),a=t("./src/mobile.startup/time.js"),n=t("./src/mobile.startup/LanguageInfo.js"),o=t("./src/mobile.startup/currentPage.js"),i=t("./src/mobile.startup/Drawer.js"),l=t("./src/mobile.startup/CtaDrawer.js"),c=t("./src/mobile.startup/lazyImages/lazyImageLoader.js"),u=t("./src/mobile.startup/icons.js"),m=t("./src/mobile.startup/PageHTMLParser.js"),g=t("./src/mobile.startup/showOnPageReload.js"),d=t("./src/mobile.startup/OverlayManager.js"),p=t("./src/mobile.startup/View.js"),f=t("./src/mobile.startup/Overlay.js"),b=t("./src/mobile.startup/references/references.js"),h=t("./src/mobile.startup/promisedView.js"),w=t("./src/mobile.startup/headers.js"),j=t("./src/mobile.startup/Skin.js"),v={overlay:t("./src/mobile.startup/mediaViewer/overlay.js")},y=t("./src/mobile.startup/languageOverlay/languageInfoOverlay.js"),x=t("./src/mobile.startup/languageOverlay/languageOverlay.js"),R=t("./src/mobile.startup/util.js"),L=t("./src/mobile.startup/actionParams.js"),O=t("./src/mobile.startup/Icon.js"),S=t("./src/mobile.startup/IconButton.js"),T=t("./src/mobile.startup/MessageBox.js"),M=t("./src/mobile.startup/Section.js"),I=t("./src/mobile.startup/Button.js");e.exports={actionParams:L,util:R,headers:w,overlayHeader:w.header,Drawer:i,CtaDrawer:l,class:{View:p,Overlay:f,Section:M,MessageBox:T,Icon:O,IconButton:S,Button:I},View:{make:p.make},Overlay:{make:f.make},currentPageHTMLParser:r,getOverlayManager:()=>d.getSingleton(),currentPage:o,PageHTMLParser:m,spinner:u.spinner,cancelIcon:u.cancel,mediaViewer:v,references:b,time:a,promisedView:h,loadAllImagesInPage:()=>c.loadImages(c.queryPlaceholders(document.getElementById("content"))),notifyOnPageReload:e=>g(e),license:()=>j.getSingleton().getLicenseMsg(),languages:{languageOverlay:x,languageInfoOverlay:(e,s)=>y(new n(e),s)}}},"./src/mobile.startup/promisedView.js":(e,s,t)=>{const r=t("./src/mobile.startup/icons.js"),a=t("./src/mobile.startup/View.js");e.exports=function(e){const s=new a({className:"promised-view"});return s.$el.append(r.spinner().$el),e.then((e=>{s.$el.replaceWith(e.$el),s.$el=e.$el}),(e=>{e&&e.$el&&(s.$el.replaceWith(e.$el),s.$el=e.$el)})),s}},"./src/mobile.startup/references/ReferencesGateway.js":e=>{class s{constructor(e){this.api=e}getReference(e,s,t){}}s.ERROR_NOT_EXIST="NOT_EXIST_ERROR",s.ERROR_OTHER="OTHER_ERROR",e.exports=s},"./src/mobile.startup/references/ReferencesHtmlScraperGateway.js":(e,s,t)=>{const r=t("./src/mobile.startup/references/ReferencesGateway.js"),a=t("./src/mobile.startup/util.js");e.exports=class extends r{constructor(){super(arguments),this.EXTERNAL_LINK_CLASS="external--reference"}getReferenceFromContainer(e,s){const t=a.Deferred(),n=s.find("#"+a.escapeSelector(e));if(n.length){let e;const s=n.closest("ol"),r=s.hasClass("mw-subreference-list");r&&(e=s.parent()),(e||n).find(".external").addClass(this.EXTERNAL_LINK_CLASS),t.resolve({text:this.getReferenceHtml(n),parentText:this.getReferenceHtml(e),isSubref:r})}else t.reject(r.ERROR_NOT_EXIST);return t.promise()}getReferenceHtml(e){return e?e.children(".mw-reference-text, .reference-text").first().html():""}getReference(e,s,t){const r=mw.util.percentDecodeFragment(e.slice(1));return this.getReferenceFromContainer(r,t.$el.find("ol.references"))}}},"./src/mobile.startup/references/references.js":(e,s,t)=>{const r=t("./src/mobile.startup/Drawer.js"),a=t("./src/mobile.startup/util.js"),n=t("./src/mobile.startup/icons.js"),o=t("./src/mobile.startup/references/ReferencesGateway.js"),i=t("./src/mobile.startup/Icon.js"),l=t("./src/mobile.startup/references/ReferencesHtmlScraperGateway.js"),c=t("./src/mobile.startup/IconButton.js");function u(e){return s=>{const t=s.currentTarget.querySelector("a");if(t)return e(t.getAttribute("href"),t.textContent),!1}}function m(e){const s=e.error?new c({name:"error",isSmall:!0}).$el:null,t=e.isSubref?e.parentText:e.text,o=a.parseHTML("<div>").addClass("main-reference-content").html(t);t||o.append(n.spinner().$el);const l=e.isSubref?a.parseHTML("<div>").html(e.text):"";return new r(a.extend({showCollapseIcon:!1,className:"drawer position-fixed text references-drawer",events:{"click sup a":e=>{e.preventDefault()},"click sup":e.onNestedReferenceClick&&u(e.onNestedReferenceClick)},children:[a.parseHTML("<div>").addClass("references-drawer__header").append([new i({icon:"reference",isSmall:!0}).$el,a.parseHTML("<span>").addClass("references-drawer__title").text(mw.msg("mobile-frontend-references-citation")),n.cancel("gray",{isSmall:!0}).$el]),a.parseHTML("<div>").addClass("mw-parser-output").append([s,a.parseHTML("<sup>").text(e.title),o,l])]},e))}const g={test:{makeOnNestedReferenceClickHandler:u},ReferencesHtmlScraperGateway:l,referenceDrawer:m,showReference:(e,s,t,r,n,i,l)=>n.getReference(e,s,r).then((e=>{const o=m(a.extend({title:t,text:e.text,parentText:e.parentText,isSubref:e.isSubref,onNestedReferenceClick(e,t){g.showReference(e,s,t,r,n).then((e=>{i.onShowNestedReference?l(o,e):(mw.log.warn("Please provide onShowNestedReferences parameter."),document.body.appendChild(e.$el[0]),o.hide(),e.show())}))}},i));return o}),(e=>{if(e!==o.ERROR_NOT_EXIST)return m({error:!0,title:t,text:mw.msg("mobile-frontend-references-citation-error")})}))};e.exports=g},"./src/mobile.startup/time.js":(e,s,t)=>{const r=["seconds","minutes","hours","days","months","years"],a=t("./src/mobile.startup/util.js"),n=[1,60,3600,86400,2592e3,31536e3];function o(e){let s=0;for(;s<n.length&&e>n[s+1];)++s;return{value:Math.round(e/n[s]),unit:r[s]}}function i(e){return o(Math.round(Date.now()/1e3)-e)}function l(e){return"seconds"===e.unit&&e.value<10}e.exports={getLastModifiedMessage:function(e,s,t,r){const n=void 0===r,o=[];t=t||"unknown";const c=i(e);l(c)?o.push("mobile-frontend-last-modified-with-user-just-now",t,s):o.push({seconds:"mobile-frontend-last-modified-with-user-seconds",minutes:"mobile-frontend-last-modified-with-user-minutes",hours:"mobile-frontend-last-modified-with-user-hours",days:"mobile-frontend-last-modified-with-user-days",months:"mobile-frontend-last-modified-with-user-months",years:"mobile-frontend-last-modified-with-user-years"}[c.unit],t,s,mw.language.convertNumber(c.value));const u=n?a.parseHTML("<strong>").attr("class","last-modified-text-accent"):a.parseHTML("<a>").attr("href",r||"#"),m=n?a.parseHTML("<span>").attr("class","last-modified-text-accent"):a.parseHTML("<a>").attr("href",mw.util.getUrl("User:"+s));return o.push(u,mw.language.convertNumber(s?1:0),s?m:""),mw.message.apply(this,o).parse()},getRegistrationMessage:function(e,s){const t=[];s=s||"unknown";const r=i(parseInt(e,10));return l(r)?t.push("mobile-frontend-joined-just-now",s):t.push({seconds:"mobile-frontend-joined-seconds",minutes:"mobile-frontend-joined-minutes",hours:"mobile-frontend-joined-hours",days:"mobile-frontend-joined-days",months:"mobile-frontend-joined-months",years:"mobile-frontend-joined-years"}[r.unit],s,mw.language.convertNumber(r.value)),mw.message.apply(this,t).parse()},timeAgo:o,getTimeAgoDelta:i,isNow:l,isRecent:function(e){return["seconds","minutes","hours"].includes(e.unit)}}}},e=>{e.O(0,[569],(()=>e(e.s="./src/mobile.startup/mobile.startup.js")));var s=e.O();(this.mfModules=this.mfModules||{})["mobile.startup"]=s}]);
module.exports=mfModules['mobile.startup'];
},{"css":[".mf-icon-clear{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-clear{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-clear{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-clear{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M14.243 7.172 11.413 10l2.828 2.83-1.414 1.413L10 11.415l-2.827 2.827-1.414-1.414L8.585 10 5.757 7.172l1.415-1.414 2.827 2.828 2.83-2.828z\\\"/\u003E\u003Cpath d=\\\"M10 1a9 9 0 110 18 9 9 0 010-18m0 2a7 7 0 100 14 7 7 0 000-14\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-clear{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M14.243 7.172 11.413 10l2.828 2.83-1.414 1.413L10 11.415l-2.827 2.827-1.414-1.414L8.585 10 5.757 7.172l1.415-1.414 2.827 2.828 2.83-2.828z\\\"/\u003E\u003Cpath d=\\\"M10 1a9 9 0 110 18 9 9 0 010-18m0 2a7 7 0 100 14 7 7 0 000-14\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M14.243 7.172 11.413 10l2.828 2.83-1.414 1.413L10 11.415l-2.827 2.827-1.414-1.414L8.585 10 5.757 7.172l1.415-1.414 2.827 2.828 2.83-2.828z\\\"/\u003E\u003Cpath d=\\\"M10 1a9 9 0 110 18 9 9 0 010-18m0 2a7 7 0 100 14 7 7 0 000-14\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.mf-icon-error{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-error{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-error{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-error{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-error{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.mf-icon-reference{ min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-reference{background-position:center;background-repeat:no-repeat;background-size:var(--font-size-medium,1rem); background-size:calc(max(var(--font-size-medium,1rem),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-reference{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--font-size-medium,1rem);mask-size:var(--font-size-medium,1rem);-webkit-mask-size:calc(max(var(--font-size-medium,1rem),10px));mask-size:calc(max(var(--font-size-medium,1rem),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-reference{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M18 20H2V0h16zM4 18h12V2h-2v10h-.914L12 11l-1.086 1H10V2H4z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-reference{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M18 20H2V0h16zM4 18h12V2h-2v10h-.914L12 11l-1.086 1H10V2H4z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M18 20H2V0h16zM4 18h12V2h-2v10h-.914L12 11l-1.086 1H10V2H4z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.mf-icon-reference[dir='rtl'],html[dir='rtl'] .mf-icon-reference:not([dir='ltr']){transform:scaleX(-1)}.mf-icon-image{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-image{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-image{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-image{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M15 15H5l3.5-4 2 2L15 8z\\\"/\u003E\u003Cpath d=\\\"M19 19H1V1h18zM3 17h14V3H3z\\\"/\u003E\u003Ccircle cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"1.5\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-image{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M15 15H5l3.5-4 2 2L15 8z\\\"/\u003E\u003Cpath d=\\\"M19 19H1V1h18zM3 17h14V3H3z\\\"/\u003E\u003Ccircle cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"1.5\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M15 15H5l3.5-4 2 2L15 8z\\\"/\u003E\u003Cpath d=\\\"M19 19H1V1h18zM3 17h14V3H3z\\\"/\u003E\u003Ccircle cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"1.5\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}} .panel \u003E p{padding:1em}.panel input,.panel textarea{border-radius:0;padding:16px 1em}.mw-body \u003E .content .panel{background-color:var(--background-color-interactive,#eaecf0);clear:both;margin-top:1em;text-align:center}.mf-spinner-icon-element{padding:12px}.mf-spinner-icon-element span + span{display:block;position:absolute !important; clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}.promised-view{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.mw-mf-anchor{color:var(--color-progressive,#36c);border-radius:2px;text-decoration:none; }.mw-mf-anchor:visited{color:var(--color-visited,#6a60b0)}.mw-mf-anchor:visited:hover{color:var(--color-visited--hover,#534fa3)}.mw-mf-anchor:visited:active{color:var(--color-visited--active,#353262)}.mw-mf-anchor:hover{color:var(--color-progressive--hover,#3056a9);text-decoration:underline}.mw-mf-anchor:active{color:var(--color-progressive--active,#233566);text-decoration:underline}.mw-mf-anchor:focus-visible{outline:solid 2px var(--outline-color-progressive--focus,#36c)}@supports not selector(:focus-visible){.mw-mf-anchor:focus{outline:solid 2px var(--outline-color-progressive--focus,#36c)}}.mw-mf-anchor .cdx-icon:not(.cdx-thumbnail__placeholder__icon--vue):last-child{min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);padding-left:4px;vertical-align:middle}.mw-mf-anchor-progressive{text-decoration:underline}.mw-mf-anchor-destructive{color:var(--color-destructive,#bf3c2c)}.mw-mf-anchor-destructive:visited{color:var(--color-destructive--visited,#9f5555)}.mw-mf-anchor-destructive:visited:hover{color:var(--color-destructive--visited--hover,#854848)}.mw-mf-anchor-destructive:visited:active{color:var(--color-destructive--visited--active,#512e2e)}.mw-mf-anchor-destructive:hover{color:var(--color-destructive--hover,#9f3526);text-decoration:underline}.mw-mf-anchor-destructive:active{color:var(--color-destructive--active,#612419);text-decoration:underline}.mw-mf-anchor-destructive:focus{outline-color:var(--outline-color-progressive--focus,#36c)}.drawer{text-align:center;padding-top:0;padding-bottom:1em;max-width:500px;margin:0 auto}.drawer.text{font-size:0.9em;text-align:left;padding-top:0.5em}.drawer p{margin-top:0.5em}.drawer p,.drawer a:not(:last-child){margin-bottom:1em}.has-drawer--with-scroll-locked{overflow:hidden}.overlay-enabled .drawer{display:none !important}.drawer-container__mask{position:fixed;bottom:0;left:0;right:0;background:rgba(0,0,0,0.8);transition:opacity 100ms ease-in-out;opacity:0;top:0}.drawer-container__mask--visible{opacity:0.2}.overlay.overlay-loading{display:flex;align-items:center;justify-content:center;background-color:var(--background-color-backdrop-light,rgba(255,255,255,0.65))}.overlay.overlay-loading .header{display:none}.overlay.overlay-loading .overlay-content{overflow:hidden}.overlay-enabled{  }.overlay-enabled #mw-mf-page-center{overflow:hidden;display:block}.overlay-enabled #mw-mf-page-center,.overlay-enabled .overlay{height:100%}.hidden{display:none !important}.overlay{position:absolute;top:0;left:0;width:100%;background:var(--background-color-base,#fff);z-index:1;display:none}.overlay .cdx-button{border-radius:0}.overlay.visible{display:block}.overlay input,.overlay textarea{font-size:16px}.overlay .summary.oo-ui-textInputWidget{max-width:none}.overlay .summary.oo-ui-textInputWidget textarea{width:100%}.overlay .captcha-word{margin:0 0 0.7em;width:100%}.overlay .wikitext-editor{min-height:50%;line-height:1.5;border:0}.overlay .panel{padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color-muted,#dadde3)}.overlay-footer-container{background-color:var(--background-color-base,#fff);bottom:0;border-top:1px solid var(--border-color-subtle,#c8ccd1)}.overlay-footer-container a{display:block;padding:1em 1em 1em 10px;line-height:1em;text-align:center}.overlay-header .overlay-title{width:100%}.overlay-header .header-action a[disabled],.overlay-header .header-action button[disabled]{opacity:0.5}.overlay-header .header-action .oo-ui-widget{margin-right:1em}.overlay-header .submit{background-color:var(--background-color-progressive,#36c);color:var(--color-inverted,#fff)}.overlay-header h2{display:table;width:100%;font-size:1em}.overlay-header h2 \u003E *{width:1em;display:table-cell;padding-right:0.4em}.overlay-header h2 span{width:auto;max-width:1em}.overlay-header \u003E ul li{display:block}.overlay-footer-container,.overlay-header-container{width:100%;background:var(--background-color-base,#fff);z-index:2}.overlay-footer-container.position-fixed,.overlay-header-container.position-fixed{position:fixed;left:0;right:0}.overlay-header-container{top:0}.overlay-bottom{border-top:1px solid var(--border-color-subtle,#c8ccd1);top:auto;bottom:0;height:auto !important;background:var(--background-color-interactive-subtle,#f8f9fa)}.overlay-bottom .overlay-header-container{background:var(--background-color-interactive-subtle,#f8f9fa)}@media all and (min-width:640px){.overlay .panel{padding-top:12px;padding-bottom:12px}}.client-js .collapsible-heading{cursor:pointer}.client-js .collapsible-heading-disabled{cursor:default}.client-js .collapsible-heading-disabled .indicator{opacity:0.5}.client-js .section-heading{display:flex;align-items:center}.client-js .section-heading .indicator{max-height:32px}@media print{.collapsible-heading .indicator{display:none}.client-js .collapsible-block{display:block;content-visibility:visible}.client-js .mf-collapsible-content[hidden]{display:block;content-visibility:visible}.mf-collapsible-icon{display:none}}.language-overlay,.language-info-overlay{background-color:var(--background-color-interactive,#eaecf0)}.language-overlay .overlay-content,.language-info-overlay .overlay-content{background-color:var(--background-color-interactive,#eaecf0);position:relative;min-height:100%}.language-overlay .overlay-content .list-header,.language-info-overlay .overlay-content .list-header{font-size:0.85em;color:var(--color-subtle,#54595d)}.drawer.references-drawer{background-color:#000;color:#c8ccd1;max-height:50%;overflow-y:auto;padding:10px 20px 20px 20px}.drawer.references-drawer a{color:#69f}.drawer.references-drawer a.new{color:var(--color-destructive,#bf3c2c)}.drawer.references-drawer img{filter:invert(1)}.drawer.references-drawer .references-drawer__header{display:flex;align-items:center;padding-bottom:20px}.drawer.references-drawer .references-drawer__header .cdx-button{margin-right:calc(-1 * 12px)}.drawer.references-drawer .references-drawer__title{color:var(--color-subtle,#54595d);cursor:default;letter-spacing:0.2em;font-size:0.75em;text-transform:uppercase;margin-left:1em;flex-grow:1}.drawer.references-drawer .main-reference-content{display:inline;margin-left:0.2em;word-break:break-word}@media all and (min-width:640px){.drawer.references-drawer{max-height:400px}}.mf-icon-reference{ min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-reference{background-position:center;background-repeat:no-repeat;background-size:var(--font-size-medium,1rem); background-size:calc(max(var(--font-size-medium,1rem),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-reference{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--font-size-medium,1rem);mask-size:var(--font-size-medium,1rem);-webkit-mask-size:calc(max(var(--font-size-medium,1rem),10px));mask-size:calc(max(var(--font-size-medium,1rem),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-reference{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M18 20H2V0h16zM4 18h12V2h-2v10h-.914L12 11l-1.086 1H10V2H4z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-reference{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M18 20H2V0h16zM4 18h12V2h-2v10h-.914L12 11l-1.086 1H10V2H4z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M18 20H2V0h16zM4 18h12V2h-2v10h-.914L12 11l-1.086 1H10V2H4z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.mf-icon-reference[dir='rtl'],html[dir='rtl'] .mf-icon-reference:not([dir='ltr']){transform:scaleX(-1)}.mf-icon-close-small{ min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-close-small{background-position:center;background-repeat:no-repeat;background-size:var(--font-size-medium,1rem); background-size:calc(max(var(--font-size-medium,1rem),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-close-small{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--font-size-medium,1rem);mask-size:var(--font-size-medium,1rem);-webkit-mask-size:calc(max(var(--font-size-medium,1rem),10px));mask-size:calc(max(var(--font-size-medium,1rem),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mf-icon-close-small{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M16.707 4.707 11.414 10l5.293 5.293-1.414 1.414L10 11.414l-5.293 5.293-1.414-1.414L8.586 10 3.293 4.707l1.414-1.414L10 8.586l5.293-5.293z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.mf-icon-close-small{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M16.707 4.707 11.414 10l5.293 5.293-1.414 1.414L10 11.414l-5.293 5.293-1.414-1.414L8.586 10 3.293 4.707l1.414-1.414L10 8.586l5.293-5.293z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M16.707 4.707 11.414 10l5.293 5.293-1.414 1.414L10 11.414l-5.293 5.293-1.414-1.414L8.586 10 3.293 4.707l1.414-1.414L10 8.586l5.293-5.293z\\\"/\u003E\u003C/svg\u003E\");background-color:#a2a9b1}}.overlay.media-viewer{background:#000;padding-top:0}.overlay.media-viewer .overlay-content{height:100%;width:100%;margin:0;max-width:none}.overlay.media-viewer .header-container{background:transparent;border-bottom:0}.overlay.media-viewer .main{height:100%;position:relative;width:100%}.overlay.media-viewer .cancel{position:absolute;right:0;top:10px;z-index:2}.position-fixed{position:fixed !important}.touch-events :focus{outline:0}    .drawer{background-color:var(--background-color-interactive-subtle,#f8f9fa);position:absolute}.mw-notification-area,.toast,.drawer{box-sizing:border-box;position:fixed;bottom:0;left:0;right:0;max-height:50%;z-index:4}.mw-notification,.toast,.drawer{box-sizing:border-box;box-shadow:0 20px 48px 0 rgba(0,0,0,0.2);word-wrap:break-word;display:none}.mw-notification.visible,.toast.visible,.drawer.visible,.mw-notification.mw-notification-visible,.toast.mw-notification-visible,.drawer.mw-notification-visible{display:block} .mw-notification,.toast{font-size:0.875rem;padding:0.9em 1em;background-color:#202122;color:var(--color-inverted-fixed,#fff);margin:0 10% 20px;width:80%;text-align:center;border-radius:2px}.mw-notification.mw-notification-type-error,.toast.mw-notification-type-error{background-size:24px;background-position:16px 50%;background-repeat:no-repeat;padding-left:5%;width:75%;border:0}.mw-notification .oo-ui-iconElement-icon,.toast .oo-ui-iconElement-icon{display:block}.mw-notification a,.toast a{color:var(--color-inverted-fixed,#fff);text-decoration:underline}.mw-notification-area{z-index:900;position:fixed;bottom:0;width:100%}.mw-notification,.drawer{display:block;visibility:hidden; transform:translate(0,100px);bottom:0;opacity:0;transition:transform 250ms,opacity 250ms,visibility 250ms}.mw-notification.visible,.drawer.visible,.mw-notification.mw-notification-visible,.drawer.mw-notification-visible{visibility:visible;opacity:1;transform:translate(0,0)}.overlay button{background:none;border:0}.overlay textarea{box-sizing:border-box;width:100%;padding:10px 16px 10px 16px;resize:none}.overlay .license{font-size:0.875rem;color:#72777d;margin-top:0.5em;line-height:1.4}.overlay .license a{color:var(--color-progressive,#36c);border-radius:2px;text-decoration:none; }.overlay .license a:visited{color:var(--color-visited,#6a60b0)}.overlay .license a:visited:hover{color:var(--color-visited--hover,#534fa3)}.overlay .license a:visited:active{color:var(--color-visited--active,#353262)}.overlay .license a:hover{color:var(--color-progressive--hover,#3056a9);text-decoration:underline}.overlay .license a:active{color:var(--color-progressive--active,#233566);text-decoration:underline}.overlay .license a:focus-visible{outline:solid 2px var(--outline-color-progressive--focus,#36c)}@supports not selector(:focus-visible){.overlay .license a:focus{outline:solid 2px var(--outline-color-progressive--focus,#36c)}}.overlay .license a .cdx-icon:not(.cdx-thumbnail__placeholder__icon--vue):last-child{min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);padding-left:4px;vertical-align:middle}.overlay-header-container{padding:0}.overlay-header{height:3em}.header-chrome .overlay-header{height:3.375em}.overlay-header .cdx-button{height:3em}.overlay-header .overlay-title{padding:0.15em 0}.overlay-header .overlay-title:last-child{padding-right:1em}.overlay-header-container + .overlay-content{padding-top:3em}.header-chrome.overlay-header-container + .overlay-content{padding-top:3.375em}@media all and (min-width:1120px){.overlay-header{max-width:calc(993.3px + (2 * 1em))}}.client-js .collapsible-heading,.client-js .collapsible-block{clear:left}.client-js .collapsible-heading{position:relative}@media screen and (min-width:1120px){.language-overlay .overlay-content{margin:0;min-width:100%}}"]},{"mobile-frontend-drawer-arrow-label":"\ub2eb\uae30","mobile-frontend-editor-licensing":"\ubcc0\uacbd\uc0ac\ud56d\uc744 \uac8c\uc2dc\ud558\uac8c \ub418\uba74 $1 {{PLURAL:$2|\ub77c\uc774\uc120\uc2a4}}\uc5d0 \ub530\ub77c \uc774 \uae30\uc5ec\ub97c \ubc30\ud3ec\ud558\ub294 \ub370 \ub3d9\uc758\ud568\uc744 \ub73b\ud569\ub2c8\ub2e4.","mobile-frontend-editor-licensing-with-terms":"\ubcc0\uacbd\uc0ac\ud56d\uc744 \uac8c\uc2dc\ud558\uac8c \ub418\uba74 $1\uc5d0 \ub3d9\uc758\ud558\uace0 $2 {{PLURAL:$3|\ub77c\uc774\uc120\uc2a4}}\uc5d0 \ub530\ub77c \uc774 \uae30\uc5ec\ub97c \ubc30\ud3ec\ud558\ub294 \ub370 \ub3d9\uc758\ud568\uc744 \ub73b\ud569\ub2c8\ub2e4.","mobile-frontend-editor-publish":"\uac8c\uc2dc","mobile-frontend-editor-save":"\uc800\uc7a5","mobile-frontend-editor-terms-link":"[$1 \uc774\uc6a9 \uc57d\uad00]","mobile-frontend-joined-days":"{{PLURAL:$2|$2\uc77c}} \uc804\uc5d0 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-joined-hours":"{{PLURAL:$2|$2\uc2dc\uac04}} \uc804\uc5d0 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-joined-just-now":"\ubc29\uae08 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-joined-minutes":"{{PLURAL:$2|$2\ubd84}} \uc804\uc5d0 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-joined-months":"{{PLURAL:$2|$2\uac1c\uc6d4}} \uc804\uc5d0 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-joined-seconds":"{{PLURAL:$2|$2\ucd08}} \uc804\uc5d0 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-joined-years":"{{PLURAL:$2|$2\ub144}} \uc804\uc5d0 {{GENDER:$1|\uac00\uc785\ud568}}","mobile-frontend-language-heading":"<strong>\uc5b8\uc5b4<\/strong>","mobile-frontend-languages-structured-overlay-error":"\uc774 \ubb38\uc11c\uc5d0 \ub300\ud55c \uc5b8\uc5b4\ub97c \ubd88\ub7ec\uc624\ub294 \ub3c4\uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.","mobile-frontend-last-modified-with-user-days":"{{PLURAL:$5|[$6 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} [$4 {{PLURAL:$3|$3\uc77c}} \uc804\uc5d0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-last-modified-with-user-hours":"{{PLURAL:$5|[$6 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} [$4 {{PLURAL:$3|$3\uc2dc\uac04}} \uc804\uc5d0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-last-modified-with-user-just-now":"{{PLURAL:$4|[$5 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} \ubc29\uae08 [$3 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-last-modified-with-user-minutes":"{{PLURAL:$5|[$6 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} [$4 {{PLURAL:$3|$3\ubd84}} \uc804\uc5d0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-last-modified-with-user-months":"{{PLURAL:$5|[$6 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} [$4 {{PLURAL:$3|$3\uac1c\uc6d4}} \uc804\uc5d0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-last-modified-with-user-seconds":"{{PLURAL:$5|[$6 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} [$4 {{PLURAL:$3|$3\ucd08}} \uc804\uc5d0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-last-modified-with-user-years":"{{PLURAL:$5|[$6 $2]\ub2d8\uc774|0=\uc775\uba85 \uc0ac\uc6a9\uc790\uac00}} [$4 {{PLURAL:$3|$3\ub144}} \uc804\uc5d0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c {{GENDER:$1|\ud3b8\uc9d1\ud568}}]","mobile-frontend-license-links":"[https:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/ CC BY-SA 4.0] \ubc0f [https:\/\/www.gnu.org\/licenses\/fdl.html GFDL]","mobile-frontend-loading-message":"\ubd88\ub7ec\uc624\ub294 \uc911\u2026","mobile-frontend-overlay-close":"\ub2eb\uae30","mobile-frontend-references-citation":"\uc778\uc6a9","mobile-frontend-references-citation-error":"\uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc73c\uba70 \uc778\uc6a9\uad6c\ub97c \ubd88\ub7ec\uc62c \uc218 \uc5c6\uc5c8\uc2b5\ub2c8\ub2e4.","mobile-frontend-watchlist-cta-button-createaccount":"\uacc4\uc815 \ub9cc\ub4e4\uae30","mobile-frontend-watchlist-cta-button-login":"\ub85c\uadf8\uc778","toc":"\ubaa9\ucc28","unwatch":"\uc8fc\uc2dc \ud574\uc81c","watch":"\uc8fc\uc2dc"}];});
mw.loader.impl(function(){return["mw.externalguidance.init@xfoyw",function($,jQuery,require,module){const originalUserLang=mw.config.get('wgUserLanguage');function getTargetLanguage(targetLanguage){const googleLanguageNameMap={no:'nb',iw:'he',jw:'jv','zh-CN':'zh','zh-TW':'zh'};if(targetLanguage.indexOf('-x-mtfrom-')>0){targetLanguage=targetLanguage.split('-')[0];}return googleLanguageNameMap[targetLanguage]||targetLanguage;}let context={info:{from:mw.config.get('wgContentLanguage'),to:getTargetLanguage(document.documentElement.lang),page:mw.config.get('wgTitle')}};function detectContext(){const translatedByMetaElement=document.head.querySelector('meta[http-equiv="X-Translated-By"]');if(translatedByMetaElement){context.name='machine-translation';context.info.service=translatedByMetaElement.getAttribute('content');return context;}if(document.referrer){const parentURL=new URL(document.referrer,location);if(mw.config.get('wgExternalGuidanceMTReferrers').includes(parentURL.host)){context.name='machine-translation';context.info.service=parentURL.host;return context;}}return null;}context=detectContext();
if(context){if(context.info.to!==originalUserLang){mw.log('[ExternalGuidance] Context detected '+JSON.stringify(context));mw.loader.using(['mw.externalguidance']).then((req)=>{const ExternalGuidance=req('mw.externalguidance');const eg=new ExternalGuidance(context.name,context.info);eg.init();});}}
}];});
mw.loader.impl(function(){return["oojs-ui-windows.icons@1mrdw",null,{"css":[".oo-ui-icon-previous,.mw-ui-icon-previous:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E previous %3C/title%3E%3Cpath d=%22M13.417 4.707 8.124 10l5.293 5.293-1.414 1.414-6-6V9.293l6-6z%22/%3E%3C/svg%3E\")}.oo-ui-image-invert.oo-ui-icon-previous,.mw-ui-icon-previous-invert:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E previous %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M13.417 4.707 8.124 10l5.293 5.293-1.414 1.414-6-6V9.293l6-6z%22/%3E%3C/g%3E%3C/svg%3E\")}.oo-ui-image-progressive.oo-ui-icon-previous,.mw-ui-icon-previous-progressive:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E previous %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M13.417 4.707 8.124 10l5.293 5.293-1.414 1.414-6-6V9.293l6-6z%22/%3E%3C/g%3E%3C/svg%3E\")}"]}];});
mw.loader.impl(function(){return["skins.minerva.scripts@lae30",{"main":"setup.js","files":{"setup.js":function(require,module,exports){const ms=require('mobile.startup');const watchstar=require('./watchstar.js');const addPortletLink=require('./addPortletLink.js');const{teleportTarget,enableSearchDialog}=require('mediawiki.page.ready');function init(){const permissions=mw.config.get('wgMinervaPermissions')||{};const searchIcon=document.querySelector('#searchIcon');enableSearchDialog(searchIcon);const $watch=$('#page-actions-watch');const $watchInToolsMenu=$('.page-actions-overflow-list .mw-watchlink');if(permissions.watch){if($watch.length){watchstar.init($watch);}if($watchInToolsMenu.length){watchstar.init($watchInToolsMenu.parent());}}addPortletLink.init();mw.hook('util.addPortletLink').add(addPortletLink.hookHandler);if(ms&&!ms.stub){require('./initMobile.js')();}if(navigator.userAgent.match(/OS 14_[0-9]/)){document.body.classList.add('hotfix-T264376');}teleportTarget.classList.add('content');}if(!window.QUnit){init();}module.exports={VERSION:1};
},"addPortletLink.js":function(require,module,exports){function getClassesForItem($item){const $parent=$item.parent();const isPageActionList=$parent.hasClass('page-actions-menu__list');const isIconOnlyList=$parent.hasClass('minerva-icon-only-menu');const isTabContainer=$parent.hasClass('minerva__tab-container');const isToggleList=$parent.hasClass('toggle-list__list');if(isToggleList){return{li:['toggle-list-item'],span:['toggle-list-item__label'],a:['toggle-list-item__anchor']};}else if(isPageActionList||isIconOnlyList){return{li:[isPageActionList?'page-actions-menu__list-item':''],span:[],a:['cdx-button','cdx-button--size-large','cdx-button--fake-button','cdx-button--fake-button--enabled','cdx-button--icon-only','cdx-button--weight-quiet']};}else if(isTabContainer){return{li:['minerva__tab'],span:[],a:['minerva__tab-text']};}else{return{li:[],span:[],a:[]};}}function insertIcon($link,id){const icon=document.createElement('span');let classes='minerva-icon';if(id){classes+=` minerva-icon-portletlink-${id}`;classes+=` mw-ui-icon-portletlink-${id}`;
}icon.setAttribute('class',classes);$link.prepend(icon);}function hookHandler(listItem,data){if(listItem&&!listItem.dataset.minervaPortlet){const id=data.id;const $item=$(listItem);const classes=getClassesForItem($item);$item.addClass(classes.li);const $a=$item.find('a');$a.addClass(classes.a);$item.find('a > span').addClass(classes.span);listItem.dataset.minervaPortlet=true;if(!classes.span.includes('minerva-icon')&&!classes.li.includes('minerva__tab')){insertIcon($a,id);}}}function init(){Array.prototype.forEach.call(document.querySelectorAll('.mw-list-item-js'),(item)=>{hookHandler(item,{id:item.getAttribute('id')});});}module.exports={init,hookHandler};
},"initMobile.js":function(require,module,exports){module.exports=function(){const ms=require('mobile.startup'),PageHTMLParser=ms.PageHTMLParser,permissions=mw.config.get('wgMinervaPermissions')||{},time=ms.time,DateFormatter=require('mediawiki.DateFormatter'),preInit=require('./preInit.js'),mobileRedirect=require('./mobileRedirect.js'),references=require('./references.js'),TitleUtil=require('./TitleUtil.js'),issues=require('./page-issues/index.js'),Toolbar=require('./Toolbar.js'),truncateLeadSection=require('./truncateLeadSection.js'),ToggleList=require('../../includes/Skins/ToggleList/ToggleList.js'),TabScroll=require('./TabScroll.js'),router=require('mediawiki.router'),ctaDrawers=require('./ctaDrawers.js'),desktopMMV=mw.loader.getState('mmv.bootstrap'),overlayManager=ms.getOverlayManager(),currentPage=ms.currentPage(),currentPageHTMLParser=ms.currentPageHTMLParser(),api=new mw.Api(),namespaceIDs=mw.config.get('wgNamespaceIds');function onClickImage(ev){if(ev.altKey||ev.ctrlKey||ev.shiftKey||ev.metaKey){return;}const el=ev.target.closest(PageHTMLParser.THUMB_SELECTOR);
if(!el){return;}const thumb=currentPageHTMLParser.getThumbnail($(el));if(!thumb){return;}ev.preventDefault();routeThumbnail(thumb);}function routeThumbnail(thumbnail){router.navigate('#/media/'+encodeURIComponent(thumbnail.getFileName()));}function initMediaViewer(container){if(container instanceof HTMLElement){container.addEventListener('click',onClickImage);}}function initButton(ulsV2Enabled){const $primaryBtn=$('.language-selector');if(!$primaryBtn.length){return;}if(ulsV2Enabled){$primaryBtn.addClass('mw-interlanguage-selector');return;}$primaryBtn.on('click',(ev)=>{ev.preventDefault();if($primaryBtn.attr('href')||$primaryBtn.find('a').length){router.navigate('/languages');}else{mw.notify(mw.msg('mobile-frontend-languages-not-available'),{tag:'languages-not-available'});}});}function makeMediaViewerOverlayIfNeeded(title){if(mw.loader.getState('mmv.bootstrap')==='ready'){return;}try{title=decodeURIComponent(title);}catch(e){return;}return ms.mediaViewer.overlay({api,thumbnails:currentPageHTMLParser.getThumbnails(),
title});}overlayManager.add(/^\/media\/(.+)$/,makeMediaViewerOverlayIfNeeded);const setupLegacyMobileFrontendLanguageOverlays=()=>{overlayManager.add(/^\/languages$/,()=>ms.languages.languageOverlay());overlayManager.add(/^\/languages\/all$/,()=>ms.languages.languageInfoOverlay(api,true));overlayManager.add(/^\/languages\/all\/no-suggestions$/,()=>ms.languages.languageInfoOverlay(api,false));};const isULSV2Enabled=mw.config.get('wgULSLanguageSelectorV2Enabled');if(!isULSV2Enabled){setupLegacyMobileFrontendLanguageOverlays();}$(()=>{initButton(isULSV2Enabled);});function initHistoryLink($lastModifiedLink){const ts=$lastModifiedLink.data('timestamp');if(ts){const username=$lastModifiedLink.data('user-name')||false;const gender=$lastModifiedLink.data('user-gender');const delta=time.getTimeAgoDelta(parseInt(ts,10));if(time.isRecent(delta)){const $bar=$lastModifiedLink.closest('.last-modified-bar');$bar.addClass('active');}const $msg=$('<span>').attr('class',$lastModifiedLink.attr('class'))
.html(time.getLastModifiedMessage(ts,username,gender,$lastModifiedLink.attr('href')));$lastModifiedLink.replaceWith($msg);}}function initModifiedInfo(){$('.modified-enhancement').each((_i,el)=>{initHistoryLink($(el));});Array.prototype.forEach.call(document.querySelectorAll('.mw-diff-timestamp'),(tsNode)=>{const ts=tsNode.dataset.timestamp;if(ts){tsNode.textContent=DateFormatter.formatRelativeTimeOrDate(new Date(ts));}});}function initRegistrationDate($tagline){const ts=$tagline.data('userpage-registration-date');if(ts){const msg=time.getRegistrationMessage(ts,$tagline.data('userpage-gender'));$tagline.text(msg);}}function initRegistrationInfo(){$('#tagline-userpage').each((_i,el)=>{initRegistrationDate($(el));});}function isUserUri(url){const title=TitleUtil.newFromUri(url);const namespace=title?title.getNamespaceId():undefined;return namespace===namespaceIDs.user;}function initUserRedLinks($redLinks){$redLinks.filter((_,element)=>isUserUri(element.href)).each((_,element)=>{const uri=new URL(element.href);
if(uri.searchParams.get('action')!=='edit'){return;}uri.searchParams.delete('action');element.href=uri.toString();});}function setupEcho(){const echoBtn=document.querySelector('.minerva-notifications .mw-echo-notification-badge-nojs');if(echoBtn){echoBtn.addEventListener('click',(ev)=>{router.navigate('#/notifications');ev.preventDefault();echoBtn.dataset.counterNum=0;echoBtn.dataset.counterText=mw.msg('echo-badge-count',mw.language.convertNumber(0));});}}$(()=>{const $watch=$('#page-actions-watch');const toolbarElement=document.querySelector(Toolbar.selector);const userMenu=document.querySelector('.minerva-user-menu');const navigationDrawer=document.querySelector('.navigation-drawer');$(document.body).addClass('minerva-animations-ready');$('.mw-mf-page-center__mask').on('click',(ev)=>{const path=router.getPath();if(!path){ev.preventDefault();}});preInit();references();mobileRedirect();initModifiedInfo();initRegistrationInfo();if(toolbarElement){Toolbar.bind(window,toolbarElement);
Toolbar.render(window,toolbarElement);}if(userMenu){ToggleList.bind(window,userMenu);}if(navigationDrawer){ToggleList.bind(window,navigationDrawer);const navigationDrawerMask=navigationDrawer.querySelector('.main-menu-mask');navigationDrawerMask.removeAttribute('for');}TabScroll.initTabsScrollPosition();truncateLeadSection.init();if(!currentPage.isMissing&&!currentPage.titleObj.isTalkPage()){issues.init(overlayManager,currentPageHTMLParser);}mw.hook('wikipage.content').add(($container)=>{if(desktopMMV===null||desktopMMV==='registered'){initMediaViewer($container[0]);}const $toctitle=$container.find('.toctitle');$('<span>').addClass('toc-title-icon').prependTo($toctitle);$('<span>').addClass('toc-title-state-icon').appendTo($toctitle);const $redLinks=currentPageHTMLParser.getRedLinks();ctaDrawers.initRedlinksCta($redLinks.filter((_,element)=>!isUserUri(element.href)));initUserRedLinks($redLinks);});if(permissions.watchable&&!permissions.watch){ctaDrawers.initWatchstarCta($watch);}const echoState=mw.loader.getState('ext.echo.mobile');
if(echoState!==null&&echoState!=='registered'){setupEcho();}});};
},"drawers.js":function(require,module,exports){const $drawerContainer=$(document.body);const BODY_CLASS_SCROLL_LOCKED='has-drawer--with-scroll-locked';function discardDrawer(drawer){$drawerContainer.removeClass(BODY_CLASS_SCROLL_LOCKED);setTimeout(()=>{drawer.$el.detach();},100);}function lockScroll(){$drawerContainer.addClass(BODY_CLASS_SCROLL_LOCKED);}function displayDrawer(drawer,options){$drawerContainer.append(drawer.$el);drawer.show();if(options.hideOnScroll){$(window).one('scroll.drawer',()=>{drawer.hide();});}}module.exports={displayDrawer,lockScroll,discardDrawer};
},"ctaDrawers.js":function(require,module,exports){const mobile=require('mobile.startup');const drawers=require('./drawers.js');const CtaDrawer=mobile.CtaDrawer;function initRedlinksCta($redLinks){$redLinks.on('click',function(ev){const drawerOptions={progressiveButton:{progressive:true,label:mw.msg('mobile-frontend-editor-redlink-create'),href:$(this).attr('href')},actionAnchor:{progressive:true,label:mw.msg('mobile-frontend-editor-redlink-leave'),additionalClassNames:'cancel'},onBeforeHide:drawers.discardDrawer,content:mw.msg('mobile-frontend-editor-redlink-explain')},drawer=CtaDrawer(drawerOptions);ev.preventDefault();ev.stopPropagation();drawers.displayDrawer(drawer,{hideOnScroll:true});});}function initWatchstarCta($watchstar){let watchCtaDrawer;$watchstar.on('click',(ev)=>{if(!watchCtaDrawer){watchCtaDrawer=CtaDrawer({content:mw.msg('minerva-watchlist-cta'),queryParams:{notice:'mobile-frontend-watchlist-purpose',campaign:'mobile_watchPageActionCta',returntoquery:'article_action=watch'},onBeforeHide:drawers.discardDrawer,
signupQueryParams:{notice:'mobile-frontend-watchlist-signup-action'}});}if(!watchCtaDrawer.$el[0].parentNode){drawers.displayDrawer(watchCtaDrawer,{hideOnScroll:true});mw.hook('skin.minerva.watchstarCtaDrawer.open').fire();}ev.preventDefault();});}module.exports={initWatchstarCta:initWatchstarCta,initRedlinksCta:initRedlinksCta};
},"menu.js":function(require,module,exports){const BODY_NOTIFICATIONS_REVEAL_CLASS='navigation-enabled secondary-navigation-enabled';function init(){mw.hook('echo.mobile').add((isOpen)=>{$(document.body).toggleClass(BODY_NOTIFICATIONS_REVEAL_CLASS,isOpen);});}module.exports={init};
},"preInit.js":function(require,module,exports){module.exports=function(){const menus=require('./menu.js');menus.init();(function(wgRedirectedFrom){if(wgRedirectedFrom===null){return;}const redirectedFrom=mw.Title.newFromText(wgRedirectedFrom);if(redirectedFrom){const title=redirectedFrom.getPrefixedText();const $msg=$('<div>').html(mw.message('mobile-frontend-redirected-from',title).parse());$msg.find('a').attr('href',mw.util.getUrl(title,{redirect:'no'}));mw.notify($msg);}}(mw.config.get('wgRedirectedFrom')));};
},"downloadPageAction.js":function(require,module,exports){const track=mw.track;const MAX_PRINT_TIMEOUT=3000;let printSetTimeoutReference=0;const mobile=require('mobile.startup');function isIos(userAgent){return/ipad|iphone|ipod/i.test(userAgent);}function isAvailable(config,userAgent){const supportedNamespaces=config.get('wgMinervaDownloadNamespaces',[]);if(typeof window.print!=='function'){return false;}if(!supportedNamespaces.includes(config.get('wgNamespaceNumber'))||config.get('wgIsMainPage')||config.get('wgArticleId')===0){return false;}if(isIos(userAgent)){return false;}return true;}function onClick(portletItem,spinner,loadAllImagesInPage){const icon=portletItem.querySelector('.minerva-icon--download');function doPrint(){printSetTimeoutReference=clearTimeout(printSetTimeoutReference);track('minerva.downloadAsPDF',{action:'callPrint'});window.print();$(icon).show();spinner.$el.hide();}function doPrintBeforeTimeout(){if(printSetTimeoutReference){doPrint();}}if(!printSetTimeoutReference){track('minerva.downloadAsPDF',{action:'fetchImages'});
$(icon).hide();spinner.$el.show();printSetTimeoutReference=setTimeout(doPrint,MAX_PRINT_TIMEOUT);(loadAllImagesInPage||mobile.loadAllImagesInPage)().then(doPrintBeforeTimeout,doPrintBeforeTimeout);}}function downloadPageAction(config,windowObj,overflowList){const spinner=(overflowList)?mobile.spinner({label:'',isIconOnly:false}):mobile.spinner();if(isAvailable(config,navigator.userAgent)){const actionID=document.querySelector('#p-views')?'p-views':'page-actions';const portletLink=mw.util.addPortletLink(overflowList?'page-actions-overflow':actionID,'#',mw.msg('minerva-download'),'minerva-download',mw.msg('minerva-download'),'p',overflowList?null:document.getElementById('page-actions-watch'));if(portletLink){portletLink.addEventListener('click',()=>{onClick(portletLink,spinner,mobile.loadAllImagesInPage);});const iconElement=portletLink.querySelector('.minerva-icon');if(iconElement){iconElement.classList.add('minerva-icon--download');}spinner.$el.hide().insertBefore($(portletLink).find('.minerva-icon')
);}return portletLink;}else{return null;}}module.exports={downloadPageAction,test:{isAvailable,onClick}};
},"page-issues/parser.js":function(require,module,exports){const ICON_NAME={SEVERITY:{DEFAULT:'issue-generic',LOW:'issue-severity-low',MEDIUM:'issue-severity-medium',HIGH:'issue-generic'},TYPE:{MOVE:'issue-type-move',POINT_OF_VIEW:'issue-type-point-of-view'}};const ICON_COLOR={DEFAULT:'defaultColor',LOW:'lowColor',MEDIUM:'mediumColor',HIGH:'highColor'};const SEVERITY_LEVEL={DEFAULT:0,LOW:1,MEDIUM:2,HIGH:3};const SEVERITY_REGEX={LOW:/mobile-issue-severity-low|ambox-style|avviso-stile/,MEDIUM:/mobile-issue-severity-medium|ambox-content|avviso-contenuto/,HIGH:/mobile-issue-severity-high|ambox-speedy|ambox-delete|ambox-serious|avviso-importante/};const TYPE_REGEX={MOVE:/mobile-issue-move|ambox-converted|ambox-move|ambox-merge|avviso-struttura/,POINT_OF_VIEW:new RegExp(['mobile-issue-pov','ambox-Advert','ambox-autobiography','ambox-believerpov','ambox-COI','ambox-coverage','ambox-criticism','ambox-fanpov','ambox-fringe-theories','ambox-geographical-imbalance','ambox-globalize','ambox-npov-language','ambox-POV','ambox-pseudo','ambox-systemic-bias',
'ambox-unbalanced','ambox-usgovtpov'].join('|'))};const GROUPED_PARENT_REGEX=/mw-collapsible-content/;const TYPE_SEVERITY={MOVE:'DEFAULT',POINT_OF_VIEW:'MEDIUM'};function parseSeverity(box){let severity;const identified=Object.keys(SEVERITY_REGEX).some((key)=>{const regex=SEVERITY_REGEX[key];severity=key;return regex.test(box.className);});return identified?severity:'DEFAULT';}function parseType(box,severity){let identifiedType;const identified=Object.keys(TYPE_REGEX).some((type)=>{const regex=TYPE_REGEX[type];identifiedType=type;return regex.test(box.className);});return{name:identified?ICON_NAME.TYPE[identifiedType]:ICON_NAME.SEVERITY[severity],severity:identified?TYPE_SEVERITY[identifiedType]:severity};}function parseGroup(box){return!!box.parentNode&&GROUPED_PARENT_REGEX.test(box.parentNode.className);}function iconName(box,severity){const nameSeverity=parseType(box,severity);return nameSeverity.name+'-'+ICON_COLOR[nameSeverity.severity];}function maxSeverity(severityLevels){return severityLevels.reduce((max,severity)=>SEVERITY_LEVEL[max]>SEVERITY_LEVEL[severity]?max:severity,'DEFAULT');
}function parse(box){const severity=parseSeverity(box);const iconElement=document.createElement('div');iconElement.classList.add(`minerva-icon--${iconName(box,severity)}`,'minerva-ambox-icon');return{severity,grouped:parseGroup(box),iconElement};}function extract($box){const SELECTOR='.mbox-text, .ambox-text';const $container=$('<div>');$box.find(SELECTOR).each((_i,el)=>{const $el=$(el);$el.find('table, .noprint').remove();const contents=$el.html();if(contents){$('<p>').html(contents).appendTo($container);}});const pageIssue=parse($box.get(0));return{issue:pageIssue,$el:$box,text:$container.html()};}module.exports={extract,parse,maxSeverity,iconName,test:{parseSeverity,parseType,parseGroup}};
},"AB.js":function(require,module,exports){const mwExperiments=mw.experiments;const bucket={UNSAMPLED:'unsampled',CONTROL:'control',TREATMENT:'treatment'};function AB(config){const testName=config.testName;const samplingRate=config.samplingRate;const sessionId=config.sessionId;const test={name:testName,enabled:!!samplingRate,buckets:{unsampled:1-samplingRate,control:samplingRate/2,treatment:samplingRate/2}};function getBucket(){return mwExperiments.getBucket(test,sessionId);}function isControl(){return getBucket()===bucket.CONTROL;}function isTreatment(){return getBucket()===bucket.TREATMENT;}function isSampled(){return getBucket()!==bucket.UNSAMPLED;}return{isControl:isControl,isTreatment:isTreatment,isSampled:isSampled};}module.exports=AB;
},"page-issues/overlay/IssueNotice.js":function(require,module,exports){const mobile=require('mobile.startup'),View=mobile.View;module.exports=function issueNotice(issue){const $renderedTemplate=mw.template.get('skins.minerva.scripts','IssueNotice.mustache').render(issue);$renderedTemplate.prepend(issue.issue.iconElement.cloneNode(true));return View.make({tagName:'li'},[$renderedTemplate]);};
},"page-issues/overlay/IssueList.js":function(require,module,exports){const mobile=require('mobile.startup'),View=mobile.View,issueNotice=require('./IssueNotice.js');module.exports=function issueList(issues){return View.make({tagName:'ul',className:'cleanup'},(issues||[]).map((issue)=>issueNotice(issue).$el));};
},"page-issues/overlay/pageIssuesOverlay.js":function(require,module,exports){const Overlay=require('mobile.startup').Overlay;const issueList=require('./IssueList.js');const KEYWORD_ALL_SECTIONS='all';const namespaceIds=mw.config.get('wgNamespaceIds');const NS_MAIN=namespaceIds[''];const NS_CATEGORY=namespaceIds.category;function pageIssuesOverlay(issues,section,namespaceID){const headingText=section==='0'||section===KEYWORD_ALL_SECTIONS?getNamespaceHeadingText(namespaceID):mw.msg('minerva-meta-data-issues-section-header');return Overlay.make({className:'overlay overlay-issues',heading:`<strong>${headingText}</strong>`},issueList(issues));}function getNamespaceHeadingText(namespaceID){switch(namespaceID){case NS_CATEGORY:return mw.msg('mobile-frontend-meta-data-issues-categories');case NS_MAIN:return mw.msg('mobile-frontend-meta-data-issues');default:return'';}}module.exports=pageIssuesOverlay;
},"page-issues/page/PageIssueLearnMoreLink.js":function(require,module,exports){function newPageIssueLearnMoreLink(msg){return $('<span>').addClass('ambox-learn-more').text(msg);}module.exports=newPageIssueLearnMoreLink;
},"page-issues/page/PageIssueLink.js":function(require,module,exports){function newPageIssueLink(labelText){return $('<a>').addClass('cleanup mw-mf-cleanup').text(labelText);}module.exports=newPageIssueLink;
},"page-issues/page/pageIssueFormatter.js":function(require,module,exports){const newPageIssueLink=require('./PageIssueLink.js');const newPageIssueLearnMoreLink=require('./PageIssueLearnMoreLink.js');function insertPageIssueBanner(issue,msg,overlayUrl,overlayManager,multiple){const $learnMoreEl=newPageIssueLearnMoreLink(msg);const $issueContainer=multiple?issue.$el.parents('.mbox-text-span, .mbox-text-div'):issue.$el.find('.mbox-text');const $clickContainer=multiple?issue.$el.parents('.mbox-text'):issue.$el;$issueContainer.prepend(issue.issue.iconElement);$issueContainer.prepend($learnMoreEl);$clickContainer.on('click',()=>{overlayManager.router.navigate(overlayUrl);return false;});}function insertPageIssueNotice(labelText,section){const $link=newPageIssueLink(labelText);$link.attr('href','#/issues/'+section);$link.insertAfter($('h1.mw-first-heading'));}module.exports={insertPageIssueBanner,insertPageIssueNotice};
},"page-issues/index.js":function(require,module,exports){const PageHTMLParser=require('mobile.startup').PageHTMLParser;const KEYWORD_ALL_SECTIONS='all';const namespaceIds=mw.config.get('wgNamespaceIds');const NS_MAIN=namespaceIds[''];const NS_CATEGORY=namespaceIds.category;const CURRENT_NS=mw.config.get('wgNamespaceNumber');const features=mw.config.get('wgMinervaFeatures',{});const pageIssuesParser=require('./parser.js');const pageIssuesOverlay=require('./overlay/pageIssuesOverlay.js');const pageIssueFormatter=require('./page/pageIssueFormatter.js');const QUERY_STRING_FLAG=mw.util.getParamValue('minerva-issues');const newTreatmentEnabled=features.pageIssues||QUERY_STRING_FLAG;function insertBannersOrNotice(pageHTMLParser,labelText,section,inline,overlayManager){const issueUrl=section===KEYWORD_ALL_SECTIONS?'#/issues/'+KEYWORD_ALL_SECTIONS:'#/issues/'+section;const selector=['.ambox','.tmbox','.cmbox','.fmbox'].join(',');const issueSummaries=[];const $metadata=section===KEYWORD_ALL_SECTIONS?pageHTMLParser.$el.find(selector):pageHTMLParser.findChildInSectionLead(parseInt(section,10),selector);
$metadata.find('.NavFrame').remove();$metadata.each((_i,el)=>{const $el=$(el);if($el.find(selector).length===0){const issueSummary=pageIssuesParser.extract($el);if(issueSummary.text){issueSummaries.push(issueSummary);}}});if(inline){issueSummaries.forEach((issueSummary,i)=>{const isGrouped=issueSummary.issue.grouped;const lastIssueIsGrouped=issueSummaries[i-1]&&issueSummaries[i-1].issue.grouped;const multiple=isGrouped&&!lastIssueIsGrouped;pageIssueFormatter.insertPageIssueBanner(issueSummary,mw.msg('skin-minerva-issue-learn-more'),issueUrl,overlayManager,multiple);});}else if(issueSummaries.length){pageIssueFormatter.insertPageIssueNotice(labelText,section);}return{ambox:$metadata,issueSummaries:issueSummaries};}function getIssues(allIssues,section){if(section!==KEYWORD_ALL_SECTIONS){return allIssues[section]||[];}return allIssues[KEYWORD_ALL_SECTIONS]||Object.keys(allIssues).reduce((all,key)=>all.concat(allIssues[key]),[]);}function initPageIssues(overlayManager,pageHTMLParser){let section;
let issueSummaries=[];const allIssues={};const $lead=pageHTMLParser.getLeadSectionElement();const issueOverlayShowAll=CURRENT_NS===NS_CATEGORY||!$lead;const inline=newTreatmentEnabled&&CURRENT_NS===NS_MAIN;if(newTreatmentEnabled){$(document.documentElement).addClass('issues-group-B');}if(CURRENT_NS===NS_CATEGORY){section=KEYWORD_ALL_SECTIONS;issueSummaries=insertBannersOrNotice(pageHTMLParser,mw.msg('mobile-frontend-meta-data-issues-header'),section,inline,overlayManager).issueSummaries;allIssues[section]=issueSummaries;}else if(CURRENT_NS===NS_MAIN){const label=mw.msg('mobile-frontend-meta-data-issues-header');if(issueOverlayShowAll){section=KEYWORD_ALL_SECTIONS;issueSummaries=insertBannersOrNotice(pageHTMLParser,label,section,inline,overlayManager).issueSummaries;allIssues[section]=issueSummaries;}else{section='0';issueSummaries=insertBannersOrNotice(pageHTMLParser,label,section,inline,overlayManager).issueSummaries;allIssues[section]=issueSummaries;if(newTreatmentEnabled){
pageHTMLParser.$el.find(PageHTMLParser.HEADING_SELECTOR).each((i,headingEl)=>{const $headingEl=$(headingEl);const sectionNum=$headingEl.find('.edit-page').data('section')||i;if(sectionNum){section=sectionNum.toString();issueSummaries=insertBannersOrNotice(pageHTMLParser,label,section,inline,overlayManager).issueSummaries;allIssues[section]=issueSummaries;}});}}}overlayManager.add(new RegExp('^/issues/(\\d+|'+KEYWORD_ALL_SECTIONS+')$'),(s)=>pageIssuesOverlay(getIssues(allIssues,s),s,CURRENT_NS));}module.exports={init:initPageIssues,test:{insertBannersOrNotice:insertBannersOrNotice}};
},"UriUtil.js":function(require,module,exports){function isInternal(url){try{return url.host===isInternal.base.host;}catch(e){return false;}}isInternal.base=location;module.exports={isInternal};
},"TitleUtil.js":function(require,module,exports){const UriUtil=require('./UriUtil.js');function newFromUri(url,options){let newURL;let title;try{newURL=new URL(url,UriUtil.isInternal.base);}catch(e){return null;}if(!UriUtil.isInternal(newURL)){return null;}if((options||{}).validateReadOnlyLink&&!isReadOnlyUri(newURL)){return null;}if(newURL.searchParams.get('title')){const regExp=new RegExp('^'+mw.util.escapeRegExp(mw.config.get('wgScriptPath'))+'/');const matches=regExp.test(newURL.pathname);if(!matches){return null;}title=newURL.searchParams.get('title');}else{const regExp=new RegExp('^'+mw.util.escapeRegExp(mw.config.get('wgArticlePath')).replace('\\$1','(.+)'));const matches=regExp.exec(newURL.pathname);if(!matches||!matches[1]){return null;}try{title=decodeURIComponent(matches[1]);}catch(e){return null;}}if(newURL.hash){try{title+='#'+decodeURIComponent(newURL.hash.slice(1));}catch(e){}}return mw.Title.newFromText(title);}function isReadOnlyUri(url){const searchParams=url.searchParams;return searchParams.size===((searchParams.has('oldid')?1:0)+(searchParams.has('title')?1:0));
}module.exports={newFromUri};
},"../../includes/Skins/ToggleList/ToggleList.js":function(require,module,exports){const checkboxHack=require(('mediawiki.page.ready')).checkboxHack,CHECKBOX_HACK_CONTAINER_SELECTOR='.toggle-list',CHECKBOX_HACK_CHECKBOX_SELECTOR='.toggle-list__checkbox',CHECKBOX_HACK_BUTTON_SELECTOR='.toggle-list__toggle',CHECKBOX_HACK_TARGET_SELECTOR='.toggle-list__list';function bind(window,component){const checkbox=(component.querySelector(CHECKBOX_HACK_CHECKBOX_SELECTOR)),button=component.querySelector(CHECKBOX_HACK_BUTTON_SELECTOR),target=component.querySelector(CHECKBOX_HACK_TARGET_SELECTOR).parentNode;if(!(checkbox&&button&&target)){return;}checkboxHack.bind(window,checkbox,button,target);}module.exports=Object.freeze({selector:CHECKBOX_HACK_CONTAINER_SELECTOR,bind});
},"TabScroll.js":function(require,module,exports){let scrollLeftStyle=null;function testScrollLeftStyle(){if(scrollLeftStyle!==null){return scrollLeftStyle;}const $definer=$('<div>').attr({dir:'rtl',style:'font-size: 14px; width: 4px; height: 1px; position: absolute; top: -1000px; overflow: scroll;'}).text('ABCD');$definer.appendTo(document.body);const definer=$definer[0];if(definer.scrollLeft>0){scrollLeftStyle='default';}else{definer.scrollLeft=1;if(definer.scrollLeft===0){scrollLeftStyle='negative';}else{scrollLeftStyle='reverse';}}$definer.remove();return scrollLeftStyle;}function initTabsScrollPosition(){const $selectedTab=$('.minerva__tab.selected');if($selectedTab.length!==1){return;}const selectedTab=$selectedTab.get(0);const $tabContainer=$selectedTab.closest('.minerva__tab-container');const tabContainer=$tabContainer.get(0);const maxScrollLeft=tabContainer.scrollWidth-tabContainer.clientWidth;const dir=$tabContainer.css('direction')||'ltr';function setScrollLeft(sl){if(dir==='ltr'){tabContainer.scrollLeft=sl;return;}if(testScrollLeftStyle()==='reverse'){
sl=maxScrollLeft-sl;}else if(testScrollLeftStyle()==='negative'){sl=-(maxScrollLeft-sl);}tabContainer.scrollLeft=sl;}const leftMostChild=dir==='ltr'?tabContainer.firstElementChild:tabContainer.lastElementChild;const rightMostChild=dir==='ltr'?tabContainer.lastElementChild:tabContainer.firstElementChild;const widthDiff=tabContainer.clientWidth-selectedTab.clientWidth;if(selectedTab===leftMostChild){if(dir==='ltr'||widthDiff>=0){setScrollLeft(0);}else{setScrollLeft(-widthDiff);}}else if(selectedTab===rightMostChild){if(dir==='rtl'||widthDiff>=0){setScrollLeft(maxScrollLeft);}else{setScrollLeft(maxScrollLeft+widthDiff);}}else{const tabPosition=$selectedTab.position();const containerPosition=$tabContainer.position();const left=tabPosition.left-containerPosition.left;let increaseScrollLeft;if(widthDiff>=0){increaseScrollLeft=left-widthDiff/2;}else if(dir==='ltr'){increaseScrollLeft=left;}else{increaseScrollLeft=left-widthDiff;}tabContainer.scrollLeft+=increaseScrollLeft*(testScrollLeftStyle()==='reverse'?-1:1);
}}module.exports={initTabsScrollPosition:initTabsScrollPosition};
},"Toolbar.js":function(require,module,exports){const ToggleList=require('../../includes/Skins/ToggleList/ToggleList.js'),selector='.page-actions-menu',overflowSubmenuSelector='#page-actions-overflow',overflowListSelector='.toggle-list__list';function bind(window,toolbar){const overflowSubmenu=toolbar.querySelector(overflowSubmenuSelector);if(overflowSubmenu){ToggleList.bind(window,overflowSubmenu);}}function render(window,toolbar){const overflowList=toolbar.querySelector(overflowListSelector);checkForReadOnlyMode();renderDownloadButton(window,overflowList);}function checkForReadOnlyMode(){if(mw.config.get('wgMinervaReadOnly')){document.body.classList.add('minerva-read-only');}}function renderDownloadButton(window,overflowList){const downloadPageAction=require('./downloadPageAction.js').downloadPageAction,$downloadAction=downloadPageAction(mw.config,window,!!overflowList);if($downloadAction){mw.track('minerva.downloadAsPDF',{action:'buttonVisible'});}}module.exports={selector,bind,render};
},"mobileRedirect.js":function(require,module,exports){module.exports=function(){function cookiesEnabled(){if(mw.cookie.get('mf_testcookie')==='test_value'){return true;}else{mw.cookie.set('mf_testcookie','test_value',{path:'/'});return mw.cookie.get('mf_testcookie')==='test_value';}}function desktopViewClick(){if(!cookiesEnabled()){mw.notify(mw.msg('mobile-frontend-cookies-required'),{type:'error'});return false;}}function amcDesktopClickHandler(){if(desktopViewClick()===false){return false;}window.location=this.href;}$('#mw-mf-display-toggle').on('click',amcDesktopClickHandler);};
},"references.js":function(require,module,exports){const drawers=require('./drawers.js');module.exports=function(){const mobile=require('mobile.startup');const references=mobile.references;const currentPage=mobile.currentPage();const currentPageHTMLParser=mobile.currentPageHTMLParser();const ReferencesHtmlScraperGateway=mobile.references.ReferencesHtmlScraperGateway;const gateway=new ReferencesHtmlScraperGateway(new mw.Api());function showReference(ev){const $dest=$(ev.currentTarget);let href=$dest.attr('href');ev.preventDefault();const i=href.indexOf('#');if(i>0){href=href.slice(i);}references.showReference(href,currentPage,$dest.text(),currentPageHTMLParser,gateway,{onShow:function(){drawers.lockScroll();},onShowNestedReference:true,onBeforeHide:drawers.discardDrawer},(oldDrawer,newDrawer)=>{oldDrawer.hide();drawers.displayDrawer(newDrawer,{});}).then((drawer)=>{drawers.displayDrawer(drawer,{});});}function onClickReference(ev){showReference(ev);}function init(){$(document).on('click','sup.reference a',onClickReference);}init();};
},"watchstar.js":function(require,module,exports){const watchstar=require('mediawiki.page.watch.ajax').watchstar;const WATCHED_ICON_CLASS='minerva-icon--unStar';const TEMP_WATCHED_ICON_CLASS='minerva-icon--halfStar';const UNWATCHED_ICON_CLASS='minerva-icon--star';function init($icon){const $watchlink=$icon.find('a');watchstar($watchlink,mw.config.get('wgRelevantPageName'),toggleClasses);}function toggleClasses($link,isWatched,expiry){const $icon=$link.find('.minerva-icon');$icon.removeClass([WATCHED_ICON_CLASS,UNWATCHED_ICON_CLASS,TEMP_WATCHED_ICON_CLASS]).addClass(()=>{let classes=UNWATCHED_ICON_CLASS;if(isWatched){if(expiry!==null&&expiry!==undefined&&expiry!=='infinity'){classes=TEMP_WATCHED_ICON_CLASS;}else{classes=WATCHED_ICON_CLASS;}}return classes;});}module.exports={init:init,test:{toggleClasses,TEMP_WATCHED_ICON_CLASS,WATCHED_ICON_CLASS,UNWATCHED_ICON_CLASS}};
},"truncateLeadSection.js":function(require,module,exports){const MAX_LINES=30;const DEFAULT_LINE_HEIGHT_IN_PIXELS=22;const LEAD_SECTION_SELECTOR='section[data-mw-section-id="0"]';(function(){'use strict';function isMinimalMinerva(){return document.body.classList.contains('minerva--minimal');}function getLineHeightInPixels(element){const computedStyle=window.getComputedStyle(element);const lineHeight=computedStyle.lineHeight;if(lineHeight==='normal'){return parseFloat(computedStyle.fontSize)*1.4;}return parseFloat(lineHeight)||DEFAULT_LINE_HEIGHT_IN_PIXELS;}function exceedsLineThreshold(leadSectionElement,lineHeight,maxLines){const innerText=leadSectionElement.innerText;if(innerText.trim().length===0){return leadSectionElement.scrollHeight>lineHeight*maxLines;}const tempContainer=document.createElement('div');tempContainer.textContent=innerText;tempContainer.setAttribute('data-mw-jsmeas','true');document.body.appendChild(tempContainer);const measuredHeight=tempContainer.scrollHeight;tempContainer.remove();return measuredHeight>lineHeight*maxLines;
}function truncate(leadSectionElement,lineHeight,maxLines){const threshold=lineHeight*maxLines;leadSectionElement.classList.add('minerva--lead-section--collapsed');const wrapper=document.createElement('div');wrapper.className='minerva--lead-section-container';wrapper.style.setProperty('--mw-lead-section-container-height',threshold+'px');leadSectionElement.parentNode.replaceChild(wrapper,leadSectionElement);wrapper.appendChild(leadSectionElement);const buttonWrapper=document.createElement('div');buttonWrapper.className='minerva--lead-fade-container';const button=document.createElement('button');button.type='button';button.className='minerva--lead-section__button';button.textContent=mw.msg('minimal-minerva-lead-section-read-more');buttonWrapper.appendChild(button);wrapper.appendChild(buttonWrapper);button.addEventListener('click',()=>{wrapper.style.setProperty('--mw-lead-section-container-height',leadSectionElement.scrollHeight+'px');leadSectionElement.classList.remove('minerva--lead-section--collapsed');
wrapper.style.setProperty('--mw-lead-section-container-height','');wrapper.parentNode.replaceChild(leadSectionElement,wrapper);});}function init(){if(!isMinimalMinerva()){return;}const leadSectionElement=document.querySelector(LEAD_SECTION_SELECTOR);if(leadSectionElement===null){return;}const lineHeight=getLineHeightInPixels(leadSectionElement);if(exceedsLineThreshold(leadSectionElement,lineHeight,MAX_LINES)){truncate(leadSectionElement,lineHeight,MAX_LINES);}}module.exports={init:init};}());
}}},{"css":[".toc-title-icon{position:absolute;left:11px; min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.toc-title-icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.toc-title-icon{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.toc-title-icon{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M1 3h2v2H1zm0 6h2v2H1zm0 6h2v2H1zM5 3h14v2H5zm0 6h14v2H5zm0 6h14v2H5z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.toc-title-icon{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M1 3h2v2H1zm0 6h2v2H1zm0 6h2v2H1zM5 3h14v2H5zm0 6h14v2H5zm0 6h14v2H5z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M1 3h2v2H1zm0 6h2v2H1zm0 6h2v2H1zM5 3h14v2H5zm0 6h14v2H5zm0 6h14v2H5z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-base,#202122)}}.toc-title-icon[dir='rtl'],html[dir='rtl'] .toc-title-icon:not([dir='ltr']){transform:scaleX(-1)}.toc-title-state-icon{position:absolute;right:11px; min-width:10px;min-height:10px;width:var(--font-size-medium,1rem);height:var(--font-size-medium,1rem);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.toc-title-state-icon{background-position:center;background-repeat:no-repeat;background-size:var(--font-size-medium,1rem); background-size:calc(max(var(--font-size-medium,1rem),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.toc-title-state-icon{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--font-size-medium,1rem);mask-size:var(--font-size-medium,1rem);-webkit-mask-size:calc(max(var(--font-size-medium,1rem),10px));mask-size:calc(max(var(--font-size-medium,1rem),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.toc-title-state-icon{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"m16.7 8-6 6H9.3l-6-6 1.4-1.4 5.3 5.3 5.3-5.3z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.toc-title-state-icon{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"m16.7 8-6 6H9.3l-6-6 1.4-1.4 5.3 5.3 5.3-5.3z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"m16.7 8-6 6H9.3l-6-6 1.4-1.4 5.3 5.3 5.3-5.3z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-base,#202122)}}.toctogglecheckbox:checked ~ .toctitle .toc-title-state-icon{transform:rotate(-180deg)}.mw-mf-cleanup{display:block;margin:0;padding:0;font-size:0.8125rem;color:var(--color-subtle,#54595d)}.overlay-issues ul.cleanup{list-style:none}.overlay-issues ul.cleanup \u003E li{border-bottom:1px solid var(--border-color-subtle,#c8ccd1)}.overlay-issues ul.cleanup \u003E li .issue-notice{padding:24px 24px 24px 0}.overlay-issues ul.cleanup \u003E li .issue-notice .minerva-ambox-icon{float:left;position:relative;left:19px}.overlay-issues ul.cleanup \u003E li small,.overlay-issues ul.cleanup \u003E li .hide-when-compact{font-size:0.8125rem}.overlay-issues ul.cleanup \u003E li .hide-when-compact{display:block;margin:8px 0}.overlay-issues .issue-details{padding-left:3.5em}.overlay-issues .issue-details \u003E ::first-line{line-height:1}.overlay-issues .issue-details p{margin:0}.overlay-issues .issue-details small i{color:var(--color-subtle,#54595d)}.minerva-icon--issue-severity-medium-mediumColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#ff5d01;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-severity-medium.svg?5c7ce);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-severity-medium.svg?5c7ce)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-severity-medium-mediumColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-severity-medium-mediumColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-type-point-of-view-mediumColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#ff5d01;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-severity-medium.svg?5c7ce);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-type-point-of-view.svg?e4e4e)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-type-point-of-view-mediumColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-type-point-of-view-mediumColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-severity-low-lowColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#f5a623;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-severity-low.svg?a435a);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-severity-low.svg?a435a)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-severity-low-lowColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-severity-low-lowColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-type-move-defaultColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#36c;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-type-move);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-type-move)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-type-move-defaultColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-type-move-defaultColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-generic-defaultColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#54595d;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-generic-defaultColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-generic-defaultColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-generic-lowColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#fc3;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-generic-lowColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-generic-lowColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-generic-mediumColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#ff5d01;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-generic-mediumColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-generic-mediumColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-icon--issue-generic-highColor{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom;background-color:#f54739;-webkit-mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f);mask-image:url(/w/skins/MinervaNeue/resources/skins.minerva.scripts/page-issues/images/icon-issue-generic.svg?9c22f)}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--issue-generic-highColor{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--issue-generic-highColor{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}.minerva-read-only #page-actions-edit a .minerva-icon{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-read-only #page-actions-edit a .minerva-icon{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-read-only #page-actions-edit a .minerva-icon{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-read-only #page-actions-edit a .minerva-icon{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M8 13h3.225l-4.678 4.679a1 1 0 01-.394.242L1.91 19.335.64 18.076l1.413-4.243c.049-.146.133-.28.242-.39L8 7.738zm7-13a3 3 0 013 3v2h2v6H10V5h2V3a3 3 0 013-3m0 2a1 1 0 00-1 1v2h2V3a1 1 0 00-1-1\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-read-only #page-actions-edit a .minerva-icon{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M8 13h3.225l-4.678 4.679a1 1 0 01-.394.242L1.91 19.335.64 18.076l1.413-4.243c.049-.146.133-.28.242-.39L8 7.738zm7-13a3 3 0 013 3v2h2v6H10V5h2V3a3 3 0 013-3m0 2a1 1 0 00-1 1v2h2V3a1 1 0 00-1-1\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M8 13h3.225l-4.678 4.679a1 1 0 01-.394.242L1.91 19.335.64 18.076l1.413-4.243c.049-.146.133-.28.242-.39L8 7.738zm7-13a3 3 0 013 3v2h2v6H10V5h2V3a3 3 0 013-3m0 2a1 1 0 00-1 1v2h2V3a1 1 0 00-1-1\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.client-js .mw-portlet-dock-bottom{display:block;position:fixed;bottom:8px;right:8px;z-index:9999}.client-js .mw-portlet-dock-bottom.emptyPortlet{display:none}.client-js .mw-portlet-dock-bottom ul{padding:0;list-style:none;display:flex;flex-direction:column-reverse;align-items:center;gap:8px 8px}.minerva-icon--download{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--download{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--download{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--download{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M19 19H1v-2h18zm-8-7.104 3.5-3.5 1.414 1.414-5.207 5.208H9.293L4.086 9.81 5.5 8.396l3.5 3.5V1h2z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--download{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M19 19H1v-2h18zm-8-7.104 3.5-3.5 1.414 1.414-5.207 5.208H9.293L4.086 9.81 5.5 8.396l3.5 3.5V1h2z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M19 19H1v-2h18zm-8-7.104 3.5-3.5 1.414 1.414-5.207 5.208H9.293L4.086 9.81 5.5 8.396l3.5 3.5V1h2z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.minerva-icon--listBullet{ min-width:10px;min-height:10px;width:calc(var(--font-size-medium,1rem) + 4px);height:calc(var(--font-size-medium,1rem) + 4px);display:inline-block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--listBullet{background-position:center;background-repeat:no-repeat;background-size:calc(var(--font-size-medium,1rem) + 4px); background-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--listBullet{ -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--font-size-medium,1rem) + 4px);mask-size:calc(var(--font-size-medium,1rem) + 4px);-webkit-mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px));mask-size:calc(max(calc(var(--font-size-medium,1rem) + 4px),10px)); }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.minerva-icon--listBullet{background-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M1 3h2v2H1zm0 6h2v2H1zm0 6h2v2H1zM5 3h14v2H5zm0 6h14v2H5zm0 6h14v2H5z\\\"/\u003E\u003C/svg\u003E\");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}}@supports (-webkit-mask-image:none) or (mask-image:none){.minerva-icon--listBullet{ -webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M1 3h2v2H1zm0 6h2v2H1zm0 6h2v2H1zM5 3h14v2H5zm0 6h14v2H5zm0 6h14v2H5z\\\"/\u003E\u003C/svg\u003E\"); mask-image:url(\"data:image/svg+xml;utf8,\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"%23000\\\"\u003E\u003Cpath d=\\\"M1 3h2v2H1zm0 6h2v2H1zm0 6h2v2H1zM5 3h14v2H5zm0 6h14v2H5zm0 6h14v2H5z\\\"/\u003E\u003C/svg\u003E\");background-color:var(--color-subtle,#54595d)}}.minerva-icon--listBullet[dir='rtl'],html[dir='rtl'] .minerva-icon--listBullet:not([dir='ltr']){transform:scaleX(-1)}.mw-mf-page-center__mask{position:absolute;top:0;left:0;right:0;opacity:0;bottom:0;background:rgba(0,0,0,0.8);z-index:1;visibility:hidden;transition:opacity 100ms ease-in-out}.navigation-enabled .mw-mf-page-center__mask{visibility:visible;opacity:0.5}a.last-modified-bar.active{background-color:var(--background-color-progressive,#36c);color:var(--color-inverted-fixed,#fff) !important}a.last-modified-bar.active .last-modified-text-accent,a.last-modified-bar.active a{color:var(--color-inverted-fixed,#fff)}a.last-modified-bar.active .minerva-icon{background-color:var(--color-inverted-fixed,#fff)}.truncated-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeInImage{from{opacity:0}to{opacity:1}}img.image-lazy-loaded{animation:fadeInImage 300ms ease-in}    .minerva--minimal .minerva--lead-section-container{position:relative;overflow:visible}.minerva--minimal .minerva--lead-section-container .minerva--lead-section--collapsed{height:var(--mw-lead-section-container-height,auto);overflow:hidden}.minerva--minimal .minerva--lead-section-container .minerva--lead-fade-container{position:absolute;bottom:0;left:0;right:0;height:72px;background:linear-gradient(to bottom,transparent,var(--background-color-base,#fff))}.minerva--minimal .minerva--lead-section-container .minerva--lead-section__button{position:absolute;bottom:0;left:0;right:0;margin:0;padding:0;height:40px;line-height:40px;background:var(--background-color-base,#fff);border:1px solid var(--border-color-subtle,#c8ccd1);color:var(--color-progressive,#36c);font-weight:700;font-family:-apple-system,'BlinkMacSystemFont','Segoe UI','Roboto','Inter','Helvetica','Arial',sans-serif;cursor:pointer;text-align:center}.minerva--minimal .minerva--lead-section-container .minerva--lead-section__button:hover{background-color:var(--background-color-interactive-subtle,#f8f9fa)}"]},{"minerva-download":"PDF \ub2e4\uc6b4\ub85c\ub4dc","minerva-meta-data-issues-section-header":"\ubb38\ub2e8 \ubb38\uc81c","minerva-watchlist-cta":"\uc774 \ubb38\uc11c\uc640 \ubb38\uc11c\uc758 \ubaa8\ub4e0 \ubcc0\uacbd\uc0ac\ud56d\uc744 \ucd94\uc801\ud558\uc138\uc694.","minimal-minerva-lead-section-read-more":"\ub354 \ubcf4\uae30","mobile-frontend-cookies-required":"\ubcf4\uae30 \ubaa8\ub4dc\ub97c \uc804\ud658\ud558\ub824\uba74 \ucfe0\ud0a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \ucfe0\ud0a4\ub97c \ud65c\uc131\ud654\ud558\uace0 \ub098\uc11c \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc138\uc694.","mobile-frontend-editor-redlink-create":"\ubb38\uc11c \ub9cc\ub4e4\uae30","mobile-frontend-editor-redlink-explain":"\uc774 \ubb38\uc11c\ub294 \uc544\uc9c1 \ub9cc\ub4e4\uc5b4\uc9c0\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.","mobile-frontend-editor-redlink-leave":"\uc544\ub2c8\uc694, \uad1c\ucc2e\uc2b5\ub2c8\ub2e4.","mobile-frontend-languages-not-available":"\uc774 \ubb38\uc11c\ub294 \ub2e4\ub978 \uc5b8\uc5b4\ub85c \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.","mobile-frontend-meta-data-issues":"\ubb38\uc11c \uc774\uc288","mobile-frontend-meta-data-issues-categories":"\uc774 \ubd84\ub958\uc5d0 \ub300\ud574","mobile-frontend-meta-data-issues-header":"\ubb38\uc11c \uc774\uc288","mobile-frontend-redirected-from":"\"[[$1]]\"\uc5d0\uc11c \ub118\uc5b4\uc634","skin-minerva-issue-learn-more":"\ub354 \uc54c\uc544\ubcf4\uae30"},{"IssueNotice.mustache":"\u003Cdiv class=\"issue-notice\" data-severity=\"{{#issue}}{{severity}}{{/issue}}\"\u003E\n\t\u003Cdiv class=\"issue-details\"\u003E{{{text}}}\u003C/div\u003E\n\u003C/div\u003E\n"}];});
mw.loader.state({"ext.xLab":"missing","ext.wikimediaEvents.xLab":"missing","mobile.pagelist.styles":"missing","mobile.pagesummary.styles":"missing"});